]> code.delx.au - gnu-emacs/blob - src/ChangeLog
(artist-system): Allow make-temp-file to use temporary-file-directory.
[gnu-emacs] / src / ChangeLog
1 2009-02-07 Andreas Schwab <schwab@suse.de>
2
3 * unexelf.c (unexec): Fix error message.
4
5 2009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
6
7 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
8 when modal window is active. (Bug #2152)
9 (applicationShouldTerminate:): Remove now-unneeded while loop
10 around NSRunAlertPanel.
11
12 * nsmenu.m (popupSession): New file-global variable.
13 (pop_down_menu): End the popupSession before closing dialog.
14 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
15 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
16 don't query NSApp for events (just sleep instead).
17
18 2009-02-07 Eli Zaretskii <eliz@gnu.org>
19
20 * coding.c (syms_of_coding) <translation-table-for-input>: Modify
21 doc string to discourage use for character code unification.
22
23 2009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
24
25 * atimer.c (run_timers): Update pending_atimers.
26
27 2009-02-06 Chong Yidong <cyd@stupidchicken.com>
28
29 * image.c (svg_load_image): Fix last change.
30
31 * xfns.c (Fx_create_frame): Signal an error if no font is
32 found (Bug#2147).
33
34 2009-02-05 Juanma Barranquero <lekktu@gmail.com>
35
36 * character.c (syms_of_character) <script-representative-chars>:
37 Fix typo in docstring.
38
39 2009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
40
41 * nsmenu.m (pop_down_menu): New function.
42 (ns_popup_dialog): Call it on unwind.
43 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
44 call timer_check() (Bug#2154).
45 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
46 handling_signal is set.
47 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
48
49 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
50
51 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
52
53 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
54
55 * keyboard.c (poll_for_input_1, handle_async_input): Set
56 handling_signal under HAVE_NS.
57
58 2009-02-04 Glenn Morris <rgm@gnu.org>
59
60 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
61
62 2009-02-04 Kenichi Handa <handa@m17n.org>
63
64 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
65
66 * charset.c (Fchar_charset): New optional arg restriction.
67
68 * coding.h (coding_system_charset_list): Extern it.
69
70 * coding.c (coding_system_charset_list): New function.
71
72 * composite.c: Include coding.h and termhooks.h.
73 (composition_gstring_p): Fix for the terminal case.
74 (composition_gstring_width): Likewise.
75 (fill_gstring_body): Likewise.
76 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
77 the frame.
78 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
79 is within a composition.
80 (Fcomposition_get_gstring): Fix the the terminal case.
81
82 * term.c (encode_terminal_code): Fix handling of composition.
83 (produce_composite_glyph): For static composition, get pixel_width
84 from struct composition.
85
86 2009-02-02 Andreas Schwab <schwab@suse.de>
87
88 * unexelf.c (unexec): Handle unaligned bss offset.
89
90 2009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
91
92 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
93 XT,w32read_socket changes to ns_read_socket.
94
95 * keyboard.c (handle_interrupt): Don't call
96 quit_throw_to_read_char() under NS.
97
98 * blockinput.h: Remove NS-specific code.
99
100 2009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
101
102 * dispnew.c (window_change_signal): Don't try to get the size of a
103 suspended tty frame.
104 * term.c (Fresume_tty): Resize if the size has changed while the
105 tty was suspended.
106
107 * alloc.c (mark_stack): Properly conditionalize previous change.
108
109 2009-01-30 Juanma Barranquero <lekktu@gmail.com>
110
111 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
112 * w32term.c (w32_read_socket) [SYNC_INPUT]:
113 Remove; this code is not used on Windows.
114
115 2009-01-30 Eli Zaretskii <eliz@gnu.org>
116
117 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
118 EOLs that also has stray ^M characters.
119
120 2009-01-30 Juanma Barranquero <lekktu@gmail.com>
121
122 * atimer.c (run_timers, alarm_signal_handler):
123 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
124 * w32inevt.c (w32_console_read_socket):
125 * w32term.c (w32_read_socket):
126 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
127
128 2009-01-30 Chong Yidong <cyd@stupidchicken.com>
129
130 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
131 Initialize it as a relative filename pattern.
132 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
133 (Fcall_process_region): Simplify temp file creation using
134 temporary-file-directory.
135
136 2009-01-29 Eli Zaretskii <eliz@gnu.org>
137
138 * msdos.c: Rename pending_signals to msdos_pending_signals.
139 (sig_suspender, sigprocmask): Adjust.
140
141 2009-01-29 Chong Yidong <cyd@stupidchicken.com>
142
143 * keyboard.c (pending_signals): New var.
144 (poll_for_input, input_available_signal, init_keyboard): Set it.
145 (process_pending_signals): New function.
146
147 * lisp.h (QUIT): Check pending_signals instead of
148 interrupt_input_pending. Use process_pending_signals.
149
150 * atimer.c (run_timers, alarm_signal_handler): Update
151 pending_signals.
152
153 * process.c (wait_reading_process_output): Use
154 process_pending_signals.
155
156 * sysdep.c (emacs_write): Use process_pending_signals.
157
158 * xterm.c (XTread_socket): Update pending_signals.
159
160 * w32term.c (w32_read_socket): Update pending_signals.
161
162 * w32inevt.c (w32_console_read_socket): Update pending_signals.
163
164 2009-01-29 Kenichi Handa <handa@m17n.org>
165
166 * xftfont.c (xftfont_has_char): New function.
167 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
168
169 2009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
170
171 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
172 under GNUstep.
173 (ns_query_color): New declaration.
174
175 * nsterm.m (ns_confirm_quit): New variable.
176 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
177 (EmacsApp-applicationShouldTerminate:): Use it.
178 (EmacsPrefsController): Let user set it.
179 (ns_query_color): New function.
180 (ns_defined_color): Use it.
181 (ns_initialize): Drop.
182 (ns_term_init): Add two lines from ns_initialize(), and set
183 input_interrupt_mode to nil.
184
185 * image.c (svg_load_image): Don't right-shift background RGB when
186 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
187
188 2009-01-28 Kenichi Handa <handa@m17n.org>
189
190 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
191 (fontset_get_font_group): Remember that no font-group is specified
192 for C.
193
194 2009-01-27 Chong Yidong <cyd@stupidchicken.com>
195
196 * fns.c (concat): Check for string overflow (bug#1787).
197
198 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
199 Quadruple undo limits (bug#1501).
200
201 2009-01-27 Kenichi Handa <handa@m17n.org>
202
203 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
204 directly use GT_Get_Char_index.
205
206 * xftfont.c (struct xftfont_info): New member `index'.
207
208 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
209 (Ffontset_font): Adjusted for the change of fontset entry.
210
211 2009-01-26 Kenichi Handa <handa@m17n.org>
212
213 * fontset.c (fontset_find_font): Fix handling of non-cons return
214 value of fontset_get_font_group.
215 (fontset_font): Revert last change.
216
217 2009-01-26 Jason Rumney <jasonr@gnu.org>
218
219 * w32font.c (w32font_list_internal): Return quickly if registry is
220 unknown. Simplify final return.
221 (add_font_entity_to_list): Break complex logic down into more
222 manageable chunks. Move unknown registry check to
223 w32font_list_internal.
224
225 2009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
226
227 Changes to remove Feval calls from GUI under NS.
228
229 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
230 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
231 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
232
233 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
234 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
235 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
236 instead of NON_ASCII_KEYSTROKE_EVENT.
237 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
238 (EmacsApp-applicationShouldTerminate:): Query user.
239 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
240 instead of Feval.
241
242 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
243
244 * keyboard.c (kbd_buffer_get_event): Check for it.
245 (keys_of_keyboard): Define lispy keys for
246 ns-put/unput-working-text.
247
248 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
249 versions.
250 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
251
252 2009-01-25 Chong Yidong <cyd@stupidchicken.com>
253
254 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
255 setting current_buffer directly. (Bug#2044)
256
257 2009-01-24 Chong Yidong <cyd@stupidchicken.com>
258
259 * fontset.c (fontset_font): If we know there is no font, don't do
260 any work. (Bug#1952, bug#1990).
261
262 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
263
264 2009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
265
266 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
267 (ns_no_defaults): New declaration.
268 (main): Use it.
269
270 * nsterm.h (ns_no_defaults): New declaration.
271
272 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
273
274 * nsterm.m (ns_no_defaults): New variable.
275 (ns_initialize): Don't read defaults when ns_no_defaults.
276 (EmacsView-readSelectionFromPasteboard:)
277 (writeSelectionToPasteboard:types:): New stubbed-out methods for
278 NSServicesRequests protocol. (Bug#1435)
279 (ns_dumpglyphs_stretch): New function.
280 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
281 of 2008-11-15 to other terms. (Bug#615)
282
283 * nsimage.m (setPixmapData:): Set to ignore image DPI.
284
285 2009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
286
287 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
288 call for Sparc64.
289
290 2009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
291
292 * nsfns.m:
293 * nsgui.h:
294 * nsmenu.m:
295 * nsselect.m:
296 * nsterm.h:
297 * nsterm.m: Remove '23' comments that indicated code added during
298 update from emacs-20 -> emacs-23.
299
300 2009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
301
302 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
303 ns_alternate_modifier. (Bug#1217)
304
305 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
306 Display all shortcuts, including those w/o super modifier.
307
308 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
309
310 2009-01-22 Chong Yidong <cyd@stupidchicken.com>
311
312 * fileio.c (Vwrite_region_post_annotation_function)
313 (Vwrite_region_annotation_buffers): New vars.
314 (build_annotations_unwind): Just reset
315 Vwrite_region_annotation_buffers.
316 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
317 Call write-region-post-annotation-function.
318 (build_annotations): Add to Vwrite_region_annotation_buffers if
319 buffer changes.
320
321 2009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
322
323 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
324 Tiger.
325 * nsfns.m (ns_do_applescript): Conditionalize
326 typeUTF16ExternalRepresentation on Tiger.
327
328 2009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
329
330 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
331
332 2009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
333
334 * nsmenu.m (NSMENUPROFILE): Change #if style.
335
336 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
337
338 * nsterm.m (x_set_frame_alpha): Add prototype.
339 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
340 handle Ctrl-tab. (Bug#1841)
341 (ns_get_color): Use unsigned long long for scanned hex string value.
342 (ns_term_shutdown): Abort on non SIGTERM signals.
343 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
344 (EmacsPrefsController-setPanelFromDefaultValues) New function.
345 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
346 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
347 (ns_defined_color): Fix settings of the XColor variable fields:
348 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
349
350 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
351 DPI. (Bug#1316)
352 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
353 values in onTiger section.
354
355 2009-01-19 Chong Yidong <cyd@stupidchicken.com>
356
357 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
358 Check return value of font_spec_from_name.
359 (Fx_list_fonts): Doc fix. (Bug#1951)
360
361 * font.c (font_spec_from_name): Return Qnil if font name could not
362 be parsed.
363 (font_parse_name): Treat a `?' character as part of an XLFD.
364
365 * fns.c (Fsubstring): Doc fix.
366
367 2009-01-19 Kenichi Handa <handa@m17n.org>
368
369 * ftfont.c (ftfont_lookup_cache): Check the return value of
370 FcFontList.
371 (ftfont_list): Likewise.
372
373 2009-01-18 Juanma Barranquero <lekktu@gmail.com>
374
375 * dbusbind.c (Fdbus_register_signal):
376 * process.c (conv_sockaddr_to_lisp):
377 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
378
379 * callproc.c (Fgetenv_internal): Doc fix.
380
381 2009-01-16 Chong Yidong <cyd@stupidchicken.com>
382
383 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
384 it is not even used.
385
386 2009-01-16 Glenn Morris <rgm@gnu.org>
387
388 * font.c (Ffont_variation_glyphs): Silence compiler.
389
390 2009-01-15 Juanma Barranquero <lekktu@gmail.com>
391
392 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
393 Reported by David Robinow <drobinow@gmail.com>.
394
395 2009-01-15 Kenichi Handa <handa@m17n.org>
396
397 * coding.c (detect_coding_system): Fix handling of
398 null_byte_found.
399
400 2009-01-14 Jason Rumney <jasonr@gnu.org>
401
402 * frame.c (x_set_font): Always store a font to the font parameter,
403 never a fontset. (Bug#1562)
404
405 2009-01-14 Kenichi Handa <handa@m17n.org>
406
407 * coding.c (TWO_MORE_BYTES): New macro.
408 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
409
410 2009-01-13 Chong Yidong <cyd@stupidchicken.com>
411
412 * font.c (font_clear_prop): If clearing the family, clear the font
413 width index too.
414
415 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
416
417 2009-01-12 Juanma Barranquero <lekktu@gmail.com>
418
419 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
420 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
421 functions, use sizeof.
422
423 2009-01-12 Martin Rudalics <rudalics@gmx.at>
424
425 * keyboard.c (read_char): Fix case where last_nonmenu_event
426 returned a bad value with submenus. (Bug#447)
427
428 2009-01-12 Chong Yidong <cyd@stupidchicken.com>
429
430 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
431 family, clear the font width index too.
432
433 2009-01-11 Jason Rumney <jasonr@gnu.org>
434
435 * keyboard.c (cmd_error_internal): Exit when errors occur before
436 frame creation and not in daemon mode. (Bug#1836)
437
438 2009-01-10 Chong Yidong <cyd@stupidchicken.com>
439
440 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
441 of a display vector, backtrack.
442 (try_window_reusing_current_matrix): Check glyph type before
443 referencing charpos member.
444
445 2009-01-10 Eli Zaretskii <eliz@gnu.org>
446
447 Fix Bug #876:
448
449 * coding.c (inhibit_null_byte_detection): New variable.
450 (detect_coding, detect_coding_system): Don't pay attention to null
451 bytes if inhibit_null_byte_detection is non-zero.
452 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
453 document.
454 <inhibit-iso-escape-detection>: Doc fix.
455
456 2009-01-09 Jason Rumney <jasonr@gnu.org>
457
458 * w32font.c (add_font_entity_to_list): Don't report unknown
459 Windows charset as any unrecognized registry. (Bug#1548)
460 Only report Unicode Plane 2 fonts as unicode-sip.
461
462 2009-01-09 Chong Yidong <cyd@stupidchicken.com>
463
464 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
465 version moved to faces.el.
466
467 * font.c (Ffont_family_list): Return a list of strings, not
468 symbols.
469
470 2009-01-09 Martin Rudalics <rudalics@gmx.at>
471
472 * frame.c (x_set_frame_parameters): Remember requested value for
473 fullscreen before it's reset by the parameter handler.
474
475 2009-01-09 Glenn Morris <rgm@gnu.org>
476
477 * keyboard.c (last_command_char): For clarity, rename to...
478 (last_command-event): ... and update all users.
479 (last_input_char): For clarity, rename to...
480 (last_input_event): ... and update all users.
481 (last-command-char, last-input-char): Move to subr.el as aliases.
482 * cmds.c, commands.h: Update for last_command_char rename.
483
484 2009-01-08 Chong Yidong <cyd@stupidchicken.com>
485
486 * font.c (font_open_for_lface): Handle unspecified height
487 attribute.
488
489 2009-01-08 Jason Rumney <jasonr@gnu.org>
490
491 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
492 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
493 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
494 Don't declare.
495 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
496 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
497
498 2009-01-07 Kenichi Handa <handa@m17n.org>
499
500 * fileio.c (Finsert_file_contents): In the case of replace,
501 remember the coding system used for decoding in
502 coding_system (Bug#1039).
503
504 * coding.c (decode_coding_utf_8): Check byte_after_cr before
505 breaking the loop. (Bug#870)
506 (decode_coding_utf_16, decode_coding_emacs_mule)
507 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
508 (decode_coding_charset): Likewise.
509
510 2009-01-05 Martin Rudalics <rudalics@gmx.at>
511
512 * frame.c (x_set_frame_parameters): Make sure height (width) get
513 applied when fullwidth (fullheight) is set. (Bug#1522)
514
515 2009-01-04 Juanma Barranquero <lekktu@gmail.com>
516
517 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
518 (utc_base): Declare as ULONGLONG, not long double.
519 (convert_time_raw): Delete.
520 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
521 (initialize_utc_base): New function.
522 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
523 (convert_from_time_t): Use initialize_utc_base; compute result with
524 64-bit arithmetic.
525 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
526
527 2009-01-03 Eli Zaretskii <eliz@gnu.org>
528
529 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
530 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
531 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
532 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
533 [!subprocesses]: Define.
534 (syms_of_process) [!subprocesses]: Intern and staticpro them.
535 (Flist_system_processes, Fsystem_process_attributes)
536 [!subprocesses]: Call list_system_processes and
537 system_process_attributes instead of returning Qnil.
538
539 * dosfns.c (system_process_attributes, list_system_processes):
540 New functions.
541
542 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
543
544 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
545 Don't use the default (no-op) implementation.
546
547 2009-01-03 Jason Rumney <jasonr@gnu.org>
548
549 * keyboard.c (parse_modifiers_uncached): Wheel events are
550 clicks (bug#687).
551
552 * w32term.c (x_query_colors, x_query_color): New functions.
553
554 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
555 (svg_load_image): Cast returned pointers from dynamically loaded
556 functions. Eliminate W32 specific code.
557
558 2009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
559
560 * nsfns.m (x_set_foreground_color, x_set_background_color)
561 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
562 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
563 x_ prefix instead of ns_. Update references.
564 (syms_of_nsfns): Add a FIXME comment.
565
566 * nsterm.m (x_set_cursor_type): New prototype.
567 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
568
569 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
570 for Solaris instead of incorrectly providing Qutime and Qcutime.
571
572 2009-01-02 Eli Zaretskii <eliz@gnu.org>
573
574 * w32.c (process_times): Compute sum of utime and stime.
575 (system_process_attributes): Add Qtime to the alist.
576
577 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
578 and add them to the alist.
579
580 * process.c (top level) <Qtime, Qctime>: New variables.
581 (syms_of_process): staticpro them.
582 (Fsystem_process_attributes): Add their documentation to the doc
583 string.
584
585 * process.h: Declare Qtime and Qctime.
586
587 2009-01-02 Jason Rumney <jasonr@gnu.org>
588
589 * image.c (Qgobject): New symbol.
590 (syms_of_image): Initialize it.
591 (init_svg_functions): Load some functions from gobject library.
592
593 2009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
594
595 * frame.c (make_terminal_frame): Remove redundant code and useless
596 block.
597
598 2009-01-01 Andreas Schwab <schwab@suse.de>
599
600 * process.c (conv_sockaddr_to_lisp): Add workaround for
601 getsockname bug on BSD.
602
603 2009-01-01 Chong Yidong <cyd@stupidchicken.com>
604
605 * xfns.c (x_create_tip_frame): Set border width of the X window.
606
607 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
608 message.
609
610 2009-01-01 Jason Rumney <jasonr@gnu.org>
611
612 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
613 Don't block input, as per earlier xterm.c changes.
614
615 2008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
616
617 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
618 (ns_appkit_version_int): New function.
619 (x-server-version): Use ns_appkit_version_int and follow 21+
620 convention of returning 3 integers.
621
622 2008-12-30 Kenichi Handa <handa@m17n.org>
623
624 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
625 (CHAR_SURROGATE_PAIR_P): New macro.
626
627 * font.h (struct font_driver): New member get_variation_glyphs.
628
629 * font.c (font_range): Don't require a font for a variation selector.
630 (Ffont_variation_glyphs): New function.
631 (syms_of_font): Defsubr it.
632
633 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
634 ftfont_variation_glyphs.
635 (setup_otf_gstring): New function.
636 (ftfont_drive_otf): Use it.
637 (ftfont_shape_by_flt): Handle variation selector.
638 (ftfont_variation_glyphs): New function.
639
640 2008-12-30 Martin Rudalics <rudalics@gmx.at>
641
642 * frame.c (Vemacs_iconified): Remove.
643
644 2008-12-30 Jason Rumney <jasonr@gnu.org>
645
646 * frame.c (store_frame_param, x_get_arg): Enable newer code on
647 WINDOWSNT too, as related changes have already been synced. (Bug#117)
648
649 2008-12-30 Chong Yidong <cyd@stupidchicken.com>
650
651 * indent.c (Fvertical_motion): Don't advance iterator if we have
652 reseated to the desired position.
653
654 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
655 checking for pos match.
656
657 2008-12-30 Kenichi Handa <handa@m17n.org>
658
659 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
660 just get the low 8-bit of the code.
661
662 * font.c (font_intern_prop): Validate str as multibyte.
663
664 2008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
665
666 * dispextern.h (struct face): Move lface and hash from the middle
667 of bitfields.
668
669 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
670
671 2008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
672
673 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
674 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
675 instead of intervals.h.
676
677 2008-12-26 Andreas Schwab <schwab@suse.de>
678
679 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
680 cons.
681
682 2008-12-26 Martin Rudalics <rudalics@gmx.at>
683
684 * textprop.c (Qminibuffer_prompt): New variable.
685 (syms_of_textprop): Initialize it.
686 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
687 in minibuffer-prompt face. (Bug#1662)
688
689 2008-12-25 Jason Rumney <jasonr@gnu.org>
690
691 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
692
693 2008-12-24 Jason Rumney <jasonr@gnu.org>
694
695 * ralloc.c (r_alloc_reset_variable): New function.
696
697 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
698 record of what points where. (Bug#716)
699
700 2008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
701
702 * minibuf.c (read_minibuf): Follow the non-interactive case when
703 running as a daemon, before detaching.
704
705 2008-12-22 Andreas Schwab <schwab@suse.de>
706
707 * buffer.c (init_buffer): Use realloc instead of xrealloc.
708 * gtkutil.c (free_widget_value): Use xfree instead of free.
709
710 2008-12-22 Martin Rudalics <rudalics@gmx.at>
711
712 * frame.c (delete_frame): New function derived from
713 Fdelete_frame to handle Qnoelisp value for FORCE argument.
714 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
715 (Fdelete_frame): Call delete_frame. Remove line from doc-string
716 saying that FORCE non-nil doesn't run `delete-frame-functions'.
717 * frame.h: Extern delete_frame.
718 * window.c (window_loop):
719 * terminal.c (delete_terminal):
720 * xterm.c (x_connection_closed):
721 * xfns.c (Fx_hide_tip):
722 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
723
724 2008-12-21 Jason Rumney <jasonr@gnu.org>
725
726 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
727 when character maps to .notdef character.
728
729 2008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
730
731 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
732
733 2008-12-20 Jason Rumney <jasonr@gnu.org>
734
735 * frame.c (Fmake_terminal_frame): Raise an error when called from
736 a graphical frame on Windows. (Bug#1325)
737
738 2008-12-20 Jan Djärv <jan.h.d@swipnet.se>
739
740 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
741
742 2008-12-20 Chong Yidong <cyd@stupidchicken.com>
743
744 * minibuf.c (Fread_buffer): Doc fix.
745
746 2008-12-20 Jason Rumney <jasonr@gnu.org>
747
748 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
749 server name in UNC paths. (Bug#719)
750
751 * coding.c (decode_coding): Clear chars_at_source flag when using
752 charbuf. (Bug#1035)
753
754 2008-12-19 Daniel Engeler <engeler@gmail.com>
755
756 * sysdep.c (serial_configure): Fix typo.
757
758 2008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
759
760 * sysdep.c: Include alloca.h.
761 (system_process_attributes): Add implementation for Solaris.
762
763 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
764
765 2008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
766
767 Reorganize implementation of Flist_system_processes and
768 Fsystem_process_attributes. No functional changes.
769 * process.c: Don't #include pwd.h, grp.h and limits.h.
770 (Flist_system_processes): Just call list_system_processes.
771 (Fsystem_process_attributes): Just call system_process_attributes.
772 (procfs_list_system_processes, time_from_jiffies)
773 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
774 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
775
776 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
777 (list_system_processes): Rename from
778 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
779 Provide a do nothing implementation.
780 (system_process_attributes): Rename from
781 procfs_list_system_processes.
782 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
783 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
784
785 * w32.c (list_system_processes): Rename from
786 w32_list_system_processes.
787 (system_process_attributes): Rename from
788 w32_system_process_attributes.
789
790 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
791
792 * process.h (w32_list_system_processes)
793 (w32_system_process_attributes): Remove.
794 (list_system_processes, system_process_attributes): New
795 prototypes.
796
797 2008-12-19 Kenichi Handa <handa@m17n.org>
798
799 * xfont.c (xfont_decode_coding_xlfd): New function.
800 (xfont_encode_coding_xlfd): New function.
801 (xfont_list_pattern): Decode XLFD by iso-8859-1.
802 (xfont_list): Decode and encode XLFD by iso-8859-1.
803 (xfont_match): Likewise.
804 (xfont_list_family): Likewise.
805 (xfont_open): Likewise.
806
807 * ftfont.c (ftfont_open): Generate a multibyte string if given
808 names are utf-8.
809
810 * xftfont.c (xftfont_open): Generate a multibyte string if given
811 names are utf-8.
812
813 2008-12-18 Jan Djärv <jan.h.d@swipnet.se>
814
815 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
816 changed.
817 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
818 clicked on a detached tool bar button.
819
820 2008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
821
822 * emacs.c (main): Print and error and exit when no data is read
823 from the pipe.
824
825 2008-12-17 Jason Rumney <jasonr@gnu.org>
826
827 * w32font.c (w32font_has_char): Always return -1.
828
829 2008-12-16 Kenichi Handa <handa@m17n.org>
830
831 * font.c (font_open_entity): Fix previous change.
832
833 2008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
834
835 * process.c: Include <limits.h>.
836
837 2008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
838
839 * font.c (font_update_drivers): Fix mistake in reconstructing the
840 driver list.
841
842 2008-12-16 Chong Yidong <cyd@stupidchicken.com>
843
844 * font.c (font_clear_cache): Fix format of font cache data.
845
846 2008-12-15 Chong Yidong <cyd@stupidchicken.com>
847
848 * xftfont.c (xftfont_open): Free Xft font pattern if
849 XftFontOpenPattern fails.
850
851 * xterm.c (x_free_frame_resources): Remove extraneous call to
852 free_frame_faces.
853
854 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
855
856 * xterm.c (x_delete_display): Move xim_close_dpy call to
857 x_delete_terminal.
858 (x_delete_terminal): Call xim_close_dpy.
859
860 2008-12-13 Jason Rumney <jasonr@gnu.org>
861
862 * w32font.c (intern_font_name): New function.
863 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
864 (w32font_open_internal, Fx_select_font): Decode font name.
865 (fill_in_logfont, list_all_matching_fonts): Encode font name.
866
867 * w32font.h (intern_font_name): Declare new function.
868
869 * w32uniscribe.c (add_opentype_font_name_to_list):
870 Use intern_font_name.
871
872 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
873
874 * frame.c (Fdelete_frame): Call free_font_driver_list.
875
876 * font.c (free_font_driver_list): Implement missing function.
877
878 * w32term.c (w32_term_init): Don't initialize the image cache
879 here; it will be done in init_frame_faces.
880
881 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
882 (struct x_display_info): Remove unused member null_pixel. New
883 member xim_callback_data.
884
885 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
886 (xim_initialize): Save pointer to callback function data.
887 (xim_close_dpy): Free callback function data. Call XCloseIM,
888 reverting 2008-11-04 change by David Smith.
889 (x_term_init): Don't initialize the image cache here; it will be
890 done in init_frame_faces. Remove ancient "null_pixel" cruft.
891 (x_delete_display): Free x_dnd_atoms member.
892
893 2008-12-13 Kenichi Handa <handa@m17n.org>
894
895 * font.c (font_rescale_ratio): Moved from xfaces.c.
896 Argument type changed. Handle a font-spec too.
897 (font_score): Check Vface_font_rescale_alist.
898 (font_open_entity): Likewise. (Bug#1547)
899
900 * xfaces.c (font_rescale_ratio): Moved to font.c.
901
902 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
903
904 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
905
906 2008-12-12 Jason Rumney <jasonr@gnu.org>
907
908 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
909 Vwindow_system_version to the real w32 major version.
910
911 2008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
912
913 * term.c (init_tty): Move setting the terminal name before the
914 potential user: maybe_fatal.
915
916 2008-12-11 Chong Yidong <cyd@stupidchicken.com>
917
918 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
919 all callers changed. Call free_frame_faces to free the face cache.
920
921 2008-12-11 Jason Rumney <jasonr@gnu.org>
922
923 * w32font.c (fill_in_logfont): Don't assume symbol script means
924 SYMBOL_CHARSET. (Bug#547)
925
926 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
927 size for surrogates. (Bug#1096, bug#872)
928
929 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
930
931 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
932
933 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
934
935 * process.c (Fsystem_process_attributes, syms_of_process):
936 Fix typo in name of Ssystem_process_attributes.
937 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
938
939 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
940
941 * syntax.c (Fmodify_syntax_entry): Doc fix.
942
943 2008-12-10 Juanma Barranquero <lekktu@gmail.com>
944
945 * font.c (Ffont_spec): Move usage to end of docstring.
946
947 2008-12-10 Jason Rumney <jasonr@gnu.org>
948
949 * w32font.c (Qcham): New symbol.
950 (font_supported_scripts): Add cham, and comments for other new
951 scripts in bitfield from OpenType spec.
952 (add_font_entity_to_list): Limit unicode-sip fonts to those that
953 contain characters beyond the bmp.
954
955 2008-12-10 Kenichi Handa <handa@m17n.org>
956
957 * ftfont.c (fc_charset_table): Add "unicode-sip".
958 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
959 Qunicode_sip.
960
961 2008-12-10 Juanma Barranquero <lekktu@gmail.com>
962
963 * coding.c (QCdefault_char): Rename from QCdefalut_char.
964 (Fcoding_system_put): Use QCdefault_char.
965 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
966
967 2008-12-09 Chong Yidong <cyd@stupidchicken.com>
968
969 * xftfont.c (syms_of_xftfont): Fix typo.
970
971 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
972
973 2008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
974
975 * emacs.c (main): Close daemon_pipe on exec.
976
977 2008-12-08 Chong Yidong <cyd@stupidchicken.com>
978
979 * termchar.h (struct tty): New members termcap_term_buffer and
980 termcap_strings_buffer.
981
982 * term.c (encode_terminal_code): Free any previous memory blocks
983 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
984 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
985 All callers changed.
986 (init_tty): Store termcap data and string buffers in new struct
987 tty members termcap_term_buffer and termcap_strings_buffer.
988 (delete_tty): Free them.
989 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
990
991 2008-12-07 Seiji Zenitani <zenitani@mac.com>
992
993 * nsfns.m (ns_set_background_color): Remove code duplication.
994 It was a substitute for face-transparency on OS X 10.3.
995
996 2008-12-06 Chong Yidong <cyd@stupidchicken.com>
997
998 * coding.c (make_conversion_work_buffer): Disable buffer
999 modification hooks in the work buffer.
1000
1001 2008-12-05 Eli Zaretskii <eliz@gnu.org>
1002
1003 * process.c (procfs_system_process_attributes): If `nread' has a
1004 negative value, assign zero to it.
1005
1006 2008-12-05 Chong Yidong <cyd@stupidchicken.com>
1007
1008 * eval.c (Vdebug_on_error): Doc fix.
1009
1010 2008-12-05 Kenichi Handa <handa@m17n.org>
1011
1012 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
1013 second character is a combining character.
1014
1015 2008-12-05 Eli Zaretskii <eliz@gnu.org>
1016
1017 * process.c (procfs_system_process_attributes): Don't use cmd,
1018 cmdsize, and q without initializing them first.
1019
1020 2008-12-04 Jason Rumney <jasonr@gnu.org>
1021
1022 * w32font.c (w32font_draw): Initialize orig_clip before getting
1023 it, and delete it when finished.
1024
1025 2008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
1026
1027 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
1028 case when running as a daemon before detaching.
1029
1030 2008-12-03 Juanma Barranquero <lekktu@gmail.com>
1031
1032 * w32.c (init_environment): Don't unload library shell32.dll.
1033
1034 2008-12-03 Kenichi Handa <handa@m17n.org>
1035
1036 * font.c (font_at): Set `multibyte' at first.
1037
1038 * coding.c (decode_coding_charset): Check type of an element of
1039 vector VALIDS.
1040 (encode_coding_emacs_mule): Be sure to set `code'.
1041
1042 * fontset.c (face_for_char): Handle invalid charset property correctly.
1043 (font_for_char): Likewise.
1044
1045 2008-12-03 Chong Yidong <cyd@stupidchicken.com>
1046
1047 * font.c (Fopen_font): Compute pixel size correctly.
1048 (font_update_lface): Handle fonts with corrupted size specs,
1049 i.e. non-int and non-float.
1050
1051 * ftfont.c (ftfont_match): Initialize entity variable.
1052 (ftfont_resolve_generic_family): Avoid using uninitialized var.
1053 (ftfont_list_family): Initialize list var earlier.
1054
1055 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
1056
1057 * xterm.c (x_draw_glyph_string): Fall back on
1058 underline_minimum_offset for underline position.
1059
1060 2008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
1061
1062 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
1063
1064 * character.c (c_string_width): Specify the type for LEN.
1065
1066 2008-12-03 Kenichi Handa <handa@m17n.org>
1067
1068 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
1069 (decode_coding_utf_8): Likewise.
1070 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
1071 (produce_chars): Initialize consumed_chars to 0.
1072
1073 2008-12-02 Chong Yidong <cyd@stupidchicken.com>
1074
1075 * keyboard.c (make_lispy_position): Only use PT if the selected
1076 window is current.
1077
1078 2008-12-02 Andreas Schwab <schwab@suse.de>
1079
1080 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
1081
1082 * doprnt.c (doprnt1): Fix size of charbuf.
1083
1084 2008-12-02 Chong Yidong <cyd@stupidchicken.com>
1085
1086 * keyboard.c (timer_check): Revert last change.
1087
1088 2008-12-02 Juanma Barranquero <lekktu@gmail.com>
1089
1090 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
1091
1092 2008-12-01 Juanma Barranquero <lekktu@gmail.com>
1093
1094 * makefile.w32-in: Update dependencies.
1095 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
1096
1097 2008-12-01 Andreas Schwab <schwab@suse.de>
1098
1099 * font.c (register_font_driver): Use xmalloc.
1100 (font_put_frame_data): Likewise.
1101
1102 2008-12-01 Chong Yidong <cyd@stupidchicken.com>
1103
1104 * xfaces.c (realize_x_face): Make abort condition clearer.
1105
1106 * gtkutil.c (update_frame_tool_bar): Initialize variable.
1107
1108 2008-11-30 Chong Yidong <cyd@stupidchicken.com>
1109
1110 * keyboard.c (timer_check): After a timer runs, ensure that the
1111 selected window's buffer is current.
1112
1113 2008-11-30 Juanma Barranquero <lekktu@gmail.com>
1114
1115 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1116 It was accidentally restored by the Unicode merge.
1117
1118 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1119
1120 2008-11-29 Juanma Barranquero <lekktu@gmail.com>
1121
1122 * w32proc.c: Include "coding.h".
1123 (Fw32_short_file_name): Encode filename passed to Windows API.
1124 (Fw32_long_file_name): Encode filename passed to Windows API and
1125 decode back the result. (Bug#1433)
1126
1127 2008-11-29 Kenichi Handa <handa@m17n.org>
1128
1129 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1130 not before accessing it.
1131
1132 * charset.c (Fdefine_charset_internal): After calculating
1133 min_char, max_char, and fastmap, copy the charset structure again.
1134 (encode_char): Fix the previous change.
1135
1136 2008-11-28 Seiji Zenitani <zenitani@mac.com>
1137
1138 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1139
1140 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1141
1142 * nsterm.m (x_set_frame_alpha): New function.
1143
1144 2008-11-27 Eli Zaretskii <eliz@gnu.org>
1145
1146 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1147
1148 2008-11-27 Juanma Barranquero <lekktu@gmail.com>
1149
1150 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1151 pointer to check_face_name.
1152
1153 2008-11-27 Kenichi Handa <handa@m17n.org>
1154
1155 * category.h (SET_CATEGORY_SET): Call set_category_set.
1156 (set_category_set): Extern it.
1157
1158 * category.c (hash_get_category_set): New function.
1159 (Fmodify_category_entry): Adjusted for the change of
1160 char_table_ref_and_range. Call hash_get_category_set to get a
1161 category set to store in the table.
1162
1163 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1164 Funify_charset.
1165
1166 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
1167 (DECODE_CHAR): Check if the decoder vector is ready.
1168 (ENCODE_CHAR): Check if the encoder char-table is ready.
1169 (maybe_unify_char): Extern it.
1170
1171 * charset.c (Vchar_unified_charset_table): Delete it.
1172 (inhibit_load_charset_map): New variable.
1173 (temp_charset_work): New variable.
1174 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1175 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1176 New macros.
1177 (load_charset_map): Meaning of control_flag changed. If
1178 inhibit_load_charset_map is nonzero, setup a table in
1179 temp_charset_work.
1180 (load_charset): New argument control_flag.
1181 (map_charset_for_dump): New function.
1182 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1183 map_charset_for_dump.
1184 (Fdefine_charset_internal): If the charset method is MAP, load
1185 mapping tables by calling load_charset.
1186 (Funify_charset): Don't load a mapping table but directly set
1187 Vchar_unify_table.
1188 (maybe_unify_char): New function.
1189 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1190 Handle the case of inhibit_load_charset_map being nonzero.
1191 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1192 Handle the case of inhibit_load_charset_map being nonzero.
1193 (Fclear_charset_maps): Just free temp_charset_work.
1194 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1195 variable.
1196
1197 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1198 change of char_table_ref_and_range.
1199 (char_table_ref_and_range): Change the meaning of argument FROM
1200 and TO. Now the caller must provide initial values for *FROM
1201 and *TO.
1202
1203 * fontset.c (fontset_add): Adjusted for the change of
1204 char_table_ref_and_range.
1205 (fontset_get_font_group): Likewise.
1206 (Ffontset_info): Likewise.
1207
1208 * keymap.c (describe_vector): Adjusted for the change of
1209 char_table_ref_and_range. For char-table, put boundary between
1210 non-ASCII and 8-bit characters.
1211
1212 * print.c (print_object): For bool-vector, delete unnecessary
1213 check of ASCII_BYTE_P.
1214
1215 2008-11-26 Jason Rumney <jasonr@gnu.org>
1216
1217 * w32font.c (w32font_open_internal): Don't include external
1218 leading in font height. (Bug#879)
1219
1220 2008-11-26 Glenn Morris <rgm@gnu.org>
1221
1222 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1223 redefinition with ifdef. (Bug#1383)
1224
1225 2008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1226
1227 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1228
1229 2008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
1230
1231 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1232 New EmacsView methods.
1233 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1234 Fixes bug #1048,1357,1414.
1235
1236 2008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1237
1238 Fix bug #1362.
1239 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1240 is not an indexed color.
1241 * nsterm.m (free_indexed_color): Add argument checking.
1242 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1243
1244 2008-11-24 Chong Yidong <cyd@stupidchicken.com>
1245
1246 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1247 Document confirm-after-completion value for
1248 minibuffer-completion-confirm.
1249
1250 2008-11-24 Jason Rumney <jasonr@gnu.org>
1251
1252 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1253 warning.
1254
1255 2008-11-23 Jason Rumney <jasonr@gnu.org>
1256
1257 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1258 restored before returning.
1259
1260 * w32font.c (check_face_name): New function.
1261 (add_font_entity_to_list): Use it to filter out common substituted
1262 fonts. (Bug#642)
1263
1264 2008-11-22 Martin Rudalics <rudalics@gmx.at>
1265
1266 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1267 confirm-nonexistent-file-or-buffer in doc-string.
1268
1269 2008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1270
1271 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1272 Fix copy/paste typo. Add checks.
1273
1274 2008-11-21 Kenichi Handa <handa@m17n.org>
1275
1276 * coding.c (detect_coding_iso_2022): Reject invalid composition
1277 sequence.
1278 (DECODE_COMPOSITION_START): If the current source is the last
1279 block, and the current composition doesn't end, regard this
1280 sequence as invalid.
1281 (decode_coding_iso_2022): Handle invalid composition sequence.
1282
1283 2008-11-20 Martin Rudalics <rudalics@gmx.at>
1284
1285 * window.c (coordinates_in_window): Don't return
1286 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1287 line when the window is not the rightmost one. (Bug#1372)
1288
1289 2008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1290
1291 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1292
1293 2008-11-15 Eli Zaretskii <eliz@gnu.org>
1294
1295 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1296 and bright_bg if noninteractive is non-zero.
1297
1298 2008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1299
1300 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1301 x_draw_glyph_string_background.
1302
1303 * w32term.c (x_draw_glyph_string): Likewise.
1304
1305 2008-11-15 Chong Yidong <cyd@stupidchicken.com>
1306
1307 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1308 the next glyph string once past the overhang width.
1309
1310 * nsterm.m (ns_draw_glyph_string): Likewise.
1311
1312 * w32term.c (x_draw_glyph_string): Likewise.
1313
1314 2008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1315
1316 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1317 double file close.
1318
1319 2008-11-14 Martin Rudalics <rudalics@gmx.at>
1320
1321 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1322 dedicated status of window before attempting to display another
1323 buffer in it.
1324
1325 2008-11-14 Juanma Barranquero <lekktu@gmail.com>
1326
1327 * msdos.c (Fmsdos_long_file_names):
1328 (syms_of_msdos) <dos-unsupported-char-glyph>:
1329 * dosfns.c (Fint86): Fix typos in docstrings.
1330
1331 2008-11-14 Eli Zaretskii <eliz@gnu.org>
1332
1333 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1334
1335 2008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1336
1337 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1338
1339 2008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1340
1341 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1342
1343 * frame.h: Negative alpha means "don't touch".
1344
1345 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1346
1347 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1348
1349 2008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1350
1351 * hftctl.c:
1352 * chpdef.h:
1353 * acldef.h: Remove files used only for systems no longer supported.
1354
1355 * Makefile.in: Fix .o alphabetical ordering.
1356 (hftctl.o): Remove dependency, file removed.
1357 (keymap.o, print.o): Depend on charset.h.
1358
1359 2008-11-10 Kenichi Handa <handa@m17n.org>
1360
1361 * character.c (Fget_byte): Fix and make it faster for unibyte target.
1362
1363 2008-11-08 Chong Yidong <cyd@stupidchicken.com>
1364
1365 * dired.c (file_name_completion): If completion_ignore_case is
1366 enabled, ignore case when checking completion-regexp-list.
1367
1368 2008-11-08 Eli Zaretskii <eliz@gnu.org>
1369
1370 * vm-limit.c (get_lim_data): Fix last change.
1371
1372 2008-11-08 Kenichi Handa <handa@m17n.org>
1373
1374 * character.c (Fget_byte): New function.
1375 (syms_of_character): Defsubr Fget_byte.
1376
1377 2008-11-07 Chong Yidong <cyd@stupidchicken.com>
1378
1379 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1380 cursor position is valid after scrolling.
1381
1382 2008-11-06 Juanma Barranquero <lekktu@gmail.com>
1383
1384 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1385
1386 2008-11-06 Glenn Morris <rgm@gnu.org>
1387
1388 * xterm.c (handle_one_xevent): Don't let popup menus cause
1389 mouse-autoselect-window related window switching. (Bug#1261)
1390
1391 2008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1392
1393 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1394
1395 2008-11-04 Andreas Schwab <schwab@suse.de>
1396
1397 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1398
1399 2008-11-03 Chong Yidong <cyd@stupidchicken.com>
1400
1401 * xfns.c (Fx_wm_set_size_hint): New function.
1402
1403 2008-11-03 Martin Rudalics <rudalics@gmx.at>
1404
1405 * textprop.c (Fprevious_single_char_property_change): Return 0
1406 when there's no change in a string. (Bug#1301)
1407
1408 2008-11-02 Martin Rudalics <rudalics@gmx.at>
1409
1410 * frame.c (do_switch_frame): New argument NORECORD passed to
1411 Fselect_window.
1412 (Fselect_frame): New argument NORECORD passed to
1413 do_switch_frame.
1414 (Fset_frame_selected_window): New argument NORECORD passed to
1415 Fselect_frame.
1416 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1417 in call of do_switch_frame.
1418 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1419 Handle NORECORD argument in call of Fselect_frame.
1420 * lisp.h (do_switch_frame, Fselect_frame)
1421 (Fset_frame_selected_window): Adjust declarations.
1422 * window.c (select_frame_norecord): New function.
1423 (run_window_configuration_change_hook): Use it and call
1424 Fselect_frame with NORECORD set.
1425 (Fselect_window): Pass NORECORD to Fselect_frame.
1426 (Fset_window_configuration): Handle NORECORD argument in call of
1427 do_switch_frame.
1428 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1429 Fset_frame_selected_window.
1430 * keyboard.c (command_loop_1): Handle NORECORD in call of
1431 Fselect_frame (currently ifdefd).
1432
1433 2008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1434
1435 * emacs.c (USAGE2): Untabify.
1436
1437 2008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1438
1439 * composite.c (fill_gstring_header): Fix copy/paste typo.
1440
1441 2008-10-31 Martin Rudalics <rudalics@gmx.at>
1442
1443 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1444 (Fother_window): Rename argument and rewrite doc-string.
1445 (select_window_norecord): Fix return value. (Bug#1276)
1446
1447 2008-10-30 Juanma Barranquero <lekktu@gmail.com>
1448
1449 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1450 new frames overriding foreground for tooltips. Based on similar patch
1451 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1452
1453 2008-10-29 Chong Yidong <cyd@stupidchicken.com>
1454
1455 * emacs.c (Fdaemon_initialized): Initialize nfd.
1456
1457 2008-10-29 Martin Rudalics <rudalics@gmx.at>
1458
1459 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1460 (Fwindow_text_height): Clarify doc-strings.
1461 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1462 doc-string of window-scroll-functions.
1463
1464 2008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1465
1466 * category.c (syms_of_category): Fix typo in docstring.
1467
1468 2008-10-28 Juanma Barranquero <lekktu@gmail.com>
1469
1470 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1471 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1472 Fix typos in docstrings.
1473
1474 2008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1475
1476 * emacs.c (daemon_pipe): Make non-static.
1477 (IS_DAEMON): Move definition ...
1478 * lisp.h (IS_DAEMON): ... here.
1479 (daemon_pipe): Declare.
1480 (is_daemon): Remove.
1481 * dispnew.c (init_display): Use IS_DAEMON.
1482
1483 2008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1484
1485 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1486 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1487
1488 * emacs.c (is_daemon): Remove.
1489 (main): Don't set is_daemon.
1490 (IS_DAEMON): New macro.
1491 (Fdaemonp, Fdaemon_initialized): Use it.
1492 (Fdaemon_initialized): Write a char into the pipe to make sure the
1493 parent exits.
1494 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1495
1496 2008-10-27 Chong Yidong <cyd@stupidchicken.com>
1497
1498 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1499 over-sized glyph, draw it with the default glyph width.
1500
1501 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1502 glyph, draw it with the default glyph width.
1503
1504 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1505 glyph, draw it with the default glyph width.
1506
1507 * xdisp.c (try_scrolling): When computing the distance from the
1508 scroll margin to PT, try moving some distance past the window
1509 bottom before giving up.
1510
1511 2008-10-27 Martin Rudalics <rudalics@gmx.at>
1512
1513 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1514 (Fset_window_buffer): Explain in doc-string that a window can be
1515 "strongly" dedicated to its buffer.
1516
1517 2008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1518
1519 * emacs.c (daemon_name): New variable.
1520 (main): Deal with --daemon=SERVER_NAME.
1521 (Fdaemonp): Return a name if one was passed to --daemon.
1522
1523 2008-10-26 Romain Francoise <romain@orebokech.com>
1524
1525 * emacs.c (daemon_pipe): New variable.
1526 (main): Create a pipe before forking, make the parent exit only after
1527 the child has closed its end of the pipe. Move closing the
1528 descriptors ...
1529 (Fdaemon_initialized): ... here. New function.
1530
1531 2008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1532
1533 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1534 the previous unoptimized table.
1535
1536 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1537 the distinction between non-nil and non-t value of `dedicated'.
1538
1539 2008-10-25 Chong Yidong <cyd@stupidchicken.com>
1540
1541 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
1542 read_char_minibuf_menu_text is large enough to hold the menu string.
1543
1544 2008-10-25 Martin Rudalics <rudalics@gmx.at>
1545
1546 * window.c (Fget_buffer_window, Fdelete_windows_on)
1547 (Freplace_buffer_in_windows): Make buffer argument optional and
1548 rename to buffer_or_name.
1549
1550 2008-10-24 Chong Yidong <cyd@stupidchicken.com>
1551
1552 * xdisp.c (handle_single_display_spec, handle_display_prop):
1553 Undo 2005-05-16 change.
1554 (handle_stop): Pop iterator if it's loaded with an empty string.
1555 (get_overlay_strings_1): Don't save iterator if it's loaded with
1556 an empty string (bug#1201).
1557
1558 2008-10-24 Kenichi Handa <handa@m17n.org>
1559
1560 * ftfont.c (ftfont_otf_features): Fix previous change.
1561 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1562 calling ftfont_otf_features.
1563
1564 2008-10-24 Kenichi Handa <handa@m17n.org>
1565
1566 * font.c (font_match_p): Fix for the case that a vector of
1567 characters is in script-representative-chars.
1568
1569 2008-10-24 Michael Albinus <michael.albinus@gmx.de>
1570
1571 * dbusbind.c (xd_in_read_queued_messages): New variable.
1572 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1573 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1574 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1575 macro. (Bug#1186).
1576
1577 2008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
1578
1579 * s/sol2-10.h: New file.
1580
1581 2008-10-23 Juanma Barranquero <lekktu@gmail.com>
1582
1583 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1584 poor beast has survived 9+ years and the jump from xterm.c!).
1585
1586 2008-10-23 Martin Rudalics <rudalics@gmx.at>
1587
1588 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1589 Reword doc-string.
1590 (Fbury_buffer): In doc-string say what happens to the buffer's window.
1591
1592 2008-10-23 Juanma Barranquero <lekktu@gmail.com>
1593
1594 * character.c (syms_of_character) <script-representative-chars>:
1595 <unicode-category-table>: Doc fixes.
1596
1597 2008-10-23 Noah Friedman <friedman@splode.com>
1598
1599 * coding.c (make_conversion_work_buffer): Check that
1600 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1601 Fget_buffer_create.
1602
1603 2008-10-23 Kenichi Handa <handa@m17n.org>
1604
1605 * font.c (font_add_log): Check the values of extra properties.
1606
1607 2008-10-22 Martin Rudalics <rudalics@gmx.at>
1608
1609 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1610 Reword doc-string.
1611 (Fset_window_parameter): Use NILP.
1612 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
1613 (Frecenter): Use "selected" instead of "current" window in doc-strings.
1614
1615 2008-10-22 Juanma Barranquero <lekktu@gmail.com>
1616
1617 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1618
1619 2008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1620
1621 * nsfns.m (ns_appkit_version): New function.
1622 (x-server-version): Use it.
1623 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1624 (x-server-vendor): Don't check_ns().
1625
1626 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1627
1628 2008-10-22 Juanma Barranquero <lekktu@gmail.com>
1629
1630 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1631 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1632
1633 2008-10-22 Kenichi Handa <handa@m17n.org>
1634
1635 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1636 scripts.
1637
1638 * category.c (word_boundary_p): Check scripts instead of charset.
1639 Handle nil value in word-separating-categories and
1640 word-combining-categories.
1641 (syms_of_category): Fix docstrings of word-separating-categories
1642 and word-combining-categories.
1643
1644 2008-10-21 Eli Zaretskii <eliz@gnu.org>
1645
1646 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1647 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1648
1649 2008-10-21 Martin Rudalics <rudalics@gmx.at>
1650
1651 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1652 Rename arg "buffer" to "buffer_or_name".
1653 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1654 it optional.
1655 (no_switch_window): Remove since the return value is not used.
1656 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
1657 Consider window as dedicated when Fwindow_dedicated_p returns a
1658 non-nil value.
1659 * lisp.h: Remove prototype for no_switch_window.
1660
1661 2008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1662
1663 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
1664 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
1665
1666 2008-10-21 Kenichi Handa <handa@m17n.org>
1667
1668 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1669 check Vlatin_extra_code_table.
1670
1671 2008-10-20 Eli Zaretskii <eliz@gnu.org>
1672
1673 * fileio.c (Fset_file_modes): Doc fix.
1674
1675 2008-10-19 Michael Albinus <michael.albinus@gmx.de>
1676
1677 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1678 in arrays.
1679
1680 2008-10-19 Martin Rudalics <rudalics@gmx.at>
1681
1682 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1683 Mention kill-buffer in doc-string.
1684 (Fset_window_buffer): Reinsert tem check removed in last commit.
1685 (Fenlarge_window, Fshrink_window): Have argument names and
1686 doc-string follow Elisp manual more closely.
1687
1688 2008-10-18 Eli Zaretskii <eliz@gnu.org>
1689
1690 * fileio.c (Fset_file_modes): Doc fix.
1691
1692 2008-10-18 Martin Rudalics <rudalics@gmx.at>
1693
1694 * window.c (Fwindow_width, Fset_window_start)
1695 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
1696 (Fdelete_windows_on, Freplace_buffer_in_windows):
1697 Make doc-strings follow code and Elisp manual more closely.
1698 (Fwindow_dedicated_p): Make window argument optional.
1699 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1700 (Fset_window_buffer): Respect any non-nil dedicated value for
1701 window. Rename "buffer" argument to "buffer_or_name".
1702
1703 2008-10-18 Ulrich Mueller <ulm@gentoo.org>
1704
1705 * m/sh3.h: New file, machine description for SuperH.
1706
1707 2008-10-17 Martin Rudalics <rudalics@gmx.at>
1708
1709 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1710
1711 2008-10-17 Kenichi Handa <handa@m17n.org>
1712
1713 * ftfont.c (ftfont_otf_features): Fix indexing
1714 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1715
1716 2008-10-16 Magnus Henoch <mange@freemail.hu>
1717
1718 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1719 (Fdbus_call_method_asynchronously): Ditto.
1720 This change makes C-h f display the argument list.
1721
1722 2008-10-16 Chong Yidong <cyd@stupidchicken.com>
1723
1724 * fileio.c (Fexpand_file_name): Doc fix.
1725
1726 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1727 of :foreground and :background equivalent to unspecified (20.x
1728 compatibility).
1729
1730 2008-10-15 Eli Zaretskii <eliz@gnu.org>
1731
1732 * buffer.c (syms_of_buffer): Doc fix.
1733
1734 2008-10-14 Kenichi Handa <handa@m17n.org>
1735
1736 * font.c (font_clear_prop): When clearing font width, clear the
1737 average width field too.
1738
1739 2008-10-12 Andreas Schwab <schwab@suse.de>
1740
1741 * ftfont.c (ftfont_shape_by_flt): Make static.
1742 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1743
1744 * font.c: Don't include <m17n-flt.h>.
1745
1746 2008-10-10 Eli Zaretskii <eliz@gnu.org>
1747
1748 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1749
1750 2008-10-09 Eli Zaretskii <eliz@gnu.org>
1751
1752 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1753 away code.
1754
1755 2008-10-09 Chong Yidong <cyd@stupidchicken.com>
1756
1757 * dispnew.c (update_text_area): Avoid looping due to large glyph
1758 overhangs (bug#1070).
1759
1760 2008-10-09 Kenichi Handa <handa@m17n.org>
1761
1762 * fontset.c (face_for_char): If face->fontset is negative, just
1763 return ascii_face.
1764
1765 * font.c (font_delete_unmatched): Fix previous change.
1766 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
1767
1768 2008-10-09 Martin Rudalics <rudalics@gmx.at>
1769
1770 * frame.c (Fraise_frame): On text-only terminals select frame in
1771 order to make it visible. (Bug#1061)
1772
1773 2008-10-08 Chong Yidong <cyd@stupidchicken.com>
1774
1775 * fontset.c (fontset_find_font): Check frame validity.
1776
1777 2008-10-07 Chong Yidong <cyd@stupidchicken.com>
1778
1779 * gtkutil.c (xg_display_open): Reset default display if none exists.
1780 (xg_display_close): Allow Emacs to close all displays (bug#985).
1781
1782 2008-10-06 Andreas Schwab <schwab@suse.de>
1783
1784 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
1785
1786 2008-10-06 Chong Yidong <cyd@stupidchicken.com>
1787
1788 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
1789
1790 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
1791
1792 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1793 during initialization.
1794
1795 2008-10-04 Eli Zaretskii <eliz@gnu.org>
1796
1797 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1798 whole thing on MSDOS frames as well as on a TTY.
1799
1800 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1801 well as for TTY.
1802 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1803 well as on a TTY.
1804
1805 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1806 as well as for TTY.
1807
1808 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1809
1810 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1811 MSDOS frames as well.
1812
1813 2008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1814
1815 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1816 correct arguments.
1817 * menu.c (find_and_return_menu_selection) Add cast.
1818
1819 2008-10-03 Glenn Morris <rgm@gnu.org>
1820
1821 * emacs.c (USAGE1): Add --daemon.
1822
1823 2008-10-02 Eli Zaretskii <eliz@gnu.org>
1824
1825 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1826 100, so it's in percents as advertised.
1827
1828 2008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1829
1830 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1831 (ns_output.current_cursor, ns_output.desired_cursor)
1832 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1833 (FRAME_NEW_CURSOR_COLOR): Remove.
1834
1835 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
1836 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
1837 enumeration (HOLLOW_BOX_CURSOR, etc.).
1838
1839 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1840 (draw_window_cursor): Simplify code.
1841 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1842 Don't change cursor type. In latter, call rehighlight instead of doing
1843 updates manually.
1844 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1845 Use core Emacs cursor types.
1846
1847 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
1848
1849 2008-10-02 Martin Rudalics <rudalics@gmx.at>
1850
1851 * process.c (Faccept_process_output): Fix doc-string.
1852
1853 2008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1854
1855 * gmalloc.c (__sbrk): Also define for uClibc.
1856
1857 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1858 for uClibc.
1859
1860 2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1861
1862 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1863 styles.
1864 (nsfont_open): Reenable the cache.
1865
1866 2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1867
1868 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1869 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1870
1871 2008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1872
1873 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1874 a suspended terminal.
1875
1876 2008-09-30 Michael Albinus <michael.albinus@gmx.de>
1877
1878 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1879
1880 2008-09-30 Eli Zaretskii <eliz@gnu.org>
1881
1882 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1883
1884 2008-09-30 Chong Yidong <cyd@stupidchicken.com>
1885
1886 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1887 in a continued line coincides with a line beginning.
1888
1889 2008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1890
1891 * nsfont.m (nsfont_trait_distance): Fix bug.
1892 (nsfont_list): Return a list rather than a vector (syncs with Handa
1893 changes of 2008-05-14).
1894 (nsfont_open): Improve logging.
1895
1896 2008-09-29 Andreas Schwab <schwab@suse.de>
1897
1898 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1899
1900 2008-09-28 Martin Rudalics <rudalics@gmx.at>
1901
1902 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1903 name as char-resolve-modifiers.
1904 Reported by: Markus Triska <markus.triska@gmx.at>
1905
1906 2008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1907
1908 * dispnew.c (init_display): Return earlier when running as a daemon.
1909
1910 2008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1911
1912 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1913
1914 2008-09-27 Eli Zaretskii <eliz@gnu.org>
1915
1916 * composite.c (Fcomposition_get_gstring)
1917 (Fcompose_region_internal, Fcompose_string_internal)
1918 (Ffind_composition_internal): Doc fix.
1919 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1920 (syms_of_composite) <auto-composition-function>: Doc fix.
1921 (syms_of_composite) <composition-function-table>: Doc fix.
1922
1923 2008-09-25 Chong Yidong <cyd@stupidchicken.com>
1924
1925 * search.c (wordify): New argument for lax word-ends.
1926 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1927
1928 2008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1929
1930 * lisp.h (is_daemon): Declare.
1931 * dispnew.c (init_display): Do not try to initialize the terminal
1932 when running as a daemon.
1933
1934 2008-09-22 Chong Yidong <cyd@stupidchicken.com>
1935
1936 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1937 x_display_pixel_height.
1938
1939 2008-09-22 Martin Rudalics <rudalics@gmx.at>
1940
1941 * undo.c (record_point): Don't call Fundo_boundary for first
1942 change. (Bug#731)
1943
1944 2008-09-22 Juanma Barranquero <lekktu@gmail.com>
1945
1946 * emacs.c (Fdaemonp): Doc fix.
1947
1948 2008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1949
1950 * emacs.c (main): Place #ifdef in the proper place.
1951
1952 2008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1953
1954 * emacs.c (standard_args): Add --daemon.
1955 (main): Disconnect from the terminal when --daemon is passed.
1956 (is_daemon): New variable.
1957 (Fdaemonp): New function.
1958 (syms_of_emacs): Defsubr it.
1959
1960 2008-09-20 Chong Yidong <cyd@stupidchicken.com>
1961
1962 * xdisp.c (get_next_display_element): Handle string display
1963 correctly when checking for the end of a box run.
1964
1965 2008-09-20 Glenn Morris <rgm@gnu.org>
1966
1967 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1968 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1969 (Frename_file): Avoid copying to trash if a rename involves
1970 a delete. (Bug#964).
1971
1972 2008-09-20 Eli Zaretskii <eliz@gnu.org>
1973
1974 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1975 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1976 frames as well as termcap frames.
1977 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1978 get_named_tty.
1979
1980 2008-09-19 Eli Zaretskii <eliz@gnu.org>
1981
1982 * process.c (procfs_system_process_attributes): Fix cmdline in
1983 case /proc/PID/cmdline is empty.
1984
1985 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1986 x_display_pixel_height.
1987
1988 2008-09-19 Juanma Barranquero <lekktu@gmail.com>
1989
1990 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1991
1992 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1993 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1994
1995 2008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1996
1997 * dispextern.h (struct it): Move line_wrap away from the middle of
1998 bitfields. Move voffset in struct iterator_stack_entry after the
1999 bitfields. Move tab_width near after another short.
2000
2001 2008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
2002
2003 * frame.h (struct frame): Move alpha from the middle of bitfields.
2004
2005 * window.h (struct window): Move frozen_window_start_p after the
2006 rest of the bitfields to reduce padding.
2007
2008 2008-09-18 Chong Yidong <cyd@stupidchicken.com>
2009
2010 * xterm.h (x_display_info): Remove `height' and `width' members.
2011
2012 * nsterm.h (ns_display_info): Remove `height' and `width' members.
2013
2014 * w32term.h (w32_display_info): Remove `height', `width',
2015 `height_in', and `width_in' members.
2016
2017 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2018 New functions.
2019 (x_calc_absolute_position): Use them.
2020 (x_term_init): Omit removed `height' and `width' members.
2021
2022 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2023 New functions.
2024 (w32_read_socket, x_calc_absolute_position): Use them.
2025 (w32_initialize_display_info, w32_term_init): Omit removed members
2026 of w32_display_info.
2027
2028 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
2029 New functions.
2030 (ns_initialize_display_info): Omit removed members of ns_display_info.
2031
2032 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2033 New functions.
2034 (x_calc_absolute_position): Use them.
2035 (x_term_init): Omit removed `height' and `width' members.
2036
2037 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
2038 (compute_tip_xy):
2039 * frame.c (x_fullscreen_adjust):
2040 * xmenu.c (menu_position_func): Use x_display_pixel_height and
2041 x_display_pixel_width.
2042
2043 2008-09-18 Kenichi Handa <handa@m17n.org>
2044
2045 * composite.c (fill_gstring_header): Don't check FROM and TO here.
2046 (composition_compute_stop_pos): Fix handling of static composition.
2047 (Fcomposition_get_gstring): Check FROM and TO at first.
2048
2049 2008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
2050
2051 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
2052 mixup (YAILOM).
2053
2054 2008-09-17 Chong Yidong <cyd@stupidchicken.com>
2055
2056 * indent.c (Fvertical_motion): Use position reported by iterator
2057 instead of PT for determining screen motion (bug#943).
2058
2059 2008-09-17 Romain Francoise <romain@orebokech.com>
2060
2061 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
2062
2063 2008-09-17 Kenichi Handa <handa@m17n.org>
2064
2065 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
2066
2067 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
2068 if necessary.
2069
2070 2008-09-16 Kenichi Handa <handa@m17n.org>
2071
2072 * coding.c (make_conversion_work_buffer): Avoid calling
2073 Fget_buffer_create if it is not necessary.
2074
2075 2008-09-15 Martin Rudalics <rudalics@gmx.at>
2076
2077 * window.c (Fselect_window): Don't update window_select_count and
2078 use_time when norecord is not nil.
2079
2080 2008-09-14 Kenichi Handa <handa@m17n.org>
2081
2082 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
2083 specpdl_ptr.
2084
2085 2008-09-12 Kenichi Handa <handa@m17n.org>
2086
2087 * indent.c (scan_for_column): Don't handle automatic composition
2088 if the current buffer is not associated with a window.
2089
2090 * composite.c (composition_reseat_it): If the current buffer is
2091 not associated with a window, ignore the automatic composition.
2092 (find_automatic_composition): Likewise.
2093
2094 2008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2095
2096 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
2097 (Fgpm_mouse_stop): Use it.
2098 * termhooks.h (close_gpm): Declare.
2099 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
2100 connection if Gpm_GetEvent fails.
2101
2102 * window.c (set_window_buffer): Always preserve current-buffer.
2103
2104 2008-09-12 Glenn Morris <rgm@gnu.org>
2105
2106 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
2107
2108 2008-09-11 Glenn Morris <rgm@gnu.org>
2109
2110 * charset.c (charset-map-path): Doc fix.
2111
2112 2008-09-10 Kenichi Handa <handa@m17n.org>
2113
2114 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2115
2116 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2117 compose a grapheme cluster with the preceding base glyph.
2118
2119 * composite.c (composition_compute_stop_pos): Fix previous change.
2120 Reset cmp_it->id to -1 at first.
2121
2122 2008-09-10 Glenn Morris <rgm@gnu.org>
2123
2124 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2125
2126 2008-09-09 Chong Yidong <cyd@stupidchicken.com>
2127
2128 * keyboard.c (read_key_sequence): Reapply translation maps when
2129 switching keyboards.
2130
2131 2008-09-09 Kenichi Handa <handa@m17n.org>
2132
2133 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2134 characters.
2135
2136 * composite.c (FORWARD_CHAR): Fix calculation
2137 of (POSITION).pos_byte.
2138 (composition_compute_stop_pos): Limit the search of composition to
2139 at most 500 characters ahead. If we reach the limit or find a
2140 newline, set cmp_it->ch to -2 and return 0.
2141 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2142
2143 2008-09-08 Kenichi Handa <handa@m17n.org>
2144
2145 * indent.c (Fvertical_motion): Be sure to set
2146 it_overshoot_expected if it.cmp_it.id is non-negative.
2147
2148 2008-09-07 Andreas Schwab <schwab@suse.de>
2149
2150 * callproc.c (Fcall_process): Don't hold references to string data
2151 across garbage collection. Move initialisation of new_argv down
2152 to avoid compiler bug.
2153
2154 2008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2155
2156 * process.c (Fsystem_process_attributes): Doc fix.
2157
2158 2008-09-07 Chong Yidong <cyd@stupidchicken.com>
2159
2160 * callproc.c (Fcall_process): Canonicalize current directory name.
2161
2162 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2163 iterator advances to the next line if the current line ends in a
2164 continued tab.
2165
2166 2008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2167
2168 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2169 member to point to cmp_from.
2170
2171 * xdisp.c: Doc fix for references to gidx data member.
2172
2173 2008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2174
2175 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2176
2177 2008-09-07 Kenichi Handa <handa@m17n.org>
2178
2179 * composite.c (FORWARD_CHAR): Check STOP after
2180 incrementing (POSITION).pos.
2181
2182 2008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2183
2184 * process.c (Fsystem_process_attributes): Doc fix.
2185
2186 2008-09-06 Chong Yidong <cyd@stupidchicken.com>
2187
2188 * keyboard.c (Ftop_level): Doc fix.
2189
2190 2008-09-06 Eli Zaretskii <eliz@gnu.org>
2191
2192 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2193 minibuffer, don't let lower part of menu invade the echo area.
2194
2195 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2196 "char *q" to access menu text and advance through it. Revert the
2197 change that displayed ">" instead of ASCII character 0x10.
2198
2199 2008-09-05 Eli Zaretskii <eliz@gnu.org>
2200
2201 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2202 toggle boxes and radio buttons on MS-DOS as well.
2203
2204 2008-09-05 Kenichi Handa <handa@m17n.org>
2205
2206 * composite.c (autocmp_chars): Check lookback count.
2207 (composition_compute_stop_pos): Set cmp_it->lookback.
2208 (composition_reseat_it): Check lookback count.
2209 (struct position_record): New struct.
2210 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2211 (find_automatic_composition): New function.
2212 (composition_adjust_point): Use find_automatic_composition.
2213
2214 * dispextern.h (struct composition_it): New member lookback.
2215
2216 2008-09-02 Chong Yidong <cyd@stupidchicken.com>
2217
2218 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2219 if moving by a single line.
2220
2221 2008-09-02 Andreas Schwab <schwab@suse.de>
2222
2223 * xterm.c (x_delete_display): Fix merge error.
2224
2225 * fileio.c (Fexpand_file_name): Remove unused variables.
2226
2227 2008-09-02 Eli Zaretskii <eliz@gnu.org>
2228
2229 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2230 storage on all platforms, not just on DOS_NT.
2231
2232 2008-09-02 Jason Rumney <jasonr@gnu.org>
2233
2234 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2235 Ensure mouse is not grabbed after menu is finished.
2236
2237 2008-09-01 Chong Yidong <cyd@stupidchicken.com>
2238
2239 * xfaces.c (Finternal_set_alternative_font_family_alist)
2240 (Finternal_set_alternative_font_registry_alist): Properly copy
2241 entire alist structure.
2242
2243 2008-09-01 Kenichi Handa <handa@m17n.org>
2244
2245 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
2246 representative chars of the script is a vector.
2247 (ftfont_list): Handle the case where the representative chars of
2248 the script is a vector.
2249
2250 * character.c (syms_of_character): Docstring of
2251 script-representative-chars fixed.
2252
2253 2008-08-31 Eli Zaretskii <eliz@gnu.org>
2254
2255 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2256 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2257 the menu. Allocate larger buffer for `text', to account for
2258 possible ^C characters.
2259
2260 2008-08-31 Martin Rudalics <rudalics@gmx.at>
2261
2262 * xdisp.c (prepare_menu_bars): Don't call
2263 Vwindow_size_change_functions with arg Qt.
2264
2265 2008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2266
2267 * font.h (font_range):
2268 * fileio.c (report_file_error):
2269 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2270
2271 2008-08-30 Glenn Morris <rgm@gnu.org>
2272
2273 * data.c (Fmake_variable_frame_local): Doc fix.
2274
2275 * frame.c (Fmodify_frame_parameters): Doc fix.
2276
2277 2008-08-30 Eli Zaretskii <eliz@gnu.org>
2278
2279 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2280 needed by GetTokenInformation.
2281 (w32_system_process_attributes): Check return values of all system
2282 APIs.
2283
2284 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2285 only when the state changes.
2286 (IT_update_begin, IT_update_end): Add termscript trace.
2287
2288 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2289 clipboard is unavailable. Set dst to NULL if it doesn't point to
2290 malloc'ed data.
2291 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2292 passing random values to xfree.
2293
2294 * dispnew.c (init_display): Set `tty's association in frame's
2295 parameters alist to the name of the terminal device, if that is known.
2296
2297 2008-08-29 Jason Rumney <jasonr@gnu.org>
2298
2299 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2300
2301 2008-08-29 Eli Zaretskii <eliz@gnu.org>
2302
2303 * composite.c (fill_gstring_body): Avoid compiler warnings.
2304
2305 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2306 LGLYPH_SET_CODE to avoid compiler warnings.
2307
2308 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
2309
2310 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2311
2312 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2313 LGLYPH_SET_CODE.
2314
2315 2008-08-29 Kenichi Handa <handa@m17n.org>
2316
2317 * fileio.c (report_file_error): Don't downcase the first character
2318 of errstring if it is still unibyte.
2319
2320 2008-08-29 Kenichi Handa <handa@m17n.org>
2321
2322 These changes are to re-implement the automatic composition so
2323 that it doesn't use text properties.
2324
2325 * Makefile.in (ftfont.o): Depend on composite.h.
2326 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2327
2328 * character.h (Vunicode_category_table): Extern it.
2329
2330 * character.c (Vunicode_category_table): New variable.
2331 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2332
2333 * chartab.c (optimize_sub_char_table): Perform more greedy
2334 optimization.
2335
2336 * composite.h (enum composition_method):
2337 Delete COMPOSITION_WITH_GLYPH_STRING.
2338 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2339 (Vcomposition_function_table): Extern it.
2340 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2341 (composition_gstring_put_cache, composition_gstring_from_id)
2342 (composition_gstring_p, composition_gstring_width)
2343 (composition_compute_stop_pos, composition_reseat_it)
2344 (composition_update_it, composition_adjust_point): Extern them.
2345 (Fcomposition_get_gstring): EXFUN it.
2346
2347 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
2348 (Vcomposition_function_table)
2349 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
2350 (gstring_hash_table, gstring_work, gstring_work_headers):
2351 New variables.
2352 (gstring_lookup_cache, composition_gstring_put_cache)
2353 (composition_gstring_from_id, composition_gstring_p)
2354 (composition_gstring_width, fill_gstring_header)
2355 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2356 (composition_reseat_it, composition_update_it)
2357 (composition_adjust_point, Fcomposition_get_gstring): New functions.
2358 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2359 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2360 Defsubr compostion_get_gstring.
2361
2362 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2363 cmp_id.
2364 (struct glyph_string): Delete the member gidx. New members
2365 cmp_id, cmp_from, and cmp_to.
2366 (enum it_method): Delete GET_FROM_COMPOSITION.
2367 (struct composition_it): New struct.
2368 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2369 Delete c, len, cmp_id, cmp_len in u.comp.
2370
2371 * font.h (enum lgstring_indices): Delete it.
2372 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
2373 (enum lglyph_indices): Likewise.
2374 (font_range): Adjust extern.
2375 (font_fill_lglyph_metrics): Extern it.
2376
2377 * font.c (QCf): New variable.
2378 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2379 (font_prepare_composition): Delete this function.
2380 (font_range): Type and arguments changed.
2381 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2382 (font_fill_lglyph_metrics): New function.
2383 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
2384 (syms_of_font): DEFSYM QCf. Delete defsubr for
2385 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2386 Defsubr Sfont_shape_gstring.
2387
2388 * fontset.h (font_for_char): Extern it.
2389
2390 * fontset.c (font_for_char): New function.
2391
2392 * ftfont.c: Include composite.h.
2393 (ftfont_resolve_generic_family): Add langset "en" to pattern.
2394 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2395
2396 * indent.c: Include composite.h and dispextern.h.
2397 (check_composition): Delete this function.
2398 (scan_for_column): Handle composition by
2399 composition_compute_stop_pos, composition_reseat_it, and
2400 composition_update_it.
2401 (compute_motion): Likewise.
2402 (Fvertical_motion): Fix checking of composition.
2403
2404 * keyboard.c (adjust_point_for_property): Check composition by
2405 composition_adjust_point.
2406
2407 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
2408 struct glyph_string.
2409
2410 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2411 (append_composite_glyph): Adjust for the change of struct it and
2412 struct glyph.
2413 (produce_composite_glyph): Likewise.
2414
2415 * w32term.c (x_draw_composite_glyph_string_foreground):
2416 Adjust for the change of struct glyph_string.
2417 (x_draw_glyph_string): Likewise.
2418
2419 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2420 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2421
2422 * xdisp.c: Include font.h.
2423 (it_props): Delete the entry for Qauto_composed.
2424 (init_iterator): Initialize it->cmp_it.id to -1.
2425 (compute_stop_pos): Call composition_compute_stop_pos.
2426 (face_before_or_after_it_pos): Adjust for the change of struct it.
2427 (handle_auto_composed_prop): Delete it.
2428 (handle_composition_prop): Handle only static composition.
2429 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2430 from xassert. Initialize it->cmp_it.stop_pos.
2431 (push_it): Adjust for the change of struct it.
2432 (pop_it): Likewise.
2433 (get_next_element): Delete next_element_from_composition.
2434 (CHAR_COMPOSED_P): New macro.
2435 (get_next_display_element): For automatic composition, get a face
2436 from the font in the glyph-string.
2437 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
2438 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
2439 (next_element_from_string): Check if the character at the current
2440 position is composed by CHAR_COMPOSED_P.
2441 (next_element_from_buffer): Likewise.
2442 (next_element_from_composition): Adjust for the change of struct it.
2443 Update it->cmp_it.
2444 (dump_glyph): Adjust for the change of struct glyph.
2445 (fill_composite_glyph_string): Adjust for the change of struct
2446 it and struct glyph. Don't handle automatic composition here.
2447 (fill_gstring_glyph_string): New function.
2448 (x_get_glyph_overhangs): Handle automatic composition.
2449 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
2450 (BUILD_GSTRING_GLYPH_STRING): New macro.
2451 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2452 automatic composition.
2453 (append_composite_glyph): Adjust for the change of struct it and
2454 struct glyph.
2455 (x_produce_glyphs): Adjust for the change of struct it.
2456
2457 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
2458 the change of struct glyph_string.
2459 (x_draw_glyph_string): Likewise.
2460
2461 2008-08-29 Glenn Morris <rgm@gnu.org>
2462
2463 * buffer.c (word-wrap): Doc fix.
2464 * xdisp.c (truncate-partial-width-windows): Doc fix.
2465 Increase default to 50.
2466
2467 2008-08-29 Chong Yidong <cyd@stupidchicken.com>
2468
2469 * xdisp.c (update_tool_bar_unwind): New function.
2470 (update_tool_bar): Temporarily set selected frame before building
2471 tool-bar items.
2472
2473 2008-08-28 Michael Albinus <michael.albinus@gmx.de>
2474
2475 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2476 snprintf, respectively.
2477 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2478
2479 2008-08-28 Chong Yidong <cyd@stupidchicken.com>
2480
2481 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2482 LDFLAGS to GNUstep CC invocation.
2483
2484 2008-08-27 Chong Yidong <cyd@stupidchicken.com>
2485
2486 * indent.c (Fvertical_motion): Revert last change. Handle the
2487 general case where we are moving forward, and PT spans multiple
2488 screen lines.
2489
2490 * eval.c (find_handler_clause): Temporarily increase
2491 max-lisp-eval-depth while printing the backtrace buffer, to
2492 guarantee that help-mode code can run.
2493
2494 2008-08-27 Eli Zaretskii <eliz@gnu.org>
2495
2496 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2497 colors under -rv.
2498 (IT_set_frame_parameters): Don't swap foreground and background
2499 colors if `(reverse . t)' is present in the frame properties.
2500 (internal_terminal_init): Call init_frame_faces only for the
2501 initial frame.
2502
2503 2008-08-27 Andreas Schwab <schwab@suse.de>
2504
2505 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2506
2507 2008-08-27 Andreas Schwab <schwab@suse.de>
2508
2509 * search.c (search_buffer): Set char_base to zero only at the end.
2510
2511 2008-08-27 Kenichi Handa <handa@m17n.org>
2512
2513 * fileio.c (report_file_error): Fix handling of multibyte error string.
2514
2515 2008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2516
2517 * xterm.c (x_term_init): Temporarily hide the partially
2518 initialized terminal while calling vendor-specific-keysyms.
2519
2520 2008-08-26 Eli Zaretskii <eliz@gnu.org>
2521
2522 * msdos.c (internal_terminal_init): Most initializations done only
2523 once, especially initial_screen_colors[] and termscript open.
2524
2525 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
2526
2527 * eval.c (Fcondition_case): Doc fix.
2528
2529 * widgetprv.h (EmacsFramePart): Change font member to the new font
2530 struct.
2531
2532 * widget.c: Include character.h and font.h for XSETFONT.
2533 (setup_frame_gcs): Compute X font id from font struct, just once.
2534
2535 2008-08-26 Eli Zaretskii <eliz@gnu.org>
2536
2537 * term.c (get_named_tty): Fix last change.
2538
2539 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
2540
2541 * indent.c (Fvertical_motion): If moving forward starting from a
2542 multi-line string, move the iterator to the last line of that string.
2543
2544 2008-08-25 Eli Zaretskii <eliz@gnu.org>
2545
2546 * frame.c (do_switch_frame): Mark previously displayed frame as
2547 obscured for FRAME_MSDOS_P frames as well.
2548
2549 2008-08-24 Eli Zaretskii <eliz@gnu.org>
2550
2551 * frame.c (make_terminal_frame): Initialize f->terminal,
2552 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2553 Set the top frame to newly created frame.
2554 (Fmake_terminal_frame): Reuse the_only_display_info.
2555
2556 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2557 estimating available memory.
2558
2559 2008-08-23 David Reitter <david.reitter@gmail.com>
2560
2561 * nsterm.m (ns_draw_window_cursor): Don't call
2562 NSDisableScreenUpdates and NSEnableScreenUpdates on
2563 non-NS_IMPL_COCOA systems.
2564
2565 2008-08-23 Andreas Schwab <schwab@suse.de>
2566
2567 * process.c (procfs_system_process_attributes): Fix use of
2568 uninitialized variables.
2569
2570 2008-08-23 Eli Zaretskii <eliz@gnu.org>
2571
2572 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2573
2574 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2575 calling tty-set-up-initial-frame-faces.
2576
2577 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2578 Allow MSDOS frames along with X frames.
2579
2580 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2581 addition to output_termcap.
2582
2583 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2584
2585 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2586 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2587 highlight.
2588
2589 * process.c [!subprocesses]: Define QCname.
2590 (syms_of_process): Intern and staticpro it.
2591
2592 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
2593 Adjust for changes in encoding/decoding routines.
2594 Use encode_coding_object and decode_coding_object instead of
2595 encode_coding and decode_coding.
2596
2597 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
2598
2599 * dosfns.c: Include frame.h before termhooks.h.
2600 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2601 variable termscript.
2602
2603 * s/msdos.h (USER_FULL_NAME): Define.
2604 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2605
2606 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2607 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2608 pw->pw_gecos.
2609
2610 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2611 SELECTED_FRAME as additional (1st) argument.
2612 (tty_read_avail_input): Handle output_msdos_raw in
2613 addition to output_termcap.
2614
2615 * msdos.c: Include frame.h before termhooks.h.
2616 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2617 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2618 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2619 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2620 (IT_set_terminal_modes, IT_reset_terminal_modes)
2621 (IT_set_frame_parameters): Use tty->termscript instead of a global
2622 variable termscript.
2623 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2624 global variable terminal_coding. Don't refer to
2625 Vnonascii_translation_table.
2626 (internal_terminal_init): Set Vwindow_system in current_kboard.
2627 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2628 Announce date and time of session start, if termscript is open.
2629 Don't zero out the_only_display_info (it is done in
2630 term.c:init_tty). Open termscript only of not already open.
2631 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
2632 here instead of dos_ttraw. Don't initialize display if this is an
2633 initial tty. Don't set FRAME_FONT.
2634 (Vwindow_system_version): Bump to 23.
2635 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2636 is available, set up mouse_position_hook.
2637 (dos_ttraw, IT_set_terminal_modes): If called with initial
2638 terminal, do nothing.
2639 (IT_set_frame_parameters): Handle the Qtty_type frame
2640 parameter by calling internal_terminal_init.
2641 (dos_set_window_size, show_mouse_face)
2642 (clear_mouse_face, IT_note_mode_line_highlight)
2643 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2644 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2645 (initialize_msdos_display): New function.
2646 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2647 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2648 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2649 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
2650 Accept additional argument: a pointer to a frame. Update all callers.
2651 (request_sigio, unrequest_sigio): Don't define, now defined on
2652 sysdep.c.
2653 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2654
2655 * term.c [MSDOS]: Include msdos.h.
2656 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2657 conditional to DOS_NT. Allow only one call to this function in a
2658 session. Don't allocate a new struct tty_display_info; instead,
2659 reuse the_only_display_info. Call get_tty_size to get screen
2660 dimensions. Call init_baud_rate to set bad_rate.
2661 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2662 (Fsuspend_tty) [MSDOS]: Don't close input and output.
2663 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
2664 (get_tty_terminal, get_named_tty, Ftty_type)
2665 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2666 output_termcap.
2667 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2668 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2669 only when subprocesses are supported.
2670
2671 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2672 f->output_data.x.
2673 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2674 terminal devices.
2675
2676 * msdos.h: Remove definition of struct x_display_info and struct
2677 x_output.
2678 (FRAME_FONT): Use output_data.tty.
2679 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
2680 (struct x_display_info): Rename from display_info. Update all users in
2681 msdos.c.
2682 (struct x_output): Remove background_pixel and foreground_pixel.
2683 (the_only_display_info): Rename from the_only_x_display.
2684 (dos_ttraw): Update prototype.
2685
2686 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2687 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2688
2689 2008-08-23 Jason Rumney <jasonr@gnu.org>
2690
2691 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2692 (fn_TIFFSetDirectory): New library function used.
2693 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2694 (tiff_load): Use :index to select among multiple images. Set count
2695 property when multiple images exist.
2696 (gif_format): Use :index, not :image.
2697
2698 2008-08-23 Chong Yidong <cyd@stupidchicken.com>
2699
2700 * xdisp.c (try_scrolling): Check INT_MAX instead of
2701 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2702 to obtain INT_MAX.
2703
2704 2008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2705
2706 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2707
2708 2008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2709
2710 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2711 GNUstep library location.
2712
2713 2008-08-21 Chong Yidong <cyd@stupidchicken.com>
2714
2715 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2716 before using it.
2717
2718 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2719
2720 2008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2721
2722 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2723 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2724 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2725 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2726 (EmacsApp-cursor_blink_handler): Remove declaration.
2727 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2728 match 01 Feb 2008 changes in xterm.c.
2729 (ns_read_socket): Add cast to avoid warning.
2730 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2731 GNUstep.
2732
2733 2008-08-20 Chong Yidong <cyd@stupidchicken.com>
2734
2735 * xselect.c (x_get_foreign_selection): Return nil if desired
2736 selection could not be obtained, instead of signalling an error.
2737
2738 2008-08-20 David Reitter <david.reitter@gmail.com>
2739
2740 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2741 * nsterm.m: Remove ns-specific code for cursor blinking.
2742 (ns_draw_window_cursor): Clear cursor properly rather than
2743 redrawing the area. Respect width of bar cursors.
2744 These changes enable the use of generic blink-cursor-mode and
2745 generic cursor types in NS and support smooth cursor movements (do
2746 not blink off after command).
2747 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2748 Nextstep, too.
2749
2750 2008-08-19 Kenichi Handa <handa@m17n.org>
2751
2752 * font.c (Vfont_log_deferred): New variable.
2753 (font_add_log): Check Vfont_log_deferred.
2754 (font_deferred_log): New function.
2755
2756 * font.h (font_deferred_log): Extern it.
2757
2758 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2759 for sorting.
2760 (face_for_char): Use deferred log.
2761
2762 2008-08-18 Kenichi Handa <handa@m17n.org>
2763
2764 * fontset.c (face_for_char): Add font log.
2765
2766 * font.c (font_add_log): Add the font properties :script, :lang,
2767 and :otf in the log.
2768
2769 2008-08-17 Chong Yidong <cyd@stupidchicken.com>
2770
2771 * xdisp.c: Remove dead code.
2772 (handle_invisible_prop, next_overlay_string): Defer call to
2773 setup_for_ellipsis.
2774 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2775
2776 2008-08-15 Chong Yidong <cyd@stupidchicken.com>
2777
2778 * xfaces.c (lookup_derived_face): Properly handle possible zero
2779 return value of get_lface_attributes.
2780 (merge_faces): Don't tell lookup_derived_face to signal an error
2781 if face is not found.
2782
2783 * dired.c (Fdirectory_files): Doc fix.
2784
2785 * process.c (make_process): Initialize kill_without_query struct
2786 member.
2787
2788 2008-08-15 Eli Zaretskii <eliz@gnu.org>
2789
2790 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2791 Alternative calculation of totphys for Visual Studio 6.
2792
2793 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2794
2795 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2796 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2797 All users changed.
2798 (stat): Only root directory passed to GetDriveType. Allow RAM
2799 disk as well as local fixed disk when w32-get-true-file-attributes
2800 is set to `local'.
2801 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2802 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2803 (w32_cached_id, w32_add_to_cache): New functions.
2804 (get_name_and_id): Look account names in the cache before calling
2805 lookup_account_sid.
2806 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2807 New initialization flags.
2808 (globals_of_w32): Initialize them to zero.
2809 (w32_system_process_attributes): Use w32_cached_id and
2810 w32_add_to_cache.
2811
2812 2008-08-14 Lawrence Mitchell <wence@gmx.li>
2813
2814 * lread.c (Fread_char, Fread_char_exclusive): If no character
2815 event is read before timeout is reached, return nil, rather than
2816 converting to a number.
2817
2818 2008-08-14 Chong Yidong <cyd@stupidchicken.com>
2819
2820 * fns.c (use_dialog_box): Doc fix.
2821
2822 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2823 on OS X.
2824
2825 2008-08-13 Chong Yidong <cyd@stupidchicken.com>
2826
2827 * frame.c (Qns_parse_geometry): New var.
2828 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2829
2830 2008-08-11 Chong Yidong <cyd@stupidchicken.com>
2831
2832 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2833 space character in calculating tabs.
2834
2835 2008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2836
2837 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2838
2839 2008-08-10 Glenn Morris <rgm@gnu.org>
2840
2841 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2842 silence gcc "limited range of data type" warnings in some
2843 make_fixnum_or_float calls.
2844
2845 2008-08-09 Eli Zaretskii <eliz@gnu.org>
2846
2847 * w32.c (w32_system_process_attributes): If the process does not
2848 exist, return nil.
2849
2850 * w32.c: Include thelp32.h, psapi.h and coding.h.
2851 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2852 declarations.
2853 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2854 (Process32Next_Proc): New typedefs.
2855 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2856 (g_b_init_process32_next, g_b_init_open_thread_token)
2857 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2858 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2859 (g_b_init_get_process_working_set_size)
2860 (g_b_init_global_memory_status_ex): New static variables.
2861 (globals_of_w32): Initialize them.
2862 (create_toolhelp32_snapshot, process32_first, process32_next)
2863 (open_thread_token, impersonate_self, revert_to_self)
2864 (get_process_memory_info, get_process_working_set_size)
2865 (global_memory_status, global_memory_status_ex): New wrapper
2866 functions.
2867 (w32_list_system_processes, w32_system_process_attributes)
2868 (enable_privilege, restore_privilege, ltime, process_times):
2869 New functions.
2870 (convert_time_raw): New function.
2871 (convert_time): Remove conversion of FILETIME into time in 100
2872 nsec units, call convert_time_raw instead.
2873
2874 * process.h (w32_list_system_processes, w32_system_process_attributes):
2875 Add prototypes.
2876 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2877 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2878 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2879 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2880
2881 * process.c (Fsystem_process_attributes): Doc fix.
2882
2883 2008-08-08 Chong Yidong <cyd@stupidchicken.com>
2884
2885 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2886 a continued multi-char glyph; if so, advance to the actual glyph.
2887
2888 2008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2889
2890 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2891
2892 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2893 (.m.o): Use it.
2894 * config.in: Regenerate.
2895
2896 2008-08-07 Chong Yidong <cyd@stupidchicken.com>
2897
2898 * xdisp.c (redisplay_window): Revert last change.
2899 (try_window): Check bottom scroll margin too.
2900
2901 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2902
2903 * config.in: Regenerate.
2904
2905 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2906 -list-load-path-shadows'.
2907 (nsgui.h): Reduce number of things depending on it.
2908
2909 2008-08-06 Chong Yidong <cyd@stupidchicken.com>
2910
2911 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2912 instead of window-end which does the wrong thing at eob.
2913 (try_cursor_movement): Minor optimization.
2914 (redisplay_window): If scroll margin is defined, don't assume
2915 window doesn't need scrolling.
2916
2917 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2918
2919 * config.in: Regenerate.
2920
2921 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2922 (mostlyclean): Don't delete *.d under NS.
2923
2924 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2925
2926 2008-08-06 Kenichi Handa <handa@m17n.org>
2927
2928 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2929
2930 2008-08-06 Andreas Schwab <schwab@suse.de>
2931
2932 * config.in: Regenerate.
2933
2934 2008-08-05 Chong Yidong <cyd@stupidchicken.com>
2935
2936 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2937 forcing a window start.
2938
2939 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2940 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2941
2942 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2943
2944 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2945 argument.
2946
2947 2008-08-05 Juanma Barranquero <lekktu@gmail.com>
2948
2949 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2950 <scroll-down-aggressively, before-change-functions>:
2951 <after-change-functions>: Reflow docstrings.
2952
2953 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2954 Ken Raeburn <raeburn@gnu.org>
2955
2956 Dock menu customization, based on a patch by Ken Raeburn, plus some
2957 other fixes.
2958 * nsmenu.m (dockMenu): New variable.
2959 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2960
2961 * nsterm.h (dockMenu): Declare.
2962
2963 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2964 (ns_term_init): Initialize dockMenu.
2965 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2966 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2967 left.
2968
2969 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2970
2971 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
2972
2973 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2974
2975 * config.in: Regenerate.
2976
2977 2008-08-04 Seiji Zenitani <zenitani@mac.com>
2978
2979 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2980
2981 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
2982
2983 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2984
2985 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2986
2987 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2988
2989 * keyboard.h: Comment an #endif.
2990
2991 * lisp.h (have_menus_p): Adjust comment.
2992
2993 * menu.c (find_and_return_menu_selection): Fix comparison with
2994 client_data.
2995
2996 * nsmenu.m (popup_activated_flag): New variable.
2997 (popup_activated): New function.
2998 (menu-or-popup-active-p): New exported lisp definition.
2999 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
3000 when popup done.
3001 (ns_popup_dialog): Set popup_activated_flag.
3002
3003 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
3004 version for GNUstep (handled by conditional typedef in nsterm.m).
3005 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
3006 in rgb.txt).
3007
3008 * process.c (init_process): Use DARWIN_OS, not DARWIN.
3009
3010 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
3011
3012 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
3013
3014 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
3015 shortcircuit if popup_activated like GTK and X toolkit.
3016
3017 * m/inter386.h: Change DARWIN to DARWIN_OS.
3018
3019 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
3020 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
3021 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
3022 comment on NO_SOCK_SIGIO.
3023
3024 2008-08-03 Chong Yidong <cyd@stupidchicken.com>
3025
3026 * nsterm.m (windowDidResize): Remove stopModal call.
3027
3028 2008-08-03 Andreas Schwab <schwab@suse.de>
3029
3030 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
3031 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
3032
3033 2008-08-02 Chong Yidong <cyd@stupidchicken.com>
3034
3035 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
3036 Don't use uninitialized pointer variable when using getrlimit.
3037
3038 2008-08-02 Jason Rumney <jasonr@gnu.org>
3039
3040 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
3041
3042 2008-08-02 Eli Zaretskii <eliz@gnu.org>
3043
3044 * alloc.c (NSTATICS): Bump to 0x640.
3045
3046 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
3047
3048 * lisp.h: Add prototype for directory_files_internal.
3049
3050 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
3051 New functions.
3052 (syms_of_process): Defsubr them. Add initializations for various
3053 Q* symbols used in procfs_system_process_attributes.
3054 (procfs_list_system_processes, procfs_system_process_attributes)
3055 [HAVE_PROCFS]: New functions.
3056 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
3057 (procfs_get_total_memory): New functions.
3058
3059 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
3060
3061 * xfaces.c (Fx_load_color_file): Fix previous change;
3062 it is #ifdef WINDOWSNT, not WINDOWS_NT.
3063
3064 2008-08-01 Michael Albinus <michael.albinus@gmx.de>
3065
3066 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
3067
3068 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3069
3070 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
3071
3072 2008-08-01 Chong Yidong <cyd@stupidchicken.com>
3073
3074 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
3075
3076 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
3077 define NSApplicationDelegateReplySuccess.
3078 (EmacsView -converstationIdentifier): Use long instead of
3079 NSInteger for GNUstep, since it doesn't have NSInteger.
3080
3081 * xmenu.c: Revert last change.
3082
3083 * keyboard.h: Fix last change.
3084
3085 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
3086
3087 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
3088 on Windows.
3089
3090 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3091
3092 Warning clearing and clean-up in NS port.
3093 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3094 Add prototypes.
3095 * nsgui.h (FACE_DEFAULT): Remove, unused.
3096 (XGCValues): Change colors to unsigned long.
3097 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
3098 nsterm.m.
3099 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
3100 (ns_list_fonts): Remove, unused.
3101 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
3102 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
3103 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
3104 (nsfont_draw): Compare face colors to 0, not nil.
3105 * nsmenu.m (struct widget_value): Drop unneeded declaration.
3106 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
3107 (-addSubmenuWithTitle:): Use NSMenuItem class.
3108 (ns_popup_menu): Use NO, not NULL, for enabled setting.
3109 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
3110 (ns_clip_to_row): Make gc arg a BOOL.
3111 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
3112 ns_clip_to_row() call.
3113 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3114 used). Cast FRAME_FONT assignments.
3115 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3116 (ns_string_to_lispmod): Change arg to const char.
3117 (ns_term_init): Use NSMenuItem class.
3118 (EmacsApp -openFile:): Move to different section of file.
3119 (EmacsApp -application:openFiles:): Don't return a value, call
3120 -replyToOpenOrPrint:.
3121 (EmacsView -keyDown:): Fix up cast.
3122 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3123 (EmacsView -menuDown:): Cast tag in call to
3124 find_and_call_menu_selection().
3125 (ns_list_fonts): Remove, unused.
3126 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3127 (ns_fontname_to_xlfd): Make static.
3128 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3129 Remove prototypes (now in keyboard.h).
3130 (next_menubar_widget_id): Remove, unused.
3131 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3132 Remove prototypes (now in keyboard.h).
3133 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3134
3135 2008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3136
3137 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3138 (floatfns.o): Depend on syssignal.h.
3139 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3140
3141 * systty.h: Fix previous change that removed BSD_TERMIOS.
3142 Add comments to #ifdefs.
3143
3144 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3145
3146 * w32fns.c (w32-load-color-file): Remove.
3147 (x-open-connection): Use renamed Fx_load_color_file.
3148 * xfaces.c (x-load-color-file): Add.
3149 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3150 Emacs.clr.
3151 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3152
3153 2008-07-31 Michael Albinus <michael.albinus@gmx.de>
3154
3155 * dbusbind.c (Fdbus_call_method_asynchronously)
3156 (Fdbus_method_error_internal): New defuns.
3157 (xd_read_message): Handle also reply messages.
3158 (Vdbus_registered_functions_table): Extend docstring.
3159
3160 2008-07-31 Juanma Barranquero <lekktu@gmail.com>
3161
3162 * keyboard.c (gobble_input): Fix previous change.
3163
3164 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3165
3166 * bitmaps/README:
3167 * xfns.c:
3168 * termcap.c:
3169 * term.c:
3170 * syswait.h:
3171 * systty.h:
3172 * systime.h:
3173 * syssignal.h:
3174 * sysdep.c:
3175 * process.h:
3176 * process.c:
3177 * print.c:
3178 * ndir.h:
3179 * lread.c:
3180 * keyboard.c:
3181 * getpagesize.h:
3182 * floatfns.c:
3183 * fileio.c:
3184 * emacs.c:
3185 * doc.c:
3186 * dispnew.c:
3187 * dired.c:
3188 * data.c:
3189 * callproc.c:
3190 * buffer.c:
3191 * README:
3192 * Makefile.in:
3193 * s/template.h:
3194 * s/msdos.h:
3195 * m/vax.h: Remove VMS support.
3196 * s/vms.h:
3197 * vlimit.h:
3198 * uaf.h:
3199 * temacs.opt:
3200 * param.h:
3201 * ioctl.h: Remove file.
3202
3203 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3204
3205 * s/ms-w32.h (MULTI_KBOARD): Remove.
3206 * xterm.c:
3207 * xselect.c:
3208 * xfns.c:
3209 * window.c:
3210 * w32term.c:
3211 * w32fns.c:
3212 * terminal.c:
3213 * termhooks.h:
3214 * term.c:
3215 * sysdep.c:
3216 * keyboard.h:
3217 * keyboard.c:
3218 * frame.h:
3219 * frame.c:
3220 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3221 * config.in: Regenerate.
3222
3223 2008-07-30 Jason Rumney <jasonr@gnu.org>
3224
3225 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3226
3227 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3228 (w32font_open_internal): Get unicode version of textmetrics.
3229 Don't enable or disable glyph indices here.
3230 (w32font_open): Disable use of glyph indices.
3231
3232 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3233
3234 2008-07-30 Chong Yidong <cyd@stupidchicken.com>
3235
3236 * minibuf.c (Vread_buffer_function): Doc fix.
3237
3238 2008-07-30 John Paul Wallington <jpw@pobox.com>
3239
3240 * minibuf.c (read_buffer_completion_ignore_case): New var.
3241 (Fread_buffer): Use it.
3242
3243 2008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3244
3245 * systty.h (sensemode): Remove empty #if. Remove reference to
3246 BSD_TERMIOS, unused.
3247
3248 * sysdep.c: Remove reference to DGUX.
3249 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3250
3251 * config.in: Regenerate.
3252
3253 2008-07-30 Jason Rumney <jasonr@gnu.org>
3254
3255 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3256
3257 2008-07-29 Jason Rumney <jasonr@gnu.org>
3258
3259 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3260 is populated.
3261 (uniscribe_encode_char): Always use uniscribe.
3262 Avoid using context if cache is populated.
3263
3264 2008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3265
3266 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3267 open menu.
3268
3269 * gtkutil.c (menu_nav_ended): Remove.
3270 (create_menus): Remove signal connect for menu_nav_ended.
3271
3272 2008-07-28 Chong Yidong <cyd@stupidchicken.com>
3273
3274 * xdisp.c (redisplay_window): Check return value of
3275 compute_window_start_on_continuation_line before forcing a window
3276 start.
3277
3278 2008-07-28 Jason Rumney <jasonr@gnu.org>
3279
3280 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3281
3282 * w32term.c (w32_enable_unicode_output, cleartype_active):
3283 Remove obsolete display options.
3284 (x_draw_glyph_string_background): Don't use old cleartype_active
3285 workaround.
3286 (w32_initialize): Remove cleartype_active initialization.
3287 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3288
3289 2008-07-28 Andreas Schwab <schwab@suse.de>
3290
3291 * lisp.h (init_weak_hash_tables, syms_of_font)
3292 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3293 (remove_hash_entry): Don't declare.
3294 * eval.c (maybe_call_debugger): Make static and move before use.
3295 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3296 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3297 * xterm.h (x_set_frame_alpha): Declare.
3298
3299 2008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3300
3301 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3302 (create_menus): Connect selection-done to menu_nav_ended.
3303
3304 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3305
3306 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3307 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3308 parameter with read of 'alpha' one.
3309 (Qns_frame_parameter): Remove.
3310 * nsselect.m (selection-coding-system)
3311 (next-selection-coding-system, Vselection_coding_system)
3312 (Vnext_selection_coding_system): Drop.
3313
3314 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3315
3316 * nsfns.m (do-applescript, do_applescript): Rename to
3317 ns-do-applescript, ns_do_applescript, and move within file.
3318
3319 2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3320
3321 Remove support for Mac Carbon.
3322 * mactoolbox.c:
3323 * macterm.h:
3324 * macterm.c:
3325 * macselect.c:
3326 * macmenu.c:
3327 * macgui.h:
3328 * macfns.c:
3329 * mac.c: Remove file.
3330 * s/darwin.h:
3331 * m/intel386.h:
3332 * xfaces.c:
3333 * xdisp.c:
3334 * window.c:
3335 * tparam.c:
3336 * termhooks.h:
3337 * termcap.c:
3338 * term.c:
3339 * syssignal.h:
3340 * sysselect.h:
3341 * sysdep.c:
3342 * process.c:
3343 * lread.c:
3344 * lisp.h:
3345 * keyboard.c:
3346 * image.c:
3347 * fringe.c:
3348 * frame.h:
3349 * frame.c:
3350 * fontset.c:
3351 * font.h:
3352 * font.c:
3353 * fns.c:
3354 * fileio.c:
3355 * emacs.c:
3356 * dispnew.c:
3357 * dispextern.h:
3358 * config.in:
3359 * atimer.c:
3360 * Makefile.in: Remove code for Carbon.
3361
3362 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3363
3364 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3365
3366 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3367
3368 * macterm.h (kCGBitmapByteOrder32Host): New define for
3369 non-universal SDKs.
3370
3371 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3372 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3373
3374 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3375 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3376
3377 2008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3378
3379 * w32inevt.c: Include dispextern.h.
3380
3381 2008-07-26 Andreas Schwab <schwab@suse.de>
3382
3383 * print.c (print_object): Fix off-by-one in last change.
3384
3385 2008-07-25 Juanma Barranquero <lekktu@gmail.com>
3386
3387 * term.c (syms_of_term): Don't initialize default_orig_pair,
3388 default_set_foreground and default_set_background on Windows.
3389
3390 2008-07-25 Jason Rumney <jasonr@gnu.org>
3391
3392 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3393 ScriptItemize. Clean up return value checking. Remove unused
3394 variables.
3395 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3396 shaping engine.
3397
3398 * w32font.c (w32font_has_char): Handle the case where we can't
3399 determine the script for a character.
3400
3401 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
3402
3403 * term.c (syms_of_term): Initialize default_orig_pair,
3404 default_set_foreground, and default_set_background.
3405
3406 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3407 clash (bug#86).
3408 (getloadavg): Callers changed.
3409
3410 * image.c (svg_load_image): Fix last change.
3411 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3412 image size is valid. Use g_object_unref instead of deprecated
3413 rsvg_handle_free to free rsvg handle.
3414 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3415
3416 2008-07-25 Jason Rumney <jasonr@gnu.org>
3417
3418 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3419 surrogates before looking up glyph index.
3420 (w32font_text_extents): Encode as surrogates if falling back to
3421 functions that need UTF-16 wide chars.
3422
3423 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3424 BMP as surrogates before looking up glyph index.
3425
3426 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
3427
3428 * image.c (svg_load_image): Check for failure in return value of
3429 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3430
3431 2008-07-25 Jason Rumney <jasonr@gnu.org>
3432
3433 * w32font.c (Fx_select_font): Reverse sense of second arg.
3434
3435 2008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3436
3437 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3438 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3439
3440 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3441 (PURESIZE): Use it.
3442
3443 2008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3444
3445 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3446 * m/alpha.h (TEXT_END):
3447 * m/ibmrs6000.h (TEXT_END):
3448 * m/macppc.h (TEXT_END):
3449 * s/darwin.h (TEXT_END):
3450 * s/msdos.h (TEXT_END): Remove, unused.
3451 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3452 * s/cygwin.h: Remove comment.
3453
3454 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3455 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3456 * m/intel386.h (DOT_GLOBAL_START):
3457 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3458 (USG): Remove, file not used on USG platforms.
3459
3460 * Makefile.in (HAVE_X11): Remove empty #else.
3461
3462 2008-07-24 Andreas Schwab <schwab@suse.de>
3463
3464 * fileio.c (Finsert_file_contents): Properly adjust undo list
3465 after format conversion.
3466
3467 2008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3468
3469 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3470 (menu_nav_ended): Remove.
3471 (create_menus): Remove signal connect for menu_nav_ended.
3472 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3473 create_menus.
3474 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3475
3476 2008-07-23 Jason Rumney <jasonr@gnu.org>
3477
3478 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3479 with opened font.
3480 (w32font_open): Set font type to gdi.
3481
3482 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3483
3484 2008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3485
3486 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3487 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3488 defines it.
3489 * unexec.c (ADDR_CORRECT): Define unconditionally.
3490
3491 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3492
3493 * unexec.c: Remove code depending on !COFF and USG, the file is
3494 not used for such systems.
3495
3496 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3497 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3498 (LD_SWITCH_SYSTEM_1): Remove, update users.
3499
3500 * s/darwin.h (DATA_END):
3501 * m/intel386.h (DATA_END):
3502 * m/ibmrs6000.h (DATA_END):
3503 * m/alpha.h (DATA_END): Remove, unused.
3504
3505 * config.in: Regenerate.
3506 * s/ms-w32.h (subprocesses): Define unconditionally.
3507 * s/template.h (subprocesses): Update comment.
3508 * s/vms.h (subprocesses):
3509 * s/usg5-4.h (subprocesses):
3510 * s/hpux10-20.h (subprocesses):
3511 * s/gnu-linux.h (subprocesses):
3512 * s/cygwin.h (subprocesses):
3513 * s/bsd-common.h (subprocesses):
3514 * s/aix4-2.h (subprocesses):
3515 * s/darwin.h (subprocesses): Do not define, defined by default now.
3516
3517 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3518 Remove all references.
3519 (temacs): Add GNUstep specific ld flags.
3520
3521 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3522 similarly to what X does.
3523
3524 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3525
3526 * nsfns.m (x-list-fonts): Remove.
3527 (syms_of_nsfns): Drop the x-list-fonts declaration.
3528 * nsterm.m: Get rid of remaining "//" comments.
3529
3530 2008-07-22 Chong Yidong <cyd@stupidchicken.com>
3531
3532 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3533
3534 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3535 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3536 (Fns_own_selection_internal, Fx_disown_selection_internal)
3537 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3538
3539 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3540 ... */' style of docstrings. Doc fixes.
3541
3542 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3543
3544 * terminfo.c (UP, BC, PC): Undo previous change.
3545
3546 * nsfns.m: Rename ns prefixed functions/variables to the
3547 corresponding x versions. Update references.
3548
3549 2008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3550
3551 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3552
3553 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3554
3555 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3556 Remove forwarding functions.
3557 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3558 non-static.
3559 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3560 non-static.
3561 (ns_frame_parm_handlers): Use the new names.
3562 (syms_of_nsfns): Move to the end of file.
3563
3564 * nsterm.m (syms_of_nsterm): Move to the end of file.
3565
3566 * dispnew.c (init_display): Remove code for X10.
3567
3568 2008-07-22 Jason Rumney <jasonr@gnu.org>
3569
3570 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3571 bare drive.
3572
3573 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3574
3575 * nsterm.m (syms_of_nsterm): Remove debugging println.
3576
3577 2008-07-22 David Reitter <david.reitter@gmail.com>
3578
3579 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3580 Carbon implementation of the same functionality: execute arbitrary
3581 AppleScript code.
3582
3583 2008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3584
3585 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3586 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3587 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3588 (Fx_display_mm_height, Fx_display_mm_width)
3589 (Fx_display_backing_store, Fx_display_visual_class)
3590 (Fx_display_save_under, Fx_open_connection)
3591 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3592 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3593 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3594 (Fx_display_pixel_width, Fx_display_pixel_height)
3595 (Fx_display_usable_bounds, Fx_display_planes)
3596 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3597 ... */' style of docstrings.
3598
3599 2008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3600
3601 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3602 on this platform.
3603 (mips):
3604 * m/iris4d.h (mips): Do not define.
3605 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3606
3607 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3608
3609 * image.c:
3610 * nsfns.m:
3611 * nsselect.m:
3612 * nsterm.h:
3613 * nsterm.m: Rename ns prefixed functions/variables to the
3614 corresponding x versions. Update references.
3615
3616 * m/ibms390x.h (NO_REMAP): Do not undefine.
3617
3618 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3619
3620 2008-07-21 Chong Yidong <cyd@stupidchicken.com>
3621
3622 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3623 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3624 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3625 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3626 (Fns_display_mm_height, Fns_display_mm_width)
3627 (Fns_display_backing_store, Fns_display_visual_class)
3628 (Fns_display_save_under, Fns_open_connection)
3629 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3630 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3631 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3632 (Fns_display_pixel_width, Fns_display_pixel_height)
3633 (Fns_display_usable_bounds, Fx_display_planes)
3634 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3635
3636 2008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3637
3638 * print.c (print_object): Check print_depth before searching for
3639 circularities.
3640
3641 2008-07-21 Michael Albinus <michael.albinus@gmx.de>
3642
3643 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3644 only sprintf.
3645
3646 2008-07-21 Kenichi Handa <handa@m17n.org>
3647
3648 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3649
3650 2008-07-20 Andreas Schwab <schwab@suse.de>
3651
3652 * syntax.c (find_start_pos, find_start_value)
3653 (find_start_value_byte, find_start_begv, find_defun_start)
3654 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3655
3656 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3657
3658 * s/sol2-3.h: Insert contents of s/sol2.h.
3659 (LD_SWITCH_SYSTEM): Remove redundant definition.
3660 * s/sol2.h: Remove, unused.
3661
3662 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3663
3664 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3665
3666 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3667
3668 * Makefile.in (ns_appdir): Fix typo in find command.
3669
3670 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3671
3672 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3673
3674 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3675 added not supported anymore.
3676
3677 * s/usg5-4-2.h (LIBS_SYSTEM):
3678 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3679
3680 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3681 * s/lynxos.h (GETPGRP_NO_ARG):
3682 * s/hpux10-20.h (NO_SIOCTL_H):
3683 * s/gnu.h (GETPGRP_NO_ARG):
3684 * s/gnu-linux.h (NO_SIOCTL_H):
3685 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3686 * s/cygwin.h (GETPGRP_NO_ARG):
3687 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3688 (C_DEBUG_SWITCH): Remove duplicate definition.
3689
3690 * m/ibms390.h: Remove boilerplate comments.
3691
3692 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3693
3694 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3695 (wait_reading_process_output): Remove code for SunOS, platform not
3696 supported anymore. Use SOLARIS2 instead of sun.
3697
3698 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3699
3700 * font.c (font_open_by_name): Under NS, default lface height to zero.
3701 (font_open_for_lface): Under NS, set size based on frame fontsize.
3702 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3703 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3704
3705 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3706
3707 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3708 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3709 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3710 YES/NO.
3711 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3712 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3713 * Makefile.in (clean): Clear out build destination dir.
3714
3715 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3716
3717 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3718 xterm, xselect.
3719 * lisp.h: Remove declaration of hash_remove.
3720 * nsgui.h: Remove redefinitions of hash_remove.
3721 * fns.c (hash_remove): Rename to hash_remove_from_table.
3722
3723 2008-07-19 Seiji Zenitani <zenitani@mac.com>
3724
3725 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3726 strdup() the family UTF8String before modifying it.
3727
3728 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3729
3730 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3731 NS_FACE_BACKGROUND with 0 instead of nil.
3732 * nsfont.m (nsfont_draw): Same.
3733
3734 2008-07-19 Chong Yidong <cyd@stupidchicken.com>
3735
3736 * nsfns.m (ns_set_background_color): Fix crash.
3737
3738 2008-07-18 Chong Yidong <cyd@stupidchicken.com>
3739
3740 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3741
3742 2008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3743
3744 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3745
3746 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3747
3748 * gtkutil.c: Include <config.h> instead of "config.h".
3749
3750 * lisp.h (Foverlay_buffer): Add EXFUN.
3751
3752 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3753 child process to complete child_setup. Undo 2005-09-21 change.
3754
3755 * s/darwin.h: Mention setsid after vfork.
3756
3757 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3758
3759 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3760 Depend on macgui.h.
3761
3762 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3763 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3764
3765 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3766 and f19.
3767 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3768
3769 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3770 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3771 Remove enumerators.
3772
3773 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3774 Check if FACE_FROM_ID returns NULL.
3775
3776 2008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3777
3778 * w32inevt.c (change_frame_size): Remove extern declaration.
3779 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3780 change_frame_size.
3781
3782 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3783
3784 * getloadavg.c: Revert last change (2008-07-15).
3785
3786 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3787
3788 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3789 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3790 from configure.
3791
3792 2008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3793
3794 * s/sol2.h:
3795 * s/sol2-4.h: Reorganize conditionals.
3796
3797 * ecrt0.c: Remove code depending on m68000, not used anymore.
3798
3799 * fns.c (hash_remove): Make static.
3800 * lisp.h (hash_remove): Don't prototype.
3801
3802 * m/ibmrs6000.h:
3803 * m/ibms390x.h:
3804 * m/macppc.h: Remove boilerplate comments.
3805
3806 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3807 Solaris, which does not need them.
3808
3809 * m/vax.h: Remove comments about unsupported systems.
3810
3811 * s/darwin.h: Reorganize ifdefs.
3812
3813 2008-07-17 Andreas Schwab <schwab@suse.de>
3814
3815 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3816
3817 2008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3818
3819 Use SDATA. Follow coding convention of placing operators at
3820 beginning of next line rather than end of previous line, and placing
3821 spaces around infix operators.
3822
3823 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3824 in case it was defined already.
3825 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3826 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3827 ns_default.
3828 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3829 Lisp_Objects.
3830 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3831 (ns_defined_color, ns_color_to_lisp): Declare.
3832 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3833 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3834 it's accepted even with USE_LISP_UNION_TYPE.
3835 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3836 (update_frame_tool_bar): Remove apparently obsolete tests for
3837 non-integerness of f->tool_bar_lines.
3838 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3839 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3840 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3841 (nsfont_open): Don't confuse NULL for Qnil.
3842 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3843 * menu.h (find_and_call_menu_selection):
3844 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3845 (find_and_return_menu_selection): Always return something.
3846 * frame.h: Include dispextern.h for Display_Info.
3847 (display_x_get_resource): Declare.
3848
3849 2008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3850
3851 * syntax.c: Remove stdio.h include accidentally introduced in
3852 Emacs.app commit.
3853 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3854 NS_IMPL_COCOA.
3855 * keyboard.c (handle_async_input, input_available_signal): Remove
3856 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3857
3858 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3859
3860 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3861 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3862 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3863 Use SDATA.
3864
3865 * keymap.c: Remove all NS-specific code.
3866 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3867 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3868 where_is_preferred_modifier, return a different value depending on how
3869 preferred is the binding.
3870 (where_is_internal): Adjust accordingly.
3871 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3872 Adjust to new preferred_sequence_p.
3873 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3874 * keyboard.c (parse_solitary_modifier): Not static any more.
3875 * keyboard.h (parse_solitary_modifier): Declare.
3876
3877 2008-07-16 Andreas Schwab <schwab@suse.de>
3878
3879 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3880 of easymenu.
3881
3882 2008-07-16 Chong Yidong <cyd@stupidchicken.com>
3883
3884 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3885 that we don't move off the line.
3886
3887 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3888
3889 * keyboard.c (Qsuper): Remove.
3890 (parse_menu_item): Don't call where_is_internal specially for NS.
3891
3892 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3893
3894 * s/gnu-linux.h: Remove boilerplate comments.
3895
3896 * m/alpha.h (__ELF__): Consolidate conditions.
3897
3898 * m/m68k.h (linux): Use GNU_LINUX instead.
3899 Remove boilerplate comments.
3900
3901 * m/intel386.h: Undo refactoring from previous change.
3902 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3903 too, remove dead code.
3904 (linux): Use GNU_LINUX instead.
3905
3906 2008-07-16 Jason Rumney <jasonr@gnu.org>
3907
3908 * w32gui.h: Repeat 26 June changes lost by last change.
3909
3910 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3911
3912 * systty.h: Remove code for Aix on 386, unsupported platform.
3913
3914 * s/ms-w32.h: Remove boilerplate comments.
3915 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3916
3917 * s/gnu-linux.h (TERM): Remove support.
3918 (HAVE_SYSVIPC): Remove, unused.
3919 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3920 for this system.
3921
3922 * process.c: Remove support for IRIS, unused.
3923 Remove support for TERM, not relevant anymore.
3924
3925 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3926 used with the definition.
3927
3928 * s/aix4-2.h (static): Do not undef.
3929
3930 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3931 only used on Aix.
3932 (HAVE_SYSVIPC): Remove, unused.
3933
3934 * m/hp800.h (CANNOT_DUMP): Do not undef.
3935
3936 * m/alpha.h: Fix comment.
3937
3938 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3939 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3940 used by this configuration.
3941 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3942 * unexec.c: Remove code depending on HPUX and
3943 USG_SHARED_LIBRARIES, not used with this file. Remove code
3944 depending on IRIS, unused. Remove if 0-ed code.
3945
3946 * s/template.h: Remove comments about static.
3947
3948 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3949 Remove if 0-ed code.
3950 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3951 were the same as the default.
3952 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3953 Remove boilerplate comments.
3954 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3955 (HAVE_SYSVIPC): Remove, unused.
3956 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3957
3958 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3959 Remove boilerplate comments.
3960 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3961 Remove boilerplate comments.
3962 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3963 Remove boilerplate comments.
3964 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3965
3966 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3967 USG systems which do not use DATA_SEG_BITS.
3968 Refactor code. Remove boilerplate comments.
3969
3970 * m/ibms390.h:
3971 * m/m68k.h:
3972 * s/bsd-common.h:
3973 * s/cygwin.h:
3974 * s/darwin.h:
3975 * s/freebsd.h:
3976 * s/gnu.h:
3977 * s/msdos.h: Remove boilerplate comments.
3978
3979 * m/iris4d.h: Remove boilerplate comments and code for systems that
3980 do not use this file.
3981 (IRIS_4D): Remove, unused.
3982
3983 * m/mips.h: Remove boilerplate comments and code for systems that
3984 do not use this file.
3985 (SIGN_EXTEND_CHAR):
3986 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3987 * unexmips.c: Remove file, unused.
3988
3989 * editfns.c (Fuser_full_name): Replace the only use of
3990 USER_FULL_NAME with its value.
3991 * config.in: Regenerate.
3992
3993 2008-07-16 David Reitter <david.reitter@gmail.com>
3994
3995 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3996 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3997
3998 2008-07-16 Glenn Morris <rgm@gnu.org>
3999
4000 * emacs.c (system-type): Doc fix.
4001
4002 2008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
4003
4004 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
4005 If the cache doesn't work, let's fix it, rather than work around it.
4006
4007 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4008
4009 * Makefile.in: Correct additions for nsfont.o in last commit.
4010 * nsfont.m: New file (forgot last commit).
4011
4012 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4013
4014 * callproc.c (set_initial_environment): Initialize
4015 Vprocess_environment under CANNOT_DUMP (fixes crash when
4016 batch-compiling for bootstrap).
4017
4018 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4019 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4020
4021 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
4022 fix crash due to different init order.
4023
4024 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4025
4026 Changes and additions for NeXTstep windowing system (Cocoa and
4027 GNUstep) support.
4028
4029 * Makefile.in:
4030 * config.in: Support defines and build commands for NS port.
4031 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
4032 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
4033 * dispextern.h: Include nsgui.h and add needed typedefs under NS
4034 windowing.
4035 (struct face): Add synth_ital field.
4036 * dispnew.c: Include nsterm.h when compiling under NS windowing.
4037 (init_display): Initialize Vinitial_window_system to "ns" when so
4038 compiled.
4039 * emacs.c: Include GSConfig.h when compiling under GNUstep.
4040 (display_arg): Use under NS.
4041 (main): Under NS, allocate autorelease pool and handle command line
4042 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
4043 (standard_args): Add NS-specific args.
4044 (shut_down_emacs): Shut down NS terminal if compiled under NS.
4045 * font.c (DEFAULT_ENCODING): New variable.
4046 (font_find_for_lface): Use it.
4047 (syms_of_font): Load syms_of_nsfont under NS.
4048 * font.h: Declare nsfont_driver when compiled under NS.
4049 * fontset.c: When compiling under NS, include nsterm.h.
4050 (fontset_from_font): Autoconstruct fontset under NS.
4051 * frame.c (various): Under NS, include nsterm.h, add Qns window system
4052 symbol, document and use it.
4053 (do_switch_frame): When for_deletion under Cocoa, add
4054 Fraise_frame(Qnil).
4055 (x_set_frame_parameters): Ensure font attribute changes are picked up.
4056 (x_get_arg): Allow "yes" and "no" as boolean values.
4057 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
4058 Qright under Cocoa.
4059 (focus-follows-mouse): Default to 0 under NS.
4060 * frame.h (enum output_method): Add output_ns.
4061 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
4062 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
4063 (FRAME_WINDOW_P): NS-specific definition.
4064 * fringe.c (max_used_fringe_bitmap): Make public.
4065 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
4066 (getloadavg): Use NeXT code under descendant OS's.
4067 * image.c (includes and header section, x_create_bitmap_from_data)
4068 (x_create_bitmap_from_file, free_bitmap_record, image_background)
4069 (image_background_transparent, x_clear_image_1)
4070 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4071 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
4072 (x_to_xcolors, x_from_xcolors, x_disable_image)
4073 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
4074 other GUIs, including XPM support using code originally written for
4075 Carbon GUI.
4076 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
4077 using NS API.
4078 (image_ascent): Use font metrics macros instead of direct struct field
4079 access.
4080 * keyboard.c (includes): Add nsterm.h when compiling under NS.
4081 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
4082 Also, handle NS as GTK for menu bar purposes.
4083 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
4084 toolkit where they differ.
4085 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
4086 use cachelist, still needed under NS.
4087 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
4088 (struct widget_value): Define it here for menu.c.
4089 * keymap.c (includes): Include modifier internals.
4090 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
4091 NS.
4092 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
4093 support for preferring sequences using certain modifiers, specified by
4094 the FIRSTONLY argument.
4095 * lisp.h (hash_remove): Rename to avoid name clash when compiling
4096 under NS GNUstep implementation.
4097 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
4098 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
4099 * menu.c: Include nsterm.h under NS.
4100 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
4101 (free_menubar_widget_tree_value, update_submenu_strings)
4102 (find_and_call_menu_selection): Treat NS as X and NT.
4103 (find_and_return_menu_selection): New function, used for popup menus.
4104 * nsgui.h:
4105 * nsterm.h:
4106 * nsfns.m:
4107 * nsimage.m:
4108 * nsmenu.m:
4109 * nsselect.m:
4110 * nsterm.m: New files.
4111 * process.c (wait_reading_process_output): Under NS, call ns_select()
4112 instead of plain select().
4113 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4114 beginning of buffer.
4115 * sysselect.h (init_process): Rename when compiling under Cocoa to
4116 avoid name conflict.
4117 * termhooks.h (display_info): Add ns_display_info to union.
4118 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4119 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4120 COCOA environment.
4121 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4122 unexec() signature. (Note, this will dump, but the resulting file
4123 crashes; unexosx is used instead; keeping around for reference and
4124 possible aid in getting dump working under GNUstep.)
4125 * w32gui.h (button_type, widget_value): Remove definitions (now in
4126 keyboard.h).
4127 * window.c: Include nsterm.h when compiling under NS.
4128 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4129 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4130 other GUI windowing systems.
4131 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4132 GTK.
4133 (x_consider_frame_title): Under NS, set icon type and frame
4134 modified-state indicator; use ns_set_name_as_filename() when using
4135 formatted title.
4136 (update_window_cursor): Make public when compiling under NS.
4137 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4138 (hourglass_atimer, Vhourglass_delay
4139 * xfaces.c (header section, init_frame_faces, clear_font_table)
4140 (defined_color, unload_color, x_face_list_fonts)
4141 (prepare_face_for_display): Add NS support parallel to other GUIs.
4142 Emulate GCs like other non-X GUIs.
4143 (split_font_name): Don't lowercase font name under NS.
4144 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4145 under NS.
4146 * s/darwin.h: Add support for compilation under NS.
4147
4148 2008-07-15 Jason Rumney <jasonr@gnu.org>
4149
4150 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4151 (w32_show_hourglass): Rename from show_hourglass.
4152 (w32_hide_hourglass): Rename from hide_hourglass.
4153 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4154 (Vhourglass_delay): Declare extern.
4155 (hourglass_started): Remove.
4156
4157 * xdisp.c (Vhourglass_delay): Remove static.
4158 (hourglass_started, start_hourglass, cancel_hourglass):
4159 Don't include these versions on WINDOWSNT.
4160
4161 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4162
4163 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4164 variables (formerly in xfns.c).
4165 (show_hourglass, hide_hourglass): New prototypes (same).
4166 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4167 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4168 in xfns.c).
4169 (syms_of_xdisp): Declare/initialize display-hourglass,
4170 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4171 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4172 formerly in xfns.c.
4173 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4174 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4175 (start_hourglass, cancel_hourglass): Remove.
4176 (show_hourglass, hide_hourglass): Remove prototypes and static
4177 modifiers.
4178 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4179 hourglass_atimer, hourglass_shown_p declaration/initialization.
4180 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4181 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4182 (start_hourglass, cancel_hourglass): Remove.
4183 (show_hourglass, hide_hourglass): Remove prototypes and static
4184 modifiers.
4185 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4186 hourglass_atimer, hourglass_shown_p declaration/initialization.
4187 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4188 (DEFAULT_HOURGLASS_DELAY): Remove.
4189 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4190 hourglass_shown_p declaration/initialization.
4191
4192 2008-07-14 Jason Rumney <jasonr@gnu.org>
4193
4194 * w32fns.c (w32_get_arg): Remove wrapper function.
4195 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4196 directly.
4197 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4198
4199 2008-07-14 Kenichi Handa <handa@m17n.org>
4200
4201 * xfont.c (xfont_open): Add workaround for X's bug.
4202
4203 2008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4204
4205 * fontset.c: Include <stdio.h> unconditionally.
4206
4207 2008-07-13 Michael Albinus <michael.albinus@gmx.de>
4208
4209 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4210 for filtering.
4211
4212 2008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4213
4214 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4215
4216 * m/macppc.h:
4217 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4218
4219 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4220 (SPECIAL_EMACS_INT):
4221 * m/ia64.h (SPECIAL_EMACS_INT):
4222 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4223 * s/gnu.h (NLIST_STRUCT):
4224 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4225 * s/gnu-linux.h (LINUX):
4226 * s/msdos.h (HAVE_FACES):
4227 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4228
4229 * systty.h:
4230 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4231 anymore.
4232
4233 2008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4234
4235 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4236 always defined as int.
4237
4238 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4239 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4240 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4241 * s/freebsd.h (HAVE_WAIT_HEADER):
4242 * s/bsd-common.h (HAVE_UNION_WAIT):
4243 * s/aix4-2.h (HAVE_WAIT_HEADER):
4244 * m/mips.h (HAVE_UNION_WAIT):
4245 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4246 (COFF, static): Do not define, they are undefined later in the file.
4247
4248 * process.c (update_status): Don't use a union.
4249 (status_convert):
4250 (sigchld_handler): Use int instead of WAITTYPE.
4251
4252 2008-07-12 Chong Yidong <cyd@stupidchicken.com>
4253
4254 * indent.c (Fvertical_motion): Restore hscroll before moving to
4255 goal column.
4256
4257 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4258
4259 * lisp.h: Remove left over code.
4260
4261 2008-07-11 Andreas Schwab <schwab@suse.de>
4262
4263 * lisp.h: Fix logic in last change.
4264
4265 * menu.h: New file.
4266 * menu.c: Include it.
4267 * xmenu.c: Likewise.
4268 * Makefile.in: Update dependencies.
4269
4270 2008-07-11 Kenichi Handa <handa@m17n.org>
4271
4272 * fontset.c (fontset_from_font): Cancel the previous change.
4273
4274 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4275
4276 * lisp.h:
4277 * w32heap.c:
4278 * emacs.c:
4279 * alloc.c: Replace all references of NO_UNION_TYPE with
4280 USE_LISP_UNION_TYPE.
4281
4282 * m/xtensa.h (NO_UNION_TYPE):
4283 * m/vax.h (NO_UNION_TYPE):
4284 * m/template.h (NO_UNION_TYPE):
4285 * m/sparc.h (NO_UNION_TYPE):
4286 * m/mips.h (NO_UNION_TYPE):
4287 * m/macppc.h (NO_UNION_TYPE):
4288 * m/m68k.h (NO_UNION_TYPE):
4289 * m/iris4d.h (NO_UNION_TYPE):
4290 * m/intel386.h (NO_UNION_TYPE):
4291 * m/ibms390x.h (NO_UNION_TYPE):
4292 * m/ibms390.h (NO_UNION_TYPE):
4293 * m/ibmrs6000.h (NO_UNION_TYPE):
4294 * m/ia64.h (NO_UNION_TYPE):
4295 * m/hp800.h (NO_UNION_TYPE):
4296 * m/arm.h (NO_UNION_TYPE):
4297 * m/amdx86-64.h (NO_UNION_TYPE):
4298 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4299 defining it the same.
4300
4301 2008-07-10 Chong Yidong <cyd@stupidchicken.com>
4302
4303 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4304
4305 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4306
4307 * fileio.c:
4308 * sysdep.c
4309 * systty.h:
4310 * m/ibmrs6000.h:
4311 * m/iris4d.h:
4312 * s/aix4-2.h:
4313 * s/freebsd.h:
4314 * s/gnu-linux.h:
4315 * s/hpux10-20.h:
4316 * s/hpux11.h:
4317 * s/netbsd.h:
4318 * s/sol2-3.h:
4319 * s/sol2-4.h:
4320 * s/sol2.h:
4321 * s/usg5-4.h:
4322 * s/vms.h: Remove references to unused variables.
4323
4324 2008-07-10 Andreas Schwab <schwab@suse.de>
4325
4326 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4327 pattern before matching the generic family.
4328
4329 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4330
4331 * unexec.c:
4332 * s/vms.h:
4333 * s/usg5-4-2.h:
4334 * s/sol2-5.h:
4335 * s/freebsd.h:
4336 * s/darwin.h: Remove dead code.
4337
4338 * m/template.h:
4339 * m/sparc.h:
4340 * m/mips.h:
4341 * m/m68k.h:
4342 * m/iris4d.h:
4343 * m/intel386.h:
4344 * m/ibms390x.h:
4345 * m/ibms390.h:
4346 * m/ia64.h:
4347 * m/hp800.h:
4348 * m/arm.h:
4349 * m/amdx86-64.h: Remove dead code and references to unused
4350 and compiler defined symbols.
4351
4352 * unexmips.c:
4353 * unexelf.c: Remove references to desupported systems.
4354
4355 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4356
4357 * m/powermac.h: Remove boilerplate comments.
4358 (NO_REMAP): Remove unused definition.
4359
4360 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4361 define them.
4362
4363 2008-07-10 Kenichi Handa <handa@m17n.org>
4364
4365 * xfont.c (xfont_open): Log the reason of failure.
4366
4367 2008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4368
4369 * fontset.c (fontset_get_font_group):
4370 * font.c (font_check_otf): Specify argument types.
4371
4372 2008-07-09 Kenichi Handa <handa@m17n.org>
4373
4374 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4375 non-ASCII char is found.
4376
4377 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4378 (reorder_font_vector): Change the arg preferred_family to font.
4379 Prefer the spec matching with font.
4380 (fontset_get_font_group): New function.
4381 (fontset_find_font): Change the format of an element of a realized
4382 fontset. Use fontset_get_font_group.
4383 (fontset_font): Try the current fontset, the default fontset, the
4384 fallbacks of the current fontset, and the fallbacks of the default
4385 fontset in this order.
4386 (face_for_char): Delete the shortcut to use the current font.
4387 (fontset_from_font): Don't set fonts for Latin in the fontset.
4388
4389 * font.h (font_make_object, font_match_p): Adjust prototypes.
4390
4391 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4392
4393 * font.c (font_make_object): New arg entity and pixelsize.
4394 (font_check_otf_features, font_check_otf): New functions.
4395 (font_match_p): Check :lang, :script, and :otf properties.
4396
4397 * xfont.c (xfont_open): Adjust it for the change of
4398 font_make_object.
4399 (xfont_text_extents): Fix initial setting of metrics.
4400
4401 * ftfont.c (struct ftfont_info): New member index, delete member
4402 fc_charset_idx. Make the member order compatible with struct
4403 xftfont_info.
4404 (fc_charset_table): Change charset names to registry names.
4405 (ftfont_pattern_entity): Delete the args registry and
4406 fc_charset_idx. Change the value of :font-entity property
4407 to (FONTNAME . INDEX). Always set :registry property to
4408 `iso10646-1'.
4409 (struct ftfont_cache_data): New struct.
4410 (ftfont_lookup_cache): New arg for_face.
4411 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4412 (ftfont_driver): Set the member otf_capability.
4413 (ftfont_get_charset): Adjust it for the change of
4414 fc_charset_table.
4415 (OTF_TAG_SYM): New macro.
4416 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4417 for the change of fc_charset_table.
4418 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4419 ftfont_pattern_entity. Add FC_INDEX to objset.
4420 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4421 and ftfont_pattern_entity.
4422 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4423 font_make_object, struct ftfont_info.
4424 (ftfont_has_char): Use ftfont_get_fc_charset.
4425 (ftfont_otf_features, ftfont_otf_capability): New functions.
4426 (ftfont_shape): Use ftfont_get_otf.
4427 (ftfont_text_extents): Fix initial setting of metrics.
4428
4429 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4430 member order compatible with struct ftfont_info.
4431 (xftfont_open): Add FC_CHARSET to the pattern. Set
4432 xftfont_info->ft_size. Don't unlock the face. Check BDF
4433 properties if appropriate.
4434 (xftfont_close): Unlock the face.
4435 (xftfont_anchor_point, xftfont_shape): Deleted.
4436 (syms_of_xftfont): Don't set members anchor_point and shape of
4437 xftfont_driver.
4438
4439 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4440 font_make_object.
4441
4442 * w32font.c (w32font_open): Adjust it for the change of
4443 font_make_object.
4444 (w32font_open_internal): Don't set properties of font_object here.
4445
4446 2008-07-08 Chong Yidong <cyd@stupidchicken.com>
4447
4448 * macfns.c (x_create_tip_frame):
4449 * w32fns.c (x_create_tip_frame):
4450 * xfns.c (x_create_tip_frame): Pass parameter argument to
4451 face-set-after-frame-default.
4452
4453 * xfaces.c (Finternal_merge_in_global_face): Save merged
4454 attributes for the default face back into the face vector.
4455
4456 2008-07-08 Andreas Schwab <schwab@suse.de>
4457
4458 * fontset.h: Declare fontset_from_font. Don't declare
4459 new_fontset_from_font and fontset_from_font_name.
4460 * xterm.c: Include "fontset.h".
4461 * Makefile.in (xterm.o): Update dependencies.
4462
4463 2008-07-08 Glenn Morris <rgm@gnu.org>
4464
4465 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4466 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4467
4468 2008-07-07 Chong Yidong <cyd@stupidchicken.com>
4469
4470 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4471 (x_set_frame_parameters): Don't bind it.
4472
4473 2008-07-07 Juanma Barranquero <lekktu@gmail.com>
4474
4475 * w32fns.c (map_w32_filename): Declare extern.
4476
4477 2008-07-07 Jason Rumney <jasonr@gnu.org>
4478
4479 * w32term.c (WS_EX_LAYERED): Define if not already.
4480
4481 2008-07-06 Chong Yidong <cyd@stupidchicken.com>
4482
4483 * xfaces.c (set_font_frame_param): Don't try to set the font
4484 parameter if it is still unspecified in the lface.
4485
4486 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
4487
4488 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4489 face if it didn't already exist.
4490
4491 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4492
4493 2008-07-05 Andreas Schwab <schwab@suse.de>
4494
4495 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4496
4497 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
4498
4499 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4500 word-wrapping.
4501 (IT_DISPLAYING_WHITESPACE): New macro.
4502 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4503 when word-wrapping. Simplify word-wrapping logic. Use correct
4504 pixel positions when saving copies of the iterator.
4505 (display_line): Use proper wrap point if the last character on a
4506 line was preceded by whitespace.
4507
4508 2008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4509
4510 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4511
4512 2008-07-04 Kenichi Handa <handa@m17n.org>
4513
4514 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4515
4516 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4517
4518 2008-07-02 Jason Rumney <jasonr@gnu.org>
4519
4520 * xfns.c (syms_of_xfns): Only define x-select-font when both
4521 HAVE_FREETYPE and USE_GTK.
4522
4523 * xdisp.c (next_element_from_display_vector): Move assignment out
4524 of if statement.
4525
4526 2008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4527
4528 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4529
4530 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4531 (syms_of_fileio): Initialize and export them.
4532 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4533
4534 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4535 (Fsystem_move_file_to_trash): New function.
4536 (syms_of_w32fns): Export it to lisp.
4537
4538 2008-07-01 Jason Rumney <jasonr@gnu.org>
4539
4540 * w32font.c (w32font_text_extents): Don't count overhang as part
4541 of width.
4542
4543 2008-06-30 Miles Bader <miles@gnu.org>
4544
4545 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4546 Add `avoid_cursor_p' field.
4547
4548 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4549 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4550 (append_glyph, append_composite_glyph, produce_image_glyph)
4551 (append_stretch_glyph): Initialize avoid_cursor_p.
4552 (get_it_property): Rename from `get_line_height_property'.
4553 (x_produce_glyphs): Use get_it_property.
4554 (handle_line_prefix, push_display_prop): New functions.
4555 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4556 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4557 New variables.
4558 (syms_of_xdisp): Initialize them.
4559
4560 2008-06-30 Kenichi Handa <handa@m17n.org>
4561
4562 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4563 XftDefaultSubstitute (they are called in XftFontMatch).
4564 (xftfont_open): Fix args to ftfont_font_format.
4565
4566 * ftfont.c (fc_charset_table): New member lang.
4567 (ftfont_resolve_generic_family): New arg pattern.
4568 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
4569 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4570 (ftfont_open): Fix args to ftfont_font_format.
4571 (ftfont_font_format): New arg filename.
4572
4573 2008-06-30 Chong Yidong <cyd@stupidchicken.com>
4574
4575 * xfaces.c (Finternal_merge_in_global_face): If default face was
4576 modified, realize it again. Update the font face attribute.
4577
4578 2008-06-29 Jason Rumney <jasonr@gnu.org>
4579
4580 * w32term.c (x_set_frame_alpha): Fix logic.
4581
4582 2008-06-29 Kenichi Handa <handa@m17n.org>
4583
4584 * fontset.c (Finternal_char_font): Return font-object instead of
4585 font-name.
4586
4587 * composite.c (get_composition_id): Fix the width calculation for TAB.
4588
4589 2008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4590
4591 * indent.c (Fvertical_motion): Properly handle float column arg.
4592
4593 2008-06-28 Jason Rumney <jasonr@gnu.org>
4594
4595 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4596 (pfnSetLayeredWindowAttributes): New function pointer.
4597 (w32_initialize): Initialize it when supported.
4598 (x_set_frame_alpha): New function.
4599
4600 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4601 (w32_frame_parm_handlers): Set alpha handler.
4602
4603 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4604
4605 2008-06-27 Jason Rumney <jasonr@gnu.org>
4606
4607 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4608 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4609 (w32_to_x_charset, x_to_w32_charset)
4610 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4611 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4612 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4613 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4614 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4615 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4616 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4617 (Qw32_charset_unicode): Remove.
4618 (syms_of_w32fns): Update for above changes.
4619
4620 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4621 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4622 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4623 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4624 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4625 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4626 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4627 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4628 (syms_of_w32font): Update for above changes.
4629
4630 2008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4631
4632 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4633 removed #if.
4634 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4635
4636 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
4637 Eli Zaretskii <eliz@gnu.org>
4638
4639 * makefile.w32-in (LOCAL_FLAGS):
4640 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4641
4642 * sysdep.c (_spawnlp, _getpid):
4643 Declare with explicit _cdecl instead of _CRTAPI1.
4644
4645 * editfns.c (Fget_internal_run_time):
4646 Check for WINDOWSNT with #ifdef, not #if.
4647
4648 2008-06-26 Jason Rumney <jasonr@gnu.org>
4649
4650 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4651
4652 * w32term.c (x_draw_glyph_string_foreground)
4653 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4654 Use FONT_HANDLE macro.
4655 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4656
4657 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4658 (uniscribe_encode_char): Use FONT_HANDLE macro.
4659
4660 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4661 (w32font_text_extents): Use precast w32_font.
4662 (w32font_close): Free cached metrics.
4663 (w32font_open_internal): Allocate space for name on stack.
4664
4665 2008-06-26 Chong Yidong <cyd@stupidchicken.com>
4666
4667 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4668
4669 2008-06-26 Jason Rumney <jasonr@gnu.org>
4670
4671 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4672 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4673
4674 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
4675
4676 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4677
4678 2008-06-26 Jason Rumney <jasonr@gnu.org>
4679
4680 * w32bdf.c, w32bdf.h: Remove obsolete files.
4681
4682 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4683
4684 * w32gui.h: Don't include w32bdf.h.
4685 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4686 Remove obsolete font support.
4687
4688 * w32font.h (struct w32font_info): Remove compat_w32_font.
4689 Add hfont member.
4690 (FONT_COMPAT): Remove obsolete macro.
4691
4692 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4693 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4694 (w32font_open_internal): Remove compat code. Set new hfont member.
4695 (Fx_select_font): Use new hfont member.
4696
4697 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4698 (uniscribe_encode_char): Use new hfont member.
4699
4700 * w32term.c (x_draw_glyph_string_foreground)
4701 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4702 (x_draw_glyph_string): Use metrics in w32font_info.
4703
4704 2008-06-26 Kenichi Handa <handa@m17n.org>
4705
4706 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4707
4708 2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4709
4710 * unexnext.c:
4711 * m/ews4800.h:
4712 * m/hp9000s300.h:
4713 * m/ibm370aix.h:
4714 * m/mips-siemens.h:
4715 * m/ncr386.h:
4716 * m/next.h:
4717 * m/pmax.h:
4718 * m/powerpcle.h:
4719 * m/tandem-s2.h:
4720 * s/386bsd.h:
4721 * s/bsd386.h:
4722 * s/bsd4-1.h:
4723 * s/bsd4-2.h:
4724 * s/bsdos2-1.h:
4725 * s/bsdos2.h:
4726 * s/bsdos3.h:
4727 * s/bsdos4.h:
4728 * s/nextstep.h:
4729 * s/ultrix4-3.h:
4730 * s/usg5-0.h:
4731 * s/usg5-2-2.h:
4732 * s/usg5-2.h:
4733 * s/usg5-4-3.h:
4734 * s/ux4800.h:
4735 * s/uxpds.h:
4736 * s/uxpv.h: Remove support for obsolete systems.
4737 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
4738 Remove, insert contents in s/hpux10-20.h.
4739 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4740 Remove, insert contents in s/aix4-2.h.
4741 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4742 * s/bsd4-3.h: Rename to ...
4743 * s/bsd-common.h: ... this.
4744 * data.c:
4745 * doc.c:
4746 * ecrt0.c:
4747 * emacs.c:
4748 * fileio.c:
4749 * floatfns.c:
4750 * keyboard.c:
4751 * mem-limits.h:
4752 * print.c:
4753 * process.c:
4754 * sysdep.c:
4755 * syssignal.h:
4756 * systty.h:
4757 * syswait.h:
4758 * term.c:
4759 * unexec.c:
4760 * unexelf.c:
4761 * unexhp9k800.c:
4762 * m/hp800.h:
4763 * m/ibmrs6000.h:
4764 * m/mips.h:
4765 * m/vax.h:
4766 * s/darwin.h:
4767 * s/freebsd.h:
4768 * s/gnu.h:
4769 * s/ms-w32.h:
4770 * s/msdos.h:
4771 * s/netbsd.h:
4772 * s/template.h: Remove references to obsolete variables.
4773
4774 * Makefile.in: Add dependencies for all unexec files.
4775 (admindir): Remove unused variable.
4776 (UNEXEC_SRC): Remove references.
4777
4778 2008-06-25 Chong Yidong <cyd@stupidchicken.com>
4779
4780 * xfns.c (x_default_font_parameter): If Xft is available, first
4781 try Monospace-12 for the default font.
4782
4783 2008-06-25 Jason Rumney <jasonr@gnu.org>
4784
4785 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4786
4787 2008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4788
4789 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4790
4791 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4792
4793 2008-06-25 Juanma Barranquero <lekktu@gmail.com>
4794
4795 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4796 <scroll-conservatively>: Fix typo in docstring.
4797
4798 * xselect.c (Fx_send_client_event): Doc fix.
4799
4800 2008-06-25 Kenichi Handa <handa@m17n.org>
4801
4802 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4803
4804 * font.c (font_parse_fcname): Remove unused variables.
4805 (font_sort_entites): Delete the arg SPEC. Caller changed.
4806 Fix for the case of ! best_only.
4807 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4808
4809 * lisp.h (Fstring_to_unibyte): EXFUN it.
4810
4811 * character.h (str_to_unibyte): Extern it.
4812
4813 * character.c (str_to_unibyte): New function.
4814
4815 * fns.c (Fstring_to_unibyte): New function.
4816 (syms_of_fns): Defsubr it.
4817
4818 2008-06-24 Kenichi Handa <handa@m17n.org>
4819
4820 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4821 DPI too.
4822 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4823
4824 2008-06-24 Andreas Schwab <schwab@suse.de>
4825
4826 * Makefile.in (${lispsource}loaddefs.el): Rename from
4827 ../lisp/loaddefs.el.
4828 (bootstrap-clean): Do what distclean does but don't remove
4829 Makefile.
4830 (distclean): Depend on bootstrap-clean and remove Makefile.
4831
4832 2008-06-24 Chong Yidong <cyd@stupidchicken.com>
4833
4834 * buffer.h (struct buffer): New member word_wrap.
4835
4836 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4837 word-wrap.
4838 (init_buffer_once): Initialize them.
4839
4840 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4841 line_wrap enum possessing three possible values.
4842
4843 * termopts.h: Replace truncate_partial_width_windows with
4844 Vtruncate_partial_width_windows.
4845
4846 * dispnew.c (direct_output_for_insert): Avoid direct output when
4847 inserting a space with word wrap on.
4848
4849 * indent.c (compute_motion): Obey integer values of
4850 truncate-partial-width-windows.
4851
4852 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4853 replacing truncate_partial_width_windows.
4854 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4855 truncate only if the window width is below that integer.
4856 (start_display, resize_mini_window, produce_stretch_glyph)
4857 (display_string, move_it_in_display_line_to): Use line_wrap.
4858 (back_to_previous_visible_line_start, reseat_1): Reset
4859 string_from_display_prop_p.
4860 (display_line): Extend default face to end of line when wrapping.
4861
4862 2008-06-24 Kim F. Storm <storm@cua.dk>
4863
4864 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4865 to wrap continued lines at word boundaries.
4866
4867 2008-06-24 Jason Rumney <jasonr@gnu.org>
4868
4869 * font.c (Ffont_face_attributes): Multiply pixel size before point
4870 conversion to avoid multiplying rounding error.
4871
4872 2008-06-23 Jason Rumney <jasonr@gnu.org>
4873
4874 * w32term.c (x_draw_glyph_string_background)
4875 (x_draw_glyph_string): Remove old bdf font code.
4876
4877 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4878
4879 2008-06-22 Kenichi Handa <handa@m17n.org>
4880
4881 * font.c (font_find_for_lface): Try the adstyle specified in
4882 the property of LFACE_FONT of LFACE (if any).
4883
4884 2008-06-21 Seiji Zenitani <zenitani@mac.com>
4885 Ryo Yoshitake <ryo@shiftmode.net>
4886
4887 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4888
4889 2008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4890
4891 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4892 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4893 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4894 (witness-emacs): Remove.
4895 (lisp, shortlisp): Move loaddefs.el earlier.
4896 (mostlyclean): Forget about witness-emacs.
4897
4898 2008-06-22 Glenn Morris <rgm@gnu.org>
4899
4900 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4901 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4902
4903 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4904
4905 * Makefile.in (PRECOMP): Remove.
4906 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4907 (witness-emacs): Run `compile-first'.
4908 (.el.elc): Use the new compile-onefile target.
4909
4910 2008-06-21 Kenichi Handa <handa@m17n.org>
4911
4912 * xftfont.c (xftfont_open): Handle QCembolden only when
4913 FC_EMBOLDEN is defined.
4914
4915 2008-06-21 Andreas Schwab <schwab@suse.de>
4916
4917 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4918 (.el.elc): Likewise.
4919
4920 2008-06-21 Miles Bader <miles@gnu.org>
4921
4922 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4923 build dir, not the lisp source dir.
4924
4925 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4926
4927 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4928 (bootstrapclean): Remove.
4929 (.el.elc): New rule.
4930 (PRECOMP): New var.
4931 (../lisp/subdirs.el): Remove.
4932 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4933 (witness-emacs): New target.
4934 (mostlyclean): Remove witness-emacs as well.
4935 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4936 Add witness-emacs dependency.
4937
4938 2008-06-20 Chong Yidong <cyd@stupidchicken.com>
4939
4940 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4941 defined by the font.
4942
4943 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4944
4945 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4946 (bootstrap-clean): New target that keeps TAGS around.
4947 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4948 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4949
4950 2008-06-20 Jason Rumney <jasonr@gnu.org>
4951
4952 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4953 Remove obsolete font code.
4954
4955 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4956 to determine language support.
4957
4958 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4959
4960 * sysdep.c (cfsetspeed): New fun extracted from the code.
4961 (cfmakeraw): Move before first use.
4962
4963 2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4964
4965 * sysdep.c (cfmakeraw): Provide fallback implementation.
4966 (serial_configure): Provide fallback implementation of cfsetspeed.
4967
4968 2008-06-20 Kenichi Handa <handa@m17n.org>
4969
4970 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4971 the pattern.
4972
4973 * fontset.c (fontset_from_font): Copy font_spec before changing
4974 the elements.
4975
4976 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4977
4978 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4979
4980 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4981 for explicit `font' parameters.
4982
4983 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4984
4985 2008-06-19 Kenichi Handa <handa@m17n.org>
4986
4987 * frame.c: Include <ctype.h>.
4988 (x_set_font_backend): Allow spacing characters in the X resource
4989 for FontBackend.
4990
4991 2008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4992
4993 * w32fns.c, xfns.c (Qfont_param): New var.
4994 (syms_of_w32fns): Initialize it.
4995 (x_default_font_parameter): Record explicit `font' into
4996 `font-parameter'.
4997
4998 2008-06-18 Kenichi Handa <handa@m17n.org>
4999
5000 * font.c (font_parse_xlfd): Fix previous change.
5001 (font_parse_fcname): Don't use :fc-unknown-spec.
5002 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
5003 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
5004 (font_add_log): Prepend the driver name to the resulting fonts.
5005
5006 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
5007 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
5008 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
5009
5010 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
5011 (QCembolden): New variables.
5012 (syms_of_xftfont): DEFSYM them.
5013 (xftfont_open): Call XftFontMatch. Don't trust the result of
5014 XftTextExtents8 if the pixel_size is less than 5.
5015
5016 2008-06-18 Andreas Schwab <schwab@suse.de>
5017
5018 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
5019 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
5020
5021 2008-06-18 Jason Rumney <jasonr@gnu.org>
5022
5023 * w32font.c (w32font_list, w32font_match): Add logging.
5024
5025 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
5026
5027 2008-06-17 Chong Yidong <cyd@stupidchicken.com>
5028
5029 * font.c (font_parse_fcname): Store divider characters for
5030 unknown-spec list. For known key symbols, intern using correct
5031 symbol name.
5032
5033 2008-06-17 Kenichi Handa <handa@m17n.org>
5034
5035 * xfaces.c (realize_default_face): If the frame is not on window
5036 system, set the fontset of face to nil.
5037
5038 2008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5039
5040 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
5041
5042 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
5043
5044 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
5045 (build_font_name_from_vector): Delete externs.
5046
5047 * xfaces.c (struct font_name): Don't declare.
5048
5049 2008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
5050
5051 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
5052
5053 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
5054
5055 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
5056
5057 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
5058
5059 * font.c (Ffont_spec): Fix usage in docstring.
5060 (Ffont_face_attributes): Doc fix.
5061
5062 2008-06-16 Andreas Schwab <schwab@suse.de>
5063
5064 * font.c (Ffont_face_attributes): Fix definition.
5065
5066 2008-06-16 Jason Rumney <jasonr@gnu.org>
5067
5068 * font.h (font_style_symbolic_from_value): Remove.
5069
5070 * font.c (font_style_symbolic_from_value): Remove.
5071 (font_style_symbolic): Revert to pre 2008-06-13 version.
5072
5073 * w32font.c (w32_to_fc_weight): New function.
5074 (w32font_full_name, logfont_to_fcname): Use it.
5075
5076 2008-06-16 Kenichi Handa <handa@m17n.org>
5077
5078 * font.c (font_check_object): Delete it.
5079 (font_clear_cache): Check if a font-object is alive.
5080 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
5081 font-object to nil.
5082 (font_close_object): Don't check FONT_CLOSE_OBJECT.
5083 (font_at): Don't call font_check_object.
5084 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5085
5086 2008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
5087
5088 * puresize.h (BASE_PURESIZE): Increase to 1230000.
5089
5090 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
5091
5092 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
5093
5094 2008-06-15 Chong Yidong <cyd@stupidchicken.com>
5095
5096 * font.c (font_parse_fcname): Only one decimal point.
5097 (font_unparse_fcname): Handle data in family and foundry indices
5098 as symbols, not strings.
5099 (font_unparse_gtkname, Ffont_face_attributes): New functions.
5100
5101 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
5102
5103 * font.h (font_unparse_gtkname): Add prototype.
5104
5105 2008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5106
5107 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
5108
5109 2008-06-15 Andreas Schwab <schwab@suse.de>
5110
5111 * font.c (font_update_drivers): Fix crash when no drivers match.
5112
5113 2008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5114
5115 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5116 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5117
5118 2008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5119
5120 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5121
5122 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5123
5124 * process.c (Fserial_process_configure, Fprocess_send_eof):
5125 Use EQ to compare Lisp_Objects.
5126
5127 2008-06-13 Jason Rumney <jasonr@gnu.org>
5128
5129 * w32fns.c (Fw32_select_font): Remove old font API function.
5130
5131 * w32font.c (logfont_to_fcname): New function.
5132 (Fx_select_font): New font dialog function compatible with
5133 GTK/fontconfig version.
5134
5135 * font.c (font_style_symbolic_from_value): New function.
5136 (font_style_symbolic): Use it.
5137
5138 * font.h (font_style_symbolic_from_value): Declare new function.
5139
5140 2008-06-13 Juanma Barranquero <lekktu@gmail.com>
5141
5142 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5143 <font-width-table>: Fix typos in docstrings.
5144
5145 2008-06-13 Daniel Engeler <engeler@gmail.com>
5146
5147 These changes add serial port access.
5148 * process.c: Add HAVE_SERIAL.
5149 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5150 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5151 (list_processes_1, select_wrapper, Fstop_process)
5152 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5153 (status_notify): Modify to handle serial processes.
5154 [HAVE_SERIAL] (Fserial_process_configure)
5155 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5156 New functions.
5157 * process.h (struct Lisp_Process): Add `type'.
5158 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5159 New functions.
5160 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5161 serial ports.
5162 (serial_open, serial_configure) New functions.
5163 * w32.h: Add FILE_SERIAL.
5164 (struct _child_process): Add ovl_read, ovl_write.
5165
5166 2008-06-13 Kenichi Handa <handa@m17n.org>
5167
5168 * dispextern.h (enum lface_attribute_index): New member
5169 LFACE_FOUNDRY_INDEX.
5170
5171 * font.c (font_score): Delete arg alternate_families. Check only
5172 weight, slant, width, and size. Ignore the difference of alias
5173 style symbols.
5174 (font_sort_entites): Adjust for the above change. Reflect the
5175 order of font-driver to scores.
5176 (font_list_entities): Don't check alternate_familes here.
5177 (font_clear_prop): Handle foundry.
5178 (font_update_lface): Don't parse "foundry-family" form here.
5179 Handle FONT_FOUNDRY_INDEX.
5180 (font_find_for_lface): Likewise. Handle alternate families here.
5181 If registry is nil, try iso8859-1 and ascii-0.
5182 (font_open_for_lface): Pay attention to size in ENTITY.
5183 (font_open_by_name): Simplify by calling font_load_for_lface.
5184 (free_font_driver_list): Delete it.
5185 (font_update_drivers): Preserve the order of backends.
5186 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5187 of font_score and font_sort_entites.
5188 (font_update_sort_order): Likewise.
5189
5190 * xfaces.c (LFACE_FOUNDRY): New macro.
5191 (check_lface_attrs): Check foundry.
5192 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5193 (merge_face_vectors): Check foundry.
5194 (merge_face_ref): Likewise.
5195 (Finternal_set_lisp_face_attribute): Likewise.
5196 (x_update_menu_appearance): Likewise.
5197 (Finternal_get_lisp_face_attribute): Likewise.
5198 (lface_hash): Likewise.
5199 (lface_same_font_attributes_p): Likewise.
5200 (x_supports_face_attributes_p): Likewise.
5201 (tty_supports_face_attributes_p): Likewise.
5202 (Finternal_set_alternative_font_family_alist): Intern strings.
5203 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5204 (realize_default_face): Set LFACE_FOUNDRY (lface).
5205
5206 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5207 font-driver at first.
5208
5209 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5210
5211 2008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5212
5213 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5214
5215 2008-06-12 Jim Meyering <meyering@redhat.com>
5216
5217 Make unexec_free handle NULL the same way free does.
5218 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5219
5220 2008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5221
5222 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5223 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5224 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5225 (WEAK_ALIAS): Simplify.
5226 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5227 when searching a unibyte buffer.
5228
5229 2008-06-12 Chong Yidong <cyd@stupidchicken.com>
5230
5231 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5232
5233 2008-06-12 Juanma Barranquero <lekktu@gmail.com>
5234
5235 * w32font.c: Include ctype.h.
5236
5237 2008-06-11 Jason Rumney <jasonr@gnu.org>
5238
5239 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5240 misreported as space.
5241 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5242 as aliases for registry iso10646-1.
5243
5244 2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5245
5246 * buffer.c (clone_per_buffer_values): Skip `name'.
5247
5248 2008-06-11 Chong Yidong <cyd@stupidchicken.com>
5249
5250 * font.c (font_parse_fcname): Fix last change; accept decimal
5251 points in font size.
5252
5253 2008-06-10 Jason Rumney <jasonr@gnu.org>
5254
5255 * w32uniscribe.c (add_opentype_font_name_to_list):
5256 Skip non unicode fonts.
5257
5258 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
5259
5260 * xfns.c (Fx_font_dialog): New function.
5261
5262 * gtkutil.c (xg_dialog_response_cb): Rename from
5263 xg_file_response_callback.
5264 (pop_down_dialog): Rename from pop_down_file_dialog.
5265 (xg_get_file_name): Callers changed.
5266 (xg_get_font_name): New function.
5267
5268 * gtkutil.h (xg_get_font_name): Insert prototype.
5269
5270 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5271
5272 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5273 x_underline_minimum_display_offset.
5274 (syms_of_xdisp): Declare it here rather than in xterm.c.
5275 * dispextern.h (underline_minimum_offset): Declare it.
5276 * w32term.c (x_draw_glyph_string): Use it.
5277 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5278 (syms_of_xterm): Don't declare it any more.
5279 (x_draw_glyph_string): Adjust to the new name.
5280
5281 2008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5282
5283 * xterm.c (x_underline_minimum_display_offset): New var.
5284 (x_draw_glyph_string): Use it.
5285 (syms_of_xterm): Declare it.
5286
5287 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
5288
5289 * font.c (font_parse_fcname): Accept GTK-style font names too.
5290
5291 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5292
5293 * dired.c (file_name_completion): Don't return t if the match is exact
5294 but with different capitalization.
5295 * minibuf.c (Ftry_completion): Simplify.
5296
5297 * window.c (Vwindow_point_insertion_type): New var.
5298 (set_window_buffer): Use it.
5299 (syms_of_window): Init and export it to Lisp.
5300
5301 2008-06-10 Kenichi Handa <handa@m17n.org>
5302
5303 * font.h (font_intern_prop): Prototype adjusted.
5304
5305 * font.c (font_intern_prop): New arg force_symbol.
5306 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5307 Adjust for the change of font_intern_prop.
5308
5309 * ftfont.c (ftfont_pattern_entity):
5310 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5311 (w32_registry):
5312 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5313 the change of font_intern_prop.
5314
5315 2008-06-09 Juanma Barranquero <lekktu@gmail.com>
5316
5317 * w32menu.c (digest_single_submenu): Declare extern.
5318
5319 2008-06-09 Jason Rumney <jasonr@gnu.org>
5320
5321 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5322
5323 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5324 (parse_single_submenu): Remove.
5325 (digest_single_submenu): Remove.
5326 (syms_of_w32menu): Don't initialise variables that have moved
5327 to menu.c.
5328 (set_frame_menubar): Sync with version in xmenu.c.
5329 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5330
5331 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5332 Make static again.
5333
5334 2008-06-09 Jason Rumney <jasonr@gnu.org>
5335
5336 Changes to w32 files related to the move of common menu code
5337 to menu.c on 2008-06-08 by Chong Yidong.
5338
5339 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5340 defs to w32gui.h.
5341 (single_keymap_panes, push_menu_item, push_menu_pane):
5342 Make globally visible.
5343
5344 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5345 (local_free, malloc_widget_value, free_widget_value)
5346 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5347 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5348 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5349 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5350 (menu_items, menu_items_allocated, menu_items_used)
5351 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5352 (init_menu_items, finish_menu_items, discard_menu_items)
5353 (grow_menu_items, push_submenu_start, push_submenu_end)
5354 (push_left_right_boundary, push_menu_pane, push_menu_item)
5355 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5356 (free_menubar_widget_tree_value, parse_single_submenu)
5357 (update_submenu_strings): Remove functions.
5358 (xmalloc_widget_value): Remove and declare extern.
5359
5360 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5361 (OBJ1): Build it.
5362
5363 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5364 (local_heap, local_alloc, local_free, malloc_widget_value)
5365 (free_widget_value): Define here.
5366
5367 2008-06-09 Kenichi Handa <handa@m17n.org>
5368
5369 * font.h (Qascii_0): Extern it.
5370
5371 * font.c (Qascii_0): New variable.
5372 (syms_of_font): DEFSYM it.
5373 (font_open_by_name): If the registry "iso8859-1" fails, try also
5374 "ascii-0".
5375
5376 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5377
5378 2008-06-08 Kenichi Handa <handa@m17n.org>
5379
5380 * .gdbinit (xfont): New command.
5381
5382 2008-06-08 Andreas Schwab <schwab@suse.de>
5383
5384 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5385 * Makefile.in (menu.o): Update dependencies.
5386
5387 * Makefile.in (obj): Always add menu.o.
5388 * emacs.c (main): Always call syms_of_menu.
5389 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5390
5391 2008-06-08 Chong Yidong <cyd@stupidchicken.com>
5392
5393 * Makefile.in: Compile menu.c.
5394
5395 * lisp.h: Declare syms_of_menu.
5396
5397 * emacs.c (main): Call syms_of_menu.
5398
5399 * keyboard.h: Relocate platform-independent menu definitions from
5400 xmenu.c.
5401
5402 * menu.c: New file. Relocate platform-independent menu
5403 definitions from xmenu.c. Suggested by Adrian Robert.
5404
5405 * xmenu.c: Remove platform-independent menu definitions.
5406 (menu_items menu_items_inuse, menu_items_allocated)
5407 (menu_items_used, menu_items_n_panes)
5408 (menu_items_submenu_depth): Move to keyboard.h.
5409 (init_menu_items, finish_menu_items, unuse_menu_items)
5410 (discard_menu_items, restore_menu_items, save_menu_items)
5411 (grow_menu_items, push_submenu_start, push_submenu_end)
5412 (push_left_right_boundary, push_menu_pane, push_menu_item)
5413 (keymap_panes, single_keymap_panes, single_menu_item)
5414 (list_of_panes, list_of_items, find_and_call_menu_selection)
5415 (xmalloc_widget_value, free_menubar_widget_value_tree)
5416 (parse_single_submenu, digest_single_submenu)
5417 (update_submenu_strings): Move to menu.c.
5418
5419 2008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5420
5421 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5422
5423 2008-06-06 Miles Bader <miles@gnu.org>
5424
5425 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5426 face, not frame default.
5427
5428 2008-06-05 Martin Rudalics <rudalics@gmx.at>
5429
5430 * window.c (pop_up_windows, pop_up_frames)
5431 (display_buffer_reuse_frames, Vpop_up_frame_function)
5432 (Vdisplay_buffer_function, Veven_window_heights)
5433 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5434 (Vspecial_display_function, Vsame_window_buffer_names)
5435 (Vsame_window_regexps, split_height_threshold)
5436 (Vsplit_window_preferred_function): Move those vars to window.el.
5437 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5438 (Fdisplay_buffer): Move those functions to window.el.
5439 (syms_of_window): Remove corresponding declarations.
5440 (display_buffer): New function.
5441 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5442 * dispnew.c (Flast_nonminibuf_frame): New function.
5443 * buffer.c (Fpop_to_buffer): Move to window.el.
5444
5445 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5446
5447 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5448
5449 2008-06-05 Kenichi Handa <handa@m17n.org>
5450
5451 * coding.c (detect_coding): Fix previous change.
5452 (detect_coding_system): Likewise.
5453
5454 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5455
5456 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5457
5458 * keymap.c (Vminibuffer_local_filename_must_match_map):
5459 Rename from Vminibuffer_local_must_match_filename_map.
5460 (syms_of_keymap):
5461 * minibuf.c (Fcompleting_read): Adjust accordingly.
5462 * commands.h: Rename declaration as well.
5463
5464 2008-06-05 Kenichi Handa <handa@m17n.org>
5465
5466 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5467 family name.
5468 (Ffont_put): Likewise.
5469
5470 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5471 current font-spec.
5472
5473 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5474 is unspecified.
5475
5476 * xfaces.c (realize_x_face): If the font-related face attributes
5477 are the same as those of default face, realize a new fontset from
5478 default->fontset.
5479 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5480
5481 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5482
5483 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5484 (move_it_in_display_line): New wrapper.
5485
5486 * window.c (window_scroll_pixel_based_preserve_x)
5487 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5488 (window_scroll_pixel_based, window_scroll_line_based):
5489 Use them to preserve column positions.
5490 (syms_of_window): Initialize them.
5491
5492 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5493 (HPOS . VPOS) pair.
5494
5495 * dispextern.h (move_it_in_display_line): Declare.
5496
5497 2008-06-05 Juanma Barranquero <lekktu@gmail.com>
5498
5499 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5500 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5501 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5502
5503 2008-06-04 Juanma Barranquero <lekktu@gmail.com>
5504
5505 * window.c (Fset_window_parameter): Doc fix.
5506 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5507
5508 2008-06-04 Joakim Verona <joakim@verona.se>
5509
5510 * window.h (struct window): Add new member window_parameters.
5511
5512 * window.c (Fwindow_parameters, Fwindow_parameter)
5513 (Fset_window_parameter): New defuns.
5514 (syms_of_window): Defsubr the new defuns.
5515 (make_window): Initialize window_parameters to nil.
5516
5517 2008-06-04 John Paul Wallington <jpw@pobox.com>
5518
5519 * eval.c (Fdefmacro): Doc fix.
5520
5521 2008-06-04 Kenichi Handa <handa@m17n.org>
5522
5523 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5524 Be sure to call setup_coding_system when we find a proper coding system.
5525 (detect_coding_system): Fix handling of coding->head_ascii.
5526
5527 2008-06-03 Andreas Schwab <schwab@suse.de>
5528
5529 * font.c (font_prop_validate_spacing): Fix last change.
5530
5531 2008-06-03 Kenichi Handa <handa@m17n.org>
5532
5533 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5534 (font_parse_fcname): Fix handling of unknown key.
5535
5536 * xfont.c (xfont_list): Try an alias.
5537
5538 * charset.c (char_charset): Return NULL if the arg charset_list is
5539 specified and C doesn't belong to any of them.
5540
5541 2008-06-02 Chip Coldwell <coldwell@redhat.com>
5542
5543 * font.c (font_pixel_size): Don't take cdr of an integer.
5544
5545 2008-06-02 Jim Meyering <meyering@redhat.com>
5546
5547 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5548 * alloc.c (xfree): Return right away for a NULL arg.
5549 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5550 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5551 * mac.c (create_apple_event_from_event_ref): Likewise.
5552 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5553 Likewise.
5554 * doprnt.c (doprnt1): Likewise.
5555 * frame.c (frame): Likewise.
5556 * keyboard.c (wipe_kboard): Likewise.
5557 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5558 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5559 * term.c (tty_default_color_capabilities, maybe_fatal)
5560 (delete_tty): Likewise.
5561 * w16select.c (string): Likewise.
5562 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5563 * w32bdf.c (w32_free_bdf_font): Likewise.
5564 * w32fns.c (w32_unload_font): Likewise.
5565 * w32font.c (w32font_close): Likewise.
5566 * window.c (size_window): Likewise.
5567 * xselect.c (receive_incremental_selection): Likewise.
5568 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5569 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5570 * w32.c (stat): Likewise.
5571
5572 Remove useless if-before-free tests.
5573 * editfns.c (Fset_time_zone_rule): Likewise.
5574 * lread.c (nosuffix): Likewise.
5575 * ralloc.c (get_bloc): Likewise.
5576 * regex.c (reg_free): Likewise.
5577 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5578 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5579 * xsmfns.c (smc_save_yourself_CB): Likewise.
5580
5581 2008-06-02 Kenichi Handa <handa@m17n.org>
5582
5583 * font.c (font_find_for_lface): Handle float font size.
5584 (font_open_for_lface): Likewise.
5585
5586 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5587 comparing the properties.
5588
5589 2008-06-01 Jason Rumney <jasonr@gnu.org>
5590
5591 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5592 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5593 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5594 Don't add empty script list.
5595 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5596
5597 2008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5598
5599 * Makefile.in (dot, dotdot): Remove, update users.
5600 ".." has been used elsewhere in the file for a long time.
5601 (LIBXT_STATIC): Remove conditional based on unused variable.
5602
5603 2008-06-01 Miles Bader <miles@gnu.org>
5604
5605 * xfaces.c (Vface_remapping_alist): New variable.
5606 (syms_of_xfaces): Initialize it.
5607 (enum named_merge_point_kind): New type.
5608 (struct named_merge_point): Add `named_merge_point_kind' field.
5609 (push_named_merge_point): Make cycle detection respect different
5610 named-merge-point kinds.
5611 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5612 Remove face-name alias resolution.
5613 (lface_from_face_name): New definition using
5614 `lface_from_face_name_no_resolve'.
5615 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5616 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5617 (get_lface_attributes): New definition that layers face-remapping on
5618 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5619 (lookup_basic_face): New function.
5620 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5621 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5622 `get_lface_attributes'.
5623 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5624 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5625 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5626
5627 * xdisp.c (init_iterator): Pass base_face_id through
5628 `lookup_basic_face' when we actually use it as a face-id.
5629 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5630 DEFAULT_FACE_ID.
5631
5632 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5633 lookup the initial face-id.
5634
5635 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5636
5637 2008-06-01 Juanma Barranquero <lekktu@gmail.com>
5638
5639 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5640 (Fremove_text_properties): Fix typos in docstrings.
5641
5642 2008-05-31 Kenichi Handa <handa@m17n.org>
5643
5644 * font.c (font_list_entities): Fix the car part of data to be
5645 stored in the cache.
5646
5647 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5648
5649 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5650
5651 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5652 Add a `test' argument so another predicate than `equal' can be used.
5653 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5654 (map_char_table): Remove unused vars `c' and `i'.
5655 * lisp.h (Foptimize_char_table): Adjust declaration.
5656 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5657
5658 2008-05-30 Kenichi Handa <handa@m17n.org>
5659
5660 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5661 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5662 defined.
5663
5664 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5665
5666 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5667 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5668 frame-local settings for the same variable.
5669
5670 2008-05-30 Kenichi Handa <handa@m17n.org>
5671
5672 * fontset.c (Ffont_info): Move to font.c.
5673 (syms_of_fontset): Delete defsubr of Sfont_info.
5674
5675 * font.c (font_style_to_value, font_score): Delete casting of the
5676 args to xstcasecmp.
5677 (register_font_driver): Increment num_font_drivers only when
5678 registering the driver globally.
5679 (Ffont_info): Move from fontset.c. Handle a font object too.
5680 (syms_of_font): Defsubr Sfont_info.
5681
5682 2008-05-29 Kenichi Handa <handa@m17n.org>
5683
5684 * coding.h (enum define_coding_utf8_arg_index): New enum.
5685 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5686 coding_attr_utf_bom.
5687 (enum utf_bom_type): Rename from utf_16_bom_type.
5688 (struct utf_16_spec): Adjust for the above change.
5689 (struct coding_system): Add utf_8_bom in `spec' union.
5690
5691 * coding.c (CODING_UTF_8_BOM): New macro.
5692 (enum coding_category): Delete coding_category_utf_8, add
5693 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5694 coding_category_utf_8_sig.
5695 (CATEGORY_MASK_UTF_8): Delete it.
5696 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5697 (CATEGORY_MASK_UTF_8_SIG): New macros.
5698 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5699 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5700 CATEGORY_MASK_UTF_8_SIG.
5701 (CATEGORY_MASK_UTF_8): New macro.
5702 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5703 (detect_coding_utf_8): Check BOM.
5704 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5705 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5706 (encode_coding_utf_16): Likewise.
5707 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5708 (detect_coding, detect_coding_system): Handle utf-8-auto.
5709 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5710 (syms_of_coding): Fix setting up of Vcoding_category_table.
5711
5712 2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5713
5714 * process.c (Faccept_process_output): If `millisec' is non-nil,
5715 `seconds' default to 0.
5716 (wait_reading_process_output): Also return non-nil if we read output
5717 from a non-running process.
5718
5719 2008-05-29 Jason Rumney <jasonr@gnu.org>
5720
5721 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5722 `raster' specified.
5723 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5724 in the uniscribe backend, but disallow any font that has no
5725 unicode subrange support.
5726
5727 2008-05-29 Juanma Barranquero <lekktu@gmail.com>
5728
5729 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5730 Fix typos in docstrings.
5731
5732 2008-05-29 Kenichi Handa <handa@m17n.org>
5733
5734 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5735 (Fx_family_fonts): Set frame correctly.
5736
5737 2008-05-28 Jason Rumney <jasonr@gnu.org>
5738
5739 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5740
5741 2008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5742
5743 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5744 calling build_annotations.
5745
5746 2008-05-28 Juanma Barranquero <lekktu@gmail.com>
5747
5748 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5749 (Fencode_coding_string):
5750 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5751 <latin-extra-code-table>: Fix typos in docstrings.
5752 (syms_of_coding) <coding-system-alist>: Doc fix.
5753 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5754
5755 2008-05-28 Kenichi Handa <handa@m17n.org>
5756
5757 * fontset.c (Ffont_info): Don't call font_close_object.
5758
5759 * font.c (font_parse_family_registry): Use Ffont_put to validate
5760 foundry and family.
5761 (font_delete_unmatched): Don't check spacing.
5762 (font_list_entities): Add spacing to the spec to list fonts.
5763
5764 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5765 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5766
5767 * coding.c (encode_coding_raw_text): Fix previous change.
5768 (encode_coding_object): When the dst_object is a buffer and is
5769 different from src_object, move gap to PT.
5770
5771 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
5772
5773 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5774
5775 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5776
5777 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5778 all branches. Compute it differently.
5779
5780 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5781
5782 2008-05-27 Juanma Barranquero <lekktu@gmail.com>
5783
5784 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5785 into "else if () ... else ...".
5786
5787 2008-05-27 Jason Rumney <jasonr@gnu.org>
5788
5789 * w32font.c (w32font_open_internal): Determine if glyph indices
5790 are likely to work here.
5791
5792 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
5793
5794 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5795 draw overlap glyphs with appropriate highlighting.
5796
5797 2008-05-27 Kenichi Handa <handa@m17n.org>
5798
5799 * xfont.c (xfont_open): Fix calculation of font->average_width.
5800
5801 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5802
5803 * casefiddle.c (casify_object): Try to guess better whether the
5804 argument is a byte or a char.
5805
5806 2008-05-26 Andreas Schwab <schwab@suse.de>
5807
5808 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5809 Always send multiples of format size.
5810
5811 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5812
5813 2008-05-26 Jason Rumney <jasonr@gnu.org>
5814
5815 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5816 (compute_metrics): Don't set failure if we just cleared the cache.
5817 (w32_weight_table): Remove unused variable.
5818 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5819 backwards compatibility.
5820
5821 2008-05-25 Kenichi Handa <handa@m17n.org>
5822
5823 * w32term.c (x_draw_glyph_string):
5824 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5825
5826 * xfaces.c: Delete unused function prototypes.
5827 (xstrlwr, font_frame): Delete them.
5828 (clear_face_cache): Delete unused variable.
5829
5830 * xftfont.c (xftfont_open): Delete unused variable.
5831 If underline_thickness is not 1, adjust underline_position.
5832
5833 * ftxfont.c (ftxfont_open): Delete unused variable.
5834
5835 * fontset.c (face_for_char): Optimize for the case of no charset
5836 property.
5837
5838 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5839 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5840 (otf_open, font_otf_capability, generate_otf_features)
5841 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5842 Comment out by surrounding "#if 0" and "#endif" for the moment.
5843 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5844 (syms_of_font): Codes for accessing above commented out.
5845
5846 2008-05-24 Eli Zaretskii <eliz@gnu.org>
5847
5848 * w32proc.c: Include dispextern.h.
5849
5850 * w32.c: Include dispextern.h.
5851
5852 2008-05-23 Juanma Barranquero <lekktu@gmail.com>
5853
5854 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5855 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5856 Fix typos in docstrings.
5857
5858 2008-05-23 Jason Rumney <jasonr@gnu.org>
5859
5860 * xsmfns.c: Remove includes that are already included by config.h.
5861
5862 2008-05-23 Kenichi Handa <handa@m17n.org>
5863
5864 * charset.c (Qemacs, charset_emacs): New variables.
5865 (char_charset): Fix for non-Unicode characters.
5866 (syms_of_charset): Define charset_emacs.
5867
5868 * w32term.c (x_draw_glyph_string): Be sure to update
5869 s->underline_thickness and s->underline_position. Be sure to draw
5870 underline within the current line area.
5871
5872 * xterm.c (x_draw_glyph_string): Be sure to update
5873 s->underline_thickness and s->underline_position. Be sure to draw
5874 underline within the current line area.
5875
5876 * fontset.c: Delete unused variables and add casting for char *
5877 throughout the file.
5878 (fontset_font): Try the fallback fonts of the current fontset
5879 before consulting the default fontset.
5880
5881 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5882
5883 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5884
5885 2008-05-22 Jason Rumney <jasonr@gnu.org>
5886
5887 * font.c: Don't include strings.h.
5888
5889 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5890
5891 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5892 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5893 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5894 to call xstrcasecmp.
5895
5896 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5897
5898 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5899
5900 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5901
5902 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5903
5904 2008-05-22 Kenichi Handa <handa@m17n.org>
5905
5906 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5907
5908 * font.c (font_prop_validate_style): Adjust for the format
5909 change of font_style_table.
5910
5911 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5912 two args.
5913
5914 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5915 two args.
5916
5917 2008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5918
5919 * minibuf.c (keys_of_minibuf): Delete.
5920 * lisp.h (keys_of_minibuf): Delete.
5921 * emacs.c (main): Don't call keys_of_minibuf.
5922
5923 2008-05-22 Kenichi Handa <handa@m17n.org>
5924
5925 * ftfont.c (ftfont_resolve_generic_family): Rename from
5926 ftfont_list_generic_family. Return a single family for each
5927 generic family.
5928 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5929 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5930 Call font_add_log.
5931 (ftfont_match): Call font_add_log.
5932
5933 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5934 (FONT_DEBUG): Define it.
5935 (font_add_log): Extern it.
5936 (font_assert): Rename from xassert.
5937
5938 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5939 (xfont_list_family): Call font_add_log.
5940 (xfont_match): Likewise.
5941 (memq_no_quit): Delete.
5942
5943 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5944 call of Ffont_xlfd_name.
5945
5946 * xfaces.c (struct table_entry, slant_table, weight_table)
5947 (swidth_table): Move to font.c.
5948
5949 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5950 xassert are changed to font_assert. Delete many unused variables.
5951 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5952 New variables.
5953 (struct table_entry): Move from xfaces.c and modified.
5954 (weight_table, slant_table, width_table): Move from xfaces.c and
5955 contents adjusted for the change of struct table_entry.
5956 (font_style_to_value, font_style_symbolic): Adjust for the
5957 format change of font_style_table.
5958 (font_parse_family_registry): Don't overwrite existing foundry and
5959 family of font_spec.
5960 (font_score): Fix calculation of diff for sizes.
5961 (font_sort_entites): Call font_add_log.
5962 (font_delete_unmatched): Return a newly created list.
5963 (font_list_entities): Fix previous change. Call font_add_log.
5964 (font_matching_entity, font_open_entity, font_close_entity):
5965 Call font_add_log.
5966 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5967 (Finternal_set_font_style_table): Delete.
5968 (BUILD_STYLE_TABLE): New macro.
5969 (build_style_table): New function.
5970 (Vfont_log, font_log_env_checked): New variables.
5971 (font_add_log): New function.
5972 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5973 Declare Lisp variables "font-weight-table", "font-slant-table",
5974 "font-width-table", and "font-log". Initialize font_style_table.
5975
5976 2008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5977
5978 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5979
5980 2008-05-21 Seiji Zenitani <zenitani@mac.com>
5981 Ryo Yoshitake <ryo@shiftmode.net>
5982
5983 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5984 (Vframe_alpha_lower_limit): New variable.
5985 (x_set_alpha): New function.
5986
5987 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5988
5989 * xfns.c (x-create-frame, Qalpha):
5990 Initialize the frame parameter `alpha'.
5991 * xterm.c (OPAQUE, OPACITY): New.
5992 (x_set_frame_alpha): New function.
5993 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5994
5995 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5996 * w32fns.c (w32_frame_parm_handlers): Likewise.
5997
5998 2008-05-20 Jason Rumney <jasonr@gnu.org>
5999
6000 * w32font.c (add_font_entity_to_list): Don't add non-opentype
6001 truetype fonts to opentype list.
6002
6003 2008-05-20 Juanma Barranquero <lekktu@gmail.com>
6004
6005 * fontset.c (Ffontset_info): Doc fix.
6006 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
6007 <ignore-relative-composition>: Fix typos in docstrings.
6008
6009 * font.c (syms-of-font) <font-encoding-alist>:
6010 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
6011 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
6012 (Ffont_otf_alternates): Doc fixes.
6013
6014 2008-05-20 Kenichi Handa <handa@m17n.org>
6015
6016 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
6017 font.h through out the file.
6018 (FONT_DRIVERS): Rename from FONTOBJ.
6019 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
6020 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
6021
6022 * emacs.c (main): Call syms_of_font unconditionally.
6023
6024 * font.h (find_font_encoding): Extern it.
6025
6026 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
6027 fontset.c.
6028 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
6029 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
6030 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
6031 only when HAVE_WINDOW_SYSTEM is defined.
6032 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
6033 when HAVE_WINDOW_SYSTEM is defined.
6034
6035 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
6036 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
6037
6038 * xfaces.c: Include font.h unconditionally.
6039 (merge_face_ref, merge_face_vectors)
6040 (Finternal_set_lisp_face_attribute): Cancel the previous change.
6041
6042 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
6043
6044 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
6045 indirect_variable.
6046 * eval.c (lisp_indirect_variable): New fun.
6047 (Fuser_variable_p): Use it.
6048
6049 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
6050
6051 * lisp.h (indirect_variable):
6052 * data.c (indirect_variable, let_shadows_buffer_binding_p):
6053 Use Lisp_Symbol pointers rather than Lisp_Object.
6054 Adjust callers.
6055 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
6056 To this end, change calling-convention.
6057
6058 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
6059 if some non-hidden buffers are selected by string&pred.
6060
6061 2008-05-19 Chong Yidong <cyd@stupidchicken.com>
6062
6063 * process.c (wait_reading_process_output): Always check status
6064 when in batch mode.
6065
6066 2008-05-19 Kenichi Handa <handa@m17n.org>
6067
6068 * font.c (font_list_entities): Fix handling of cache.
6069 (font_matching_entity): Likewise.
6070
6071 * ftfont.c (cs_iso8859_1): Delete.
6072 (ft_face_cache): New variable.
6073 (struct ftfont_info): New member fc_charset_idx.
6074 (ftfont_build_basic_charsets): Delete.
6075 (fc_charset_table): New variable.
6076 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
6077 . FC_CHARSET_IDX) as :font-entity property in the font entity.
6078 Callers changed.
6079 (ftfont_lookup_cache, ftfont_get_charset): New functions.
6080 (ftfont_spec_pattern): New argument fc_charset_idx.
6081 Check registry more rigidly. Change callers.
6082 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
6083 change of :font-entity property of the font.
6084
6085 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
6086 property of the font.
6087
6088 2008-05-18 Juanma Barranquero <lekktu@gmail.com>
6089
6090 * coding.c (Fcoding_system_p): Rename argument to match docstring.
6091 (Funencodable_char_position, Fcheck_coding_systems_region)
6092 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
6093 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
6094 (Ffind_operation_coding_system, Fset_coding_system_priority)
6095 (Fcoding_system_eol_type): Doc fixes.
6096
6097 2008-05-17 Glenn Morris <rgm@gnu.org>
6098
6099 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
6100
6101 2008-05-16 Eli Zaretskii <eliz@gnu.org>
6102
6103 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
6104 and st_gid.
6105
6106 * frame.c (Fdelete_frame): Don't call font_update_drivers if
6107 HAVE_WINDOW_SYSTEM is not defined.
6108
6109 * xfaces.c (merge_face_ref, merge_face_vectors)
6110 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
6111 HAVE_WINDOW_SYSTEM is defined.
6112 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
6113
6114 2008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6115
6116 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6117
6118 2008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6119
6120 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6121
6122 2008-05-15 Kenichi Handa <handa@m17n.org>
6123
6124 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6125 preference.
6126
6127 2008-05-15 Glenn Morris <rgm@gnu.org>
6128
6129 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6130
6131 2008-05-15 Chong Yidong <cyd@stupidchicken.com>
6132
6133 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6134 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6135
6136 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6137
6138 2008-05-15 Kenichi Handa <handa@m17n.org>
6139
6140 * ftfont.c (ftfont_list): Downcase family name to check generic
6141 families.
6142
6143 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6144 font-spec for QCfont value.
6145
6146 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6147 buffer. Check the return value of it.
6148
6149 2008-05-14 Jason Rumney <jasonr@gnu.org>
6150
6151 * w32term.c (w32_get_glyph_overhangs): Remove.
6152 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6153
6154 2008-05-14 Kenichi Handa <handa@m17n.org>
6155
6156 * font.c (font_prop_validate): Make nil a valid value.
6157 (font_clear_cache): Check if the cached vector of entities is nil
6158 or not.
6159
6160 2008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6161
6162 * emacs.c (main_thread): Conditionalize on
6163 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6164 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6165
6166 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6167 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6168 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6169
6170 2008-05-14 Kenichi Handa <handa@m17n.org>
6171
6172 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6173 has no corresponding coding system.
6174
6175 2008-05-14 Jason Rumney <jasonr@gnu.org>
6176
6177 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6178
6179 * w32font.h (w32font_open_internal): Update declaration.
6180
6181 * w32font.c (w32font_open_internal): Change last argument from
6182 w32font_info struct to font object. Fill in font object from
6183 font_entity. Get Outline metrics if possible. Use them to
6184 calculate underline position and thickness. Use xlfd name as name
6185 property. Don't set codepage.
6186 (w32font_open): Pass font_object to w32font_open_internal. Don't
6187 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6188 (w32font_draw): Use s->font.
6189 (clear_cached_metrics): Don't clear non-existent blocks.
6190
6191 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6192 font was not found.
6193 (x_draw_glyph_string): Use underline position and thickness from font.
6194
6195 * w32uniscribe.c (uniscribe_open): Pass font_object to
6196 w32font_open_internal.
6197
6198 2008-05-14 Kenichi Handa <handa@m17n.org>
6199
6200 These changes are to delete all legacy font-handling codes, and
6201 make Emacs use only font-backends.
6202
6203 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6204 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6205
6206 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6207
6208 * charset.h (Vcharset_non_preferred_head)
6209 (Vcurrent_iso639_language): Extern them.
6210
6211 * charset.c (Vcharset_non_preferred_head): New variable.
6212 (Vcurrent_iso639_language): New variable.
6213 (syms_of_charset): Declare it as a Lisp variable.
6214 (char_charset): Don't check non preferred charsets. As a last
6215 resort, return charset_unicode.
6216 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6217
6218 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6219 conditionals. Don't check enable_font_backend. Delete all codes
6220 used only when USE_FONT_BACKEND is not defined.
6221
6222 * dispextern.h (struct glyph_string): Change type of `font' to
6223 `struct font *'.
6224 (struct glyph_string): New member underline_position and
6225 underline_thickness.
6226 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6227 (struct face): Change type of `font' to `struct font *'. Remove
6228 members `font_name', `font_info_id'.
6229 (per_char_metric, encode_char): Delete externs.
6230 (calc_pixel_width_or_height): Adjust the prototype.
6231
6232 * emacs.c (enable_font_backend): Delete extern.
6233 (main): Don't set enable_font_backend. Don't check the command
6234 line argument "-disable-font-backend".
6235
6236 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6237 (enum font_property_index): New members FONT_DPI_INDEX,
6238 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6239 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6240 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6241 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6242 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6243 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6244 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6245 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6246 (struct font_spec, struct font_entity): New structs.
6247 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6248 (struct font): Many members from old "struct font_info" moved to
6249 here. Members font and entity deleted.
6250 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6251 the new font-related objects.
6252 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6253 (CHECK_FONT_GET_OBJECT): Likewise.
6254 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6255 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6256 (struct font_driver): New members case_sensitive anc check. Type
6257 of the member list and open changed.
6258 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6259 (font_symbolic_width, font_find_object, font_get_spec)
6260 (font_set_lface_from_name): Delete extern.
6261 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6262
6263 * font.c: Include <strings.h>.
6264 (enable_font_backend): Delete it.
6265 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6266 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6267 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6268 (null_string): Delete it.
6269 (null_vector): Make it static.
6270 (font_family_alist): Delete it.
6271 (Qnormal): Extern it.
6272 (QCextra, QClanguage): Delete it.
6273 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6274 (font_make_spec, font_make_entity, font_make_object)
6275 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6276 the string. Callers changed.
6277 (font_pixel_size): Adjusted for the format change of font-related
6278 objects.
6279 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6280 (font_style_to_value, font_style_symbolic): New function.
6281 (build_font_family_alist): Delete it.
6282 (font_registry_charsets): Use Fassoc_string instead of
6283 assq_no_quit.
6284 (font_prop_validate_symbol): Don't return null_string.
6285 (font_prop_validate_style): Adjusted for the change of
6286 style-related values in a font vector.
6287 (font_property_table): Delete entries for QClanguage and
6288 QCantialias, add entries for QCavgwidth.
6289 (get_font_prop_index): Delete the 2nd argument FROM.
6290 (font_prop_validate): Arguments changed.
6291 (font_put_extra): Adjusted for the change of font-related objects.
6292 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6293 (font_parse_fcname, font_unparse_fcname)
6294 (font_prepare_composition): Likewise.
6295 (font_parse_family_registry): Renamed from font_merge_old_spec.
6296 (otf_open): Delete the 1st arg entity.
6297 (font_otf_capability): Adjusted for the above change.
6298 (font_score): New arg alternate_families. Adjusted for the change
6299 of font-related objects.
6300 (font_sort_entites): New arg best_only.
6301 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6302 Delete them.
6303 (font_match_p): Check alternate families.
6304 (font_find_object): Delete it.
6305 (font_check_object): New function.
6306 (font_clear_cache): Adjusted for the change of font-related objects.
6307 (font_delete_unmatched): New arg.
6308 (font_list_entities): Call font_driver->list with a spec that
6309 doesn't specify style-related properties.
6310 (font_matching_entity): Arguments changed. Caller changed.
6311 (font_open_entity): Adjusted for the change of font-related objects.
6312 (font_close_object, font_has_char, font_encode_char)
6313 (font_get_name, font_get_spec): Likewise.
6314 (font_spec_from_name, font_clear_prop, font_update_lface):
6315 New functions.
6316 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6317 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6318 (font_at): Adjusted for the change of font-related objects.
6319 (font_range): New function.
6320 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6321 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6322 (Fcopy_font_spec, Fmerge_font_spec): New function.
6323 (Ffont_family_list): Renamed from list-families.
6324 (Finternal_set_font_style_table): Arguments changed.
6325 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6326 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6327 change of font-related objects.
6328 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6329
6330 * fontset.h (struct font_info): Delete it. Most members go to
6331 struct font.
6332 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6333 (enum FONT_SPEC_INDEX): Delete it.
6334 (font_info, list_fonts_func, load_font_func, query_font_func)
6335 (set_frame_fontset_func, find_ccl_program_func)
6336 (get_font_repertory_func, new_fontset_from_font_name): Delete
6337 externs.
6338 (fontset_from_font_name): Extern it.
6339 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6340 (FONT_INFO_FROM_FACE): Deleted.
6341 (face_for_font): Adjust prototype.
6342
6343 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6344 conditionals. Don't check enable_font_backend. Delete all codes
6345 used only when USE_FONT_BACKEND is not defined.
6346 (get_font_info_func, list_font_func, load_font_func)
6347 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6348 (get_font_repertory_func): Delete them.
6349 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6350 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6351 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6352 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6353 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6354 (fontset_compare_rfontdef): New function.
6355 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6356 rfont-defs by qsort. Adjusted for the change of font-group vector.
6357 (load_font_get_repertory): Deleted.
6358 (fontset_find_font): Use new macros to ref/set elements of
6359 font-def and rfont-def.
6360 (fontset_font): Fix the timing of remembering that no font for C.
6361 (free_face_fontset): Do nothing if the face has no fontset.
6362 (face_suitable_for_char_p): Use new macros to ref/set elements of
6363 rfont-def.
6364 (face_for_char): Likewise. Call face_for_char with font_object.
6365 (fs_load_font): Delete. Delete #pragma surrounding it.
6366 (fs_query_fontset): Use strcasecmp instead of strcmp.
6367 (generate_ascii_font_name): Adjusted for the format change of
6368 font-spec.
6369 (Fset_fontset_font): Likewise. Use new macros to set elements of
6370 font-def.
6371 (Fnew_fontset): Use font_unparse_xlfd to generate
6372 FONTSET_ASCII (fontset).
6373 (new_fontset_from_font_name): Deleted.
6374 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6375 a fontset is already created for the font. FIx updating of
6376 Vfontset_alias_alist.
6377 (fontset_ascii_font): Deleted.
6378 (Ffont_info): Adjusted for the format change of font-spec.
6379 (Finternal_char_font): Likewise.
6380 (Ffontset_info): Likewise.
6381 (syms_of_fontset): Don't check load_font_func.
6382
6383 * fns.c (internal_equal): Handle PREV_FONT.
6384
6385 * frame.h: Delete USE_FONT_BACKEND conditional.
6386
6387 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6388 conditionals. Don't check enable_font_backend. Delete all codes
6389 used only when USE_FONT_BACKEND is not defined.
6390 (x_set_font): Call x_new_font, not x_new_fontset2.
6391 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6392 already set for the frame.
6393
6394 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6395 a font-entity by font_make_entity. Use font_intern_prop instead
6396 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6397 font property. If a font is scalable, set avgwidth property to 0.
6398 Set font-entity property by font_put_extra.
6399 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6400 (ffont_driver): Adjusted for the change of struct font_driver.
6401 (ftfont_spec_pattern): New function.
6402 (ftfont_list): Return a list, not vector.
6403 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6404 (ftfont_list_family): Don't downcase names.
6405 (ftfont_free_entity): Deleted.
6406 (ftfont_open): Return a font-object. Adjusted for the change of
6407 struct font. Get underline_thickness and underline_position from
6408 font property. Don't update dpyinfo->smallest_font_height and
6409 dpyinfo->smallest_char_width.
6410 (ftfont_close): Don't free `struct font'.
6411 (ftfont_has_char): Adjusted for the format change of font-entity.
6412 (ftfont_encode_char, ftfont_text_extents): Likewise.
6413
6414 * ftxfont.c (ftxfont_list): Return a list, not vector.
6415 (ftxfont_open): Return a font-object. Adjusted for the change of
6416 struct font. Get underline_thickness and underline_position from
6417 font property. Don't update dpyinfo->smallest_font_height and
6418 dpyinfo->smallest_char_width.
6419 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6420 (ftxfont_draw): Adjusted for the change of struct font.
6421
6422 * image.c (image_ascent): Don't include "charset.h". Include
6423 "character.h" and "font.h".
6424
6425 * lisp.h (enum pvec_type): New member PREV_FONT.
6426 (Fassoc_string): EXFUN it.
6427
6428 * print.c: Include font.h.
6429 (print_object): Handle font-related objects.
6430
6431 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6432 conditionals. Don't check enable_font_backend. Delete all codes
6433 used only when USE_FONT_BACKEND is not defined.
6434 (handle_auto_composed_prop): Do nothing if it->f is not on a
6435 window system. Check how many following characters can be
6436 displayed by the same font.
6437 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6438 'struct font *'.
6439 (get_char_face_and_encoding): Assign the whole encoding task to
6440 the `encode-char' method of a font driver.
6441 (fill_composite_glyph_string): Adjusted for the change of `struct
6442 face' and `struct glyph_string'.
6443 (fill_glyph_string): Likewise.
6444 (get_per_char_metric): Arguments changed.
6445 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6446 and `struct glyph_string'.
6447 (produce_stretch_glyph, calc_line_height_property)
6448 (x_produce_glyphs): Likewise.
6449
6450 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6451 conditionals. Don't check enable_font_backend. Delete all codes
6452 used only when USE_FONT_BACKEND is not defined. Use
6453 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6454 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6455 (Qp): Extern them.
6456 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6457 Deleted.
6458 (struct font_name): Deleted.
6459 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6460 (compare_fonts_by_sort_order): New function.
6461 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6462 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6463 Deleted.
6464 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6465 compare_fonts_by_sort_order.
6466 (Fx_font_family_list): Call Ffont_family_list.
6467 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6468 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6469 (face_symbolic_slant, face_symbolic_swidth)
6470 (split_font_name_into_vector, build_font_name_from_vector)
6471 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6472 (font_rescale_ratio, split_font_name, build_font_name)
6473 (free_font_names, sort_fonts, x_face_list_fonts)
6474 (face_font_available_p, sorted_font_list, cmp_font_names)
6475 (font_list_1, concat_font_list, font_list, remove_duplicates):
6476 Deleted.
6477 (Fx_list_fonts): Use Ffont_list.
6478 (LFACE_AVGWIDTH): Deleted.
6479 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6480 by FONTP.
6481 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6482 (set_lface_from_font_name): Delete it.
6483 (set_lface_from_font): Renamed from
6484 set_lface_from_font_and_fontset. Caller changed. Don't set
6485 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6486 for face.
6487 (merge_face_vectors): Copy font-spec if necessary.
6488 Clear properties of the font-spec if necessary.
6489 (merge_face_ref): Clear properties of the font-spec if necessary.
6490 (Finternal_set_lisp_face_attribute): Likewise.
6491 (set_font_frame_param): Use font_load_for_lface to load a
6492 font-object, and call Fmodify_frame_parameters with it.
6493 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6494 font name by Ffont_xlfd_name.
6495 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6496 QCslant, and QCwidth.
6497 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6498 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6499 Compare fonts by EQ.
6500 (lookup_non_ascii_face): Deleted.
6501 (face_for_font): The 2nd argument changed.
6502 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6503 Check atomic font properties by case insensitive.
6504 (realize_non_ascii_face): Set face->overstrike correctly.
6505 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6506 (dump_realized_face): Get font name from
6507 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6508
6509 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6510 conditionals. Don't check enable_font_backend. Delete all codes
6511 used only when USE_FONT_BACKEND is not defined.
6512 (xic_create_xfontset): Original code deleted and renamed from
6513 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6514 (x_make_gc): Don't set GCFont in GCs.
6515 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6516 opened by "fixed".
6517 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6518 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6519 get_font_repertory_func.
6520
6521 * xfont.c: Include <stdlib.h> and "ccl.h".
6522 (struct xfont_info): New structure.
6523 (xfont_query_font): Deleted.
6524 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6525 moved from xterm.c.
6526 (xfont_driver): Adjusted for the change of struct font_driver.
6527 (compare_font_names): New function.
6528 (xfont_list_pattern): Sort font names case insensitively. Make
6529 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6530 (xfont_list): Return a list, not vector.
6531 (xfont_match): If the font doesn't have QCname property, generate
6532 a name from the other font properties.
6533 (xfont_open): Return a font-object. Adjusted for the change of
6534 struct font. Get underline_thickness and underline_position from
6535 font property. Don't update dpyinfo->smallest_font_height and
6536 dpyinfo->smallest_char_width.
6537 (xfont_close): Don't free struct font.
6538 (xfont_prepare_face): Adjusted for the change of struct font.
6539 (xfont_done_face): Deleted.
6540 (xfont_has_char): Adjusted for the change of struct font.
6541 (xfont_encode_char, xfont_draw): Likewise.
6542 (xfont_check): New function.
6543
6544 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6545 callback function.
6546 (xftfont_match): Adjusted for the format change of font-entity.
6547 (xftfont_open): Adjusted for the format change of font-entity and
6548 font-object. Adjusted for the change of struct font. Return a
6549 font-object. Don't update dpyinfo->smallest_font_height and
6550 dpyinfo->smallest_char_width.
6551 (xftfont_close): Block input while calling XftFontClose.
6552 (xftfont_prepare_face): Don't block input while calling
6553 xftfont_get_colors. Adjusted for the change of struct font.
6554 (xftfont_shape): Return value of error case fixed.
6555
6556 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6557
6558 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6559 conditionals.
6560 (FONT_WIDTH): Return (f)->max_width.
6561 (struct x_display_info): Delete member `font'.
6562 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6563 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6564 (struct x_output): Change type of `font' to `struct font *'.
6565
6566 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6567 conditionals. Don't check enable_font_backend. Delete all codes
6568 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6569 (x_per_char_metric, x_encode_char): Deleted.
6570 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6571 (x_compute_glyph_string_overhangs): Adjusted for the change of
6572 `struct face'.
6573 (x_draw_glyph_string_foreground)
6574 (x_draw_composite_glyph_string_foreground): Likewise.
6575 (x_draw_glyph_string): Likewise. Use font->underline_position and
6576 font->underline_thickness.
6577 (x_new_font): Renamed from x_new_fontset2.
6578 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6579 (x_check_font): Call `check' method of a font driver.
6580 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6581 (x_query_font, x_get_font_repertory): Deleted.
6582 (x_find_ccl_program): Renamed and moved to xfont.c.
6583 (x_redisplay_interface): Adjusted for the change of `struct
6584 redisplay_interface'.
6585
6586 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6587 conditionals. Don't check enable_font_backend. Delete all codes
6588 used only when USE_FONT_BACKEND is not defined. Surround non-used
6589 code by "#ifdef OLD_FONT" and "endif".
6590 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6591
6592 * w32font.h (struct w32font_info): New member.
6593 (FONT_COMPAT): New macro.
6594 (w32font_open_internal): Prototype adjusted.
6595
6596 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6597 OLD_FONT" and "endif".
6598
6599 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6600 conditionals. Don't check enable_font_backend. Delete all codes
6601 used only when USE_FONT_BACKEND is not defined.
6602 (w32font_open): Return a font-object. Make a font-object by
6603 font_make_object. Adjusted for the change of struct w32font_info.
6604 (w32font_close): Don't free struct font. Adjusted for the change
6605 of struct w32font_info.
6606 (w32font_encode_char, w32font_text_extents, w32font_draw):
6607 Adjusted for the change of struct w32font_info.
6608 (w32font_draw): Likewise.
6609 (w32font_list_internal): Return a list, not vector.
6610 (w32font_open_internal): Change the 4th arg to font-object.
6611 Adjusted for the change of struct w32font_info and font-object format.
6612 (add_font_name_to_list): Don't downcase names.
6613 (w32_enumfont_pattern_entity): Make a font-entity by
6614 font_make_entity. Adjusted for the format change of font-entity.
6615 Use FONT_SET_STYLE to set a style-related font property. If a
6616 font is scalable, set avgwidth property to 0. Set font-entity
6617 property by font_put_extra.
6618 (font_matches_spec): Adjusted for the format change of font-entity.
6619 (w32_weight_table, w32_decode_weight): New variables.
6620 (w32_encode_weight): New function.
6621 (fill_in_logfont): Adjusted for the format change of font-spec.
6622 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6623 weight value.
6624 (w32font_driver): Adjusted for the change of struct font_driver.
6625
6626 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6627 conditionals. Don't check enable_font_backend. Surround non-used
6628 code by "#ifdef OLD_FONT" and "endif".
6629 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6630 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6631
6632 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6633 conditionals. Don't check enable_font_backend. Delete all codes
6634 used only when USE_FONT_BACKEND is not defined. Surround non-used
6635 code by "#ifdef OLD_FONT" and "endif".
6636
6637 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6638 (uniscribe_open): Return value changed to font-object.
6639 Adjusted for the format change of font-object.
6640 (uniscribe_otf_capability): Adjusted for the change of struct font.
6641 (add_opentype_font_name_to_list): Don't downcase names.
6642 (uniscribe_font_driver): Adjusted for the change of struct
6643 font_driver.
6644
6645 2008-05-13 Chong Yidong <cyd@stupidchicken.com>
6646
6647 * dispnew.c (update_frame_1): Check if tty output is still valid
6648 before flushing it.
6649
6650 2008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6651
6652 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6653 to Gtk+ menus.
6654
6655 2008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6656
6657 * dired.c (file_name_completion): Tweak the code so as to always do it
6658 in a single pass. Tighten the scope of some variables.
6659
6660 * dired.c (Qdefault_directory): New var.
6661 (file_name_completion): Use it instead of Fexpand_file_name.
6662 (syms_of_dired): Initialize it.
6663
6664 2008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6665
6666 * fileio.c (double_dollars): Remove dead code.
6667
6668 2008-05-10 Eli Zaretskii <eliz@gnu.org>
6669
6670 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6671 Mention w32-get-true-file-attributes in doc string.
6672
6673 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6674
6675 2008-05-09 Glenn Morris <rgm@gnu.org>
6676
6677 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6678 2008-04-23.
6679
6680 2008-05-09 Eli Zaretskii <eliz@gnu.org>
6681
6682 Support for reporting owner and group of each file on MS-Windows:
6683 * dired.c (stat_uname, stat_gname): New functions, with special
6684 implementation for w32.
6685 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6686
6687 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6688 (dflt_group_name): New static variable.
6689 (dflt_group): Rename from the_group.
6690 (init_user_info): Init dflt_group fields. Get user's group name
6691 from LookupAccountSid.
6692 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6693 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6694 New initialization states.
6695 (globals_of_w32): Initialize them to zero. Initialize the default
6696 group name to "None".
6697 (GetFileSecurity_Name): New global var, the name of the function
6698 to call for GetFileSecurity.
6699 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6700 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6701 (get_file_security, get_security_descriptor_owner)
6702 (get_security_descriptor_group, is_valid_sid)
6703 (get_file_security_desc, get_rid, get_name_and_id)
6704 (get_file_owner_and_group): New functions.
6705 (stat): Use get_file_security_desc and get_file_owner_and_group to
6706 report the owner and primary group of each file. Don't ignore the
6707 high 32 bits of file's size, now that st_size is 64-bit wide.
6708 Fix test when to get true file attributes.
6709 (init_user_info): Use get_rid instead of equivalent inline code.
6710 (fstat): Don't ignore the high 32 bits of file's size.
6711
6712 2008-05-09 Chong Yidong <cyd@stupidchicken.com>
6713
6714 * image.c (png_load): Use correct bit-depth for setting background
6715 color.
6716
6717 2008-05-08 Eli Zaretskii <eliz@gnu.org>
6718
6719 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6720 epa-hook.elc.
6721
6722 2008-05-08 Juanma Barranquero <lekktu@gmail.com>
6723
6724 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6725
6726 2008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6727
6728 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6729 because the original parameters are in pure storage now.
6730 (mac_window): Remove unused params. Update callers.
6731
6732 2008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6733
6734 * lread.c (substitute_object_recurse): Use lower-level primitives.
6735 Don't signal errors when traversing sub-char-tables.
6736 Don't loop over all the possible characters when traversing char-tables.
6737
6738 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6739 just like we do in print.c.
6740
6741 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6742
6743 * minibuf.c (Ftry_completion): Remove code left over from when we used
6744 scmp instead of Fcompare_strings.
6745
6746 2008-05-04 Juanma Barranquero <lekktu@gmail.com>
6747
6748 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6749
6750 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6751
6752 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6753 Create bitmap context in native byte order.
6754
6755 * macterm.c (XDrawLine)
6756 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6757 context in native byte order.
6758
6759 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6760
6761 * config.in: Regenerate.
6762
6763 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6764 New definitions for Image I/O support.
6765 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6766 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6767 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6768 (mac_data_provider_release_data, image_load_image_io)
6769 [USE_MAC_IMAGE_IO]: New functions.
6770 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6771 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6772 (init_image_func_pointer) [MAC_OSX]: Remove function.
6773 (image_load_quartz2d) [MAC_OSX]: Check availability of
6774 CGImageCreateWithPNGDataProvider at compile time.
6775 Use lowercase `false' for boolean constant.
6776 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6777 Use image_load_image_io.
6778 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6779 Don't check MyCGImageCreateWithPNGDataProvider.
6780 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6781 Don't call init_image_func_pointer.
6782
6783 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6784
6785 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6786 Make variable non-static.
6787 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6788 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6789
6790 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6791 (RED_FROM_ULONG): Mask off higher bits.
6792 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6793
6794 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6795 Include AvailabilityMacros.h.
6796 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6797 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6798
6799 2008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6800
6801 * chartab.c (Fset_char_table_range): If range is t, really set all
6802 chars to that value.
6803
6804 2008-05-03 Eli Zaretskii <eliz@gnu.org>
6805
6806 * dired.c (Ffile_attributes): Don't allow the device number become
6807 negative.
6808
6809 2008-05-02 Daiki Ueno <ueno@unixuser.org>
6810
6811 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6812
6813 2008-05-02 Juri Linkov <juri@jurta.org>
6814
6815 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6816 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6817 DEFAULT argument as a list of default values in docstrings.
6818
6819 2008-05-01 Chong Yidong <cyd@stupidchicken.com>
6820
6821 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6822
6823 2008-05-01 Martin Rudalics <rudalics@gmx.at>
6824
6825 * dispnew.c (change_frame_size_1): Preserve small windows when
6826 shrinking frames by calling set_window_height|width with third
6827 arg 2.
6828
6829 * window.h (struct window): Replace field too_small_ok by field
6830 resize_proportionally.
6831
6832 * window.c (make_window): Initialize resize_proportionally.
6833 (enlarge_window): Temporarily set resize_proportionally to make
6834 sure that shrink_windows does scale the window proportionally.
6835 (shrink_windows): When window has resize_proportionally set try
6836 to shrink it proportionally by stealing from other windows.
6837 (struct saved_window, Fset_window_configuration)
6838 (compare_window_configurations): Handle resize_proportionally.
6839 (WINDOW_TOTAL_SIZE): New macro.
6840 (window_min_size, shrink_windows, size_window): Use it.
6841 (check_min_window_sizes): Remove. Invalid values of
6842 window-min-height|width are handled by window_min_size_2 now.
6843 (size_window, Fsplit_window, enlarge_window)
6844 (adjust_window_trailing_edge, grow_mini_window): Don't call
6845 check_min_window_sizes.
6846 (window_min_size_2, window_min_size_1, window_min_size):
6847 New argument safe_p for retrieving "safe" minimum sizes.
6848 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6849 (adjust_window_trailing_edge, grow_mini_window):
6850 Adjust arguments of window_min_size... functions.
6851 (shrink_windows): Argument min_size removed. New argument
6852 safe_p allows shrinking windows to their safe minimum sizes.
6853 Calculate minimum size and decide whether a window shall be
6854 deleted for each window individually.
6855 (size_window): When nodelete_p equals 2, tell shrink_windows to
6856 delete windows only if their new minimum size is no more safe.
6857 (shrink_window_lowest_first): Call window_min_size_1 to make
6858 sure to preserve modeline of bottom-most window when resizing
6859 the minibuffer.
6860 (Fset_window_configuration, Fcurrent_window_configuration)
6861 (compare_window_configurations): Do not handle
6862 window-min-height|width any more.
6863 (syms_of_window): Clarify window-min-height|width doc-strings.
6864
6865 2008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6866
6867 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6868 some more. Copy some of the code from Ftry_completions.
6869 Remove special case code that dates back to initial revision when the
6870 slash was only added when necessary and that can't trigger nowadays.
6871
6872 2008-04-27 Kenichi Handa <handa@m17n.org>
6873
6874 * font.c (font_prop_validate): Signal `error' instead of `font'.
6875
6876 2008-04-29 Jason Rumney <jasonr@gnu.org>
6877
6878 * w32fns.c (Fw32_battery_status): New defun.
6879 (syms_of_w32fns): Defsubr it.
6880
6881 2008-04-28 Andreas Schwab <schwab@suse.de>
6882
6883 * dired.c (file_name_completion): Fix another mixing of encoded
6884 and decoded names.
6885
6886 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
6887
6888 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6889
6890 2008-04-27 Juanma Barranquero <lekktu@gmail.com>
6891
6892 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6893
6894 2008-04-27 Andreas Schwab <schwab@suse.de>
6895
6896 * dired.c (file_name_completion): Fix inappropriate mixing of
6897 encoded and decoded names.
6898
6899 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6900
6901 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6902
6903 2008-04-26 Eli Zaretskii <eliz@gnu.org>
6904
6905 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6906 2008-03-31, it's not needed anymore with `struct stat' definition
6907 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6908 for the same reasons.
6909
6910 2008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6911
6912 * m/sparc.h: Additional redefinitions for GNU/Linux.
6913
6914 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6915
6916 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6917 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6918 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6919 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6920 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6921 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6922 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6923 Likewise.
6924
6925 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6926 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6927 (mac_ax_number_of_characters): Add externs.
6928 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6929 [USE_MAC_TSM]: Likewise.
6930 (mac_handle_text_input_event) [MAC_OSX]:
6931 Handle kEventTextInputOffsetToPos for no active input area case.
6932 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6933 (mac_handle_document_access_event)
6934 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6935 (install_application_handler) [MAC_OSX]: Register handlers for
6936 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6937 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6938 Register mac_handle_document_access_event.
6939
6940 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6941 Make functions non-static.
6942
6943 2008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6944
6945 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6946 (read_file_name_completion_ignore_case, insert_default_directory)
6947 (Qdefault_directory): Move to minibuffer.el.
6948 (Fread_file_name): Call the new `read-file-name' instead.
6949
6950 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6951
6952 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6953 Make function non-static.
6954 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6955 Remove function.
6956 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6957 Move to mactoolbox.c.
6958 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6959
6960 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6961 (mac_rect_make): New macro.
6962
6963 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6964 instead of float.
6965 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6966 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6967 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6968 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6969 CGRectMake.
6970 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6971 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6972 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6973 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6974 instead of WindowRef in argument type.
6975 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6976 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6977 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6978 instead of DISPLAY. All uses changed.
6979 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6980 (x_calc_absolute_position): Simplify so as not to use
6981 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6982
6983 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6984 instead of WindowRef in argument type.
6985 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6986 [TARGET_API_MAC_CARBON]: Remove externs.
6987 (create_apple_event, mac_event_parameters_to_lisp)
6988 [TARGET_API_MAC_CARBON]: Add externs.
6989
6990 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6991 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6992 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6993 is clicked.
6994 (x_activate_menubar): Remove extern for saved_menu_event_location.
6995 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6996 Move from mac.c.
6997
6998 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6999
7000 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
7001 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
7002
7003 2008-04-23 Jason Rumney <jasonr@gnu.org>
7004
7005 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
7006 attributes only for local files.
7007
7008 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
7009 default to Qlocal.
7010
7011 2008-04-22 Juri Linkov <juri@jurta.org>
7012
7013 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
7014 read-buffer-to-switch instead of using the letter "B".
7015
7016 2008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
7017
7018 * fileio.c (Qdefault_directory): New variable.
7019 (Fread_file_name): Use it to pass `dir' to the completion functions.
7020
7021 2008-04-20 Chong Yidong <cyd@stupidchicken.com>
7022
7023 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
7024
7025 2008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
7026
7027 * keyboard.c (Vpre_help_message): Remove.
7028 (show_help_echo): Remove default C code.
7029
7030 * dired.c (directory_files_internal, file_name_completion):
7031 Only call ENCODE_FILE if the string is indeed decoded.
7032
7033 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7034
7035 * Makefile.in (TOOLKIT_DEFINES): Remove.
7036 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
7037
7038 2008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7039
7040 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
7041 (mactoolbox.o): New target.
7042
7043 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
7044 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
7045
7046 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
7047 Use mac_set_frame_window_background instead of XSetWindowBackground.
7048 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
7049 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
7050 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
7051 instead of SetWindowTitleWithCFString.
7052 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
7053 Move function to mactoolbox.c.
7054 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
7055 Use mac_set_window_modified instead of SetWindowModified.
7056 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
7057 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
7058 (Fx_focus_frame): Use mac_front_non_floating_window instead of
7059 FrontNonFloatingWindow. Use mac_activate_window instead of
7060 ActivateWindow. Use mac_active_non_floating_window instead of
7061 ActiveNonFloatingWindow.
7062 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
7063 Use mac_show_hourglass and mac_hide_hourglass.
7064 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
7065 instead of GetGlobalMouse.
7066 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
7067 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
7068 Use mac_bring_window_to_front instead of BringToFront.
7069 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
7070 mactoolbox.c.
7071 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
7072 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
7073 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
7074 mactoolbox.c.
7075
7076 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
7077 (XtPointer): Move typedef from macmenu.c.
7078 (enum button_type): Move enum from macmenu.c.
7079 (widget_value): Move typedef from macmenu.c.
7080 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
7081 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7082 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7083 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7084 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7085 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7086 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7087 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
7088 (Selection): Move typedef from macselect.c.
7089 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
7090 macterm.c.
7091 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
7092 (mac_is_window_collapsed, mac_bring_window_to_front)
7093 (mac_send_window_behind, mac_hide_window, mac_show_window)
7094 (mac_collapse_window, mac_front_non_floating_window)
7095 (mac_active_non_floating_window, mac_activate_window)
7096 (mac_move_window_structure, mac_move_window, mac_size_window)
7097 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
7098
7099 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
7100 (enum mac_menu_kind): Move enum to mactoolbox.c.
7101 (min_menu_id): Move variable to mactoolbox.c.
7102 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
7103 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
7104 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
7105 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
7106 [TARGET_API_MAC_CARBON]: Likewise.
7107 (XtPointer): Move typedef to macgui.h.
7108 (enum button_type): Move enum to macgui.h.
7109 (widget_value): Move typedef to macgui.h.
7110 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7111 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7112 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7113 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7114 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7115 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7116 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7117 (popup_activated_flag): Make variable non-static.
7118 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7119 (add_menu_item, fill_menu, dispose_menus):
7120 Move functions to mactoolbox.c.
7121 (restore_show_help_function, menu_target_item_handler)
7122 (install_menu_target_item_handler, mac_handle_dialog_event)
7123 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7124 [TARGET_API_MAC_CARBON]: Likewise.
7125 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7126 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7127 (find_and_call_menu_selection, name_is_separator): Make function
7128 non-static.
7129 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7130 to mactoolbox.c.
7131 (set_frame_menubar): Don't call install_menu_quit_handler.
7132 (menu_item_selection): New variable.
7133 (mac_menu_show): Use create_and_show_popup_menu.
7134 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7135 selection but set variable menu_item_selection. All uses changed.
7136 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7137 Call install_menu_quit_handler. Move to mactoolbox.c.
7138
7139 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7140 (Selection): Move typedef to macgui.h.
7141 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7142 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7143 Make variables non-static.
7144 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7145 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7146 Make functions non-static.
7147 (Vmac_service_selection) [MAC_OSX]: Likewise.
7148 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7149 (mac_valid_selection_target_p, mac_clear_selection)
7150 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7151 (mac_put_selection_value, mac_selection_has_target_p)
7152 (mac_get_selection_value, mac_get_selection_target_list)
7153 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7154 Move functions to mactoolbox.c.
7155 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7156 Likewise.
7157 (copy_scrap_flavor_data, mac_handle_service_event)
7158 (install_service_handler) [MAC_OSX]: Likewise.
7159 (syms_of_macselect) <Vmac_dnd_known_types>:
7160 Use mac_dnd_default_known_types.
7161
7162 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7163 Move to mactoolbox.c.
7164 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7165 (Fx_selection_owner_p): Add EXFUN.
7166 (install_window_handler, remove_window_handler, XSetWindowBackground):
7167 Remove externs.
7168 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7169 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7170 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7171 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7172 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7173 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7174 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7175 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7176 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7177 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7178 (mac_valid_selection_target_p, mac_clear_selection)
7179 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7180 (mac_put_selection_value, mac_selection_has_target_p)
7181 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7182 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7183 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7184 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7185 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7186 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7187 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7188 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7189 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7190
7191 * mactoolbox.c: New file.
7192
7193 2008-04-18 Jason Rumney <jasonr@gnu.org>
7194
7195 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7196
7197 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7198
7199 * character.c (Fmultibyte_char_to_unibyte):
7200 Return latin1 chars unchanged.
7201
7202 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7203 relocated if it points to `name'.
7204
7205 2008-04-17 Kenichi Handa <handa@m17n.org>
7206
7207 * data.c (Faset): Allow setting a multibyte character in an
7208 ASCII-only unibyte string.
7209
7210 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7211
7212 2008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7213
7214 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7215 done in config.h.
7216
7217 2008-04-16 Juanma Barranquero <lekktu@gmail.com>
7218
7219 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7220 (Fchar_direction): Add usage in the docstring.
7221
7222 2008-04-15 Chong Yidong <cyd@stupidchicken.com>
7223
7224 * keyboard.c (read_key_sequence): Remove always-true checks.
7225
7226 2008-04-14 Jason Rumney <jasonr@gnu.org>
7227
7228 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7229 compatibility struct, for better underline positioning.
7230
7231 2008-04-13 David Hansen <david.hansen@gmx.net>
7232
7233 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7234 string.
7235
7236 2008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7237
7238 * m/hp800.h (XUINT, XSET): Remove.
7239
7240 2008-04-12 Juanma Barranquero <lekktu@gmail.com>
7241
7242 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7243 previous change.
7244
7245 2008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7246
7247 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7248 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7249
7250 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7251
7252 * keymap.h (map_keymap_canonical): Declare.
7253 * xmenu.c (single_keymap_panes): Use it.
7254
7255 2008-04-11 Glenn Morris <rgm@gnu.org>
7256
7257 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7258 set the target's value to that of the alias.
7259
7260 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7261
7262 * term.c (set_tty_color_mode): Left over typo.
7263
7264 2008-04-10 Michael Albinus <michael.albinus@gmx.de>
7265
7266 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7267 only after check for file name handler functions. Signal, when
7268 native functionality is not supported.
7269 (syms_of_fileio): Declare it unconditionally.
7270
7271 2008-04-10 Jason Rumney <jasonr@gnu.org>
7272
7273 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7274 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7275
7276 * w32.c (logon_network_drive): Also logon to remote drives that
7277 are mapped to drive letters.
7278
7279 2008-04-10 Glenn Morris <rgm@gnu.org>
7280
7281 * xdisp.c (truncate-partial-width-windows): Doc fix.
7282
7283 2008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7284
7285 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7286 Move functions to minibuffer.el.
7287 (syms_of_fileio): Don't declare them.
7288
7289 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7290
7291 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7292 (syms_of_minibuf): Remove its initialization.
7293
7294 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7295
7296 2008-04-09 Juanma Barranquero <lekktu@gmail.com>
7297
7298 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7299
7300 2008-04-09 Jason Rumney <jasonr@gnu.org>
7301
7302 * makefile.w32-in (distclean): Delete makefile too.
7303 (maintainer-clean): New target.
7304
7305 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7306
7307 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7308 for new font backend and composite cases.
7309
7310 2008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7311
7312 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7313 Most of the code moved to run_timers.
7314 (do_pending_atimers): Call run_timers.
7315 (run_timers): New function.
7316
7317 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7318 run atimers.
7319
7320 * process.c (wait_reading_process_output): The same as above.
7321
7322 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7323
7324 * minibuf.c (last_exact_completion): Remove variable.
7325 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7326 (complete_and_exit_1, complete_and_exit_2)
7327 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7328 (Fdisplay_completion_list, display_completion_list_1)
7329 (Fminibuffer_completion_help, Fself_insert_and_exit)
7330 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7331 minibuffer.el.
7332 (syms_of_minibuf): Remove corresponding initializations.
7333
7334 * keyboard.c (Qdeactivate_mark): New var.
7335 (command_loop_1): Use it to call `deactivate-mark'.
7336 (syms_of_keyboard): Initialize it.
7337
7338 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7339 to another frame.
7340 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7341 Don't call set_tty_color_mode.
7342 (store_frame_param): Reset previous_frame rather than call
7343 set_tty_color_mode.
7344 * term.c (set_tty_color_mode): Rewrite.
7345 * dispextern.h (set_tty_color_mode): New type.
7346 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7347
7348 2008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7349
7350 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7351 for generic chars, which do not exist any more in emacs-unicode.
7352
7353 2008-04-08 Michael Albinus <michael.albinus@gmx.de>
7354
7355 * coding.c (detect_coding_emacs_mule)
7356 (Ffind_operation_coding_system): Fix typo.
7357
7358 2008-04-08 Jason Rumney <jasonr@gnu.org>
7359
7360 * w32uniscribe.c (SNAME): Extract only symbol name.
7361
7362 * w32font.h (struct w32_metric_cache): New struct.
7363 (w32font_info): Use it.
7364 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7365 (CACHE_BLOCKSIZE): New constants.
7366
7367 * w32font.c (Qja, Qko, Qzh): New symbols.
7368 (syms_of_w32font): Initialise them.
7369 (font_matches_spec): Use them to filter by language.
7370 (recompute_cached_metrics): Remove function.
7371 (compute_metrics, clear_cached_metrics): New functions.
7372 (w32font_encode_char): Use them to manage metric cache.
7373 (w32font_text_extents): Cache metrics for all glyphs on demand.
7374 Delay converting glyph indices to WORD until needed.
7375 (w32font_open_internal): Initialize metric cache to empty.
7376 (registry_to_w32_charset): Charset should always be a symbol.
7377 (fill_in_logfont, list_all_matching_fonts): Family should
7378 always be a symbol.
7379
7380 2008-04-06 Jason Rumney <jasonr@gnu.org>
7381
7382 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7383 Give up if glyph indices not supported. Use uniscribe obtained
7384 ABC widths for individual metrics. Map glyph clusters back to
7385 characters using fClusterStart flag. Return number of glyphs
7386 produced, not chars processed.
7387 (uniscribe_shape): Map char at FROM to current glyph.
7388
7389 2008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7390
7391 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7392 Use SetMenuItemHierarchicalMenu.
7393
7394 2008-04-05 Jason Rumney <jasonr@gnu.org>
7395
7396 * image.c (pbm_load): Allow color values up to 65535.
7397 Throw an error if max_color_idx is outside the supported range.
7398 Report an error when image size is invalid.
7399 Read two bytes at a time when raw images have max_color_idx above 255.
7400
7401 2008-04-05 Eli Zaretskii <eliz@gnu.org>
7402
7403 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7404 cFileName a file name that includes `?' characters, use the 8+3
7405 alias in cAlternateFileName instead.
7406
7407 2008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7408
7409 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7410 append "CCL: Quitted" when the CCL program is quitted.
7411 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7412
7413 * ccl.h (struct ccl_program): New member quit_silently.
7414
7415 2008-04-05 Chong Yidong <cyd@stupidchicken.com>
7416
7417 * search.c (compile_pattern_1): Treat non-nil and non-string of
7418 search-spaces-regexp as nil.
7419
7420 * minibuf.c (Fassoc_string): Tweak docstring.
7421
7422 2008-04-05 Eli Zaretskii <eliz@gnu.org>
7423
7424 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7425 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7426 2008-03-14 to force inode be positive.
7427
7428 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7429 _S_* ones, since we now use our own sys/stat.h.
7430 (stat, fstat): Don't mangle the inode number.
7431 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7432
7433 2008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7434
7435 * frame.h (struct frame): Give one more bit to `visible' since we use
7436 values larger than 1 to indicate obscured frames on ttys.
7437
7438 * keymap.c (Qkeymap_canonicalize): New var.
7439 (Fmap_keymap_internal): New fun.
7440 (describe_map): Use keymap-canonicalize.
7441
7442 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7443 (Fundo_boundary): Set them.
7444 (syms_of_undo): Initialize them.
7445 (record_point): Use them instead of last_point_position*.
7446 (last_undo_buffer): Change type.
7447
7448 2008-04-04 Jason Rumney <jasonr@gnu.org>
7449
7450 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7451 (recompute_cached_metrics): Don't set ascent and descent per char.
7452
7453 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7454 (uniscribe_check_otf): Add GC protection before consing.
7455 Rearrange loop for counting features.
7456
7457 2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7458
7459 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7460 buffer with byte-size of source buffer.
7461
7462 2008-04-03 Chong Yidong <cyd@stupidchicken.com>
7463
7464 * callint.c (Fcall_interactively): Handle temporary region even
7465 when shift-select-mode is off.
7466
7467 2008-04-03 Jason Rumney <jasonr@gnu.org>
7468
7469 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7470
7471 2008-04-03 Kenichi Handa <handa@m17n.org>
7472
7473 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7474 (CATEGORY_MASK_UTF_16): Likewise.
7475 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7476 binary file.
7477 (detect_coding): Add null-byte detection for a binary file.
7478 (detect_coding_system): Likewise.
7479
7480 2008-04-03 Jason Rumney <jasonr@gnu.org>
7481
7482 * w32uniscribe.c: New file.
7483
7484 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7485
7486 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7487
7488 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7489 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7490 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7491 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7492 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7493 (Qphonetic): New symbols.
7494 (syms_of_w32font): Initialize them.
7495 (font_supported_scripts): Use them.
7496 (w32font_list_family): List all charsets.
7497 (w32font_text_extents, recompute_cached_metrics): Fix metric
7498 calculations.
7499 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7500 Give opentype fonts their own format.
7501 (font_matches_spec): New arguments backend and logfont.
7502 Handle :otf spec for uniscribe backend.
7503 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7504 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7505
7506 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7507 font backend.
7508 (globals_of_w32fns): Initialize uniscribe font backend.
7509
7510 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7511 dependencies.
7512 (w32uniscribe.$(O)): New file to build.
7513 (FONT_OBJ): Include w32uniscribe.$(O).
7514 (LIBS): Add uniscribe libraries.
7515
7516 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7517
7518 2008-04-02 Chong Yidong <cyd@stupidchicken.com>
7519
7520 * callint.c (Vshift_select_mode): New var.
7521 (Finteractive): Document new ^ spec.
7522 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7523 is present.
7524
7525 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7526 (command_loop_1): Avoid running the direct display versions of
7527 forward-char and backward-char if shift-selection may occur.
7528 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7529 shift-translation takes place.
7530
7531 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7532 avoid clobbering by define-minor-mode.
7533
7534 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7535 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7536
7537 * syntax.c (Fforward_word): Add ^ interactive spec.
7538
7539 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7540 (Fscroll_right): Add ^ interactive spec.
7541
7542 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7543
7544 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7545
7546 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7547
7548 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7549
7550 2008-03-31 Juri Linkov <juri@jurta.org>
7551
7552 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7553
7554 2008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7555
7556 * gtkutil.c (xg_set_geometry): Fix indentation.
7557 (xg_resize_outer_widget): Remove.
7558 (x_wm_size_hint_off): Fix indentation.
7559 (xg_frame_set_char_size): Call flush_and_sync after
7560 gtk_window_resize.
7561 (x_wm_set_size_hint): Pass NULL as geometry window to
7562 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7563 Add menu bar and tool bar height to base height.
7564 (xg_update_frame_menubar, free_frame_menubar)
7565 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7566 (update_frame_tool_bar, free_frame_tool_bar):
7567 Change xg_resize_outer_widget to xg_frame_set_char_size.
7568
7569 2008-03-30 Michael Albinus <michael.albinus@gmx.de>
7570
7571 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7572 (Fdbus_call_method): New parameter TIMEOUT.
7573 (dbus-send-signal): Optimize UNGCPRO call.
7574
7575 2008-03-29 Juri Linkov <juri@jurta.org>
7576
7577 * window.c (Fdisplay_buffer): Move call to
7578 Vsplit_window_preferred_function out of conditions that check
7579 if window is eligible for vertical splitting.
7580 When Vsplit_window_preferred_function is non-nil, call it and use
7581 its non-nil return value as window. Otherwise, continue doing
7582 vertical splitting using Fsplit_window with arg horflag=nil.
7583 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7584 default value from `split-window' to nil.
7585
7586 2008-03-29 Juri Linkov <juri@jurta.org>
7587
7588 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7589 for interactive code letters 'b' and 'B'.
7590
7591 2008-03-29 Eli Zaretskii <eliz@gnu.org>
7592
7593 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7594 multibyte string.
7595
7596 2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7597
7598 * keyboard.c (pending_funcalls): New var.
7599 (timer_check): Run it.
7600 (syms_of_keyboard): Initialize it.
7601 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7602 (Vdelete_terminal_functions): New vars.
7603 (syms_of_terminal): Initialize them.
7604 (Fdelete_terminal): Run delete-terminal-functions.
7605 * xdisp.c (safe_eval): Rewrite.
7606 (safe_call2): New fun.
7607 * frame.c (Qdelete_frame_functions): New var.
7608 (syms_of_frame): Initialize it.
7609 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7610 * lisp.h (safe_call2, pending_funcalls): Declare.
7611
7612 2008-03-28 Andreas Schwab <schwab@suse.de>
7613
7614 * indent.c (Fmove_to_column): Move declaration before statements.
7615
7616 2008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7617
7618 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7619 (struct frame): Use bit fields for boolean vars.
7620
7621 * process.c (server_accept_connection): Simplify naming.
7622 (emacs_get_tty_pgrp): Use SDATA.
7623
7624 * coding.c (decode_coding_object): Fix last change.
7625
7626 2008-03-27 Jason Rumney <jasonr@gnu.org>
7627
7628 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7629
7630 2008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7631
7632 * charset.c (Fdefine_charset_internal): Change the way of
7633 registering charsets in Vcharset_order_list.
7634 (syms_of_charset): Make the charset `eight-bit' supplementary.
7635
7636 2008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7637
7638 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7639 operations, to avoid having the difference between pointers
7640 overflow.
7641
7642 2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7643
7644 * indent.c (check_display_width): New fun.
7645 (scan_for_column): Use it.
7646
7647 * data.c (syms_of_data): Mark most-positive-fixnum and
7648 most-negative-fixnum as constants.
7649
7650 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7651
7652 * indent.c (scan_for_column): Extract from current_column_1.
7653 Merge with the same code from Fmove_to_column.
7654 (current_column_1, Fmove_to_column): Use it.
7655
7656 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7657
7658 * keymap.c (map_keymap_internal): New fun.
7659 (map_keymap): Use it.
7660 (Fmap_keymap_internal): New fun.
7661 (Fmap_keymap): Remove left-out test from before make_save_value.
7662
7663 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7664
7665 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7666 Use XCAR/XCDR.
7667
7668 * process.h (struct Lisp_Process): Remove filter_multibyte.
7669 * process.c (QCfilter_multibyte): Remove.
7670 (setup_process_coding_systems): Don't use filter_multibyte.
7671 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7672 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7673 (Fset_process_filter_multibyte): Change the coding-system to
7674 approximate the previous behavior.
7675 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7676 coding-system.
7677
7678 * coding.c (decode_coding_object): When not decoding into a buffer,
7679 obey the coding system's preference of (uni|multi)byte.
7680
7681 2008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7682
7683 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7684 every char is changed and has a different byte-length.
7685 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7686 Fix int -> EMACS_INT.
7687
7688 2008-03-23 David Hansen <david.hansen@gmx.net>
7689
7690 * dbusbind.c (xd_read_message): Remove extra copying of message
7691 strings. Check for NULL `interface' or `member'.
7692
7693 2008-03-22 Eli Zaretskii <eliz@gnu.org>
7694
7695 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7696 cFileName a file name that includes `?' characters, use the 8+3
7697 alias in cAlternateFileName instead.
7698
7699 2008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7700
7701 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7702
7703 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7704
7705 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7706 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7707 work on current_buffer only instead (that was already the case
7708 for some of the code anyway).
7709 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7710 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7711 (SET_PT, SET_PT_BOTH): Adjust.
7712 * intervals.h (set_point, temp_set_point, set_point_both)
7713 (temp_set_point_both): Remove redundant declarations.
7714
7715 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7716
7717 * fileio.c (Finsert_file_contents):
7718 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7719 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7720 when buffer != current_buffer anyway.
7721
7722 2008-03-20 Andreas Schwab <schwab@suse.de>
7723
7724 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7725 as default.
7726
7727 2008-03-19 Jason Rumney <jasonr@gnu.org>
7728
7729 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7730 (syms_of_w32fns): Initialize them.
7731 (HOURGLASS_ID): New constant.
7732 (x_window_to_frame): Don't check hourglass_window.
7733 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7734 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7735 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7736 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7737 Only change the cursor if hourglass is not active.
7738 (Fx_create_frame): Initialize frame's current_cursor.
7739 (hourglass_atimer): Remove.
7740 (hourglass_started): New function.
7741 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7742 (show_hourglass): Adapt to w32, changing argument to frame.
7743
7744 * w32term.h (struct w32_output): Remove hourglass_window.
7745 Add current_cursor.
7746
7747 * eval.c (call_debugger, Fsignal):
7748 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7749 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7750 (Fexecute_extended_command, cancel_hourglass_unwind):
7751 * minibuf.c (read_minibuf):
7752 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7753
7754 2008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7755
7756 * window.c (run_funs): New fun.
7757 (run_window_configuration_change_hook): Use it to run the buffer-local
7758 and the global part of the hook.
7759
7760 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7761 (unwind_format_mode_line): Restore selected window.
7762 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7763
7764 2008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7765
7766 * editfns.c (Fchar_equal): Check they are valid characters.
7767
7768 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7769
7770 2008-03-17 Andreas Schwab <schwab@suse.de>
7771
7772 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7773 against a charset.
7774
7775 * lisp.h (Fbuffer_list): Declare.
7776
7777 2008-03-17 Jan Djärv <jan.h.d@swipnet.se>
7778
7779 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7780 handlebox_widget is != 0.
7781
7782 2008-03-16 Juri Linkov <juri@jurta.org>
7783
7784 * callint.c (Fcall_interactively): For interactive code letters
7785 'b' and 'B' put the buffer list into the list of default "future"
7786 values of the minibuffer.
7787
7788 2008-03-16 Andreas Schwab <schwab@suse.de>
7789
7790 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7791 modifiers.
7792
7793 * regex.c (re_match_2_internal): Correct matching of a charset
7794 against latin-1 characters.
7795
7796 2008-03-16 Kenichi Handa <handa@m17n.org>
7797
7798 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7799 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7800 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7801 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7802 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7803 CHAR_STRING_ADVANCE.
7804 (produce_chars): Fix for the case that the source and the
7805 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7806 instead of CHAR_STRING_ADVANCE.
7807 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7808 STRING_CHAR_ADVANCE.
7809
7810 2008-03-15 Andreas Schwab <schwab@suse.de>
7811
7812 * regex.c (re_match_2_internal): Correct matching of eight bit
7813 characters in unibyte strings.
7814
7815 2008-03-15 Martin Rudalics <rudalics@gmx.at>
7816
7817 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7818 at end of range when it coincides with the end of the buffer.
7819
7820 2008-03-14 Eli Zaretskii <eliz@gnu.org>
7821
7822 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7823
7824 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7825
7826 2008-03-14 Jason Rumney <jasonr@gnu.org>
7827
7828 * editfns.c (initial_tz): New variable.
7829 (syms_of_editfns): Initialize it.
7830 (Fset_time_zone_rule): Set it when first called.
7831 Use it when TZSTRING is nil.
7832
7833 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7834 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7835 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7836 (globals_of_w32fns): Initialize them.
7837 (compute_tip_xy): Use them to position tooltips.
7838
7839 2008-03-14 Glenn Morris <rgm@gnu.org>
7840
7841 * emacs.c (main): Revert previous change.
7842 (standard_args): Revert -internal-script back to -scriptload,
7843 and remove the long-option form.
7844
7845 2008-03-13 Glenn Morris <rgm@gnu.org>
7846
7847 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7848 Remove option -enable-font-backend.
7849
7850 2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7851
7852 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7853
7854 2008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7855
7856 * xterm.c (x_connection_closed): For GTK: If this is the last
7857 terminal just exit without closing the display.
7858
7859 2008-03-11 Jason Rumney <jasonr@gnu.org>
7860
7861 * w32font.c (w32font_full_name): Use floor to round.
7862
7863 2008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
7864
7865 * sound.c (alsa_configure): Declare vol at beginning of block.
7866
7867 * fontset.c (Ffontset_info): Remove extra semicolon.
7868
7869 2008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7870
7871 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7872 size of resulting string.
7873
7874 2008-03-10 Jason Rumney <jasonr@gnu.org>
7875
7876 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7877
7878 2008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7879
7880 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7881 Don't pretend as if characters with display property haven't been
7882 consumed for string-replacing-string case.
7883
7884 2008-03-08 Kim F. Storm <storm@cua.dk>
7885
7886 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7887 (get_next_display_element, next_element_from_string)
7888 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7889
7890 2008-03-08 Andreas Schwab <schwab@suse.de>
7891
7892 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7893
7894 2008-03-06 Jason Rumney <jasonr@gnu.org>
7895
7896 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7897 when charset not specified. Only translate ANSI to unicode when
7898 font_type is truetype.
7899 (w32font_coverage_ok): New function.
7900 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7901
7902 2008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7903
7904 * lread.c (Fread_char): Resolve modifiers.
7905 (Fread_char_exclusive): Likewise.
7906
7907 * character.c (char_resolve_modifier_mask): New function.
7908 (char_string): Use char_resolve_modifier_mask.
7909 (Fchar_resolve_modifiers): New function.
7910 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7911 function.
7912
7913 2008-03-04 Jason Rumney <jasonr@gnu.org>
7914
7915 * makefile.w32-in: Always include w32font.c in the build.
7916 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7917
7918 2008-03-04 Andreas Schwab <schwab@suse.de>
7919
7920 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7921 (versionclean): Likewise.
7922
7923 2008-03-04 Juanma Barranquero <lekktu@gmail.com>
7924
7925 * .cvsignore: Add oo.
7926
7927 2008-03-03 Andreas Schwab <schwab@suse.de>
7928
7929 * coding.c (decode_coding_object): Inhibit gap shrinking while
7930 decoding in place.
7931
7932 2008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7933
7934 * w32term.c: Remove unused include "gnu.h".
7935 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7936
7937 * gnu.h: Rename to ...
7938 * emacs-icon.h: ... this.
7939 * xterm.c: Use emacs-icon.h instead of gnu.h.
7940 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7941
7942 2008-03-03 Juanma Barranquero <lekktu@gmail.com>
7943
7944 * w32font.c: Include math.h.
7945
7946 2008-03-03 Jason Rumney <jasonr@gnu.org>
7947
7948 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7949 Compute options separately.
7950 (w32font_open_internal): Set glyph_idx before caching metrics.
7951
7952 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7953 Define if system headers don't.
7954 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7955 (w32font_encode_char): Don't declare here.
7956
7957 * w32font.c (Quniscribe, QCformat): New symbols.
7958 (syms_of_w32font): Define them.
7959 (w32font_has_char): Indicate uncertainty.
7960 (w32font_encode_char): Encode as glyph point. Make static.
7961 (recompute_cached_metrics): New function.
7962 (w32font_open_internal): Use it. Set font to use glyph points
7963 initially. Set format based on type of font.
7964 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7965 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7966 on it. Set format based on information available here.
7967 (add_font_entity_to_list): Identify backend based on opentype_only.
7968
7969 2008-03-02 Andreas Schwab <schwab@suse.de>
7970
7971 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7972
7973 * coding.c (decode_coding_big5, produce_chars):
7974 Fix typos in last change.
7975
7976 2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7977
7978 * gnu.h: New icon.
7979
7980 2008-03-02 Kenichi Handa <handa@m17n.org>
7981
7982 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7983 `dos', don't decode '\r' if that is the last in the source.
7984 (decode_coding_utf_16, decode_coding_emacs_mule)
7985 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7986 (decode_coding_raw_text, decode_coding_charset): Likewise.
7987 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7988
7989 2008-03-01 Jason Rumney <jasonr@gnu.org>
7990
7991 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7992
7993 2008-03-01 Kim F. Storm <storm@cua.dk>
7994
7995 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7996
7997 2008-03-01 Jason Rumney <jasonr@gnu.org>
7998
7999 * w32font.c (w32font_full_name): New function.
8000 (w32font_open_internal): Use it.
8001
8002 2008-03-01 Kim F. Storm <storm@cua.dk>
8003
8004 * dispnew.c (line_draw_cost): Fix invalid glyph check.
8005
8006 2008-03-01 Jason Rumney <jasonr@gnu.org>
8007
8008 * font.c (font_unparse_fcname): Increase len when style is a symbol.
8009
8010 2008-03-01 Jan Djärv <jan.h.d@swipnet.se>
8011
8012 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
8013 xg_frame_resized when the event is for the edit widget.
8014
8015 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
8016
8017 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
8018 set_char_size.
8019 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
8020 operations on widgets here. Just set frame size if needed.
8021 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
8022 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
8023 (x_wm_set_size_hint): Set size hints on the edit widget only, not
8024 the whole frame.
8025 (xg_create_tool_bar): Move attachment of the tool bar to
8026 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
8027 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
8028
8029 2008-03-01 Jason Rumney <jasonr@gnu.org>
8030
8031 * w32fns.c (w32_msg_pump): Disable debug code.
8032
8033 2008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8034
8035 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
8036
8037 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
8038
8039 * xdisp.c (next_overlay_string): Don't set
8040 overlay_strings_at_end_processed_p if we're currently reading from
8041 a display string.
8042
8043 2008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
8044
8045 * xdisp.c (get_overlay_strings_1): Fix typo.
8046
8047 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
8048
8049 * xdisp.c (get_overlay_strings_1): Add missing argument type.
8050
8051 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
8052
8053 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
8054
8055 * xdisp.c (display_mode_element): Cancel the previous change.
8056 (decode_mode_spec): Likewise.
8057 (handle_auto_composed_prop): Don't make composition if it->string
8058 is a string.
8059
8060 2008-02-27 Kim F. Storm <storm@cua.dk>
8061
8062 * lisp.h (GLYPH): Change type from int to struct with separate char
8063 and face_id members.
8064 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
8065 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
8066 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
8067 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
8068 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
8069 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
8070 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
8071 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
8072 handle new Lisp glyph code encoding, either an integer or a cons.
8073
8074 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
8075 (GLYPH_ALIAS): Delete.
8076 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
8077 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
8078 (GLYPH_FROM_CHAR): Replace macro by ...
8079 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
8080
8081 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
8082 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
8083 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
8084 (GLYPH_INVALID_P): New macro.
8085 (spec_glyph_lookup_face): Update prototype.
8086
8087 * dispnew.c (line_draw_cost): Adapt to new glyph type.
8088 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
8089 new glyph code encoding.
8090 (spec_glyph_lookup_face): No return value; update passed glyph instead.
8091 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
8092
8093 * xdisp.c (get_next_display_element, next_element_from_display_vector):
8094 Adapt to new glyph type and new glyph code encoding.
8095
8096 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
8097
8098 * indent.c (current_column, current_column_1, Fmove_to_column)
8099 (compute_motion): Adapt to new glyph code encoding.
8100
8101 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
8102
8103 2008-02-27 Chong Yidong <cyd@stupidchicken.com>
8104
8105 * process.c (wait_reading_process_output): Check for window
8106 changes caused by timers.
8107 Suggested by Johan Bockgård.
8108
8109 2008-02-27 Glenn Morris <rgm@gnu.org>
8110
8111 * emacs.c (USAGE1): Add `--disable-font-backend'.
8112
8113 2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8114
8115 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8116 is made to the buffer.
8117
8118 2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8119
8120 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8121 (face_at_string_position):
8122 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8123 (face_at_string_position):
8124 * xdisp.c (display_string, next_overlay_change):
8125 * buffer.h (overlays_at):
8126 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8127 Update callers.
8128
8129 2008-02-26 Chong Yidong <cyd@stupidchicken.com>
8130
8131 * editfns.c (Fformat): Doc fix.
8132
8133 2008-02-26 Juanma Barranquero <lekktu@gmail.com>
8134
8135 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8136 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8137 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8138
8139 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8140
8141 * buffer.c (Fbuffer_swap_text): New function.
8142 (syms_of_buffer): Defsubr it.
8143
8144 2008-02-25 Chong Yidong <cyd@stupidchicken.com>
8145
8146 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8147
8148 2008-02-25 Jason Rumney <jasonr@gnu.org>
8149
8150 * w32font.c (w32font_draw): Draw one character at a time when padding.
8151
8152 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8153
8154 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8155 Handle a nil arg. Use run_window_configuration_change_hook.
8156 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8157 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8158 Use run_window_configuration_change_hook.
8159
8160 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8161
8162 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8163 1-pixel width.
8164
8165 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8166
8167 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8168 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8169 if the glyph in the font is zero pixel with.
8170
8171 * dispextern.h (struct glyph_string): New member padding_p.
8172
8173 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8174
8175 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8176
8177 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8178
8179 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8180
8181 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8182
8183 2008-02-25 Jason Rumney <jasonr@gnu.org>
8184
8185 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8186
8187 2008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8188
8189 Allow fine-grained image-cache flushing.
8190 * dispextern.h (struct image): Add `dependencies' field.
8191 (clear_image_caches): Change arg to Lisp_Object.
8192 * image.c (make_image): Initialize `dependencies' field.
8193 (clear_image_cache): Change arg to allow fine-grained flushing.
8194 Perform the flush even if image-cache-eviction-delay is nil.
8195 (clear_image_caches): Change arg to Lisp_Object.
8196 (Fclear_image_cache): Expand meaning of the argument.
8197 (mark_image): Mark `dependencies' field.
8198 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8199 (lface_hash): Use XHASH rather than XFASTINT.
8200 (face_at_buffer_position): Fix int -> EMACS_INT position.
8201 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8202 (select_frame_for_redisplay): Remove code duplication.
8203 (redisplay_internal): Adapt arg to call to clear_image_caches.
8204
8205 2008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8206
8207 * s/vms4-0.h:
8208 * s/vms4-2.h:
8209 * s/vms4-4.h:
8210 * s/vms5-5.h: Remove, unused.
8211
8212 * s/irix5-2.h:
8213 * s/irix6-0.h:
8214 * s/riscos5.h:
8215 * s/mach-bsd4-3.h:
8216 * m/mips4.h: Remove files for obsolete systems.
8217
8218 * Makefile.in:
8219 * filelock.c:
8220 * unexmips.c:
8221 * m/hp9000s300.h:
8222 * m/iris4d.h:
8223 * s/aix3-1.h:
8224 * s/hpux.h:
8225 * s/msdos.h:
8226 * s/usg5-0.h:
8227 * s/usg5-2-2.h:
8228 * s/usg5-2.h:
8229 * s/usg5-3.h: Remove references to obsolete variables.
8230
8231 * s/irix5-0.h: Remove, move all the contents ...
8232 * s/irix6-5.h: ... here. Simplify.
8233 * config.in: Regenerate.
8234
8235 2008-02-24 Jason Rumney <jasonr@gnu.org>
8236
8237 * w32term.c (x_draw_glyph_string_background): Clear the background
8238 manually when cleartype is in use.
8239 (x_draw_glyph_string_foreground): Draw text transparently when
8240 cleartype is in use.
8241
8242 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8243 a font into it unless we have to.
8244
8245 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8246
8247 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8248 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
8249
8250 2008-02-18 Jason Rumney <jasonr@gnu.org>
8251
8252 * w32fns.c (Fw32_shell_execute): Encode parameters.
8253
8254 2008-02-09 Eli Zaretskii <eliz@gnu.org>
8255
8256 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8257
8258 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
8259
8260 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8261
8262 2008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8263
8264 * xterm.c (x_set_offset): Don't change the gravity if
8265 CHANGE_GRAVITY is -1.
8266
8267 2008-02-23 Chong Yidong <cyd@stupidchicken.com>
8268
8269 * fileio.c (auto_save_error_occurred): New var.
8270 (auto_save_error): Set it.
8271 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8272 error occurred.
8273
8274 2008-02-23 Eli Zaretskii <eliz@gnu.org>
8275
8276 * w32.c (globals_of_w32): Add initializations for
8277 g_b_init_get_sid_sub_authority and
8278 g_b_init_get_sid_sub_authority_count.
8279
8280 2008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8281
8282 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8283 (font_parse_xlfd): Use them for sanity check.
8284 (Finternal_set_font_style_table): Make sure the table is bijective.
8285
8286 Consolidate the image_cache to the terminal struct.
8287 * termhooks.h (P_): Remove redundant def.
8288 (struct terminal): New field `image_cache'.
8289 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8290 of FRAME_X_IMAGE_CACHE.
8291 * xterm.h (struct x_display_info): Remove image_cache field.
8292 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8293 * w32term.h (struct w32_display_info): Remove image_cache field.
8294 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8295 * macterm.h (struct mac_display_info): Remove image_cache field.
8296 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8297 * xterm.c (x_term_init):
8298 * w32term.c (w32_term_init):
8299 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8300 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8301 Remove declarations.
8302 (clear_image_caches, mark_image_cache): New declarations.
8303 * xfaces.c (clear_face_cache):
8304 * xdisp.c (redisplay_internal): Use clear_image_caches.
8305 * image.c (clear_image_cache): Don't check that a frame is on
8306 a window-system before checking if it shares the same cache.
8307 (clear_image_caches): New function.
8308 (Fclear_image_cache): Use it.
8309 (mark_image): Move from allo.c.
8310 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8311 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8312 (mark_object): Don't call mark_image_cache for frames.
8313 (mark_terminals): Call mark_image_cache.
8314
8315 * lisp.h (Fdelete_terminal): Declare.
8316
8317 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8318 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8319 wrong_type_argument.
8320
8321 2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8322
8323 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8324 malayalam.el, and tamil.el. Add sinhala.el.
8325
8326 2008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8327
8328 * xterm.c (x_connection_closed): Consolidate identical tests.
8329 (x_delete_terminal): Don't crash if called via x_connection_closed.
8330
8331 2008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8332
8333 * xdisp.c (decode_mode_spec): New arg string.
8334 (display_mode_element): Adjust for the above change.
8335
8336 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8337
8338 * callint.c (Fcall_interactively): Use AREF.
8339
8340 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8341
8342 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8343
8344 2008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8345
8346 * xfns.c (Fx_show_tip): Set string to " " if empty.
8347
8348 2008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8349
8350 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8351 with Qt.
8352
8353 2008-02-17 Kenichi Handa <handa@m17n.org>
8354
8355 * ftfont.c (ftfont_shape): Return Lispy number.
8356
8357 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8358 for GCs.
8359 (Finternal_set_font_selection_order): Call font_update_sort_order
8360 only when enable_font_backend is set.
8361 (realize_x_face): Set face->font_info to that of default face only
8362 when enable_font_backend is set.
8363
8364 * xdisp.c (handle_composition_prop): Set it->c to the fist
8365 character of the composed region.
8366 (fill_composite_glyph_string): Set base_face->font_info to
8367 s->font_info. Get a face for ascii from base_face->ascii_face.
8368 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8369 with a face already decided.
8370 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8371 non-negative.
8372 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8373 call font_prepare_composition unconditionally.
8374
8375 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8376
8377 * xterm.h (struct x_display_info): New member font.
8378
8379 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8380 (x_set_mouse_face_gc, x_new_font): Likewise.
8381 (x_term_init): Setup display_info->font.
8382 (x_delete_terminal): Free display_info->font.
8383
8384 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8385
8386 * ftxfont.c (ftxfont_default_fid): Delete it.
8387 (ftxfont_open): Set xfont->fid to 0.
8388 (ftxfont_end_for_frame): Clear data specific to the frame and the
8389 font-driver.
8390
8391 * xftfont.c (xftfont_default_fid): Delete it.
8392 (xftfont_open): Set xfont->fid to 0.
8393
8394 * fontset.c (FONTSET_OBJLIST): New macro.
8395 (fontset_find_font): Update font-object list of the fontset.
8396 (free_realized_fontset): New function.
8397 (free_face_fontset): Call free_realized_fontset.
8398 (Ffont_info): Call font_close_object only when enable_font_backend
8399 is set.
8400
8401 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8402 [HAVE_NTGUI]: Include w32term.h.
8403 [MAC_OS]: Include macterm.ch.
8404 (font_otf_ValueRecord): Use make_number.
8405 (font_finish_cache): Fix handling of reference count.
8406 (font_clear_cache): Update num_fonts.
8407 (font_open_entity): Update smallest_char_width and
8408 smallest_font_height of the frame.
8409 (font_close_object): Update num_fonts.
8410 (Fclear_font_cache): Fix finding the target cache data.
8411
8412 2008-02-16 Glenn Morris <rgm@gnu.org>
8413
8414 * fontset.c (Finternal_char_font): Fix compilation warning.
8415
8416 2008-02-16 Eli Zaretskii <eliz@gnu.org>
8417
8418 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8419 instead of char arrays. Enlarge the size of array passed to
8420 get_token_information.
8421
8422 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8423 warnings.
8424
8425 2008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8426
8427 * .gdbinit: Don't set `args', it breaks gdb --args.
8428
8429 2008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8430
8431 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8432 within a narrowed buffer.
8433
8434 2008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8435
8436 * coding.c (decode_coding_object, encode_coding_object):
8437 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8438
8439 2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8440
8441 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8442 hardcoding 1.
8443 (detect_coding_system):
8444 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8445 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8446 * insdel.c (insert_from_gap):
8447 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8448 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8449 (string_to_multibyte):
8450 * character.c (chars_in_text, multibyte_chars_in_text):
8451 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8452
8453 * character.h (FETCH_STRING_CHAR_ADVANCE)
8454 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8455 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8456 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8457
8458 * casefiddle.c (casify_region): Only call after-change and composition
8459 functions on the part of the region that was changed.
8460
8461 * keyboard.c (read_avail_input):
8462 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8463
8464 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8465
8466 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8467 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8468
8469 2008-02-11 Juanma Barranquero <lekktu@gmail.com>
8470
8471 * w32menu.c (push_submenu_start, push_submenu_end)
8472 (push_left_right_boundary, push_menu_pane, push_menu_item):
8473 * keyboard.c (read_key_sequence): Don't pass args with side effects
8474 to AREF, it fails when compiling with -DENABLE_CHECKING.
8475
8476 2008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8477
8478 * Makefile.in (${lispsource}international/charprop.el):
8479 Delete this target.
8480
8481 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8482 emacs-unicode-2.
8483
8484 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8485
8486 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8487
8488 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8489
8490 * frame.c (Qnoelisp): New symbol.
8491 (syms_of_frame): Initialize it.
8492 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8493 harmless Elisp code, from a strong `force' from x_connection_closed.
8494 * frame.h (Qnoelisp): Declare.
8495 * xterm.c (x_connection_closed): Pass `noelisp'.
8496
8497 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8498 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8499 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8500 rather than `int' for the type of `type'.
8501
8502 2008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8503
8504 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8505
8506 * Makefile.in (GNUC): Remove support for gcc-1.x.
8507
8508 2008-02-10 Richard Stallman <rms@gnu.org>
8509
8510 * lisp.h (ASET): Use AREF, not ASLOT.
8511
8512 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8513
8514 * lisp.h (ASET): Check bounds.
8515
8516 2008-02-10 Glenn Morris <rgm@gnu.org>
8517
8518 * buffer.c (mode-name): Doc fix.
8519
8520 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8521
8522 * Makefile.in:
8523 * emacs.c:
8524 * gmalloc.c:
8525 * keyboard.c:
8526 * lisp.h:
8527 * m/ibm370aix.h:
8528 * process.c:
8529 * regex.c:
8530 * s/hpux.h:
8531 * sysdep.c:
8532 * sysselect.h:
8533 * systty.h:
8534 * unexec.c:
8535 * w32term.c:
8536 * xsmfns.c:
8537 * xterm.c: Remove code that deals with obsolete variables.
8538
8539 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8540
8541 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8542 nothing else needs it anymore.
8543
8544 2008-02-09 Eli Zaretskii <eliz@gnu.org>
8545
8546 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8547 instead of unibyte_char_to_multibyte.
8548
8549 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8550
8551 * s/gnu-linux.h: Remove commented out code.
8552
8553 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8554
8555 * Makefile.in: Update what RMS says about using autoconf.
8556 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8557 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8558 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8559 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8560
8561 2008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8562
8563 * keymap.c (Fkey_description): Move side effect outside of macro call.
8564
8565 * xfaces.c (Finternal_make_lisp_face):
8566 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8567
8568 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8569 (syms_of_fontset): Use ASET.
8570
8571 * fns.c (concat): Move side effect outside of macro call.
8572 (hash_clear): Use ASET.
8573
8574 2008-02-08 Richard Stallman <rms@gnu.org>
8575
8576 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8577 If FORCE, and frame has a surrogate minibuffer for another frame,
8578 delete the other frame first.
8579
8580 2008-02-07 Timo Savola <timo.savola@iki.fi>
8581
8582 * xterm.c (x_detect_focus_change): Handle embed client message.
8583 (handle_one_xevent): Ditto.
8584 (handle_one_xevent): If embedded and we get a button press/release,
8585 request focus.
8586 (xembed_set_info, xembed_send_message): New functions.
8587 (x_make_frame_visible): Call xembed_set_info if embedded.
8588 (x_make_frame_invisible): Call xembed_set_info if embedded.
8589 (x_term_init): Initialize Xatom_XEMBED.
8590 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8591 (x_iconify_frame): Ditto.
8592
8593 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8594 (enum xembed_info, enum xembed_message, enum xembed_focus)
8595 (enum xembed_modifier, enum xembed_accelerator): New.
8596 (xembed_set_info, xembed_send_message): Declare.
8597 (FRAME_X_EMBEDDED_P): New.
8598
8599 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8600 gtk_plug_new.
8601
8602 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8603 window ID of a frame.
8604 (x_window): Reparent frame if embedded.
8605 (Fx_create_frame): Don't set border width if embedded.
8606
8607 * emacs.c (USAGE3): Add --parent-id.
8608 (standard_args): Ditto.
8609
8610 2008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8611
8612 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8613
8614 2008-02-07 Jim Meyering <meyering@redhat.com>
8615
8616 Use "do...while (0)", not "if (1)...else" in macro definitions.
8617 The latter provokes a warning from gcc about the empty else, when
8618 followed by ";". Also, without that trailing semicolon, it would
8619 silently swallow up any following statement.
8620 * syntax.h (SETUP_SYNTAX_TABLE)
8621 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8622 * buffer.h (DECODE_POSITION): Likewise.
8623 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8624 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8625 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8626 (FETCH_CHAR_ADVANCE): Likewise.
8627 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8628
8629 2008-02-07 Jim Meyering <meyering@redhat.com>
8630
8631 * lread.c [lint]: Don't include <sys/inode.h>.
8632
8633 2008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8634
8635 * xselect.c (x_handle_dnd_message):
8636 * xmenu.c (digest_single_submenu, xmenu_show):
8637 * xdisp.c (with_echo_area_buffer_unwind_data)
8638 (format_mode_line_unwind_data, unwind_format_mode_line)
8639 (display_menu_bar):
8640 * eval.c (Ffetch_bytecode):
8641 * doc.c (store_function_docstring):
8642 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8643 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8644 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8645
8646 2008-02-07 Kenichi Handa <handa@m17n.org>
8647
8648 * ftxfont.c (ftxfont_open): Don't set
8649 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8650
8651 * ftfont.c (ftfont_open): Fix previous change.
8652
8653 2008-02-06 Jason Rumney <jasonr@gnu.org>
8654
8655 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8656 Use cached metrics for ASCII characters.
8657 (w32font_open_internal): Don't set font's owning_frame.
8658 Cache metrics for ASCII characters.
8659
8660 * w32font.h (struct w32font_info): Add ascii_metrics.
8661 Remove owning_frame.
8662
8663 2008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8664
8665 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8666 to negative value.
8667
8668 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8669
8670 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8671
8672 * charset.c (syms_of_charset): Set QCtest and Qeq.
8673
8674 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8675
8676 * process.c (Fstart_process):
8677 * callproc.c (Fcall_process): Handle the case where
8678 Funhandled_file_name_directory returns nil.
8679
8680 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8681 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8682 * font.c (check_gstring): Use them and AREF to access the vector before
8683 we know it's really a gstring.
8684 (Ffont_shape_text): Fix typo.
8685 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8686
8687 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8688 Declare.
8689
8690 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8691
8692 2008-02-05 Jason Rumney <jasonr@gnu.org>
8693
8694 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8695 Set smallest_font_height and smallest_char_width in display info.
8696
8697 2008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8698
8699 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8700
8701 2008-02-05 Miles Bader <miles@gnu.org>
8702
8703 * xfaces.c (get_lface_attributes, merge_named_face)
8704 (lookup_named_face, lookup_derived_face, realize_named_face):
8705 Revert 2008-02-01 change by cyd@stupidchicken.com.
8706
8707 2008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8708
8709 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8710 fallback fonts.
8711 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8712
8713 2008-02-04 Jason Rumney <jasonr@gnu.org>
8714
8715 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8716 set full_name.
8717 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8718
8719 2008-02-03 Jason Rumney <jasonr@gnu.org>
8720
8721 * makefile.w32-in (OBJ1): Include font.o here.
8722 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8723
8724 2008-02-02 Jason Rumney <jasonr@gnu.org>
8725
8726 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8727
8728 2008-02-01 Jason Rumney <jasonr@gnu.org>
8729
8730 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8731
8732 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8733
8734 2008-02-01 Andreas Schwab <schwab@suse.de>
8735
8736 * Makefile.in (shortlisp, lisp): Update for rename of
8737 ../lisp/language/myanmar.el.
8738
8739 2008-02-01 Chong Yidong <cyd@stupidchicken.com>
8740
8741 * xfaces.c (get_lface_attributes): Delete function.
8742 (merge_named_face, lookup_named_face, lookup_derived_face)
8743 (realize_named_face): Call lface_from_face_name directly, and use
8744 the fact that merge_face_vectors does not alter its FROM argument.
8745
8746 2008-02-01 Jason Rumney <jasonr@gnu.org>
8747
8748 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8749 input in the default locale. Handle non-Unicode multibyte input.
8750
8751 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8752
8753 * fontset.c (reorder_font_vector): Exclude nil elements from the
8754 font group. Don't try multiple fonts.
8755 (fontset_font): Adjust for the above change.
8756 (Finternal_char_font): Return nil if the found font doesn't
8757 contain the character ch.
8758
8759 * Makefile.in (lisp, shortlisp): Add cham.el.
8760
8761 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8762
8763 * font.h (FONTP): Make it return 1 also for a font-object.
8764
8765 * .gdbinit (xfontset): New function.
8766
8767 * font.c (font_find_for_lface): Check if the character C is
8768 supported or not only for the first font.
8769
8770 * fontset.c (reorder_font_vector): Fix typo.
8771 (fontset_find_font): Don't add a font-spec specifying a script.
8772 Use 0 (not Qt) for the indication of empty font-group. Change the
8773 format of RFONT-DEF. Return Qt if no font in the font-group
8774 support the character.
8775 (fontset_font): Adjust for the above change. If no font was
8776 found the character, remember that.
8777 (face_for_char): Adjust for the change of RFONT-DEF.
8778 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8779 no font for the target.
8780 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8781
8782 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8783
8784 * font.c (font_load_for_face): Handle the case that the font in
8785 face->lface is a string.
8786
8787 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8788
8789 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8790
8791 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8792
8793 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8794 Fix previous change. If the frame is not on a window system,
8795 signal an error.
8796
8797 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8798
8799 * coding.c (decode_coding_object, encode_coding_object): Adjust
8800 marker positions after conversion.
8801
8802 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8803
8804 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8805
8806 * font.c (font_find_for_lface): Fix the handling of the return
8807 value of font_has_char.
8808 (Ffont_shape_text): Fix previous change.
8809
8810 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8811 (fontset_ref_and_range): Delete it.
8812 (fontset_find_font): Call char_table_ref_and_range instead of
8813 FONTSET_REF_AND_RANGE.
8814 (make_fontset): Don't setup font groups of Latin here.
8815 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8816 (new_fontset_from_font): Make the specified font the default for
8817 all Latin characters.
8818
8819 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8820
8821 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8822 is on a window system before accessing the fontset of the frame.
8823
8824 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8825
8826 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8827
8828 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8829 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8830
8831 * font.c (Ffont_shape_text): If the font driver doesn't have a
8832 shaper function, make zero-width glyphs to have at least one-pixel
8833 width. Fix setting of `to' field of glyphs.
8834
8835 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8836
8837 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8838 glyphs.
8839
8840 * font.h (struct font_driver): Improve docstring of member `shape'.
8841
8842 2008-02-01 Kenichi Handa <handa@m17n.org>
8843
8844 * composite.c (syms_of_composite): Fix docstring of
8845 auto-composition-function.
8846
8847 * font.h (LGLYPH_SIZE): New macro.
8848
8849 * font.c (Ffont_fill_gstring): Stop filling when a character not
8850 supported by the font is found.
8851 (Ffont_shape_text): When a shape callback function returns nil,
8852 try at most two more times with larger gstring.
8853 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8854
8855 * xdisp.c (handle_auto_composed_prop): Change the argument to
8856 auto-composition-function.
8857
8858 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8859 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8860 Lispy glyph and store it in the lgstring.
8861
8862 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8863
8864 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8865
8866 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8867
8868 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8869
8870 * fontset.c (Vfont_encoding_charset_alist): New variable.
8871 (syms_of_fontset): DEFVAR it.
8872 (reorder_font_vector, fontset_find_font): Optimize for the case of
8873 no need of reordering.
8874 (face_for_char): Map the charset property by
8875 Vfont_encoding_charset_alist.
8876
8877 2008-02-01 Jason Rumney <jasonr@gnu.org>
8878
8879 * w32font.c (logfonts_match): Don't check adstyle here.
8880 (font_matches_spec): Check here against physical font instead.
8881 (add_font_entity_to_list): Avoid some substitutions.
8882
8883 * font.c (font_parse_fcname): Default weight and slant to normal.
8884 (font_score): Prefer normal fonts if weight or slant unspecified.
8885 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8886 match freetype scores.
8887
8888 2008-02-01 Jason Rumney <jasonr@gnu.org>
8889
8890 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8891 font, as it may have been deleted.
8892 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8893 most common hyphenless variation.
8894 (logfonts_match): Check generic family.
8895 (font_matches_spec): Don't check generic family here.
8896 (fill_in_logfont): Set generic family based on adstyle.
8897
8898 * w32font.h (w32font_get_cache): Update declaration.
8899
8900 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8901
8902 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8903
8904 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8905 If none of the new drivers are available, call font_update_drivers
8906 with the old drivers.
8907
8908 * w32font.c (w32font_get_cache): Adjust the argument type.
8909
8910 * xfont.c (xfont_get_cache): Adjust the argument type.
8911
8912 * font.h (struct font_driver): Change argument type of get_cache.
8913
8914 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8915
8916 * font.c (Ffont_get): Fix arguments to Fassoc.
8917 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8918 (font_clear_cache): New function.
8919 (font_list_entities, font_matching_entity): Use font_get_cache.
8920 (font_update_drivers): Call font_clear_cache when finishing a driver.
8921
8922 * fontset.c (fontset_find_font): Fix previous change.
8923
8924 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8925
8926 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8927 dpyinfo->font_table.
8928 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8929 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8930
8931 * font.c (font_at): Handle the case that the arg C is negative.
8932 Handle the unibyte case.
8933 (Ffont_at): Call font_at with the arg C -1.
8934
8935 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8936 the position here, and call font_at with the arg C -1.
8937 Don't check the range of the existing composition at the point.
8938
8939 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8940
8941 * fontset.c (fontset_add): New args charset_id and family.
8942 Change caller.
8943 (load_font_get_repertory, fontset_find_font): Assume that
8944 font_spec is always a font-spec object.
8945 (Fset_fontset_font): Always store a font-spec object in a fontset.
8946
8947 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8948 instead of get_property_and_range.
8949
8950 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8951
8952 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8953 (xftfont_open): Don't keep locking face.
8954 (xftfont_close): Don't unlock face.
8955 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8956
8957 * fontset.c (fontset_find_font): Don't prefer a font of
8958 supplementary charset.
8959
8960 2008-02-01 Kenichi Handa <handa@m17n.org>
8961
8962 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8963 script, langsys_tag to langsys, new member script.
8964 (OTF_TAG_STR): Terminate by '\0'.
8965 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8966 listing to the script specified in that property. Fix arg to
8967 OTF_check_features.
8968
8969 2008-02-01 Jason Rumney <jasonr@gnu.org>
8970
8971 * w32font.h: New file.
8972
8973 * w32font.c: Include it.
8974 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8975 (w32font_open): Set owning_frame.
8976 (w32font_text_extents): Use owning_frame.
8977 (struct font_callback_data): Add opentype_only field.
8978 (add_font_entity_to_list): Use it to filter fonts.
8979 Don't check against full name.
8980 (w32font_list_internal): New function.
8981 (w32font_list): Use it.
8982 (w32font_match_internal): New function.
8983 (w32font_match): Use it.
8984 (w32font_open_internal): New function.
8985 (w32font_open): Use it.
8986 (w32font_get_cache, w32font_close, w32font_has_char)
8987 (w32font_encode_char, w32font_text_extents, w32font_draw):
8988 Make non-static.
8989
8990 * makefile.w32-in (w32font.o): Depend on w32font.h.
8991
8992 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8993
8994 * charset.c (Fdefine_charset_internal): Record a supplementary
8995 charset at the tail of Vcharset_order_list.
8996
8997 * font.c (Ffont_shape_text): Fix the return value.
8998
8999 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
9000
9001 * xdisp.c (handle_auto_composed_prop): Fix previous change.
9002
9003 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9004
9005 * ftfont.c (struct OpenTypeSpec): New struct.
9006 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
9007 (ftfont_get_open_type_spec): New function.
9008 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
9009
9010 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
9011
9012 2008-02-01 Jason Rumney <jasonr@gnu.org>
9013
9014 * w32font.c (add_font_entity_to_list): Compare only the beginning
9015 of full name.
9016
9017 2008-02-01 Kenichi Handa <handa@m17n.org>
9018
9019 * xdisp.c (handle_auto_composed_prop): Simplify the code.
9020 Never return HANDLED_RECOMPUTE_PROPS.
9021
9022 2008-02-01 Kenichi Handa <handa@m17n.org>
9023
9024 * font.c (font_gstring_produce): Delete it.
9025
9026 * composite.h (COMPOSITION_METHOD):
9027 Handle COMPOSITION_WITH_GLYPH_STRING.
9028
9029 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9030
9031 * xfont.c (Qx): Delete.
9032 (syms_of_xfont): Don't initialize Qx.
9033
9034 * composite.h (enum composition_method):
9035 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
9036
9037 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9038
9039 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
9040 (choose_face_font): Accept new form of font-spec.
9041
9042 * frame.h (font_driver_list): Declare it unconditionally.
9043 (struct frame): Define members font_driver_list and font_data_list
9044 unconditionally.
9045
9046 * fontset.c: Include "font.h" unconditionally.
9047 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
9048 (Fset_fontset_font): Accept a font-spec object.
9049
9050 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
9051 PIXEL_SIZE part a wild card.
9052
9053 * dispextern.h (struct glyph_string): Define members clip and
9054 num_clips unconditionally.
9055 (struct face): Define members font_info and extra unconditionally.
9056
9057 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
9058 ftfont_info only when HAVE_LIBOTF is defined.
9059
9060 2008-02-01 Andreas Schwab <schwab@suse.de>
9061
9062 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
9063 and end.
9064
9065 2008-02-01 Jason Rumney <jasonr@gnu.org>
9066
9067 * w32font.c (w32font_driver): Add new fields.
9068
9069 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9070
9071 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
9072 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
9073 (LIBES): Add @M17N_FLT_CFLAGS@.
9074
9075 * composite.c (compose_text): Don't treat the new style
9076 composition specially.
9077
9078 * emacs.c (main): Call syms_of_font unconditionally.
9079
9080 * font.h (FONT_ENTITY_NOT_LOADABLE)
9081 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
9082 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
9083 (struct font_driver): New member shape.
9084 (font_registry_charsets): Extern it.
9085 (font_find_for_lface, font_prepare_composition): Adjust prototype.
9086 (font_otf_capability, font_drive_otf): Delete their externs.
9087
9088 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
9089 (font_charset_alist, font_registry_charsets): Move from xfont.c
9090 and rename.
9091 (font_prop_validate_otf): New function.
9092 (font_property_table): Register it for QCotf.
9093 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
9094 (font_drive_otf): Delete.
9095 (font_prepare_composition): New arg F. Adjust for the change of
9096 lispy gstring.
9097 (font_find_for_lface): New arg C.
9098 (font_load_for_face): Adjust for the change of font_find_for_lface.
9099 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
9100 lispy gstring.
9101 (Ffont_shape_text): New function.
9102 (Fopen_font): If the font size is not given, use 12-pixel.
9103 (Ffont_at): New arg STRING.
9104 (syms_of_font): Initalize font_charset_alist.
9105 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
9106 conditionally.
9107
9108 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
9109 fonts of the same font-spec. Change the format of RFONT-DEF.
9110 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
9111 Adjust for the change of RFONT-DEF.
9112 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
9113
9114 * ftfont.h: New file.
9115
9116 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9117 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9118 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9119 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9120 font_otf_capability and font_drive_otf, set ftfont_shape.
9121 (ftfont_list): Adjust for the change of :otf property value.
9122 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9123 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9124 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9125 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9126 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9127 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9128
9129 * w32term.c (x_draw_composite_glyph_string_foreground):
9130 Adjust for the change of lispy gstring.
9131
9132 * xdisp.c (handle_composition_prop): Adjust for the change of
9133 lispy gstring. Call a function for auto-composition with the
9134 third arg it->window.
9135 (fill_composite_glyph_string): Adjust for the change of lispy string.
9136 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9137
9138 * xfaces.c (set_font_frame_param): Adjust for the change of
9139 font_find_for_lface.
9140
9141 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9142 (xfont_registry_charsets): Likewise. Change caller.
9143 (syms_of_xfont): Don't handle x_font_charset_alist.
9144
9145 * xftfont.c: Include "ftfont.h".
9146 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9147 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9148 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9149 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9150 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9151 Set xftfont_driver.shape to xftfont_shape.
9152
9153 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9154 the change of lispy gstring.
9155
9156 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9157
9158 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9159
9160 2008-02-01 Jason Rumney <jasonr@gnu.org>
9161
9162 * w32font.c (w32font_draw): Fill background manually.
9163
9164 2008-02-01 Jason Rumney <jasonr@gnu.org>
9165
9166 * font.c (Qfontp): Remove unused symbol.
9167 (QCantialias): New symbol.
9168 (syms_of_font): Define it.
9169 (font_property_table): Set a validator for QCantialias.
9170
9171 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9172 Define if not already.
9173 (QCfamily): Share with xfaces.c.
9174 (Qstandard, Qsubpixel, Qnatural): New symbols.
9175 (syms_of_w32font): Define them. Don't define QCfamily here.
9176 (w32_antialias_type, lispy_antialias_type): New functions.
9177 (w32_enumfont_pattern_entity): New arg requested_font.
9178 Set antialias parameter if non-default was requested.
9179 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9180
9181 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9182
9183 * lread.c (read1): Undo the previous change.
9184
9185 2008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9186
9187 * frame.c (Fdelete_frame): Call font_update_drivers only when
9188 USE_FONT_BACKEND is defined.
9189
9190 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9191
9192 * font.h (struct font_bitmap): New member bits_per_pixel.
9193 (struct font_driver): New members start_for_frame and end_for_frame.
9194 (struct font_data_list): New struct.
9195 (font_put_frame_data, font_get_frame_data): Extern them.
9196
9197 * frame.h (struct frame): New member font_data_list.
9198
9199 * font.c (font_update_drivers): Call driver->start_for_frame and
9200 driver->end_for_frame at proper timings.
9201 (font_put_frame_data, font_get_frame_data): New functions.
9202 (Ffont_spec): Add usage in the docstring.
9203
9204 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9205 (Fdelete_frame): Call font_update_drivers.
9206
9207 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9208 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9209 (xftfont_get_xft_draw): New function.
9210 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9211 (xftfont_end_for_frame): New function.
9212 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9213
9214 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9215 Change argument. Cache GCs in the per-frame data.
9216 (struct ftxfont_frame_data): New struct.
9217 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9218 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9219 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9220 (ftxfont_end_for_frame): New function.
9221 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9222
9223 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9224
9225 2008-02-01 Kenichi Handa <handa@m17n.org>
9226
9227 * xselect.c (Vselection_coding_system)
9228 (Vnext_selection_coding_system): Delete them.
9229 (syms_of_xselect): Don't declare selection-coding-system and
9230 next-selection-coding-system. They are declared in select.el.
9231
9232 2008-02-01 Jason Rumney <jasonr@gnu.org>
9233
9234 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9235
9236 * w32fns.c: Include imm.h.
9237 (get_composition_string_fn, get_ime_context_fn): New optional
9238 system functions.
9239 (globals_of_w32fns): Load them from imm32.dll.
9240 (ignore_ime_char): New flag.
9241 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9242 WM_IME_ENDCOMPOSITION messages.
9243
9244 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9245 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9246
9247 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9248
9249 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9250 (READCHAR_REPORT_MULTIBYTE): New macro.
9251 (readchar): New 2nd arg MULTIBYTE.
9252 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9253 Make symbol's name multibyte according to the multibyteness of the
9254 source.
9255
9256 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9257
9258 * xfaces.c (face_for_overlay_string): Call lookup_face with
9259 correct arguments (fix of synching with the trunk).
9260
9261 2008-02-01 Kenichi Handa <handa@m17n.org>
9262
9263 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9264 (font_prop_validate_non_neg, font_prop_validate_spacing):
9265 Delete argument prop_index.
9266 (font_property_table): Change arguments to validater. Change Callers.
9267 (font_lispy_object): Delete.
9268 (font_at): Use font_find_object instead fo font_lispy_object.
9269
9270 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9271
9272 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9273 and file names.
9274
9275 2008-02-01 Jason Rumney <jasonr@gnu.org>
9276
9277 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9278 (font_matches_spec): Remove debug output.
9279 (add_font_entity_to_list): Avoid using substituted fonts.
9280
9281 2008-02-01 Jason Rumney <jasonr@gnu.org>
9282
9283 * doc.c (Fsnarf_documentation):
9284 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9285
9286 2008-02-01 Miles Bader <miles@gnu.org>
9287
9288 * dispextern.h (struct glyph_row): Only define "clip" field if
9289 HAVE_WINDOW_SYSTEM is defined.
9290
9291 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9292
9293 Fix up multi-tty merge.
9294
9295 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9296 and indentation.
9297
9298 * xfaces.c (free_realized_face, clear_face_gcs):
9299 Include font_done_for_face in the input_blocked section, just in case.
9300
9301 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9302 (get_char_face_and_encoding): Undo last change and remove the *other*
9303 duplicate definition (i.e. keep the one that's better scoped and that
9304 includes code for the font-backend).
9305
9306 * terminal.c (create_terminal): Default keyboard_coding to
9307 `no-conversion' and terminal_coding to `undecided'.
9308
9309 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9310
9311 * fontset.c (free_realized_fontsets): Check that the table entry does
9312 contain a fontset before trying to compare it to `base'.
9313
9314 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9315 syms_of_charset, and syms_of_coding earlier because init_window_once
9316 now needs Vcoding_system_hash_table to be setup.
9317
9318 * coding.h (default_buffer_file_coding): Remove.
9319
9320 * coding.c (default_buffer_file_coding): Remove.
9321 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9322 than ->symbol, and use the terminal-local coding system.
9323 (syms_of_coding): Don't setup the coding-systems that are not
9324 terminal-local.
9325 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9326
9327 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9328 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9329
9330 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9331 in chartab.c and were re-added here by mistake.
9332 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9333
9334 * doc.c (Fsnarf_documentation):
9335 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9336 src to etc.
9337
9338 * ChangeLog.10: Add mistakenly removed entry.
9339
9340 2008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9341
9342 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9343
9344 2008-02-01 Miles Bader <miles@gnu.org>
9345
9346 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9347 Add extra args to FACE_FOR_CHAR.
9348
9349 2008-02-01 Kenichi Handa <handa@m17n.org>
9350
9351 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9352 in sequence.
9353
9354 * chartab.c (map_sub_char_table, map_char_table): If the range
9355 contains just one character, call the function with that character
9356 even if the depth is not 3.
9357
9358 2008-02-01 Jason Rumney <jasonr@gnu.org>
9359
9360 * w32font.c (w32font_text_extents): Calculate metrics for the
9361 whole string.
9362
9363 2008-02-01 Jason Rumney <jasonr@gnu.org>
9364
9365 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9366
9367 2008-02-01 Jason Rumney <jasonr@gnu.org>
9368
9369 * w32term.c (x_set_glyph_string_clipping): Use
9370 get_glyph_string_clip_rects.
9371 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9372 Adjust for the change of struct glyph_string.
9373
9374 * w32font.c (w32font_draw): Do clipping here.
9375
9376 2008-02-01 Kenichi Handa <handa@m17n.org>
9377
9378 * xftfont.c (xftfont_draw): Adjust for the change of struct
9379 glyph_string.
9380
9381 * xterm.c (x_set_glyph_string_clipping): Use
9382 get_glyph_string_clip_rects.
9383 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9384 Adjust for the change of struct glyph_string.
9385
9386 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9387 the resulting clip(s}.
9388 (expose_overlaps): Add arg r. Change callers. Set it to
9389 row->clip temporarily.
9390 (expose_window): Redraw rows overlapping the exposed area.
9391
9392 * dispextern.h (struct glyph_row): New member clip.
9393 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9394 clip_height, new member clip, and num_clips.
9395
9396 2008-02-01 Kenichi Handa <handa@m17n.org>
9397
9398 * data.c (Fchar_or_string_p): Fix docstring.
9399
9400 2008-02-01 Kenichi Handa <handa@m17n.org>
9401
9402 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9403 create a temporary XftDraw object.
9404
9405 2008-02-01 Kenichi Handa <handa@m17n.org>
9406
9407 * font.c (Ffontp): Fix docstring.
9408
9409 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9410 strong evidence of ISO-2022.
9411
9412 2008-02-01 Kenichi Handa <handa@m17n.org>
9413
9414 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9415 SYNTAX_ENTRY_FOLLOW_PARENT.
9416
9417 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9418
9419 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9420 its type.
9421 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9422 Update to the new type of weak_hash_tables and next_weak.
9423
9424 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9425 a plain C pointer to Lisp_Hash_Table.
9426
9427 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9428 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9429 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9430 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9431 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9432 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9433 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9434 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9435 (GC_EQ): Remove since they've been identical to their non-GC_
9436 alter-egos ever since the markbit was eradicated.
9437
9438 * alloc.c:
9439 * buffer.c:
9440 * buffer.h:
9441 * data.c:
9442 * fileio.c:
9443 * filelock.c:
9444 * fns.c:
9445 * frame.h:
9446 * lisp.h:
9447 * macterm.c:
9448 * print.c:
9449 * process.c:
9450 * w32fns.c:
9451 * w32menu.c:
9452 * w32term.c:
9453 * xfns.c:
9454 * xmenu.c:
9455 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9456
9457 2008-02-01 Kenichi Handa <handa@m17n.org>
9458
9459 * chartab.c (map_sub_char_table): Make it work for the top-level
9460 char-table. Fix handling of parent char-table.
9461 (map_char_table): Adjust for the above change.
9462
9463 2008-02-01 Jason Rumney <jasonr@gnu.org>
9464
9465 * w32font.c (Qgdi): Rename from Qw32.
9466
9467 2008-02-01 Jason Rumney <jasonr@gnu.org>
9468
9469 * w32bdf.c (get_quoted_string): Make function static.
9470
9471 2008-02-01 Kenichi Handa <handa@m17n.org>
9472
9473 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9474 bigger ascent and descent than those of the font, use them as
9475 font's ascent and descent.
9476
9477 2008-02-01 Kenichi Handa <handa@m17n.org>
9478
9479 * Makefile.in (${lispsource}international/charprop.el): Move this
9480 target within "#ifdef HAVE_UNIDATA" and "#endif".
9481
9482 2008-02-01 Kenichi Handa <handa@m17n.org>
9483
9484 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9485 (shortlisp): Add ../lisp/language/tai-viet.el.
9486
9487 2008-02-01 Ulrich Mueller <ulm@gentoo.org>
9488
9489 * Makefile.in (${lispsource}international/charprop.el): Depend on
9490 temacs${EXEEXT}.
9491
9492 2008-02-01 Jason Rumney <jasonr@gnu.org>
9493
9494 * w32font.c (w32font_close): Delete the GDI font object.
9495
9496 * w32menu.c: Include character.h.
9497
9498 * w32proc.c: Likewise.
9499
9500 * w32select.c: Likewise.
9501
9502 * makefile.w32-in (w32proc.o): Depend on character.h.
9503
9504 2008-02-01 Jason Rumney <jasonr@gnu.org>
9505
9506 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9507
9508 * w32menu.c (syms_of_w32menu): Likewise.
9509
9510 * w32proc.c (syms_of_ntproc): Likewise.
9511
9512 * w32select.c (syms_of_w32select): Likewise.
9513
9514 * w32term.c (syms_of_w32term): Likewise.
9515
9516 2008-02-01 Jason Rumney <jasonr@gnu.org>
9517
9518 * w32font.c (w32font_draw): Delete brush after using it.
9519
9520 2008-02-01 Jason Rumney <jasonr@gnu.org>
9521
9522 * w32font.c (w32font_open): Don't set font_idx.
9523 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9524 to font settings.
9525 (w32font_draw): Fill background explicitly.
9526
9527 2008-02-01 Jason Rumney <jasonr@gnu.org>
9528
9529 * w32term.c (w32_initialize): Don't call w32font_initialize.
9530
9531 * w32font.c (w32font_info): Remove subranges.
9532 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9533 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9534 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9535 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9536 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9537 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9538 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9539 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9540 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9541 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9542 New symbols.
9543 (font_callback_data): New struct.
9544 (w32font_list, w32font_match): Use it.
9545 (w32font_open): Don't populate subranges.
9546 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9547 (w32font_encode_char): Always return unicode code-point as-is.
9548 (w32font_text_extents): Supply a transformation matrix to
9549 GetGlyphOutline. Never look up by glyph index. Avoid looping
9550 twice. Use unicode version of GetTexExtentPoint32 instead of
9551 glyph index version.
9552 (set_fonts_frame): Remove.
9553 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9554 set frame parameter. Use backward compatible fake foundries.
9555 Save generic family in extra slot under QCfamily. Make width slot
9556 constant. Save QCspacing value. Save list of scripts instead of
9557 binary subranges.
9558 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9559 (add_font_entity_to_list): Use font_callback_data struct. Filter
9560 unwanted fonts.
9561 (add_one_font_entity_to_list): Use font_callback_data struct.
9562 (w32_registry): Default to iso10646_1.
9563 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9564 string font registries. Don't fill in font name if it is a generic
9565 family name, fill family instead. Use spacing, family and script
9566 extra info to fill pitch, family and charset fields.
9567 (list_all_matching_fonts): Use font_callback_data struct.
9568 (unicode_range_for_char): Remove.
9569 (font_supported_scripts): New function.
9570 (w32font_initialize): Remove.
9571 (syms_of_w32font): Update which symbols are defined.
9572
9573 2008-02-01 Jason Rumney <jasonr@gnu.org>
9574
9575 * font.c (font_pixel_size): Reverse assq_no_quit args.
9576
9577 * w32term.h (FONT_WIDTH): Report max width, not average.
9578 (FONT_MAX_WIDTH): Remove.
9579 (FONT_AVG_WIDTH): New macro.
9580
9581 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9582 redefinition of FONT_WIDTH.
9583
9584 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9585 (w32_cache_char_metrics): Use FONT_WIDTH.
9586
9587 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9588
9589 2008-02-01 Jason Rumney <jasonr@gnu.org>
9590
9591 * w32font.c (w32font_open): Make lfHeight negative.
9592
9593 * w32fns.c (x_default_font_parameter): Use new style font name.
9594 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9595
9596 2008-02-01 Jason Rumney <jasonr@gnu.org>
9597
9598 * w32font.c (QCsubranges): New symbol.
9599 (w32font_open, w32font_has_char): Get subranges from subproperty
9600 of extra.
9601 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9602 (syms_of_w32font): Define :subranges symbol.
9603
9604 * font.c (font_put_extra): Expose externally.
9605
9606 * font.h (font_put_extra): Move declaration from font.c.
9607
9608 * font.c (Ffont_get): Use font driver to determine otf capability.
9609 (adjust_anchor): Check if driver defines anchor_point before using.
9610
9611 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9612 (w32font_draw): Use options.
9613 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9614 Fix detection of truetype fonts.
9615 (registry_to_w32_charset): Handle charsets other than iso8859-1
9616 expressed as lisp symbols.
9617 (w32_registry): Express charset as lisp symbol.
9618 (fill_in_logfont): Reverse pixel and point height logic.
9619 Don't set width here. Set quality to default.
9620
9621 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9622 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9623
9624 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9625 Remove redundant loop and allocation.
9626
9627 * makefile.w32-in (font.o, w32font.o): New objects.
9628 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9629 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9630
9631 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9632 STORE_XCHARB a valid l-value.
9633
9634 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9635 calculations for non-Truetype fonts.
9636 (x_draw_glyph_string): Sync with xterm.c.
9637 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9638 Remove redundant code.
9639 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9640
9641 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9642 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9643
9644 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9645 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9646
9647 * w32font.c: New file for w32 font backend.
9648
9649 2008-02-01 Kenichi Handa <handa@m17n.org>
9650
9651 * term.c: Don't include "buffer.h" twice.
9652
9653 2008-02-01 Kenichi Handa <handa@m17n.org>
9654
9655 * character.c (Funibyte_string): New function.
9656 (syms_of_character): Defsubr it.
9657
9658 2008-02-01 Jason Rumney <jasonr@gnu.org>
9659
9660 * w32term.c [USE_FONT_BACKEND]:
9661 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9662 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9663 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9664 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9665 (x_free_frame_resources): Sync with xterm.c.
9666
9667 2008-02-01 Andreas Schwab <schwab@suse.de>
9668
9669 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9670 char-table size.
9671
9672 2008-02-01 Kenichi Handa <handa@m17n.org>
9673
9674 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9675
9676 2008-02-01 Kenichi Handa <handa@m17n.org>
9677
9678 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9679 font_otf_gpos, add font_drive_otf.
9680
9681 * fontset.c (fontset_find_font): Pay attention to font size
9682 specified for a font.
9683 (reorder_font_vector): Check contents of font_def.
9684
9685 * font.c (struct otf_list): Delete it.
9686 (otf_list): Make it a lisp variable.
9687 (otf_open): Use lispy otf_list.
9688 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9689 (check_otf_features): New function.
9690 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9691 New functions.
9692 (font_drive_otf): New function merging font_otf_gsub and
9693 font_otf_gpos.
9694 (font_open_for_lface): New arg spec. Change argument order.
9695 (font_load_for_face): Adjust for the change of font_open_for_lface.
9696 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9697 Ffont_otf_gpos.
9698 (syms_of_font): Staticpro otf_list. Delete defsubr of
9699 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9700
9701 * xfaces.c (set_font_frame_param): Adjust for the change of
9702 font_open_for_lface.
9703
9704 * font.h (font_open_for_lface): Adjust prototype.
9705 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9706 member otf_drive.
9707 (font_otf_gsub, font_otf_gpos): Delete externs.
9708 (font_drive_otf): Extern it.
9709
9710 2008-02-01 Kenichi Handa <handa@m17n.org>
9711
9712 * font.c (font_at): If the window W is not on a window system,
9713 return Qnil.
9714
9715 * coding.c (produce_chars, encode_coding): Don't call
9716 insert_from_gap if no characters to produce.
9717
9718 2008-02-01 Kenichi Handa <handa@m17n.org>
9719
9720 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9721 Fclear_face_cache.
9722
9723 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9724
9725 2008-02-01 Miles Bader <miles@gnu.org>
9726
9727 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9728 Parse "--disable-font-backend" option.
9729 (standard_args): Add "--disable-font-backend" option.
9730
9731 2008-02-01 Kenichi Handa <handa@m17n.org>
9732
9733 * fontset.c (fontset_find_font): New function.
9734 (fontset_font): Use fontset_find_font.
9735 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9736 Register the specified font for all Latin characters.
9737 (new_fontset_from_font): Register the specified font for all Latin
9738 characters.
9739 (dump_fontset): For a realized fontset, include the base fontset
9740 name in the returned vector.
9741
9742 2008-02-01 Kenichi Handa <handa@m17n.org>
9743
9744 * character.h (CHAR_STRING): Cast C to unsigned on calling
9745 char_string.
9746
9747 * character.c (char_string): Type of arg C changed to unsigned.
9748 Signal an error if C is an invalid character code.
9749
9750 * editfns.c (general_insert_function, Fchar_to_string):
9751 Use CHARACTERP, not INTEGERP.
9752
9753 2008-02-01 Kenichi Handa <handa@m17n.org>
9754
9755 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9756 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9757
9758 * regex.c (analyse_first): Fix for multibyte characters in "case
9759 charset:" and "case categoryspec:".
9760
9761 2008-02-01 Andreas Schwab <schwab@suse.de>
9762
9763 * Makefile.in (LIBES): Move standard libraries to the end.
9764
9765 2008-02-01 Kenichi Handa <handa@m17n.org>
9766
9767 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9768 nonzero, don't shrink the buffer nextb.
9769
9770 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9771
9772 * coding.c (coding_alloc_by_making_gap): New arg offset.
9773 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9774 offset.
9775 (decode_coding_iso_2022): Update coding->safe_charsets.
9776 (decode_coding_gap): Temporarily set
9777 current_buffer->text->inhibit_shrinking to 1.
9778
9779 2008-02-01 Kenichi Handa <handa@m17n.org>
9780
9781 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9782 indexing into elements of s->cmp and s->char2b.
9783
9784 2008-02-01 Juanma Barranquero <lekktu@gmail.com>
9785
9786 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9787
9788 2008-02-01 Kenichi Handa <handa@m17n.org>
9789
9790 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9791 target_multibyte instead of multibyte.
9792 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9793 (bcmp_translate): Change the argument name from multibyte to
9794 target_multibyte.
9795
9796 2008-02-01 Kenichi Handa <handa@m17n.org>
9797
9798 These changes are to compile a regexp into a pattern that can be
9799 used both for multibyte and unibyte targets.
9800
9801 * Makefile.in (search.o): Depend on charset.h.
9802
9803 * character.c (multibyte_char_to_unibyte_safe): New function.
9804
9805 * search.c: Include "charset.h".
9806 (compile_pattern_1): Delete argument multibyte. Don't set
9807 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9808 (compile_pattern): Don't compare cp->buf.target_multibyte.
9809 Compare cp->buf.charset_unibyte.
9810 (compile_pattern): Set cp->buf.target_multibyte.
9811
9812 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9813
9814 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9815
9816 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9817 multibyte. Change callers.
9818 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9819 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9820 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9821 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9822 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9823 (regex_compile): Make the compiled pattern usable both for
9824 multibyte and unibyte targets.
9825 (analyse_first): Make the fastmap usable both for multibyte and
9826 unibyte targets.
9827 (TRANSLATE_VIA_MULTIBYTE): Delete.
9828 (re_match_2_internal): Pay attention to the case that the
9829 multibyteness of bufp and target may be different.
9830
9831 2008-02-01 Kenichi Handa <handa@m17n.org>
9832
9833 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9834 empty box occupy at least one column width.
9835
9836 2008-02-01 Miles Bader <miles@gnu.org>
9837
9838 * Makefile.in: Remove redundant HAVE_XFT clause.
9839
9840 2008-02-01 Kenichi Handa <handa@m17n.org>
9841
9842 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9843
9844 2008-02-01 Kenichi Handa <handa@m17n.org>
9845
9846 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9847 being nil.
9848
9849 2008-02-01 Kenichi Handa <handa@m17n.org>
9850
9851 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9852
9853 2008-02-01 Kenichi Handa <handa@m17n.org>
9854
9855 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9856
9857 2008-02-01 Kenichi Handa <handa@m17n.org>
9858
9859 * search.c (simple_search): Fix previous change.
9860
9861 2008-02-01 Kenichi Handa <handa@m17n.org>
9862
9863 * xftfont.c (ftfont_font_format): Extern declaration.
9864
9865 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9866
9867 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9868 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9869
9870 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9871 (ftfont_font_format): Fix previous change.
9872
9873 * font.h (Ffont_xlfd_name): EXFUN it.
9874
9875 * font.c (font_parse_xlfd): Fix the array size of `f'.
9876 (register_font_driver): Use EQ to compare driver->type.
9877
9878 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9879 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9880 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9881
9882 2008-02-01 Kenichi Handa <handa@m17n.org>
9883
9884 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9885 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9886
9887 2008-02-01 Kenichi Handa <handa@m17n.org>
9888
9889 * xfont.c (xfont_open): Set font->format.
9890
9891 * xftfont.c (xftfont_open): Set font->format.
9892
9893 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9894 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9895 (ftfont_open): Set font->format.
9896 (ftfont_font_format): New function.
9897
9898 * font.h (struct font): New member format.
9899
9900 * font.c (Qopentype): New variable.
9901 (syms_of_font): Defsym it.
9902 (Fquery_font): Change the format of the last element of the return
9903 value.
9904
9905 2008-02-01 Kenichi Handa <handa@m17n.org>
9906
9907 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9908 last resort.
9909
9910 2008-02-01 Kenichi Handa <handa@m17n.org>
9911
9912 * coding.c (detect_coding_charset): Fix detection of multi-byte
9913 charset.
9914
9915 2008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9916
9917 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9918
9919 2008-02-01 Kenichi Handa <handa@m17n.org>
9920
9921 * xdisp.c (get_next_display_element): Set it->face_id for the
9922 first component of a composition.
9923 (x_produce_glyphs): Check if the font is changed or not for composition.
9924
9925 2008-02-01 Kenichi Handa <handa@m17n.org>
9926
9927 * fontset.c (Qlatin): New variable.
9928 (syms_of_fontset): Define it as a lisp symbol.
9929 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9930
9931 2008-02-01 Kenichi Handa <handa@m17n.org>
9932
9933 * font.c (font_unparse_fcname): Pay attention to the case that
9934 some of font property is a null string.
9935
9936 2008-02-01 Kenichi Handa <handa@m17n.org>
9937
9938 * term.c: Include "composite.h".
9939 (encode_terminal_code): Output all components of composition.
9940 Check the size of encode_terminal_src.
9941 (produce_glyphs): For composition, call produce_composite_glyph.
9942 (append_composite_glyph, produce_composite_glyph): New functions.
9943
9944 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9945 is not found, get font_info from the current ascii face.
9946
9947 2008-02-01 Kenichi Handa <handa@m17n.org>
9948
9949 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9950 buffer-file-name to Qnil before calling insert_from_buffer.
9951
9952 * font.c (font_unparse_fcname): Pay attention to the case that
9953 foundry is a null string.
9954
9955 2008-02-01 Kenichi Handa <handa@m17n.org>
9956
9957 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9958
9959 * font.c (Qunicode_sip): New variable.
9960 (syms_of_font): Declare it as a Lisp symbol.
9961
9962 * font.h (Qunicode_sip): Extern it.
9963
9964 2008-02-01 Kenichi Handa <handa@m17n.org>
9965
9966 * composite.c (get_composition_id): Pay attention to TAB component.
9967
9968 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9969 TAB. Adjust for the change of s->char2b which always points to
9970 the first element of allocated memory.
9971
9972 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9973
9974 * xdisp.c (handle_composition_prop): Set it->c to the first
9975 non-TAB component.
9976 (fill_composite_glyph_string): Change argument.
9977 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9978 (x_produce_glyphs): Fix handling of left/right padding.
9979
9980 2008-02-01 Kenichi Handa <handa@m17n.org>
9981
9982 * coding.c (detect_coding_system): Fix for handling off
9983 inhibit_iso_escape_detection. Fix for the case that no coding
9984 system is defined for a specific coding category.
9985
9986 2008-02-01 Kenichi Handa <handa@m17n.org>
9987
9988 * font.c (font_matching_entity): Delete unused local var.
9989
9990 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9991 opening a font.
9992
9993 * fileio.c (Finsert_file_contents): On recovering a file, assume
9994 Unix-like eol.
9995 (choose_write_coding_system): On auto-saving a file, force
9996 Unix-like eol.
9997
9998 * coding.c (setup_coding_system): Fix setting of
9999 coding->common_flags based on eol_type.
10000 (coding_inherit_eol_type): If PARENT is not nil, be sure to
10001 inherit from it.
10002
10003 2008-02-01 Kenichi Handa <handa@m17n.org>
10004
10005 * alloc.c (NSTATICS): Increas to 0x600.
10006
10007 2008-02-01 Kenichi Handa <handa@m17n.org>
10008
10009 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
10010 (ftfont_list): Don't check :name property.
10011 (ftfont_match): New function.
10012 (ftfont_pattern_entity): If the pattern doesn't contain
10013 FC_SPACING, don't assume FC_MONO.
10014
10015 * font.h (struct font_driver): New member `match'.
10016 (font_update_drivers): Adjust prototype.
10017
10018 * font.c (font_parse_fcname, font_parse_name): Don't change :name
10019 property of FONT.
10020 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
10021 them unconditionally.
10022 (font_matching_entity): New function.
10023 (font_open_by_name): Try font_matching_entity if exact match is
10024 not found.
10025 (font_update_drivers): Delete the arg FONT. Return a list of
10026 actually used backends. Don't free faces, font caches here.
10027 Don't store data in frame parameters. Don't call x_set_font.
10028 (Ffont_spec): Store :name property as is.
10029 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
10030 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
10031 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
10032 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
10033 Call font->driver->otf_gsub instead of font_otf_gsub.
10034
10035 * frame.c (x_set_font_backend): Do more works that were done in
10036 font_update_drivers before.
10037
10038 * xfont.c (xfont_match): New function.
10039 (xfont_driver): Set xfont_driver.match to xfont_match.
10040 (xfont_draw): Set font in GC if necessary.
10041
10042 * ftxfont.c (ftxfont_match): New function.
10043 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
10044
10045 * xftfont.c (xftfont_match): New function.
10046 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
10047
10048 2008-02-01 Kenichi Handa <handa@m17n.org>
10049
10050 * font.h (struct font): New member scalable.
10051 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
10052 (font_otf_gsub): Adjust prototype.
10053
10054 * font.c (font_otf_capability): Fix handling of the default langsys.
10055 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
10056 Check the contents of SPEC.
10057 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
10058 (check_gstring): New function.
10059 (REPLACEMENT_CHARACTER): New macro.
10060 (font_otf_gsub): New arg alternate_subst. Be sure to set all
10061 glyph codes of GSTRING.
10062 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
10063 (font_prepare_composition): Set cmp->glyph_len.
10064 (font_open_entity): Set font->scalable.
10065 (Ffont_get): Handle :otf property.
10066 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
10067 functions.
10068 (Fquery_font): Use font->font.full_name.
10069 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
10070 Sfont_otf_alternates.
10071
10072 * ftfont.c (ftfont_open): Set font->font.full_name and
10073 font->font.name properly. Fix calculation of font->font.height
10074 and font->min_width.
10075
10076 * ftxfont.c (ftxfont_create_gcs): New function.
10077 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
10078 (ftxfont_draw_backgrond): Fix filling region.
10079 (ftxfont_default_fid): New function.
10080 (ftxfont_open): Set xfont->fid to the return value of
10081 ftxfont_default_fid.
10082 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
10083 (ftxfont_done_face): Free only GCs that are created by
10084 ftxfont_create_gcs.
10085 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
10086
10087 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
10088 Clip to src->width, etc (not src->clip_XXX).
10089
10090 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
10091 FontBackend frame parameter.
10092
10093 2008-02-01 Kenichi Handa <handa@m17n.org>
10094
10095 * font.h (struct font_driver_list): New member `on'.
10096 (Fclear_font_cache): EXFUN it.
10097 (font_update_drivers): Extern it.
10098
10099 * font.c (font_unparse_fcname): Fix typo (swidth->width).
10100 (font_list_entities): Check driver_list->on.
10101 (register_font_driver): Initalize `on' member to 0.
10102 (font_update_drivers): New function.
10103 (Fclear_font_cache): Check driver_list->on.
10104
10105 * frame.h (Qfont_backend): Extern it.
10106 (x_set_font_backend): Extern it.
10107
10108 * frame.c (Qfont_backend): New variable.
10109 (frame_parms): New element for font-backend.
10110 (x_set_font_backend): New function.
10111
10112 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
10113 FontBackend frame parameter.
10114 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10115 x_set_font_backend.
10116
10117 * xfont.c (xfont_list): Don't try listing by :name property if the
10118 name is not for XLFD.
10119
10120 2008-02-01 Kenichi Handa <handa@m17n.org>
10121
10122 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10123 (LGLYPH_SET_TO): New macros.
10124 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10125 element of G is vector or not.
10126 (font_at): Extern it.
10127
10128 * font.c: Include window.h.
10129 (font_lispy_object): New function.
10130 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10131 end of valid glyph.
10132 (font_close_object): Fix getting (struct font *).
10133 (font_at): New function.
10134 (Ffont_get): If FONT is a font-object, get entity from it.
10135 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10136 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10137 range check.
10138 (Ffont_at): New function.
10139 (syms_of_font): Defsubr Sfont_at.
10140
10141 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10142 before the entry for Qcomposition.
10143 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10144 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10145 the font in gstring.
10146 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10147 LGLYPH_FORM (g) to detect the end of valid glyph.
10148 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10149 we are composing with gstring.
10150
10151 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10152 Check if adjustment is vector or not.
10153
10154 * Makefile.in (font.o): Make it depends on window.h.
10155
10156 2008-02-01 Kenichi Handa <handa@m17n.org>
10157
10158 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10159 adjustment is vector or not.
10160
10161 2008-02-01 Miles Bader <miles@gnu.org>
10162
10163 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10164
10165 2008-02-01 Kenichi Handa <handa@m17n.org>
10166
10167 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10168 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10169 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10170
10171 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10172 (DEVICE_DELTA): Fix typo.
10173 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10174 LGLYPH format.
10175
10176 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10177 the change of LGLYPH format.
10178
10179 2008-02-01 Kenichi Handa <handa@m17n.org>
10180
10181 * ftfont.c (ftfont_list): Fix typo.
10182 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10183
10184 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10185
10186 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10187
10188 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10189 xftface_info is non-NULL.
10190
10191 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10192
10193 * ftfont.c (ftfont_list): Move misplaced #endif.
10194
10195 2008-02-01 Kenichi Handa <handa@m17n.org>
10196
10197 * ftfont.c (ftfont_list): Pay attention to the case that
10198 FC_CAPABILITY is not defined.
10199
10200 2008-02-01 Kenichi Handa <handa@m17n.org>
10201
10202 * xftfont.c (xftfont_open): Set charset related members to -1.
10203
10204 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10205 QCname.
10206 (ftfont_open): Set charset related members to -1.
10207
10208 * fontset.c (Votf_script_alist): New variable.
10209 (syms_of_fontset): Initialize it.
10210 (fontset_font): Delete unused variable.
10211
10212 * fontset.h (Votf_script_alist): Extern it.
10213
10214 * font.c (font_find_for_lface): Optimize code.
10215
10216 * font.h (font_close_object, font_merge_old_spec): Extern them.
10217
10218 2008-02-01 Kenichi Handa <handa@m17n.org>
10219
10220 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10221 (syms_of_font): Initialize them.
10222 (font_pixel_size): Allow float value in dpi.
10223 (font_prop_validate_type): Delete.
10224 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10225 Change caller.
10226 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10227 (font_prop_validate_extra): Delete.
10228 (font_prop_validate_spacing): New function.
10229 (font_property_table): Add elements for all known properties.
10230 (get_font_prop_index): Rename from check_font_prop_name. New
10231 argument FROM. Change caller.
10232 (font_prop_validate): Validate all known properties.
10233 (font_put_extra): Delete argument force. Change caller.
10234 (font_expand_wildcards): Make it static. Fix the way of shrinking
10235 the possible range.
10236 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10237 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10238 Change caller.
10239 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10240 (font_parse_fcname): Delete argument merge. Fix parsing of point
10241 size. Don't validate properties values here. Change caller.
10242 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10243 (font_open_by_name): Delete unused variable.
10244 (Ffont_spec): Likewise. Validate property values.
10245 (Ffont_match_p): New function.
10246
10247 * font.h (QCscalable): Extern it.
10248 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10249
10250 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10251
10252 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10253 (xfont_list_pattern): New function.
10254 (xfont_list): Use xfont_list_pattern.
10255
10256 2008-02-01 Kenichi Handa <handa@m17n.org>
10257
10258 * font.h (Flist_fonts): EXFUN it.
10259
10260 2008-02-01 Jason Rumney <jasonr@gnu.org>
10261
10262 * w32term.c (w32_initialize): Add back smoothing_type and
10263 smoothing_enabled definitions.
10264
10265 2008-02-01 Kenichi Handa <handa@m17n.org>
10266
10267 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10268 s->face->font on determining underline position.
10269
10270 2008-02-01 Kenichi Handa <handa@m17n.org>
10271
10272 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10273 (font_has_char): Accept font-object too.
10274 (font_find_for_lface): Try at first with a size specified in face.
10275
10276 2008-02-01 Kenichi Handa <handa@m17n.org>
10277
10278 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10279 font_open_by_name.
10280
10281 2008-02-01 Kenichi Handa <handa@m17n.org>
10282
10283 * font.h (QCspacing, QCdpi): Extern them.
10284 (enum font_spacing): New enum.
10285 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10286
10287 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10288 (QCspacing, QCdpi): New variables.
10289 (syms_of_font): Initialize them.
10290 (font_pixel_size): New function.
10291 (font_put_extra): New function.
10292 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10293 in FONT_EXTRA.
10294 (font_parse_fcname): Handle enumerated values (e.g. bold).
10295 Fix handling font size. Add QCname property that contains only
10296 unknown properties.
10297 (font_score): Change argument. Change caller. Pay attention to
10298 FONT_PIXEL_SIZE_QUANTUM.
10299 (font_sort_entites, font_list_entities, font_find_for_lface)
10300 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10301 (Ffont_spec): Add QCname property that contains only unknown properties.
10302
10303 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10304 include weight in listing pattern, instead check weight of each
10305 listed font. Don't include scalable in pattern. Pay attention to
10306 FONT_PIXEL_SIZE_QUANTUM.
10307
10308 2008-02-01 Kenichi Handa <handa@m17n.org>
10309
10310 * font.c (font_parse_fcname): Fix parsing of point-size.
10311 (font_unparse_fcname): Produce symbolic names for style properties.
10312 (font_list_entities): Handle float size correctly.
10313 (font_open_by_name): Prefer `normal' property values if the name
10314 doesn't specify them.
10315
10316 * fontset.c (Finternal_char_font): Use font_get_name, not
10317 Ffont_xlfd_name.
10318
10319 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10320 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10321 pattern. Don't force scalable.
10322
10323 * xftfont.c (xftfont_open): For generating a name, start from
10324 96-byte buffer.
10325
10326 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10327
10328 * frame.h (x_new_fontset2): Fix prototype.
10329
10330 2008-02-01 Kenichi Handa <handa@m17n.org>
10331
10332 * font.h (struct font_driver): Delete member parse_name.
10333 (font_match_p, font_get_spec, font_parse_fcname)
10334 (font_unparse_fcname): Extern them.
10335 (font_get_name): Adjust prototype.
10336
10337 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10338 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10339 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10340 unnecessary checks for weight, slant, and swidth.
10341 (font_parse_fcname): New function.
10342 (font_unparse_fcname): New function.
10343 (font_parse_name): New function.
10344 (font_match_p): New function.
10345 (font_get_name): Change return value to Lisp string.
10346 (font_get_spec): New function.
10347 (Qunspecified, Qignore_defface): Don't extern them.
10348 (font_find_for_lface): Assume that LFACE is fully specified.
10349 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10350 object, use it for FACE.
10351 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10352 driver->parse_name.
10353 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10354
10355 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10356 prototype.
10357
10358 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10359 argument F. Don't call Fnew_fontset. Instead, directly call
10360 make_fontset.
10361
10362 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10363
10364 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10365 of x_new_fontset2.
10366
10367 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10368 (Qsans__serif): New variables.
10369 (ftfont_generic_family_list): New variable.
10370 (syms_of_ftfont): Initialize the above variables.
10371 (ftfont_pattern_entity): Delete argument NAME.
10372 (ftfont_list_generic_family): New function.
10373 (ftfont_parse_name): Delete this function.
10374 (ftfont_list): Try generic family only when FcFontList found no font.
10375 (ftfont_list_family): Fix args to FcObjectSetBuild.
10376
10377 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10378 object in attrs[LFACE_FONT_INDEX].
10379 (set_lface_from_font_name): Cancel all changes for font-backend.
10380 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10381 function.
10382 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10383 font object in QCfont attribute.
10384 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10385 (realize_default_face) [USE_FONT_BACKEND]: Call
10386 set_lface_from_font_and_fontset.
10387
10388 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10389 "fixed", and signal error here if no suitable font was found.
10390
10391 * xfont.c (xfont_parse_name): Delete this function.
10392
10393 * xftfont.c (xftfont_open): Change coding style of error
10394 handling. Generate fontconfig's fontname pattern.
10395
10396 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10397 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10398
10399 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10400 Both args FONTSET and FONT_OBJECT must be existing ones.
10401
10402 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10403
10404 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10405
10406 2008-02-01 Kenichi Handa <handa@m17n.org>
10407
10408 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10409
10410 * font.h (struct font): Fix typo.
10411
10412 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10413 XLFD_XXX_INDEX.
10414 (enum xlfd_field_mask): New enum.
10415 (intern_font_field): Changed argument. Change caller. If digits
10416 are followed by non-digits, return a symbol.
10417 (font_expand_wildcards): New function.
10418 (font_parse_xlfd): Fix wildcard handling.
10419 (Ffont_spec): If :name is specified, reflect the info in the other
10420 properties.
10421
10422 * ftfont.c (ftfont_pattern_entity): Fix typo.
10423 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10424 locale.
10425
10426 2008-02-01 Kenichi Handa <handa@m17n.org>
10427
10428 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10429
10430 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10431 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10432 registry doesn't specify encoding part.
10433 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10434 (font_open_by_name): At first try parsing the name.
10435 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10436 as Lisp symbols.
10437
10438 * fontset.c (reorder_font_vector): Pay attention to the case that
10439 the 3rd element of font_def is nil.
10440 (fontset_font): For the default fontset, append one more fontset
10441 elements for a script-based font specification. Don't add script
10442 attribute on finding a font.
10443 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10444 font name.
10445 (fontset_ascii_font): If a font can't be opened, return nil.
10446
10447 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10448 (ftfont_pattern_entity): New function.
10449 (ftfont_get_cache): Assume that freetype_font_cache is already
10450 initialized.
10451 (ftfont_list): Handle the case that a file is specified in font
10452 name. Use ftfont_pattern_entity to generate entities.
10453 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10454 (syms_of_ftfont): Initialize freetype_font_cache.
10455
10456 * xftfont.c (xftfont_open): Make the font name fontconfig's
10457 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10458 (xftfont_close): Free font->font.name if not NULL.
10459
10460 * xfont.c (xfont_list): If script is specified for a font, return
10461 null_vector.
10462 (xfont_list_family): Declare argument type.
10463
10464 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10465 name, set LFACE_FONT (lface) to nil.
10466
10467 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10468 return Qnil.
10469
10470 2008-02-01 Kenichi Handa <handa@m17n.org>
10471
10472 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10473 (standard_args): Add "-enable-font-backend".
10474
10475 2008-02-01 Kenichi Handa <handa@m17n.org>
10476
10477 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10478 (struct xftdraw_list, xftdraw_list): Delete them.
10479 (register_xftdraw, check_xftdraw): Delete them.
10480 (xftfont_prepare_face): Don't call register_xftdraw.
10481 (xftfont_done_face): Don't call check_xftdraw.
10482 (xftfont_draw): Get background color only when with_background is
10483 nonzero.
10484
10485 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10486
10487 2008-02-01 Kenichi Handa <handa@m17n.org>
10488
10489 These changes are for the new font handling codes.
10490
10491 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10492 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10493 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10494 (FONTSRC, FONTOBJ): New variables.
10495 (obj): Add $(FONTOBJ).
10496 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10497 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10498 @LIBOTF_LIBS@.
10499 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10500 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10501
10502 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10503
10504 * character.h (Vscript_representative_chars): Extern it.
10505
10506 * character.c (Vscript_representative_chars): New variable.
10507 (syms_of_character): Declare it as a Lisp variable.
10508
10509 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10510 enable_font_backend is nonzero, accept the composition method
10511 COMPOSITION_WITH_GLYPH_STRING.
10512
10513 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10514 enumeration COMPOSITION_WITH_GLYPH_STRING.
10515
10516 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10517 members clip_x, clip_y, clip_width, and clip_height.
10518 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10519
10520 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10521 --enable-font-backend. Call syms_of_font.
10522
10523 * fns.c (assoc_no_quit): New function.
10524
10525 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10526 (face_for_font, new_fontset_from_font)
10527 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10528
10529 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10530 (fontset_font, fontset_ascii, face_for_char)
10531 (make_fontset_for_ascii_face, Ffont_info)
10532 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10533 is nonzero, use font-backend mechanism.
10534 (find_font_encoding): Make it non-static.
10535 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10536 New functions.
10537
10538 * frame.h (struct frame): New members resx and resy.
10539 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10540 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10541
10542 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10543 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10544
10545 * lisp.h (assoc_no_quit): Extern it.
10546
10547 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10548 Through out the file, use FONT_INFO_FROM_FACE instead of
10549 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10550 rif->per_char_metric.
10551 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10552 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10553 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10554 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10555 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10556 nonzero, use font-backend mechanism.
10557 (get_per_char_metric): New function.
10558
10559 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10560 (set_lface_from_font_name)
10561 (set_font_frame_param, free_realized_face)
10562 (prepare_face_for_display, clear_face_gcs)
10563 (Finternal_set_font_selection_order, realize_x_face)
10564 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10565 font-backend mechanism.
10566 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10567 (load_face_font) [USE_FONT_BACKEND]: Abort.
10568 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10569 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10570
10571 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10572 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10573 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10574 nonzero, register all available font drivers. Call
10575 x_default_font_parameter for deciding a font.
10576 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10577
10578 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10579 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10580 (x_set_glyph_string_clipping_exactly)
10581 (x_compute_glyph_string_overhangs)
10582 (x_draw_glyph_string_foreground)
10583 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10584 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10585 enable_font_backend is nonzero, use font-backend mechanism.
10586 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10587
10588 2008-02-01 Kenichi Handa <handa@m17n.org>
10589
10590 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10591 system_eol_type.
10592 (syms_of_coding): Initialize system_eol_type.
10593
10594 * process.c (Fset_process_coding_system): Inherit system's eol
10595 format if necessary.
10596
10597 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10598
10599 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10600
10601 2008-02-01 Kenichi Handa <handa@m17n.org>
10602
10603 * coding.c (decode_eol): Pay attention to buffer relocation in
10604 del_range_2.
10605 (decode_coding): Call decode_eol before restoring undo_list.
10606
10607 2008-02-01 Kenichi Handa <handa@m17n.org>
10608
10609 * charset.c (Fdefine_charset_internal): Fix setting of
10610 emacs_mule_bytes.
10611
10612 2008-02-01 Kenichi Handa <handa@m17n.org>
10613
10614 * keyboard.c (read_char): Check if C is a character or not before
10615 looking up Vkeyboard_translate_table.
10616
10617 2008-02-01 Kenichi Handa <handa@m17n.org>
10618
10619 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10620 condition to terminate the loop.
10621
10622 2008-02-01 Kenichi Handa <handa@m17n.org>
10623
10624 * coding.c (produce_composition): Compare charbuf[i] instead of
10625 args[i] against 0.
10626 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10627
10628 2008-02-01 Kenichi Handa <handa@m17n.org>
10629
10630 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10631 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10632 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10633 detect_coding.
10634 (emacs_mule_char): Handle old style (Emacs 20) component character
10635 of a composition.
10636 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10637 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10638 composition rule.
10639 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10640
10641 2008-02-01 Kenichi Handa <handa@m17n.org>
10642
10643 * coding.c (encode_coding_ccl): Allocate destination dynamically
10644 when necessary.
10645
10646 2008-02-01 Kenichi Handa <handa@m17n.org>
10647
10648 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10649 the loop. When quitted, show a proper error message.
10650
10651 2008-02-01 Kenichi Handa <handa@m17n.org>
10652
10653 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10654 src->clip_head and src->clip_tail temporarily instead of src->hl.
10655
10656 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10657 character sequence.
10658 (Fccl_execute_on_string): Use ASET, not XSET.
10659
10660 2008-02-01 Kenichi Handa <handa@m17n.org>
10661
10662 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10663
10664 2008-02-01 Kenichi Handa <handa@m17n.org>
10665
10666 * coding.c (decode_coding): Fix the condition of terminating the
10667 decoding loop.
10668
10669 2008-02-01 Kenichi Handa <handa@m17n.org>
10670
10671 * data.c (Faset): On setting a character bigger than 255 in a
10672 unibyte string, signal an error instead of make the string multibyte.
10673
10674 2008-02-01 Kenichi Handa <handa@m17n.org>
10675
10676 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10677 made by a mapping table.
10678
10679 2008-02-01 Kenichi Handa <handa@m17n.org>
10680
10681 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10682 not.
10683 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10684 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10685
10686 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10687 s->face is NULL or not.
10688
10689 2008-02-01 Kenichi Handa <handa@m17n.org>
10690
10691 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10692 (x_draw_glyph_string): Fix drawing of right_overhang and
10693 left_overhang around/on cursor.
10694
10695 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10696
10697 2008-02-01 Kenichi Handa <handa@m17n.org>
10698
10699 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10700
10701 2008-02-01 Kenichi Handa <handa@m17n.org>
10702
10703 * coding.c (Fdefine_coding_system_internal)
10704 (Fdefine_coding_system_alias): Avoid a duplicated element in
10705 Vcoding_system_alist.
10706
10707 2008-02-01 Kenichi Handa <handa@m17n.org>
10708
10709 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10710
10711 * coding.c (Qcoding_system_define_form): New variable.
10712 (syms_of_coding): Intern and staticpro it.
10713 (Fcoding_system_p): Check Qcoding_system_define_form.
10714 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10715
10716 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10717 Fcoding_system_p.
10718 (CHECK_CODING_SYSTEM): If ID is not available, call
10719 Fcheck_coding_system.
10720 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10721 Try also Fcheck_coding_system.
10722
10723 2008-02-01 Kenichi Handa <handa@m17n.org>
10724
10725 * coding.c (code_conversion_restore): GCPRO arg.
10726
10727 2008-02-01 Kenichi Handa <handa@m17n.org>
10728
10729 * character.c (lisp_string_width): Check multibyteness of STRING.
10730
10731 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10732
10733 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10734 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10735 (decode_mac_font_name): Use decode_coding_c_string instead of
10736 decode_coding.
10737 (x_load_font): Initialize fontp->fontset to -1. Set
10738 fontp->encoding_type.
10739
10740 2008-02-01 Kenichi Handa <handa@m17n.org>
10741
10742 * search.c (search_buffer): Give up BM search on case-fold-search
10743 if one of a target character has a case-equivalence of different
10744 byte length even if that target charcter is an ASCII.
10745 (simple_search): Fix calculation of byte length of matched text.
10746 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10747
10748 2008-02-01 Kenichi Handa <handa@m17n.org>
10749
10750 * coding.c (decode_coding): Fix handling of invalid bytes.
10751
10752 2008-02-01 Kenichi Handa <handa@m17n.org>
10753
10754 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10755 Unicode characters.
10756
10757 2008-02-01 Kenichi Handa <handa@m17n.org>
10758
10759 * coding.c (encode_coding_object): If a pre-write-conversion
10760 function makes a new buffer, kill it.
10761
10762 2008-02-01 Kenichi Handa <handa@m17n.org>
10763
10764 * coding.c (QCascii_compatible_p): New variable.
10765 (syms_of_coding): Initialize it.
10766 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10767 calling string_char.
10768 (record_conversion_result): Add `default:' case.
10769 (coding_charset_list): Delete unused variable `coding_type'.
10770 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10771 property in the plist of the coding system.
10772 (Fcoding_system_put): Check QCascii_compatible_p.
10773
10774 2008-02-01 Miles Bader <miles@gnu.org>
10775
10776 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10777 removed calculation of frame `f', as it's now used.
10778
10779 2008-02-01 Kenichi Handa <handa@m17n.org>
10780
10781 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10782 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10783 (UNIDATA): New variable.
10784 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10785 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10786 $(RUN_TEMACS) unconditionally.
10787
10788 2008-02-01 Kenichi Handa <handa@m17n.org>
10789
10790 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10791 (admindir): New variable.
10792 ($(lispsource)international/charprop.el): New target.
10793
10794 2008-02-01 Miles Bader <miles@gnu.org>
10795
10796 * character.c (chars-in-region): Remove obsolete function.
10797 (syms_of_character): Remove its initialization.
10798
10799 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10800
10801 * w32select.c (validate_coding_system)
10802 (setup_windows_coding_system): New functions.
10803 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10804 setup_windows_coding_system.
10805 (setup_config, Fw32_get_clipboard_data): Use
10806 validate_coding_system.
10807 (Fx_selection_exists): Move call to setup_config to a place
10808 where signals are allowed.
10809
10810 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10811 (Fcheck_coding_system): Add declarations.
10812
10813 2008-02-01 Kenichi Handa <handa@m17n.org>
10814
10815 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10816
10817 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10818
10819 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10820 string as the second argument for x_new_fontset.
10821
10822 2008-02-01 Kenichi Handa <handa@m17n.org>
10823
10824 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10825 (encode_coding_object): Use safe_call instead of call2.
10826
10827 2008-02-01 Kenichi Handa <handa@m17n.org>
10828
10829 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10830
10831 * Makefile.in (lisp): Include charprop.el.
10832
10833 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10834
10835 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10836 Not sure if it's unnecessary.
10837
10838 2008-02-01 Steven Tamm <steventamm@mac.com>
10839
10840 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10841 some possibly unnecessary fontset checking code that crashed
10842 when creating a new frame.
10843
10844 2008-02-01 Kenichi Handa <handa@m17n.org>
10845
10846 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10847 lookup_face.
10848
10849 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10850
10851 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10852
10853 2008-02-01 Kenichi Handa <handa@m17n.org>
10854
10855 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10856 (coding_charset_list): New function.
10857
10858 * coding.h (coding_charset_list): Extern it.
10859
10860 2008-02-01 Kenichi Handa <handa@m17n.org>
10861
10862 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10863 concatenation of family and registry.
10864
10865 2008-02-01 Kenichi Handa <handa@m17n.org>
10866
10867 * character.h (BYTE8_STRING): Fix typo.
10868
10869 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10870 string to multibyte (sync to HEAD).
10871
10872 * casefiddle.c (casify_region): Handle changes in byte-length
10873 using replace_range_2 (sync to HEAD).
10874
10875 2008-02-01 Andreas Schwab <schwab@suse.de>
10876
10877 * chartab.c (map_char_table): GCPRO table and arg.
10878
10879 2008-02-01 Kenichi Handa <handa@m17n.org>
10880
10881 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10882 already at limit.
10883
10884 2008-02-01 Kenichi Handa <handa@m17n.org>
10885
10886 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10887 instead of fast_c_string_match_ignore_case.
10888 (find_font_encoding): Change argument to Lisp_Object. Use
10889 fast_string_match_ignore_case instead of
10890 fast_c_string_match_ignore_case. Change caller.
10891
10892 2008-02-01 Kenichi Handa <handa@m17n.org>
10893
10894 * xdisp.c (get_next_display_element): In unibyte case, decide to
10895 display in octal form by checking a character by
10896 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10897
10898 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10899
10900 * character.c (unibyte_has_multibyte_table): New variable.
10901
10902 * character.h (unibyte_has_multibyte_table): Extern it.
10903 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10904
10905 2008-02-01 Kenichi Handa <handa@m17n.org>
10906
10907 * coding.c (encode_coding_iso_2022): Fix handling of charset
10908 annotation.
10909
10910 2008-02-01 Kenichi Handa <handa@m17n.org>
10911
10912 * coding.c (setup_coding_system): If coding_system is nil, use
10913 Qundecided.
10914 (Fterminal_coding_system): Return nil if terminal coding system is
10915 `undecided'.
10916 (syms_of_coding): Define coding-system `undecided' here. Setup
10917 terminal_coding as `undecided'.
10918
10919 2008-02-01 Kenichi Handa <handa@m17n.org>
10920
10921 * xdisp.c (message_dolog, set_message_1): Call
10922 unibyte_char_to_multibyte with arg type int.
10923
10924 * lread.c (read1): Fix reading of a char-table.
10925
10926 * print.c (print_object): Include sub char-table in circularities
10927 detection.
10928
10929 2008-02-01 Kenichi Handa <handa@m17n.org>
10930
10931 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10932 Append the found sequences in car of ARGS instead of prepending.
10933
10934 2008-02-01 Kenichi Handa <handa@m17n.org>
10935
10936 * fileio.c (report_file_error): Make a unibyte string from
10937 strerror (errorno).
10938 (Fsubstitute_in_file_name): Fix the arg to
10939 unibyte_char_to_multibyte. It is evaluated twice.
10940
10941 2008-02-01 Kenichi Handa <handa@m17n.org>
10942
10943 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10944
10945 2008-02-01 Kenichi Handa <handa@m17n.org>
10946
10947 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10948 BOM is not found.
10949 (detect_coding, detect_coding_system): Optimization for ISO-2022
10950 when no 8-bit data is found.
10951
10952 2008-02-01 Jason Rumney <jasonr@gnu.org>
10953
10954 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10955
10956 2008-02-01 Kenichi Handa <handa@m17n.org>
10957
10958 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10959 CHARS.
10960
10961 2008-02-01 Steven Tamm <steventamm@mac.com>
10962
10963 * macterm.c (mac_encode_char): Add charset argument and update
10964 to use encoding_type.
10965 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10966 switch to pure fontset.
10967 (decode_mac_font_name): Temporarily remove decoding.
10968 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10969 (x_load_font): Temporarily remove encoding.
10970
10971 2008-02-01 Kenichi Handa <handa@m17n.org>
10972
10973 * xfaces.c (Fface_font): If frame is not on a window system,
10974 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10975 refer to face->font.
10976 (split_font_name_into_vector, build_font_name_from_vector)
10977 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10978 when HAVE_WINDOW_SYSTEM is defined.
10979
10980 2008-02-01 Kenichi Handa <handa@m17n.org>
10981
10982 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10983 (x_produce_glyphs): Fix setting of members of cmp in case
10984 cmp->glyph_len is zero.
10985
10986 * fontset.c (Fset_fontset_font): Fix docstring.
10987 (Ffontset_info): Make it backward compatible. New arg ALL.
10988
10989 2008-02-01 Kim F. Storm <storm@cua.dk>
10990
10991 * process.c (read_process_output): Grow decoding_buf when needed;
10992 this could cause a crash in allocate_string and compact_small_strings.
10993
10994 2008-02-01 Kenichi Handa <handa@m17n.org>
10995
10996 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10997
10998 2008-02-01 Kenichi Handa <handa@m17n.org>
10999
11000 * coding.c (setup_coding_system): Set coding->common_flags
11001 correctly for raw-text.
11002 (consume_chars): On encoding unibyte text by raw-text, don't check
11003 multibyte form.
11004 (encode_coding): On encoding by raw-text, never use translation tables.
11005
11006 * fileio.c (e_write): Short cut for the case of no encoding.
11007
11008 2008-02-01 Kenichi Handa <handa@m17n.org>
11009
11010 * coding.c (detect_coding, detect_coding_system): Delete unused
11011 variables.
11012
11013 2008-02-01 Kenichi Handa <handa@m17n.org>
11014
11015 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
11016 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
11017
11018 2008-02-01 Kenichi Handa <handa@m17n.org>
11019
11020 * coding.c (Ffind_coding_systems_region_internal): Include
11021 raw-text and no-conversion in the result.
11022
11023 2008-02-01 Kenichi Handa <handa@m17n.org>
11024
11025 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
11026 (load_font_get_repertory): Delete unnecessary check of ENCODING of
11027 FONT_DEF.
11028 (font_def_arg, add_arg, from_arg, to_arg): New args.
11029 (set_fontset_font): Change argument.
11030 (Fset_fontset_font): Fix for the case that TARGET is a script
11031 name and charset name.
11032 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
11033
11034 2008-02-01 Kenichi Handa <handa@m17n.org>
11035
11036 * fontset.c (fontset_font): Rename from fontset_face. Change return
11037 value.
11038 (face_suitable_for_char_p, face_for_char): Adjust for the change
11039 of fontset_font.
11040 (make_fontset_for_ascii_face): Fix setting of the fontset element
11041 for ASCII.
11042 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
11043 to get a font name.
11044 (Ffontset_info): Adjust for the change of fontset_font.
11045
11046 * coding.c (emacs_mule_char): Check invalid code more rigidly.
11047
11048 * character.h (LEADING_CODE_LATIN_1_MIN)
11049 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
11050
11051 2008-02-01 Kenichi Handa <handa@m17n.org>
11052
11053 * editfns.c (check_translation): New function.
11054 (Ftranslate_region_internal): Handle M:N mapping.
11055
11056 2008-02-01 Kenichi Handa <handa@m17n.org>
11057
11058 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
11059
11060 2008-02-01 Kenichi Handa <handa@m17n.org>
11061
11062 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
11063 goto invalid_code.
11064 (decode_coding_iso_2022): Fix handling of invalid designation.
11065
11066 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
11067 after calling code_conversion_save.
11068
11069 2008-02-01 Kenichi Handa <handa@m17n.org>
11070
11071 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
11072
11073 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
11074
11075 * fontset.c: Include "intervals.h".
11076 (fontset_face): Fix comparing of Lisp_Objects.
11077 (free_face_fontset, new_fontset_from_font_name): Fix
11078 Lisp_Object/int mixup.
11079
11080 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
11081
11082 * coding.c: Add many prototypes for static functions.
11083 (get_translation_table): Allow max_lookup to be NULL.
11084 (decode_coding, Ffind_coding_systems_region_internal)
11085 (Funencodable_char_position, Fcheck_coding_systems_region): Call
11086 get_translation_table with max_lookup NULL.
11087
11088 2008-02-01 Kenichi Handa <handa@m17n.org>
11089
11090 * coding.c (get_translation_table): Declare it as Lisp_Object.
11091 (LOOKUP_TRANSLATION_TABLE): New macro.
11092 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
11093 instead of CHAR_TABLE_REF.
11094
11095 2008-02-01 Kenichi Handa <handa@m17n.org>
11096
11097 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
11098 annotation data format.
11099 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
11100 Change arguments FROM and TO to single argument NCHARS. Change caller.
11101 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
11102 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11103 (decode_coding_ccl, decode_coding_charset): Pay attention to
11104 coding->charbuf_used.
11105 (get_translation): New function.
11106 (produce_chars): New arguments translation_table and last_block.
11107 Translate characters here. Return number of carryover chars.
11108 Change caller.
11109 (produce_composition): New argument pos. Change caller.
11110 Adjust for the change of annotation data format.
11111 (produce_charset, produce_annotation): Likewise.
11112 (decode_coding, encode_coding): Don't call translate_chars.
11113 (consume_chars): New arg translation_table. Change caller.
11114 (translate_chars): Delete.
11115 (syms_of_coding): Make translation-table's number of extra slots 2.
11116
11117 2008-02-01 Kenichi Handa <handa@m17n.org>
11118
11119 * search.c (simple_search): Fix setting this_pos_byte in backward
11120 search.
11121
11122 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11123 byte sequence.
11124 (detect_coding_ccl): Fix setting of the variable valids.
11125
11126 2008-02-01 Kenichi Handa <handa@m17n.org>
11127
11128 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11129
11130 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11131
11132 * editfns.c (Ftranslate_region_internal): Rename from
11133 Ftranslate_region. Accept a char-table in TABLE.
11134 (syms_of_editfns): Defsubr Stranslate_region_internal.
11135
11136 * xfaces.c (set_lface_from_font_name): If a font is specified for
11137 a frame, generate a fontset from the font.
11138 (build_scalable_font_name): If the scalable font is requested for
11139 a specific size, don't change that size.
11140 (try_font_list): Try a scalable font also in the case that a
11141 pattern string is specified.
11142
11143 2008-02-01 Kenichi Handa <handa@m17n.org>
11144
11145 * xfaces.c (Fface_font): New optional arg CHARACTER.
11146
11147 2008-02-01 Kenichi Handa <handa@m17n.org>
11148
11149 * charset.h (CHARSET_OFFSET): New macro.
11150
11151 2008-02-01 Kenichi Handa <handa@m17n.org>
11152
11153 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11154
11155 * fontset.c (fontset_face): Handle the case that repertory is a
11156 char-table.
11157 (find_font_encoding): Return nil for unknown encoding.
11158 (Fset_fontset_font): Ignore a font of unknown encoding.
11159
11160 2008-02-01 Kenichi Handa <handa@m17n.org>
11161
11162 * keymap.c (describe_vector): Handle default value of a char table.
11163
11164 * fontset.c (fontset_face): Handle fallback fonts correctly.
11165 (Ffontset_info): Return infomation about fallback fonts.
11166
11167 2008-02-01 Kenichi Handa <handa@m17n.org>
11168
11169 * fontset.c (FONTSET_DEFAULT): New macro.
11170 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11171 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11172 the case that it is nil.
11173 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11174 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11175
11176 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11177 subset or superset.
11178
11179 2008-02-01 Kenichi Handa <handa@m17n.org>
11180
11181 * emacs.c (main): Call init_charset after syms_of_XXX.
11182
11183 * charset.c (Vcharset_map_directory): Delete.
11184 (Vcharset_map_path): New variable.
11185 (load_charset_map_from_file): Use Vcharset_map_path instead.
11186 (init_charset): Initialize Vcharset_map_path.
11187 (syms_of_charset): Delete declaration of "charset-map-directory",
11188 add declaration of "charset-map-path".
11189
11190 2008-02-01 Kenichi Handa <handa@m17n.org>
11191
11192 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11193 ASCII only string.
11194
11195 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11196
11197 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11198 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11199
11200 2008-02-01 Kenichi Handa <handa@m17n.org>
11201
11202 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11203
11204 * coding.c (QCmnemonic, QCdefalut_char)
11205 (QCdecode_translation_table, QCencode_translation_table)
11206 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11207 (get_translation_table): Return a list of translation tables if
11208 necessary.
11209 (decode_coding): Call get_translation_table with ENCODEP 0.
11210 (char_encodable_p): If translation_table is non-nil, always call
11211 translate_char.
11212 (Fdefine_coding_system_internal): Accept list of translation
11213 tables as :encode-translation-table and :decode-translation-table.
11214 (Fcoding_system_put): New function.
11215 (syms_of_coding): Declare new symbols. Defsubr
11216 Scoding_system_put.
11217 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11218 typically JISX0212.
11219
11220 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11221 when the charset is superset type.
11222
11223 * character.c (translate_char): Accept list of translation tables.
11224
11225 2008-02-01 Kenichi Handa <handa@m17n.org>
11226
11227 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11228 (CODING_ATTR_TRANS_TBL): New macro.
11229
11230 * coding.c (get_translation_table): New function.
11231 (translate_chars): Fix the bug of skipping annotation data.
11232 (decode_coding, encode_coding): Utilize get_translation_table.
11233 (char_encodable_p, Funencodable_char_position): Translate char if
11234 necessary.
11235 (Ffind_coding_systems_region_internal)
11236 (Fcheck_coding_systems_region): Setup translation table for encode
11237 in a coding system attribute vector in advance.
11238 (Fdefine_coding_system_internal): Allow a symbol as translation
11239 table. For shift-jis type coding system, allow 4th charset.
11240
11241 2008-02-01 Kenichi Handa <handa@m17n.org>
11242
11243 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11244
11245 * xdisp.c (get_next_display_element): Pass -1 as POS to
11246 FACE_FOR_CHAR if displaying a C-string.
11247
11248 2008-02-01 Kenichi Handa <handa@m17n.org>
11249
11250 * composite.c (get_composition_id): Handle xoff and yoff in a
11251 composition rule.
11252
11253 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11254 (struct composition): New member lbearing and rbearing.
11255
11256 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11257 (x_get_glyph_overhangs): Handle a composition glyph.
11258 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11259
11260 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11261 composition glyph.
11262
11263 2008-02-01 Kenichi Handa <handa@m17n.org>
11264
11265 * print.c: Include charset.h.
11266 (Vprint_charset_text_property): New variable.
11267 (Qdefault): Extern it.
11268 (PRINT_STRING_NON_CHARSET_FOUND)
11269 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11270 (print_check_string_result): New variable.
11271 (print_check_string_charset_prop): New function.
11272 (print_prune_charset_plist): New variable.
11273 (print_prune_string_charset): New function.
11274 (print_object): Call print_prune_string_charset if
11275 Vprint_charset_text_property is not t.
11276 (print_interval): Print nothing if interval->plist is nil.
11277 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11278 variable. Init and staticpro print_prune_charset_plist.
11279
11280 2008-02-01 Kenichi Handa <handa@m17n.org>
11281
11282 * fontset.c (new_fontset_from_font_name): Use the specified font
11283 for all characters in the new fontset.
11284
11285 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11286 OBJECT args.
11287
11288 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11289 OBJECT args for composition too.
11290
11291 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11292 OBJECT args.
11293
11294 2008-02-01 Kenichi Handa <handa@m17n.org>
11295
11296 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11297
11298 * fontset.c (reorder_font_vector): Adjust for the change of
11299 FONT_DEF format.
11300 (fontset_face): New arg id. Change caller.
11301 (face_for_char): New args pos and object.
11302 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11303 (fs_query_fontset): Check NAME by Fassoc too.
11304 (Fset_fontset_font): Allow non-XLFD font name.
11305 (Ffontset_info): Adjust for the change of FONT_DEF format.
11306
11307 * fontset.h (face_for_char): Adjust prototype.
11308
11309 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11310 (append_space, extend_face_to_end_of_line)
11311 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11312 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11313
11314 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11315 POS and OBJECT args.
11316
11317 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11318 POS and OBJECT args.
11319
11320 2008-02-01 Jason Rumney <jasonr@gnu.org>
11321
11322 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11323 of GlobalAlloc'ed memory.
11324
11325 2008-02-01 Kenichi Handa <handa@m17n.org>
11326
11327 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11328
11329 * charset.h (charset_table_used): Delete extern.
11330
11331 * charset.c (charset_table_used): Make it static.
11332 (map_charset_chars): Fix args to c_function with.
11333
11334 * chartab.c (map_sub_char_table_for_charset): Fix args to
11335 c_function with.
11336
11337 * coding.h (enum coding_result_code): Delete
11338 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11339
11340 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11341 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11342 (Vlast_code_conversion_error): New variables.
11343 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11344 (ONE_MORE_BYTE): Record error if any instead of signaling an
11345 error. If non-ASCII multibyte char is found, return the negative
11346 value of the code. All callers changed to check it.
11347 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11348 (record_conversion_result): New function. Change all codes setting
11349 coding->result to call this function.
11350 (detect_coding_utf_8, decode_coding_utf_8)
11351 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11352 Don't use the local variable incomplete.
11353 (emacs_mule_char): Change the second arg to `const'.
11354 (decode_coding): Fix of flushing out unprocessed data.
11355 (make_conversion_work_buffer): Fix making of a work buffer.
11356 (decode_coding_object): Return coding->dst_object.
11357
11358 * fontset.c (set_fontset_font): Fix args.
11359
11360 * lisp.h (CHARACTERBITS): Define as 22.
11361
11362 * process.c (send_process): Be sure to set coding->src_multibyte.
11363
11364 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11365
11366 2008-02-01 Kenichi Handa <handa@m17n.org>
11367
11368 * xdisp.c (handle_auto_composed_prop): Give limit to
11369 Fnext_single_char_property_change.
11370
11371 2008-02-01 Kenichi Handa <handa@m17n.org>
11372
11373 * composite.c (syms_of_composite): Don't make the composition hash
11374 table weak.
11375
11376 * fontset.c (Fset_fontset_font): Fix docstring.
11377
11378 * lisp.h (detect_coding_system): Adjust prototype.
11379
11380 * fileio.c (kill_workbuf_unwind): Delete this function.
11381 (Finsert_file_contents): Adjust the call of detect_coding_system.
11382 Get conversion_buffer by code_conversion_save. Use the macro
11383 CODING_MAY_REQUIRE_DECODING. After decoding, update
11384 coding_system.
11385
11386 * coding.h (make_conversion_work_buffer): Delete extern.
11387 (code_conversion_save): Extern it.
11388
11389 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11390 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11391 (decode_coding_utf_8): Don't do eol converion.
11392 (detect_coding_utf_16): Check coding->src_chars, not
11393 coding->src_bytes. Add heuristics for those that have no signature.
11394 (decode_coding_emacs_mule, decode_coding_iso_2022)
11395 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11396 Don't do eol converion.
11397 (adjust_coding_eol_type): Return a new coding system.
11398 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11399 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11400 each change.
11401 (decode_coding): Pay attention to undo_list. Do eol conversion for
11402 all types of coding-systems (if necessary).
11403 (Vcode_conversion_work_buf_list): Delete it.
11404 (Vcode_conversion_reused_workbuf): Rename from
11405 Vcode_conversion_reused_work_buf.
11406 (Vcode_conversion_workbuf_name): New variable.
11407 (reused_workbuf_in_use): New variable.
11408 (make_conversion_work_buffer): Delete the arg DEPTH.
11409 (code_conversion_restore): Change argument to cons.
11410 (code_conversion_save): Delete the argument BUFFER. Change callers.
11411 (detect_coding_system): New argument src_chars. Change callers.
11412 Fix for utf-16 detection.
11413 (init_coding_once): Don't use ISO_carriage_return.
11414 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11415 reused_workbuf_in_use.
11416
11417 2008-02-01 Kenichi Handa <handa@m17n.org>
11418
11419 * keymap.c (store_in_keymap): Pay attention to the case that idx
11420 is a cons specifying a character range.
11421
11422 2008-02-01 Kenichi Handa <handa@m17n.org>
11423
11424 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11425 HANDLED_RECOMPUTE_PROPS.
11426
11427 * coding.c (Fdefine_coding_system_internal): Fix checking of
11428 ascii compatibility.
11429
11430 2008-02-01 Kenichi Handa <handa@m17n.org>
11431
11432 * charset.c (find_charsets_in_text): Delete unused locale variable.
11433 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11434
11435 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11436 Resync charset_list to Vemacs_mule_charset_list.
11437
11438 * keymap.c (store_in_keymap): Pay attention to the case that idx
11439 is a cons specifying a character range.
11440
11441 2008-02-01 Kenichi Handa <handa@m17n.org>
11442
11443 * composite.c (update_compositions): Bind inhibit-read-only, etc
11444 to t before calling remove-list-of-text-properties.
11445
11446 * print.c (print_object): Always print ASCII chars as is.
11447
11448 2008-02-01 Kenichi Handa <handa@m17n.org>
11449
11450 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11451
11452 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11453 is a char table.
11454
11455 2008-02-01 Kenichi Handa <handa@m17n.org>
11456
11457 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11458
11459 2008-02-01 Kenichi Handa <handa@m17n.org>
11460
11461 * xfaces.c (set_lface_from_font_name): Fix for the case that
11462 FONTNAME is not fontset name.
11463
11464 2008-02-01 Kenichi Handa <handa@m17n.org>
11465
11466 * fns.c (base64_encode_1): Fix previous change.
11467
11468 2008-02-01 Kenichi Handa <handa@m17n.org>
11469
11470 * fontset.c (set_fontset_font): New function.
11471 (Fset_fontset_font): If a font is specified for a charset, use
11472 map_charset_chars to store the font spec in a fontset.
11473
11474 2008-02-01 Kenichi Handa <handa@m17n.org>
11475
11476 * fontset.c (fontset_face): Create a fallback fontset on demand.
11477 (make_fontset): Don't create a fallback fontset here.
11478 (free_face_fontset): Free a fallback fontset (if any) too.
11479 (n_auto_fontsets): Delete this variable.
11480 (auto_fontset_alist): New variable.
11481 (new_fontset_from_font_name): Check auto_fontset_alist.
11482 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11483 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11484 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11485 Defsubr Sfontset_list_all.
11486
11487 2008-02-01 Kenichi Handa <handa@m17n.org>
11488
11489 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11490
11491 2008-02-01 Kenichi Handa <handa@m17n.org>
11492
11493 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11494
11495 2008-02-01 Kenichi Handa <handa@m17n.org>
11496
11497 * editfns.c (Fgoto_char): Fix docstring.
11498
11499 2008-02-01 Kenichi Handa <handa@m17n.org>
11500
11501 * insdel.c (insert_from_gap): Adjust intervals correctly.
11502
11503 2008-02-01 Jason Rumney <jasonr@gnu.org>
11504
11505 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11506 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11507 (w32_initialize): Try to load it.
11508 (x_get_font_repertory): Use it if available.
11509 (w32_encode_char): Add shortcut for unicode output.
11510
11511 * w32fns.c (w32_load_system_font): Default charset to -1.
11512 (x_to_w32_charset): Match all fonts for unicode.
11513 (w32_to_x_charset): New parameter matching. Don't return partial
11514 or wildcard charsets.
11515 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11516 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11517 (w32_to_x_font): Match charset to real charset.
11518 (enum_font_cb2): Always list unicode versions.
11519
11520 * makefile.w32-in (temacs): Increase EMHEAP.
11521
11522 2008-02-01 Jason Rumney <jasonr@gnu.org>
11523
11524 * w32term.c (w32_encode_char): New charset parameter.
11525 font_info.encoding becomes encoding_type.
11526 (x_get_font_repertory): New function. Warning: stub only!
11527 (x_new_font): Return quickly if font already set.
11528 (x_new_fontset): fontsetname parameter is Lisp_Object.
11529 Use new fs_query_fontset. Try new_fontset_from_font_name.
11530 Use fontset_name for return value.
11531
11532 * w32term.h: Declare x_get_font_repertory.
11533
11534 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11535 place of find_charset_in_text. Use encode_coding_object in place
11536 of encode_coding.
11537 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11538 decode_coding.
11539
11540 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11541 of x_new_fontset.
11542 (w32_load_system_font): Initialize charset as unicode.
11543 font_info.encoding becomes encoding_type.
11544 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11545 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11546 (syms_of_w32fns): Set get_font_repertory_func.
11547
11548 * w32console.c: Include character.h. Use terminal_encode_buffer
11549 from term.c.
11550 (write_glyphs): Use new version of encode_terminal_code. Use
11551 encode_coding_object in place of encode_coding.
11552
11553 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11554 encoding becomes encoding_type.
11555
11556 * term.c (terminal_encode_buffer): Make externally visible.
11557
11558 * makefile.w32-in: Add character.h dependancies.
11559 (character.o, chartab.o): New targets.
11560
11561 2008-02-01 Kenichi Handa <handa@m17n.org>
11562
11563 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11564 CODING_ID_EOL_TYPE.
11565
11566 2008-02-01 Andreas Schwab <schwab@suse.de>
11567
11568 * coding.c (produce_chars): Revert last change.
11569
11570 2008-02-01 Kenichi Handa <handa@m17n.org>
11571
11572 * charset.h (charset_unicode): Extern it.
11573
11574 * charset.c (string_xstring_p): Check by (C >= 0x100).
11575 (find_charsets_in_text): Change format of the arc CHARSETS. New
11576 arg MULTIBYTE.
11577 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11578 change of find_charsets_in_text.
11579 (Fsplit_char): Fix doc. Never return unknown.
11580
11581 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11582
11583 * coding.c (Fdefine_coding_system_alias): Update
11584 Vcoding_system_list.
11585
11586 * fontset.c (load_font_get_repertory): Pay attention to the case
11587 that ENCODING of a font is specified by a char-table.
11588
11589 * xterm.c (x_get_font_repertory): Handle the case that the
11590 encoding of font is other than Unicode.
11591
11592 2008-02-01 Kenichi Handa <handa@m17n.org>
11593
11594 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11595 if a character is encodable by the terminal coding system. If
11596 not, produces proper number of `?'s. Update
11597 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11598 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11599
11600 2008-02-01 Kenichi Handa <handa@m17n.org>
11601
11602 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11603 variables.
11604 (encode_terminal_code): Change argument. Encode multiple
11605 characters at once. Store the result of encoding in
11606 terminal_encode_buffer.
11607 (write_glyphs, insert_glyphs): Adjust for the change of
11608 encode_terminal_code.
11609 (term_init): Initialize terminal_encode_buffer and
11610 terminal_encode_buf_size.
11611
11612 * coding.c (consume_chars): If coding->src_object is nil, don't
11613 check annotation.
11614
11615 2008-02-01 Kenichi Handa <handa@m17n.org>
11616
11617 * character.c (char_string): Use ASCII_CHAR_P instead of
11618 SINGLE_BYTE_CHAR_P.
11619
11620 2008-02-01 Kenichi Handa <handa@m17n.org>
11621
11622 * xdisp.c (handle_auto_composed_prop): Check if the last
11623 characters of auto-composed region is newly composed with the
11624 following characters.
11625 (handle_composition_prop): Fix checking of point being inside
11626 composition.
11627
11628 2008-02-01 Kenichi Handa <handa@m17n.org>
11629
11630 * fns.c (concat): Don't change multibyteness of the result by
11631 concatenating an 8-bit character.
11632
11633 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11634 multibyteness of the result when newelt is an 8-bit character.
11635
11636 2008-02-01 Dave Love <fx@gnu.org>
11637
11638 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11639 EMACS_INT.
11640
11641 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11642
11643 * xfaces.c (face_numeric_value): Declare dim size_t.
11644 (Finternal_lisp_face_equal_p): Remove unused f.
11645
11646 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11647 (MATRIX_ROW): Remove unused vars.
11648 (draw_glyphs, x_insert_glyphs, fast_find_position)
11649 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11650 byte/char counts.
11651
11652 * regex.c (regex_compile): Remove unused var.
11653
11654 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11655
11656 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11657 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11658
11659 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11660
11661 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11662
11663 * fileio.c (Fwrite_region): Remove unused var.
11664
11665 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11666 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11667
11668 * composite.c (Fremove_list_of_text_properties): Declare.
11669
11670 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11671 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11672 (coding_inherit_eol_type): Remove unused attrs.
11673 (detect_coding): Cast arg of detect_eol.
11674
11675 * charset.c (syms_of_charset): Remove unused var p.
11676 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11677 byte/char counts.
11678
11679 * casetab.c (set_case_table): Remove unused var.
11680
11681 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11682 unused vars.
11683
11684 2008-02-01 Dave Love <fx@gnu.org>
11685
11686 * xterm.c (x_bitmap_mask): Declare.
11687
11688 2008-02-01 Dave Love <fx@gnu.org>
11689
11690 * xterm.c (x_term_init): Fix type error.
11691
11692 * lisp.h: Add Funibyte_char_to_multibyte.
11693
11694 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11695 (Fset_coding_system_priority): Doc fix.
11696
11697 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11698
11699 * indent.c (check_composition): Make start and end EMACS_INT.
11700
11701 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11702
11703 * xdisp.c (handle_composition_prop, check_point_in_composition):
11704 Make buffer positions EMACS_INT.
11705
11706 * composite.c (find_composition, run_composition_function)
11707 (update_compositions, Ffind_composition_internal): Make buffer
11708 positions EMACS_INT.
11709
11710 * composite.h (find_composition, update_compositions): Make
11711 position args EMACS_INT.
11712
11713 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11714
11715 * intervals.c (get_property_and_range):
11716 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11717
11718 * unexalpha.c: Don't include varargs.h.
11719
11720 2008-02-01 Dave Love <fx@gnu.org>
11721
11722 * coding.h (ENCODE_UTF_8): New.
11723
11724 * Makefile.in (gtkutil.o): Depend on coding.h.
11725
11726 * coding.c (Fset_coding_system_priority): Doc fix.
11727
11728 2008-02-01 Kenichi Handa <handa@m17n.org>
11729
11730 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11731 the case of auto saving.
11732
11733 2008-02-01 Andreas Schwab <schwab@suse.de>
11734
11735 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11736 `range' from GC.
11737
11738 2008-02-01 Kenichi Handa <handa@m17n.org>
11739
11740 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11741
11742 2008-02-01 Kenichi Handa <handa@m17n.org>
11743
11744 * fileio.c (choose_write_coding_system): Return a decided coding system.
11745 (Fwrite_region): Set Vlast_coding_system_used to the return value
11746 of choose_write_coding_system.
11747
11748 2008-02-01 Kenichi Handa <handa@m17n.org>
11749
11750 * charset.c (Fset_charset_priority): Pay attention to duplicated
11751 arguments.
11752
11753 * coding.c (QCcategory): New variable.
11754 (syms_of_coding): Defsym it. Set all elements of
11755 Vcoding_category_table and their symbol values.
11756 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11757 coding-category-XXX, and coding-category-list.
11758 (Fdefine_coding_system_internal): Add category in the plist.
11759
11760 2008-02-01 Kenichi Handa <handa@m17n.org>
11761
11762 * callproc.c (Fcall_process): Handle carryover correctly.
11763
11764 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11765 (raw_text_coding_system): Check NILP (coding_system).
11766 (coding_inherit_eol_type): Check NILP (coding_system) and
11767 NILP (parent).
11768 (consume_chars): Fix for the case of raw-text.
11769
11770 * process.c (read_process_output): Handle carryover correctly.
11771
11772 2008-02-01 Dave Love <fx@gnu.org>
11773
11774 * regex.c (re_search_2): Fix last change.
11775
11776 2008-02-01 Kenichi Handa <handa@m17n.org>
11777
11778 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11779 target_multibyte. Even in a unibyte case, return a converted
11780 multibyte char.
11781 (GET_CHAR_AFTER): New macro.
11782 (PATFETCH): Translate via multibyte char.
11783 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11784 (SETUP_MULTIBYTE_RANGE): New macro.
11785 (regex_compile): Setup compiled code so that its multibyteness
11786 matches that of a target. Fix the handling of "[X-YZ]" using
11787 SETUP_MULTIBYTE_RANGE.
11788 (analyse_first) <charset>: For filling fastmap for all multibyte
11789 characters, don't check by BASE_LEADING_CODE_P.
11790 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11791 the same as RE_MULTIBYTE_P (bufp) now.
11792 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11793 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11794 (TRANSLATE_VIA_MULTIBYTE): New macro.
11795 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11796 It is the same as RE_MULTIBYTE_P (bufp) now.
11797 <exactn>: Translate via multibyte.
11798 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11799 translate it.
11800 <charset, charset_not>: Fetch a character by
11801 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11802 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11803 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11804 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11805 by GET_CHAR_AFTER.
11806 (bcmp_translate): Likewise.
11807
11808 * search.c (compile_pattern): Check the member target_multibyte,
11809 not the member multibyte of buf.
11810
11811 * lread.c (read1): While reading a string, set force_singlebyte
11812 and force_multibyte correctly.
11813
11814 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11815 up of unibyte_to_multibyte_table.
11816
11817 2008-02-01 Kenichi Handa <handa@m17n.org>
11818
11819 * coding.c (setup_coding_system): If coding has
11820 post-read-conversion or pre-write-conversion, set
11821 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11822 respectively.
11823 (decode_coding_gap): Run post-read-conversion if any.
11824
11825 * fileio.c (Finsert_file_contents): Even if we read into a
11826 unibyte buffer, check if we must decode the result or not.
11827
11828 2008-02-01 Kenichi Handa <handa@m17n.org>
11829
11830 * coding.c (make_conversion_work_buffer): Change the work buffer
11831 name to the same one as that of Emacs 21.
11832
11833 2008-02-01 Kenichi Handa <handa@m17n.org>
11834
11835 * coding.h (make_conversion_work_buffer): Adjust prototype.
11836 (code_conversion_restore): Don't extern it.
11837
11838 * coding.c (detected_mask): Delete unused variable.
11839 (decode_coding_iso_2022): Pay attention to the byte sequence of
11840 CTEXT extended segment, and retain those bytes as is.
11841 (decode_coding_ccl): Delete unused variable `valids'.
11842 (setup_coding_system): Delete unused variable `category'.
11843 (consume_chars): Delete unused variable `category'. Make it work
11844 for non-multibyte case.
11845 (make_conversion_work_buffer): Change argument.
11846 (saved_coding): Delete unused variable.
11847 (code_conversion_restore): Don't check saved_coding->destination.
11848 (code_conversion_save): New function.
11849 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11850 instead of record_unwind_protect.
11851 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11852 (detect_coding_system): Delete unused variable `mask'.
11853 (Fdefine_coding_system_internal): Delete unused variable id.
11854
11855 * fileio.c (kill_workbuf_unwind): New function.
11856 (Finsert_file_contents): On replacing, call
11857 make_conversion_work_buffer with correct args, and call
11858 record_unwind_protect with the first arg kill_workbuf_unwind.
11859
11860 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11861
11862 2008-02-01 Kenichi Handa <handa@m17n.org>
11863
11864 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11865 (fontset_add): Fix for the case that TO is less than TO1.
11866 (Ffontset_info): Don't use fallback fontset on checking the
11867 default fontset.
11868 (dump_fontset): New function for debugging.
11869
11870 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11871 coding_type is Qcharset.
11872
11873 2008-02-01 Kenichi Handa <handa@m17n.org>
11874
11875 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11876 (map_char_table): Don't inherit the value from the parent on
11877 initializing VAL. Adjust for the above change.
11878
11879 2008-02-01 Kenichi Handa <handa@m17n.org>
11880
11881 * coding.c (Qsignature, Qendian): Delete these variables.
11882 (syms_of_coding): Don't initialize them.
11883 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11884 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11885 detect_info->found.
11886 (decode_coding_utf_16): Don't detect BOM here.
11887 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11888 is NOT utf_16_without_bom.
11889 (setup_coding_system): For a coding system of type utf-16, check
11890 if the attribute :endian is Qbig or not (not nil or not), and set
11891 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11892 (detect_coding): If coding type is utf-16 and BOM detection is
11893 required, detect it.
11894 (Fdefine_coding_system_internal): For a coding system of type
11895 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11896
11897 2008-02-01 Kenichi Handa <handa@m17n.org>
11898
11899 * coding.c (coding_set_source): Fix for the case that the current
11900 buffer is different from coding->src_object.
11901 (decode_coding_object): Don't use the conversion work buffer if
11902 DST_OBJECT is a buffer.
11903
11904 2008-02-01 Dave Love <fx@gnu.org>
11905
11906 * lread.c (read_emacs_mule_char) [len==2]: Index
11907 emacs_mule_charset correctly.
11908
11909 2008-02-01 Dave Love <fx@gnu.org>
11910
11911 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11912 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11913 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11914 treated specially.)
11915 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11916 (detected_mask): Remove Big5 bits.
11917
11918 2008-02-01 Kenichi Handa <handa@m17n.org>
11919
11920 The following changes are to make the font rescaling facility
11921 compatible with Emacs 21.
11922
11923 * xfaces.c (Vface_font_rescale_alist): Rename from
11924 Vface_resizing_fonts.
11925 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11926 (font_rescale_ratio): Rename from font_resizing_ratio.
11927 (split_font_name): Set font->rescale_ratio.
11928 (better_font_p): Pay attention to font->rescale_ratio.
11929 (build_scalable_font_name): Likewise. Change RESX, and RESY
11930 fields.
11931 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11932
11933 2008-02-01 Kenichi Handa <handa@m17n.org>
11934
11935 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11936 (Qutf_16_le): Remove these variables.
11937 (syms_of_coding): Don't DEFSYM them.
11938 (decode_coding_utf_16): Fix handling of BOM.
11939 (encode_coding_utf_16): Fix handling of BOM.
11940
11941 2008-02-01 Kenichi Handa <handa@m17n.org>
11942
11943 * fileio.c (Finsert_file_contents): On replacing, before decoding
11944 the file into the work buffer, set point of the work buffer to the end.
11945
11946 2008-02-01 Dave Love <fx@gnu.org>
11947
11948 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11949
11950 2008-02-01 Dave Love <fx@gnu.org>
11951
11952 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11953 and fix C types.
11954
11955 2008-02-01 Kenichi Handa <handa@m17n.org>
11956
11957 * xdisp.c (SKIP_GLYPHS): New macro.
11958 (set_cursor_from_row): Pay attention to string display properties.
11959
11960 * category.c (copy_category_entry): Fix for the case that RANGE
11961 is an integer.
11962
11963 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11964
11965 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11966
11967 2008-02-01 Kenichi Handa <handa@m17n.org>
11968
11969 * charset.c (Fcharset_id_internal): New function.
11970 (syms_of_charset): Defsubr it.
11971
11972 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11973 with the last arg charset_list acquired from coding.
11974 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11975 the attribute coding_attr_ccl_valids.
11976
11977 * coding.h (enum define_coding_ccl_arg_index): Set the first
11978 member coding_arg_ccl_decoder to coding_arg_max.
11979
11980 * ccl.h (ccl_driver): Adjust prototype.
11981
11982 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11983 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
11984 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
11985 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11986 last arg Qnil.
11987
11988 2008-02-01 Kenichi Handa <handa@m17n.org>
11989
11990 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11991 call encode_char.
11992
11993 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11994
11995 2008-02-01 Dave Love <fx@gnu.org>
11996
11997 * composite.c (syms_of_composite): Make composition_hash_table weak.
11998
11999 2008-02-01 Kenichi Handa <handa@m17n.org>
12000
12001 * dispextern.h (check_face_attributes, generate_ascii_font_name)
12002 (font_name_registry): Don't extern them.
12003 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
12004
12005 * fontset.h (Qfontset): Don't extern it.
12006 (new_fontset_from_font_name): Extern it.
12007
12008 * fontset.c: Give 8 extra slots to fontset objects.
12009 (Qfontset_info): New variable.
12010 (syms_of_fontset): Defsym it.
12011 (FONTSET_FALLBACK): New macro.
12012 (fontset_face): Try also the default fontset.
12013 (make_fontset): Realize a fallback fontset from the default fontset.
12014 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
12015 using split_font_name_into_vector and build_font_name_from_vector.
12016 (Fset_fontset_font): Access the elements of font_spec by enum
12017 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
12018 name by using split_font_name_into_vector.
12019 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
12020 generate a proper font name from the fontset name. Update
12021 Vfontset_alias_alist.
12022 (n_auto_fontsets): New variable.
12023 (new_fontset_from_font_name): New function.
12024 (Ffont_info): Store the information about fonts generated from the
12025 default fontset in the first extra slot of the returned char-table.
12026
12027 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
12028 (font_name_registry): Delete function.
12029 (split_font_name_into_vector): New function.
12030 (build_font_name_from_vector): New function.
12031 (font_list): The argument REGISTRY is now a list of registry names.
12032 (choose_face_font): If we are choosing an ASCII font, and ATTRS
12033 specifies an explicit font name, return the name as is. Make a
12034 list of registy names.
12035
12036 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
12037 of x_new_fontset.
12038 (Fx_create_frame): Don't call x_new_fontset here. Just use
12039 x_list_fonts to check the existence of fonts.
12040
12041 * xterm.h (x_new_fontset): Adjust prototype.
12042
12043 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
12044 string. Use new_fontset_from_font_name to create a fontset from a
12045 font name.
12046
12047 2008-02-01 Kenichi Handa <handa@m17n.org>
12048
12049 * syntax.c (Vfind_word_boundary_function_table): New name for
12050 Vnext_word_boundary_function_table.
12051 (find-word-boundary-function-table): New name for
12052 next-word-boundary-function-table.
12053
12054 2008-02-01 Dave Love <fx@gnu.org>
12055
12056 * Makefile.in: Fix some dependencies.
12057
12058 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
12059 set it to nil before returning.
12060
12061 * composite.c (update_compositions): Fix type error.
12062
12063 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
12064
12065 2008-02-01 Kenichi Handa <handa@m17n.org>
12066
12067 * xterm.c (x_new_font): Optimize for the case that the font is
12068 already set for the frame.
12069
12070 2008-02-01 Kenichi Handa <handa@m17n.org>
12071
12072 * chartab.c (char_table_ascii): Check if the char table contents
12073 is sub-char-table or not.
12074 (char_table_set, char_table_set_range): Fix argument to
12075 char_table_ascii.
12076
12077 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
12078 (detect_coding_utf_8, detect_coding_utf_16)
12079 (detect_coding_emacs_mule, detect_coding_iso_2022)
12080 (detect_coding_sjis, detect_coding_big5)
12081 (detect_coding_ccl, detect_coding_charset): Change argument MASK
12082 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
12083 sequence is valid in this coding system. Change callers.
12084 (MAX_ANNOTATION_LENGTH): New macro.
12085 (ADD_ANNOTATION_DATA): New macro.
12086 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
12087 ADD_ANNOTATION_DATA. Change the format of annotation data.
12088 (ADD_CHARSET_DATA): New macro.
12089 (emacs_mule_char): New argument ID. Change callers.
12090 (decode_coding_emacs_mule, decode_coding_iso_2022)
12091 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12092 Produce charset annotation data in coding->charbuf.
12093 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
12094 to charset annotation data in coding->charbuf.
12095 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
12096 coding->common_flags if the coding system is iso-2022 based and
12097 uses designation.
12098 (produce_composition): Adjust for the new annotation data format.
12099 (produce_charset): New function.
12100 (produce_annotation): Handle charset annotation.
12101 (handle_composition_annotation, handle_charset_annotation): New
12102 functions.
12103 (consume_chars): Handle charset annotation. Utilize the above two
12104 functions.
12105 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
12106 buffer, get the deleted text as a string and set
12107 coding->src_object to that string.
12108 (detect_coding, detect_coding_system): Use the new struct
12109 coding_detection_info.
12110
12111 * coding.h (struct coding_detection_info): New structure.
12112 (struct coding_system): Adjust prototype of the member `detector'.
12113 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12114
12115 2008-02-01 Kenichi Handa <handa@m17n.org>
12116
12117 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12118
12119 2008-02-01 Dave Love <fx@gnu.org>
12120
12121 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12122 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12123 to new local and nullify apropos_accumulate before returning.
12124 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12125
12126 2008-02-01 Kenichi Handa <handa@m17n.org>
12127
12128 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12129 correctly.
12130
12131 2008-02-01 Dave Love <fx@gnu.org>
12132
12133 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12134
12135 2008-02-01 Kenichi Handa <handa@m17n.org>
12136
12137 The following changes are to make character composition happen
12138 automatically on displaying.
12139
12140 * Makefile.in (lisp, shortlisp): Add composite.elc.
12141
12142 * composite.h (Qauto_composed, Vauto_composition_function)
12143 (Qauto_composition_function): Extern them.
12144
12145 * composite.c (Vcomposition_function_table)
12146 (Qcomposition_function_table): Delete variables.
12147 (Qauto_composed, Vauto_composition_function)
12148 (Qauto_composition_function): New variables.
12149 (run_composition_function): Don't call
12150 compose-chars-after-function.
12151 (update_compositions): Clear `auto-composed' text property.
12152 (compose_chars_in_text): Delete this function.
12153 (syms_of_composite): Staticpro Qauto_composed and
12154 Qauto_composition_function. Declare Vauto_composition_function as
12155 a Lisp variable.
12156
12157 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12158
12159 * xdisp.c (it_props): Add an entry for Qauto_composed.
12160 (handle_auto_composed_prop): New function.
12161
12162 * xselect.c (selection_data_to_lisp_data): Don't call
12163 compose_chars_in_text.
12164
12165 2008-02-01 Dave Love <fx@gnu.org>
12166
12167 * keyboard.c (read_char): Modify checking around use of
12168 Vkeyboard_translate_table.
12169
12170 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12171 and fix C types.
12172
12173 2008-02-01 Kenichi Handa <handa@m17n.org>
12174
12175 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12176 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12177 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12178 the case that the last byte is '\r' correctly.
12179 (decode_coding): Flush out the unprocessed data correctly.
12180 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12181
12182 2008-02-01 Dave Love <fx@gnu.org>
12183
12184 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12185 Add XK_ISO... case.
12186 (xaw_scroll_callback): Revert last change.
12187
12188 2008-02-01 Kenichi Handa <handa@m17n.org>
12189
12190 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12191
12192 2008-02-01 Kenichi Handa <handa@m17n.org>
12193
12194 * xfaces.c (Vface_resizing_fonts): New variable.
12195 (struct font_name): New member `resizing_ratio'.
12196 (font_resizing_ratio): New function.
12197 (split_font_name): Set font->resizing_ratio.
12198 (better_font_p): Pay attention to font->resizing_ratio.
12199 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12200 RESX, and RESY fields.
12201 (try_alternative_families): Try scalable fonts if
12202 Vscalable_fonts_allowed is not Qt.
12203 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12204
12205 2008-02-01 Dave Love <fx@gnu.org>
12206
12207 * xterm.c (xaw_scroll_callback): Cast correctly.
12208
12209 2008-02-01 Dave Love <fx@gnu.org>
12210
12211 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12212 (lispy_kana_keys): Comment out.
12213 (make_lispy_event) [XK_kana_A]: Comment out.
12214
12215 * xterm.c (xaw_scroll_callback): Cast call_data.
12216 (XTread_socket): Deal with ASCII keysyms.
12217 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12218
12219 2008-02-01 Dave Love <fx@gnu.org>
12220
12221 * xterm.c (Vx_keysym_table): New.
12222 (syms_of_xterm): Initialize it.
12223 (XTread_socket): Use it.
12224 From head: Eliminate incorrect optimization that tried to avoid
12225 decoding the output of X*LookupString.
12226 (x_get_font_repertory): Delete charset declaration.
12227
12228 2008-02-01 Kenichi Handa <handa@m17n.org>
12229
12230 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12231 return 0.
12232 (Fdefine_coding_system_internal): Setup
12233 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12234
12235 2008-02-01 Dave Love <fx@gnu.org>
12236
12237 * coding.c (Fcheck_coding_system): Doc fix.
12238
12239 * editfns.c (Finsert_byte): Return a proper value.
12240
12241 2008-02-01 Kenichi Handa <handa@m17n.org>
12242
12243 * coding.c (decode_coding): Fix args to translate_chars. Pay
12244 attention to Vstandard_translation_table_for_decode.
12245 (encode_coding): Fix args to translate_chars. Pay attention to
12246 Vstandard_translation_table_for_encode.
12247
12248 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12249 SINGLE_BYTE_CHAR_P.
12250
12251 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12252 not by SINGLE_BYTE_CHAR_P.
12253
12254 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12255 SINGLE_BYTE_CHAR_P.
12256
12257 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12258 SINGLE_BYTE_CHAR_P.
12259
12260 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12261 by SINGLE_BYTE_CHAR_P.
12262
12263 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12264 SINGLE_BYTE_CHAR_P.
12265
12266 2008-02-01 Dave Love <fx@gnu.org>
12267
12268 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12269
12270 2008-02-01 Dave Love <fx@gnu.org>
12271
12272 * fns.c (Flanginfo): Fix typo.
12273
12274 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12275
12276 2008-02-01 Kenichi Handa <handa@m17n.org>
12277
12278 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12279 (detect_coding_emacs_mule, detect_coding_iso_2022)
12280 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12281 incomplete byte sequence. Don't update *mask when correctly detected.
12282 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12283 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12284 (detect_coding, detect_coding_system): Adjust for the changes above.
12285
12286 2008-02-01 Kenichi Handa <handa@m17n.org>
12287
12288 * character.c (char_string): Rename from
12289 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12290 (string_char): Rename from string_char.
12291
12292 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12293 if C is greater than MAX_3_BYTE_CHAR.
12294 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12295 string_char instead of string_char_with_unification.
12296
12297 2008-02-01 Dave Love <fx@gnu.org>
12298
12299 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12300
12301 2008-02-01 Kenichi Handa <handa@m17n.org>
12302
12303 * keymap.c (push_key_description): Pay attention to force_multibyte.
12304
12305 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12306
12307 2008-02-01 Dave Love <fx@gnu.org>
12308
12309 * charset.c (define_charset_internal): Rename `supprementary'.
12310
12311 * Makefile.in (lisp, shortlisp): Remove latin-N.
12312
12313 2008-02-01 Dave Love <fx@gnu.org>
12314
12315 * xfns.c (x_window, x_window): Use use_xim.
12316
12317 * xterm.c (use_xim): Initialize.
12318 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12319 (x_term_init): Maybe set use_xim.
12320
12321 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12322
12323 2008-02-01 Kenichi Handa <handa@m17n.org>
12324
12325 * search.c (search_buffer): Fix case-fold-search of multibyte
12326 characters.
12327 (boyer_moore): Rename the last argument to char_high_bits.
12328
12329 2008-02-01 Kenichi Handa <handa@m17n.org>
12330
12331 * xdisp.c (display_string): Fix for the case of zero width glyph.
12332
12333 * xfns.c (x_set_font): Change the error message of the case that
12334 x_new_fontset returns Qt.
12335
12336 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12337 (Finternal_set_lisp_face_attribute): Use signal_error for the
12338 error of invalid fontset.
12339
12340 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12341 fontset, return Qt.
12342
12343 2008-02-01 Dave Love <fx@gnu.org>
12344
12345 * unexelf.c (unexec): Make .got handling not SGI-specific.
12346
12347 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12348
12349 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12350
12351 * keyboard.c (read_key_sequence): Fix type error.
12352
12353 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12354 type error.
12355
12356 * fontset.c (fontset_add): Return Lisp_Object.
12357
12358 2008-02-01 Dave Love <fx@gnu.org>
12359
12360 * charset.h (charset_ordered_list_tick): Declare extern.
12361
12362 2008-02-01 Kenichi Handa <handa@m17n.org>
12363
12364 The following changes (and some of 2008-02-01 changes of mine) are
12365 for handling syntax, category, and case conversion for unibyte
12366 characters by converting them to multibyte on the fly. With these
12367 changes, we don't have to setup syntax and case tables for unibyte
12368 characters in each language environment.
12369
12370 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12371 multibyte if necessary.
12372
12373 * bytecode.c (Fbyte_code): Likewise.
12374
12375 * character.h (LEADING_CODE_LATIN_1_MIN)
12376 (LEADING_CODE_LATIN_1_MAX): New macros.
12377 (unibyte_to_multibyte_table): Extern it.
12378 (unibyte_char_to_multibyte): New macro.
12379 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12380 (CHAR_LEADING_CODE): New macro.
12381 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12382
12383 * character.c (unibyte_to_multibyte_table): New variable.
12384 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12385 (multibyte_char_to_unibyte): If C is an eight-bit character,
12386 convert it to the corresponding byte value.
12387
12388 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12389 not 1, signals an error. Update the elements of
12390 unibyte_to_multibyte_table.
12391 (init_charset_once): Initialize unibyte_to_multibyte_table.
12392 (syms_of_charset): Define the charset `iso-8859-1'.
12393
12394 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12395 as is without converting it to unibyte. In a unibyte buffer,
12396 convert C to multibyte before checking the syntax.
12397
12398 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12399
12400 * minibuf.c (Fminibuffer_complete_word): Use the macro
12401 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12402
12403 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12404
12405 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12406 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12407 that is zero, convert an eight-bit char to multibyte.
12408 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12409 non-emacs case.
12410 (PATFETCH): Convert an eight-bit char to multibyte.
12411 (HANDLE_UNIBYTE_RANGE): New macro.
12412 (regex_compile): Setup the compiled pattern for multibyte chars
12413 even if the given regex string is unibyte. Use PATFETCH_RAW
12414 instead of PATFETCH in many places. To handle `charset'
12415 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12416 only for ASCII chars.
12417 (analyse_first) <exactn>: Simplify because the compiled pattern
12418 is multibyte.
12419 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12420 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12421 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12422 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12423 multibyte always 1.
12424 (re_search_2): In emacs, set the locale variable multibyte to 1,
12425 otherwise to 0. New local variable target_multibyte. Check it
12426 to decide the multibyteness of STR1 and STR2. If
12427 target_multibyte is zero, convert unibyte chars to multibyte
12428 before translating and checking fastmap.
12429 (TARGET_CHAR_AND_LENGTH): New macro.
12430 (re_match_2_internal): In emacs, set the locale variable multibyte
12431 to 1, otherwise to 0. New local variable target_multibyte. Check
12432 it to decide the multibyteness of STR1 and STR2. Use
12433 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12434 <charset, charset_not>: If multibyte is nonzero, check fastmap
12435 only for ASCII chars. Call bcmp_translate with
12436 target_multibyte, not with multibyte.
12437 <begline>: Declare the local variable C as `unsigned'.
12438 (bcmp_translate): Change the last arg name to target_multibyte.
12439
12440 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12441 the regexp pattern and the matching target. Set cp->buf.multibyte
12442 to the multibyteness of the regexp pattern. Set
12443 cp->but.target_multibyte to the multibyteness of the matching target.
12444 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12445 FETCH_STRING_CHAR_ADVANCE.
12446 (Freplace_match): Convert unibyte chars to multibyte.
12447
12448 * syntax.c (char_quoted, back_comment, scan_words)
12449 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12450 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12451 unibyte chars to multibyte.
12452 (skip_chars): Delete the arg syntaxp, and move the code for
12453 handling syntaxes to skip_syntaxes. Change callers.
12454 Fix the case that the multibyteness of STRING and the current
12455 buffer doesn't match.
12456 (skip_syntaxes): New function.
12457 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12458 SINGLE_BYTE_CHAR_P.
12459
12460 2008-02-01 Kenichi Handa <handa@m17n.org>
12461
12462 * xfaces.c (QCfontset): New variable.
12463 (LFACE_FONTSET): New macro.
12464 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12465 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12466 (Finternal_set_lisp_face_attribute)
12467 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12468 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12469 check also LFACE_FONTSET_INDEX.
12470 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12471 attrs[LFACE_FONT_INDEX].
12472 (syms_of_xfaces): Intern and staticpro QCfontset.
12473
12474 * dispextern.h (enum lface_attribute_index): New member
12475 LFACE_FONTSET_INDEX.
12476
12477 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12478
12479 2008-02-01 Kenichi Handa <handa@m17n.org>
12480
12481 * coding.c (coding_set_destination): Fix coding->destination for
12482 the case converting a region.
12483 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12484 (encode_coding_object): Fix coding->dst_pos and
12485 coding->dst_pos_byte for the case converting a region.
12486
12487 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12488
12489 * character.h (BYTE8_STRING): New macro.
12490
12491 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12492
12493 2008-02-01 Kenichi Handa <handa@m17n.org>
12494
12495 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12496 characters by octal form.
12497
12498 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12499
12500 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12501 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12502 _fetch_multibyte_char_len.
12503 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12504
12505 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12506
12507 * casefiddle.c (casify_object): Simplify. Handle the case that
12508 the case conversion change the byte length.
12509 (casify_region): Likewise.
12510
12511 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12512
12513 * character.c (_fetch_multibyte_char_len): Delete this variable.
12514 (syms_of_character): Setup Vprintable_chars.
12515
12516 * editfns.c (Fchar_equal): Fix for the unibyte case.
12517 (Finsert_byte): New function.
12518 (syms_of_editfns): Defsubr it.
12519
12520 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12521 of direct code 0x3ffff.
12522
12523 * search.c (Freplace_match): Fix for the unibyte case.
12524
12525 2008-02-01 Kenichi Handa <handa@m17n.org>
12526
12527 * lread.c (safe_to_load_p): Fix the logic.
12528
12529 * syntax.c (scan_words): Don't treat characters belonging to
12530 different scripts as constituting a word.
12531
12532 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12533
12534 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12535
12536 * emacs.c (main): In the case of --unibyte, instead of aborting on
12537 finding non-empty buffer, make it unibyte.
12538
12539 2008-02-01 Kenichi Handa <handa@m17n.org>
12540
12541 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12542 to create a fontset.
12543
12544 2008-02-01 Dave Love <fx@gnu.org>
12545
12546 * character.c (Funibyte_char_to_multibyte): Doc fix.
12547
12548 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12549
12550 2008-02-01 Kenichi Handa <handa@m17n.org>
12551
12552 * fontset.c (fontset_add): Make the type `int'.
12553 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12554
12555 * character.c (unibyte_char_to_multibyte)
12556 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12557 charset_unibyte, not charset_primary.
12558
12559 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12560
12561 * charset.c (charset_unibyte): Rename from charset_primary.
12562 (Funibyte_charset): Rename from Fprimary_charset.
12563 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12564 (syms_of_charset): Adjust for the above changes.
12565
12566 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12567 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12568 it->multibyte_p is zero.
12569
12570 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12571 Delete extern.
12572
12573 2008-02-01 Kenichi Handa <handa@m17n.org>
12574
12575 * coding.c (Fdefine_coding_system_internal): Fix category setting
12576 for a coding system of type iso-2022.
12577
12578 2008-02-01 Kenichi Handa <handa@m17n.org>
12579
12580 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12581
12582 2008-02-01 Kenichi Handa <handa@m17n.org>
12583
12584 * syntax.c (Vnext_word_boundary_function_table): New variable.
12585 (next-word-boundary-function-table): Declare it as a Lisp variable
12586 in syms_of_syntax.
12587 (scan_words): Call functions in Vnext_word_boundary_function_table
12588 if any.
12589
12590 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12591
12592 * fontset.c (fs_load_font): If fontp->charset is not negative,
12593 return fontp without setting its members.
12594
12595 2008-02-01 Dave Love <fx@gnu.org>
12596
12597 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12598
12599 * m/sparc.h (HAVE_ALLOCA): Delete.
12600
12601 * s/irix6-5.h: Don't include strings.h.
12602 (bcopy, bzero, bcmp): Don't undef.
12603
12604 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12605
12606 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12607 (TIOCSIGSEND): Don't test IRIX6.
12608 (bcopy, bzero, bcmp): Define conditionally.
12609
12610 2008-02-01 Kenichi Handa <handa@m17n.org>
12611
12612 * buffer.c (Qas, Qmake, Qto): New variables.
12613 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12614 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12615
12616 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12617 we are inserting a process output into a multibyte buffer.
12618
12619 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12620 multibyte_char_to_unibyte.
12621
12622 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12623 by the primary charset, make it eight-bit char.
12624 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12625
12626 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12627 (charset_8_bit__control, charset_8_bit_graphic)
12628 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12629 (define_charset_internal): New function.
12630 (syms_of_charset): Call define_charset_internal for pre-defined
12631 charsets.
12632
12633 * charset.h (charset_8_bit): Extern it.
12634
12635 * coding.c (make_conversion_work_buffer): Adjust for the change
12636 of Fset_buffer_multibyte.
12637 (encode_coding_raw_text): Increment p0 in the loop.
12638
12639 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12640
12641 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12642 for the change of Fset_buffer_multibyte.
12643
12644 * fns.c (Fstring_to_multibyte): New function.
12645 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12646
12647 2008-02-01 Dave Love <fx@gnu.org>
12648
12649 * xfns.c (x_put_x_image): Declare args.
12650
12651 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12652 (try_font_list): Declare an arg.
12653
12654 * xdisp.c (message2_nolog, set_message): Declare an arg.
12655
12656 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12657
12658 * syntax.c (scan_sexps_forward): Declare an arg.
12659
12660 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12661 Declare an arg.
12662
12663 * lisp.h (Fnew_fontset): Declare.
12664
12665 * keymap.c (push_key_description): Call CHARACTERP correctly.
12666
12667 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12668 (face_for_char): Delete unused vars.
12669 (Fset_fontset_font): Doc fix. Delete unused vars.
12670
12671 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12672
12673 * composite.c (update_compositions): Declare arg.
12674
12675 * cm.c (calccost, cmgoto): Declare args.
12676
12677 * charset.c: Remove `emacs' conditional. Doc fixes.
12678 (map_char_table_for_charset): Declare.
12679
12680 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12681
12682 * ccl.c: Remove `emacs' conditional.
12683
12684 2008-02-01 Kenichi Handa <handa@m17n.org>
12685
12686 The following changes are to allow specifying multiple font
12687 patterns for a character range (specified by script or charset).
12688
12689 * Makefile.in (abbrev.o): Depend on syntax.h.
12690 (xfaces.o): Depend on charset.h.
12691
12692 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12693 SINGLE_BYTE_CHAR_P.
12694
12695 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12696
12697 * character.h (Vchar_script_table): Extern it.
12698
12699 * character.c (Vscript_alist): Delete.
12700 (Vchar_script_table, Qchar_script_table): New variable.
12701 (syms_of_character): Declare Vchar_script_table as a lisp variable
12702 and initialize it.
12703
12704 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12705 have property char-table-extra-slots, make no extra slot.
12706
12707 * dispextern.h (struct face): Delete member `charset'.
12708 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12709 SINGLE_BYTE_CHAR_P.
12710 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12711 Add prototypes.
12712 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12713 (generate_ascii_font_name): Rename from generate_ascii_font.
12714
12715 * fontset.h (get_font_repertory_func): New prototype.
12716 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12717 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12718
12719 * fontset.c (Qprepend, Qappend): New variables.
12720 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12721 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12722 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12723 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12724 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12725 (load_font_get_repertory): New functions.
12726 (fontset_set): Delete.
12727 (fontset_face): New arg FACE. Return face ID, not face.
12728 Complete re-write to handle new fontset structure. Change caller.
12729 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12730 (face_for_char): Don't call lookup_face.
12731 (make_fontset_for_ascii_face): New arg FACE.
12732 (fs_load_font): New arg CHARSET_ID. Don't check
12733 Vfont_encoding_alist here.
12734 (find_font_encoding): New function.
12735 (list_fontsets): Use STRINGP, not ! NILP.
12736 (accumulate_script_ranges): New function.
12737 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12738 re-written to handle new fontset structure.
12739 (Ffontset_font): Return a copy of element.
12740 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12741 docstring of font-encoding-alist.
12742
12743 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12744 (Fset_fotset_font): Fix arguments to 5.
12745
12746 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12747
12748 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12749 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12750 (highlight_trailing_whitespace): Adjust for the change of
12751 lookup_named_face.
12752
12753 * xfaces.c: Include charset.h.
12754 (load_face_font): Delete argument C. Change caller.
12755 (generate_ascii_font_name): Rename from generate_ascii_font.
12756 (font_name_registry): New function.
12757 (cache_face): Store ascii faces before non-ascii faces in buckets.
12758 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12759 Lookup only ascii faces.
12760 (lookup_non_ascii_face): New function.
12761 (lookup_named_face): Delete argument C. Change caller.
12762 (lookup_derived_face): Delete argument C. Change caller.
12763 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12764 a string, just call font_list with it.
12765 (choose_face_font): Delete arguments FACE and C. New arg
12766 FONT_SPEC. Change caller.
12767 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12768 Change caller.
12769 (realize_non_ascii_face): New function.
12770 (realize_x_face): Call load_face_font here.
12771 (realize_tty_face): Delete argument C. Change caller.
12772 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12773 get a face ID.
12774 (dump_realized_face): Don't print charset of FACE.
12775
12776 * xfns.c (x_set_font): Always call x_new_fontset and
12777 store_frame_parameter.
12778 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12779 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12780
12781 * xterm.h (x_get_font_repertory): Extern it.
12782
12783 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12784 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12785 it->multibyte_p is zero.
12786 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12787 (x_new_fontset): If FONTSETNAME doesn't match any existing
12788 fontsets, create a new one.
12789 (x_get_font_repertory): New function.
12790
12791 2008-02-01 Kenichi Handa <handa@m17n.org>
12792
12793 * coding.c (Ffind_coding_systems_region_internal): Detect an
12794 ASCII only string correctly.
12795
12796 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12797 version is 0.
12798
12799 2008-02-01 Kenichi Handa <handa@m17n.org>
12800
12801 * lread.c: Include "coding.h".
12802 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12803 (load_each_byte, unread_char): New variables.
12804 (readchar_backlog): Delete.
12805 (readchar): Return a character unless load_each_byte is nonzero.
12806 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12807 cons. If unread_char is not -1, simply return it.
12808 (unreadchar): Handle the case that readcharfun is
12809 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12810 (read_multibyte): Delete.
12811 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12812 (read_emacs_mule_char): New functions.
12813 (Fload): Even if the file doesn't have the extension ".elc", if
12814 safe_to_load_p returns a positive version number, assume that the
12815 file contains bytecompiled code. If the version is less than 22,
12816 load the file while decoding multibyte sequences by emacs-mule.
12817 (readevalloop): Don't use readchar_backlog.
12818 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12819 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12820 (read_escape): Delete the arg BYTEREP.
12821 (read1): Set load_each_byte to 1 temporarily while handling
12822 #@NUMBER. Don't call read_multibyte.
12823 (read_vector): Call Fread with a cons. If readcharfun is
12824 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12825 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12826 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12827 and Qload_force_doc_strings.
12828
12829 2008-02-01 Kenichi Handa <handa@m17n.org>
12830
12831 * xdisp.c (face_before_or_after_it_pos): Call
12832 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12833
12834 2008-02-01 Kenichi Handa <handa@m17n.org>
12835
12836 * character.h (TRAILING_CODE_P): New macro.
12837 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12838 (string_char_with_unification): Fix prototype.
12839 (Vscript_alist): Extern it.
12840
12841 * character.c (Vscript_alist): New variable.
12842 (string_char_with_unification, str_as_unibyte)
12843 (string_escape_byte8): Add `const' to local variables.
12844 (syms_of_character): Declare script-alist as a Lisp variable.
12845
12846 * charset.h (Vcharset_ordered_list): Extern it.
12847 (charset_ordered_list_tick): Extern it.
12848 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12849 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12850 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12851 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12852 (Funify_charset): Adjust for the change of Funify_charset.
12853
12854 * charset.c (charset_ordered_list_tick): New variable.
12855 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12856 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12857 deunify intead of unify a charset.
12858 (string_xstring_p): Add `const' to local variables.
12859 (find_charsets_in_text): Add `const' to arguments and local variables.
12860 (encode_char): Adjust for the change of Funify_charset. Fix
12861 detecting of invalid code.
12862 (Fset_charset_priority): Increment charset_ordered_list_tick.
12863 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12864 and TO_CODE.
12865
12866 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12867 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12868 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12869 (decode_coding_ccl, consume_chars)
12870 (Ffind_coding_systems_region_internal)
12871 (Fcheck_coding_systems_region): Add `const' to local variables.
12872
12873 * print.c (print_object): Use octal form for printing the
12874 contents of a bool vector.
12875
12876 2008-02-01 Dave Love <fx@gnu.org>
12877
12878 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12879 <version == 20>: Refuse to load.
12880
12881 2008-02-01 Dave Love <fx@gnu.org>
12882
12883 * fns.c: Move coding.h.
12884 (Qcodeset, Qdays, Qmonths): New.
12885 (concat): Use CHARACTERP instead of INTEGERP.
12886 (Flocale_codeset): Delete.
12887 (Flanginfo): New function.
12888 (syms_of_fns): Change accordingly.
12889
12890 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12891
12892 2008-02-01 Dave Love <fx@gnu.org>
12893
12894 * casetab.c (init_casetab_once, init_casetab_once): Fix
12895 CHAR_TABLE_SET call.
12896
12897 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12898
12899 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12900
12901 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12902 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12903 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12904
12905 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12906
12907 * coding.c (ENCODE_DESIGNATION, decode_eol)
12908 (make_conversion_work_buffer, code_conversion_restore)
12909 (Fdefine_coding_system_internal): Convert Lisp types.
12910 (code_conversion_restore): Use EQ, not ==.
12911 (Fencode_coding_string): Fix code_convert_string call.
12912
12913 * coding.h (code_convert_region): Fix prototype.
12914
12915 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12916
12917 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12918 (Ffontset_info): Convert Lisp types.
12919
12920 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12921
12922 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12923
12924 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12925
12926 * chartab.c: Include "...h", not <...h> in some cases.
12927
12928 * callproc.c (Fcall_process): Remove unused variables.
12929
12930 2008-02-01 Dave Love <fx@gnu.org>
12931
12932 * coding.c (Fset_coding_system_priority): Allow null arg list.
12933
12934 2008-02-01 Dave Love <fx@gnu.org>
12935
12936 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12937 (Fself_insert_and_exit): Use CHARACTERP.
12938
12939 * callproc.c (Fcall_process): Remove unused vars.
12940
12941 * xterm.c (XTread_socket): Add extra dead keysyms.
12942
12943 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12944
12945 * dispextern.h: Remove prototypes for redraw_frame,
12946 redraw_garbaged_frames.
12947
12948 * cmds.c (Fself_insert_command): Use CHARACTERP.
12949
12950 * chartab.c (make_sub_char_table): Remove unused var.
12951 (Fset_char_table_default, Fmap_char_table): Doc fix.
12952
12953 * keymap.c (access_keymap): Remove generic char code.
12954 (push_key_description): Use CHARACTERP.
12955
12956 2008-02-01 Dave Love <fx@gnu.org>
12957
12958 * charset.c: Doc fixes.
12959 (Funify_charset): Extra checking.
12960
12961 2008-02-01 Dave Love <fx@gnu.org>
12962
12963 * lread.c: Remove some unused variables.
12964 (safe_to_load_p): If safe, return the magic number version byte.
12965 (Fload): Maybe use load-with-code-conversion.
12966
12967 2008-02-01 Kenichi Handa <handa@m17n.org>
12968
12969 * category.c (Fmodify_category_entry): Don't modify the contents
12970 of category_set for characters out of the range. Avoid
12971 unnecessary modification.
12972
12973 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12974 Vchar_unify_table. The default value of the table is now nil.
12975
12976 * character.c (syms_of_character): Setup Vchar_width_table for
12977 eight-bit-control and raw-byte chars.
12978
12979 * charset.h (enum define_charset_arg_index): Delete
12980 charset_arg_parents and add charset_arg_subset and
12981 charset_arg_superset.
12982 (enum charset_attr_index): Delete charset_parents and add
12983 charset_subset and charset_superset.
12984 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12985 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12986 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12987 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12988 (CHARSET_SUPERSET): New macros.
12989 (charset_work): Extern it.
12990 (ENCODE_CHAR): Use charset_work.
12991 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12992 (map_charset_chars): Extern it.
12993
12994 * charset.c (load_charset_map): Set the default value of encoder
12995 and deunifier char-tables to nil.
12996 (map_charset_chars): Change argument. Change callers. Use
12997 map_char_table_for_charset instead of map_char_table.
12998 (Fmap_charset_chars): New optional args from_code and to_code.
12999 (Fdefine_charset_internal): Adjust for the change of
13000 `define-charset' (:parents -> :subset or :superset).
13001 (charset_work): New variable.
13002 (encode_char, syms_of_charset): Adjust for the change of
13003 Fdefine_charset_internal.
13004 (Ffind_charset_string): Setup the vector `charsets' correctly.
13005
13006 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
13007 the previous change.
13008 (char_table_ref_and_range): Adjust for the above change.
13009 (map_sub_char_table_for_charset): New function.
13010 (map_char_table_for_charset): New function.
13011
13012 * keymap.c (describe_vector): Handle a char-table directly here.
13013 (describe_char_table): Delete.
13014
13015 * lisp.h (map_charset_chars): Delete.
13016
13017 2008-02-01 Dave Love <fx@gnu.org>
13018
13019 * fns.c (count_combining): Comment out (unused).
13020 (Flocale_codeset): New.
13021 (syms_of_fns): Defsubr it.
13022
13023 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
13024 (size_t): Remove.
13025
13026 2008-02-01 Dave Love <fx@gnu.org>
13027
13028 * Makefile.in (chartab.o): Depend on charset.h.
13029
13030 2008-02-01 Kenichi Handa <handa@m17n.org>
13031
13032 * character.c (syms_of_character): Set the default value of
13033 Vprintable_chars to Qnil.
13034
13035 2008-02-01 Dave Love <fx@gnu.org>
13036
13037 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
13038
13039 2008-02-01 Kenichi Handa <handa@m17n.org>
13040
13041 * charset.c (load_charset_map): Handle the case that from < to
13042 correctly.
13043
13044 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
13045 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
13046 Pay attention to raw-8-bit chars.
13047
13048 2008-02-01 Kenichi Handa <handa@m17n.org>
13049
13050 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
13051 It is not bytecompiled now.
13052
13053 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
13054 (charset_jisx0208): New variables.
13055 (Fdefine_charset_internal): Setup them if appropriate.
13056 (init_charset_once): Initialize them to -1.
13057
13058 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
13059 (charset_jisx0208): Extern them.
13060
13061 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
13062 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
13063 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
13064 (setup_iso_safe_charsets): Fix arguments to Fassq.
13065 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
13066 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
13067 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
13068 (encode_coding_iso_2022): Change the 1st arg to
13069 ENCODE_ISO_CHARACTER to a variable.
13070
13071 2008-02-01 Kenichi Handa <handa@m17n.org>
13072
13073 * charset.h (enum define_charset_arg_index): New enums
13074 charset_arg_min_code and charset_arg_max_code.
13075 (struct charset): New member char_index_offset.
13076
13077 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
13078 Take charset->char_index_offset into account.
13079 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
13080 args[charset_arg_max_code]. Setup charset.char_index_offset.
13081 (syms_of_charset): Fix args to Fdefine_charset_internal.
13082
13083 2008-02-01 Dave Love <fx@gnu.org>
13084
13085 * coding.c (decode_coding_utf_8): Reject overlong sequences.
13086
13087 2008-02-01 Dave Love <fx@gnu.org>
13088
13089 * coding.c: Doc fixes.
13090 (Fcoding_system_aliases): Fix return value.
13091 (Qmac): Remove (duplicated) definition.
13092
13093 2008-02-01 Dave Love <fx@gnu.org>
13094
13095 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
13096 functions.
13097
13098 * character.c (Fstring): Doc fix.
13099
13100 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
13101
13102 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
13103 ids.
13104 (font-encoding-alist): Doc fix.
13105
13106 2008-02-01 Dave Love <fx@gnu.org>
13107
13108 * term.c (costs_set): Declare static, non-initialized for pcc.
13109 (encode_terminal_code): Remove unused var.
13110
13111 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13112 for K&R.
13113
13114 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13115
13116 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13117 (suffixes): Move out of make_subsidiaries for K&R.
13118
13119 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13120
13121 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13122
13123 2008-02-01 Dave Love <fx@gnu.org>
13124
13125 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13126
13127 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13128
13129 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
13130
13131 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13132
13133 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13134
13135 2008-02-01 Kenichi Handa <handa@m17n.org>
13136
13137 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13138 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13139
13140 2008-02-01 Kenichi Handa <handa@m17n.org>
13141
13142 * coding.c (decode_coding_charset): Adjust for the change of
13143 Fdefine_coding_system_internal.
13144 (Fdefine_coding_system_internal): For a coding system of
13145 `charset' type, store a list of charset IDs in
13146 `charset_attr_charset_valids' element of coding attributes.
13147
13148 2008-02-01 Kenichi Handa <handa@m17n.org>
13149
13150 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13151 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13152 caller. Handle 2-byte and 3-byte charsets correctly.
13153 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13154 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13155 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13156 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13157 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13158 sequence.
13159 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13160 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13161 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13162 and alt&rule composition.
13163 (decode_coding_iso_2022): Handle composition correctly.
13164 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13165
13166 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13167 re-defining a charset. If the charset has :emacs-mule-id, setup
13168 emacs_mule_bytes.
13169 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13170
13171 2008-02-01 Kenichi Handa <handa@m17n.org>
13172
13173 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13174 (encode_coding_big5, encode_coding_charset): If coding requires safe
13175 encoding, produce a character specified by
13176 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13177
13178 2008-02-01 Dave Love <fx@gnu.org>
13179
13180 * xterm.c (XSetIMValues): Declare.
13181
13182 * process.c: Conditionally include sys/wait.h, pty.h.
13183
13184 * print.c (print_object): Fix print format for 64-bit systems.
13185
13186 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13187
13188 * buffer.c (emacs_strerror): Declare.
13189
13190 * fontset.c (Fclear_face_cache): Declare.
13191 (accumulate_font_info): Comment-out (unused).
13192 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13193 variables.
13194
13195 * character.h (string_escape_byte8): Declare.
13196
13197 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13198 unused vars.
13199 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13200 (Fmap_charset_chars): Doc fix.
13201
13202 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13203 (Fset_coding_system_priority, Fset_coding_system_priority)
13204 (Fdefine_coding_system_internal): Doc fix.
13205
13206 2008-02-01 Dave Love <fx@gnu.org>
13207
13208 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13209
13210 2008-02-01 Kenichi Handa <handa@m17n.org>
13211
13212 * character.c (string_escape_byte8): Make multibyte string with
13213 correct size.
13214
13215 * charset.c (Fmake_char): Delete unnecessary code.
13216
13217 2008-02-01 Kenichi Handa <handa@m17n.org>
13218
13219 * xfns.c (x_encode_text): Allocate coding.destination here, and
13220 call encode_coding_object with dst_object Qnil.
13221
13222 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13223 multibyte form correctly.
13224
13225 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13226 against Vfont_encoding_alist.
13227
13228 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13229 handling of charset list.
13230 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13231 (decode_coding_object): Move point to coding->dst_pos before
13232 calling post-read-conversion function.
13233 (encode_coding_object): Give correct arguments to
13234 pre-write-conversion. Ignore the return value of
13235 pre-write-conversion function. Pay attention to the case that
13236 pre-write-conversion changes the current buffer. If dst_object is
13237 Qt, even if coding->src_bytes is zero, allocate at least one byte
13238 to coding->destination.
13239
13240 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13241
13242 * charset.c (Fmake_char): Make it more backward compatible.
13243 (Fmap_charset_chars): Fix docstring.
13244
13245 2008-02-01 Dave Love <fx@gnu.org>
13246
13247 * coding.c: Doc fixes.
13248 (Fdefine_coding_system_alias): Use names, not symbols, in
13249 coding-system-alist.
13250
13251 2008-02-01 Kenichi Handa <handa@m17n.org>
13252
13253 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13254 of calling free_realized_face.
13255
13256 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
13257
13258 * charset.c (read_hex): Don't treat SPC as a comment starter.
13259 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13260 (Fdecode_char): Fix typo.
13261
13262 2008-02-01 Kenichi Handa <handa@m17n.org>
13263
13264 * charset.h (struct charset): New member `code_space_mask'.
13265
13266 * coding.c (coding_set_source): Delete the local variable beg_byte.
13267 (encode_coding_charset, Fdefine_coding_system_internal):
13268 Delete the local variable charset.
13269 (Fdefine_coding_system_internal): Setup
13270 attrs[coding_attr_charset_valids] correctly.
13271
13272 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13273 member to check if CODE is valid or not.
13274 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13275 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13276 is within the range of charset->min_code and carset->max_code.
13277
13278 2008-02-01 Dave Love <fx@gnu.org>
13279
13280 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13281
13282 * dispextern.h (generate_ascii_font): Fix return type.
13283
13284 * xfaces.c (generate_ascii_font): Fix arg declaration.
13285
13286 * coding.c (coding_inherit_eol_type)
13287 (Fset_terminal_coding_system_internal)
13288 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13289
13290 2008-02-01 Kenichi Handa <handa@m17n.org>
13291
13292 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13293 multiple charsets correctly.
13294
13295 2008-02-01 Kenichi Handa <handa@m17n.org>
13296
13297 * search.c (boyer_moore): Fix handling of multibyte character
13298 translation.
13299
13300 * xdisp.c (display_mode_element): When the variable `elt' is
13301 changed, update `this' and `lisp_string'.
13302
13303 2008-02-01 Kenichi Handa <handa@m17n.org>
13304
13305 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13306
13307 * callproc.c (Fcall_process): Be sure to give the current buffer
13308 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13309
13310 * charset.c (struct charset_map_entries): New struct.
13311 (load_charset_map): Rename from parse_charset_map. New args
13312 entries and n_entries. Change caller.
13313 (load_charset_map_from_file): Rename from load_charset_map.
13314 Change caller. New arg control_flag. Call load_charset_map at
13315 the tail.
13316 (load_charset_map_from_vector): New function.
13317 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13318 (encode_char): If the charset is compact, change a character index
13319 to a code point.
13320
13321 * coding.c (coding_alloc_by_making_gap): Check the case that the
13322 source and destination are the same correctly.
13323 (decode_coding_raw_text): Set coding->consumed_char and
13324 coding->consumed to 0.
13325 (produce_chars): If coding->chars_at_source is nonzero, update
13326 coding->consumed_char and coding->consumed before calling
13327 alloc_destination.
13328 (Fdefine_coding_system_alias): Register ALIAS in
13329 Vcoding_system_alist.
13330 (syms_of_coding): Define `no-conversion' coding system at the tail.
13331
13332 * fileio.c (Finsert_file_contents): Set coding_system instead of
13333 val. If the current buffer is multibyte, always call
13334 decode_coding_gap.
13335
13336 * xfaces.c (try_font_list): Give higher priority to fontset's
13337 family than face's family.
13338
13339 2008-02-01 Kenichi Handa <handa@m17n.org>
13340
13341 * callproc.c (Fcall_process): Be sure to give the current buffer
13342 to decode_coding_c_string.
13343
13344 * xfaces.c (try_font_list): Give a family specified in a fontset
13345 higher priority than a family specified in a face.
13346
13347 2008-02-01 Kenichi Handa <handa@m17n.org>
13348
13349 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13350 Fix arguments to insert_from_buffer.
13351
13352 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13353
13354 2008-02-01 Kenichi Handa <handa@m17n.org>
13355
13356 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13357 (decode_coding_gap): Set coding->dst_multibyte correctly.
13358
13359 2008-02-01 Kenichi Handa <handa@m17n.org>
13360
13361 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13362 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13363 (encode_coding_utf_16): Substitute coding->default_char for
13364 non-Unicode characters.
13365 (decode_coding): Don't call record_insert here.
13366 (setup_coding_system): Initialize `surrogate' of
13367 coding->spec.utf_16 to 0.
13368 (EMIT_ONE_BYTE): Fix for multibyte case.
13369
13370 * insdel.c (insert_from_gap): Call record_insert.
13371
13372 2008-02-01 Kenichi Handa <handa@m17n.org>
13373
13374 * casefiddle.c (casify_region): Fix multibyte case.
13375
13376 * character.c (c_string_width): Add return type `int'.
13377 (char_string_with_unification): Delete arg ADVANCED.
13378
13379 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13380 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13381 (CHAR_STRING_ADVANCE): Make it do-while statement.
13382
13383 * chartab.c (sub_char_table_set_range): Optimize for the case
13384 DEPTH == 3. Add workaround code for a GCC optimization bug.
13385
13386 * charset.c (parse_charset_map): Remove an unused variable.
13387
13388 * coding.c: Delete unused variables.
13389
13390 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13391 earlier. If inserted is zero and the coding system doesn't
13392 require flushing, don't call decode_coding_gap.
13393
13394 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13395
13396 2008-02-01 Kenichi Handa <handa@m17n.org>
13397
13398 The following changes are for using Unicode as an internal
13399 character model, and use UTF-8 format for buffer/string
13400 representation.
13401
13402 * .gdbinit (xchartable): Adjust for the change of char table structure.
13403 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13404
13405 * Makefile.in (obj): Add character.o and chartab.o.
13406 (lisp, shortlisp): Remove utf-8.elc.
13407 (*.o): For many files, change dependency on charset.h to
13408 character.h, and add dependency on character.h.
13409 (character.o, chartab.o): New targets.
13410
13411 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13412 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13413 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13414 of "charset.h".
13415
13416 * dired.c, filelock.c: Include "character.h".
13417
13418 * alloc.c: Include "character.h" instead of "charset.h".
13419 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13420 (syms_of_alloc): Remove defsubr for Smake_char_table.
13421
13422 * buffer.c: Include "character.h" instead of "charset.h", don't
13423 include "coding.h".
13424 (Fset_buffer_multibyte): Adjust for UTF-8.
13425
13426 * buffer.h: EXFUN Fbuffer_live_p.
13427
13428 * callproc.c: Include "character.h" instead of "charset.h".
13429 (Fcall_process): Big change for the new code-conversion APIs.
13430
13431 * casetab.c: Include "character.h" instead of "charset.h".
13432 (set_canon, set_identity, shuffle): Adjust for the new
13433 map_char_table spec.
13434 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13435 accessing the char table structure.
13436
13437 * chartab.c: New file that implements char table.
13438
13439 * category.c: Include "character.h".
13440 (copy_category_entry): New function.
13441 (copy_category_table): Call map_char_table and copy_category_entry.
13442 (Fmake_category_table): Initialize all top-level slots.
13443 (char_category_set): New function.
13444 (modify_lower_category_set): Delete.
13445 (Fmodify_category_entry): Call char_table_ref_and_range.
13446
13447 * category.h (CATEGORY_SET): Just call char_category_set.
13448
13449 * ccl.c: Include "character.h".
13450 (Qccl, Qcclp): New variables.
13451 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13452 it's less than 256.
13453 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13454 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13455 and DST type.
13456 (ccl_driver): Change types of argument, adjust code accordingly.
13457 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13458 ccl_driver.
13459 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13460
13461 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13462 New members src_multibyte, dst_multibyte, consumed, and produced.
13463 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13464 (CODING_SPEC_CCL_PROGRAM): New macro.
13465 (ccl_driver): Update prototype.
13466 (Qccl, Qcclp, Fccl_program_p): Extern them.
13467 (CHECK_CCL_PROGRAM): New macro.
13468
13469 * character.c, character.h, chartab.c: New files.
13470
13471 * charset.c: Mostly re-written. Move character and multibyte sequence
13472 handling codes to character.c.
13473
13474 * charset.h: Mostly re-written. Move character and multibyte sequence
13475 handling codes to character.h.
13476
13477 * coding.c, coding.h: Mostly re-written.
13478
13479 * composite.c: Include "character.h" instead of "charset.h".
13480 (CHAR_WIDTH): Move to character.h.
13481 (HASH_KEY, HASH_VALUE): Delete.
13482
13483 * composite.h (enum composition_method): Change order of enumeration
13484 symbols.
13485
13486 * data.c: Include "character.h" instead of "charset.h".
13487 (Faref): Call CHAR_TABLE_REF for a char table.
13488 (Faset): Call CHAR_TABLE_SET for a char table.
13489
13490 * dispextern.h (free_realized_face, check_face_attribytes)
13491 (generate_ascii_font): Extern them.
13492 (free_realized_multibyte_face): Delete extern.
13493
13494 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13495 table structure.
13496
13497 * editfns.c: Include "character.h" instead of "charset.h".
13498 (Fchar_to_string): Always call CHAR_STRING.
13499
13500 * emacs.c (main): Call init_charset_once, init_charset,
13501 syms_of_chartab, and syms_of_character.
13502
13503 * fileio.c: Include "character.h" instead of "charset.h".
13504 (Finsert_file_contents): Big change for the new code-conversion API.
13505 (choose_write_coding_system, Fwrite_region): Likewise.
13506 (build_annotations_2): Delete.
13507 (e_write): Big change for the new code-conversion API.
13508
13509 * fns.c: Include "character.h" instead of "charset.h".
13510 (copy_sub_char_table): Move to chartab.c.
13511 (Fcopy_sequence): Call copy_char_table for a char table.
13512 (concat): Delete codes calling count_multibyte.
13513 (string_char_to_byte, string_byte_to_char): Adjust for the new
13514 multibyte form.
13515 (internal_equal): Adjust for the change of char table structure.
13516 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13517 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13518 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13519 (char_table_translate, optimize_sub_char_table)
13520 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13521 chartab.c.
13522 (char_table_ref_and_index): Delete.
13523 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13524 (Fmd5): Call preferred_coding_system instead of accessing
13525 Vcoding_category_list. Adjust for the new code-conversion API.
13526 (syms_of_fns): Move defsubr for char table related functions to
13527 chartab.c.
13528
13529 * fontset.c: Mostly re-written.
13530
13531 * fontset.h (struct font_info): Change type of the member encoding_type.
13532 (enum FONT_SPEC_INDEX): New enum.
13533 (fontset_font_pattern, fs_load_font): Update prototype.
13534 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13535
13536 * indent.c: Include "character.h" instead of "charset.h".
13537 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13538
13539 * insdel.c: Include "character.h" instead of "charset.h".
13540 (copy_text): Don't refer to Vnonascii_translation_table.
13541 (insert_from_gap): New function.
13542
13543 * keyboard.c: Include "character.h" instead of "charset.h".
13544 (command_loop_1): Never call direct_output_forward_char before
13545 a non-ASCII character.
13546 (read_char): If Vkeyboard_translate_table is a char table, always
13547 translate a character.
13548
13549 * keymap.c: Include "character.h".
13550 (store_in_keymap): Handle the case that IDX is a cons.
13551 (Fdefine_key): Handle the case that KEY is a cons and the car part
13552 is also a cons (range).
13553 (push_key_description): Adjust for the new character code.
13554 (describe_vector): Call describe_char_table for a char table.
13555 (describe_char_table): New function.
13556
13557 * keymap.h (describe_char_table): Extern it.
13558
13559 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13560 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13561 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13562 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13563 Delete.
13564 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13565 structure.
13566 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13567 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13568 (CHARTAB_SIZE_BITS_3): New macros.
13569 (chartab_size): Extern it.
13570 (struct Lisp_Char_Table): Re-design.
13571 (struct Lisp_Sub_Char_Table): New structure.
13572 (HASH_KEY, HASH_VALUE): Move from fns.c.
13573 (CHARACTERBITS): Define as 22.
13574 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13575 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13576 (GC_SUB_CHAR_TABLE_P): New macro.
13577 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13578 (code_convert_string_norecord): Deleted extern.
13579 (init_character_once, syms_of_character, init_charset)
13580 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13581
13582 * lread.c: Include "character.h".
13583 (read_multibyte): New arg NBYTES.
13584 (read_escape): Change the meaning of returned *BYTEREP.
13585 (to_multibyte): Delete.
13586 (read1): Adjust the handling of char table and string.
13587
13588 * print.c: Include "character.h" instead of "charset.h".
13589 (print_string): Convert 8-bit raw bytes to octal form by
13590 string_escape_byte8.
13591 (print_object): Adjust for the new multibyte form. Print 8-bit
13592 raw bytes always in octal form. Handle sub char table correctly.
13593
13594 * process.c: Include "character.h" instead of "charset.h".
13595 (read_process_output, send_process): Adjust for the new
13596 code-conversion API.
13597
13598 * puresize.h (BASE_PURESIZE): Increase.
13599
13600 * regex.c: Include "character.h" instead of "charset.h".
13601 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13602 (regex_compile): Accept a range whose starting and ending
13603 character have different leading bytes.
13604 (analyse_first): Adjust for the above change.
13605
13606 * search.c: Include "character.h" instead of "charset.h".
13607 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13608 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13609
13610 * syntax.c: Include "character.h" instead of "charset.h".
13611 (syntax_parent_lookup): Delete.
13612 (Fmodify_syntax_entry): Accept a cons as CHAR.
13613 (skip_chars): Adjust for the new multibyte form.
13614 (init_syntax_once): Call char_table_set_range instead of directly
13615 accessing the structure of a char table.
13616
13617 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13618 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13619 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13620 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13621
13622 * term.c: Include "buffer.h" and "character.h".
13623 (encode_terminal_code, write_glyphs): Adjust for the new
13624 code-conversion API.
13625 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13626
13627 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13628
13629 * xdisp.c: Include "character.h".
13630 (get_next_display_element): Adjust for the new multibyte form.
13631 (disp_char_vector): Adjust for the new char table structure.
13632 (decode_mode_spec_coding): Adjust for the new structure of
13633 coding system.
13634 (decode_mode_spec): Adjust for the new code-conversion API.
13635
13636 * xfaces.c: Include "character.h" instead of "charset.h".
13637 (load_face_font): Adjust for the change of choose_face_font and
13638 FS_LOAD_FONT.
13639 (generate_ascii_font): New function.
13640 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13641 (set_font_frame_param): Adjust for the change of choose_face_font.
13642 (free_realized_face): Make it public.
13643 (free_realized_faces_for_fontset): Rename from
13644 free_realized_multibyte_face. Free also faces realized for ASCII.
13645 (choose_face_font): Change arguments. Adjust for the change of
13646 fontset_font_pattern and FS_LOAD_FONT.
13647
13648 * xfns.c: Include "character.h".
13649 (x_encode_text): Adjust for the new code-conversion API.
13650
13651 * xselect.c: Don't include "charset.h".
13652 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13653
13654 * xterm.c: Include "character.h".
13655 (x_encode_char): New argument CHARSET. Change caller.
13656 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13657 Call ENCODE_CHAR instead of SPLIT_CHAR.
13658 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13659 CHAR_WIDTH instead of CHARSET_WIDTH.
13660 (XTread_socket): Adjust for the new code-conversion API.
13661 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13662 (x_load_font): Adjust for the change of struct font.
13663
13664 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13665
13666 * xfaces.c (face_at_buffer_position): Remove unused vars.
13667
13668 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13669
13670 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13671 Fix overflow checking.
13672
13673 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13674
13675 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13676 Cancel previous change.
13677
13678 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13679
13680 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13681 ccl->eight_bit_control. Fix check for buffer overflow.
13682 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13683 (ccl_driver): Initialize extra_bytes to 0.
13684
13685 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13686
13687 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13688 return it ORed with ctrl_modifier.
13689
13690 2008-01-29 Miles Bader <miles@gnu.org>
13691
13692 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13693
13694 2008-01-28 Jason Rumney <jasonr@gnu.org>
13695
13696 * w32.c (stat): Don't double check for networked drive.
13697
13698 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13699
13700 * window.c (run_window_configuration_change_hook): New function.
13701 Code extracted from set_window_buffer. Set the selected frame.
13702 (set_window_buffer): Use it.
13703 * window.h (run_window_configuration_change_hook): Declare.
13704 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13705
13706 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13707
13708 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13709
13710 * Makefile.in: Remove references to unused macros.
13711
13712 2008-01-26 Eli Zaretskii <eliz@gnu.org>
13713
13714 * w32.c (g_b_init_get_sid_sub_authority)
13715 (g_b_init_get_sid_sub_authority_count): New static variables.
13716 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13717 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13718 (init_user_info): Use them to retrieve uid and gid.
13719 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13720 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13721 st_uid and st_gid of the file.
13722
13723 2008-01-26 Jason Rumney <jasonr@gnu.org>
13724
13725 * w32.c (logon_network_drive): New function.
13726 (stat): Use it.
13727
13728 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
13729
13730 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13731 invisible text covered with an ellipsis.
13732
13733 2008-01-25 Richard Stallman <rms@gnu.org>
13734
13735 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13736 jump back to beginning. Move some other initializations after that.
13737 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13738 New variables.
13739 (syms_of_xdisp): Init them.
13740
13741 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13742
13743 * buffer.c (reset_buffer_local_variables):
13744 Implement `permanent-local-hook'.
13745 (Qpermanent_local_hook): New variable.
13746 (syms_of_buffer): Init and staticpro it.
13747
13748 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
13749
13750 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13751
13752 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13753
13754 * fns.c (Fclrhash): Return TABLE.
13755
13756 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13757
13758 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13759 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13760 is set even without positional changes.
13761 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13762
13763 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13764
13765 2008-01-23 Jason Rumney <jasonr@gnu.org>
13766
13767 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13768
13769 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13770 the unicode range available in MULE by locale-coding-system.
13771 Improve dbcs lead byte detection. Set event timestamp and modifiers
13772 earlier.
13773
13774 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13775
13776 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13777 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13778 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13779 when used on child processes.
13780
13781 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
13782
13783 * dbusbind.c (Fdbus_method_return_internal): Rename from
13784 Fdbus_method_return.
13785 (Fdbus_unregister_object): Move to dbus.el.
13786 (Fdbus_call_method, Fdbus_method_return_internal)
13787 (Fdbus_send_signal): Improve debug messages.
13788
13789 2008-01-20 Martin Rudalics <rudalics@gmx.at>
13790
13791 * undo.c (undo_inhibit_record_point): New variable.
13792 (syms_of_undo): Initialize it.
13793 (record_point): Don't record point when undo_inhibit_record_point
13794 is set.
13795
13796 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13797
13798 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13799
13800 * xdisp.c (Qauto_hscroll_mode): New var.
13801 (syms_of_xdisp): Initialize it.
13802 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13803 window's buffer.
13804 (hscroll_windows): Don't check automatic_hscrolling_p here.
13805
13806 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13807 vscroll if we're setting window-buffer to the value it already has.
13808
13809 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13810
13811 * m/intel386.h: Remove references to XENIX.
13812
13813 2008-01-17 Andreas Schwab <schwab@suse.de>
13814
13815 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13816 instead of HAVE_X86_64_LIB64_DIR.
13817 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13818
13819 2008-01-17 Glenn Morris <rgm@gnu.org>
13820
13821 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13822 to HAVE_X86_64_LIB64_DIR.
13823
13824 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13825
13826 * s/irix3-3.h:
13827 * s/irix4-0.h:
13828 * s/386-ix.h:
13829 * s/domain.h:
13830 * s/hpux9-x11r4.h:
13831 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13832
13833 * sysdep.c: Remove code containing references to symbols defined
13834 by unsupported systems.
13835
13836 2008-01-16 Glenn Morris <rgm@gnu.org>
13837
13838 * coding.c (select-safe-coding-system-function): Doc fix.
13839
13840 2008-01-15 Glenn Morris <rgm@gnu.org>
13841
13842 * config.in: Revert 2008-01-13 change: this is a generated file.
13843
13844 2008-01-13 Tom Tromey <tromey@redhat.com>
13845
13846 * lisp.h: Fix typo.
13847
13848 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13849
13850 * m/sequent-ptx.h:
13851 * m/sequent.h:
13852 * s/ptx.h:
13853 * s/ptx4-2.h:
13854 * s/ptx4.h: Remove files for systems no longer supported.
13855
13856 * callproc.c (Fcall_process): Fix previous change.
13857
13858 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13859
13860 * unexsunos4.c: Remove file, system not supported anymore.
13861
13862 * m/mips.h:
13863 * m/intel386.h:
13864 * callproc.c:
13865 * config.in:
13866 * ecrt0.c:
13867 * emacs.c:
13868 * fileio.c:
13869 * frame.c:
13870 * getpagesize.h:
13871 * keyboard.c:
13872 * lread.c:
13873 * process.c:
13874 * puresize.h:
13875 * sysdep.c:
13876 * systty.h:
13877 * syswait.h:
13878 * unexec.c:
13879 * xdisp.c:
13880 * alloc.c: Remove code containing references to symbols defined by
13881 unsupported systems.
13882
13883 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13884
13885 * coding.c (detect_coding_mask): Fix previous change.
13886
13887 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13888
13889 * coding.c (detect_coding_iso2022): New arg
13890 latin_extra_code_state. Allow Latin extra codes only
13891 when *latin_extra_code_state is nonzero.
13892 (detect_coding_mask): If there is a NULL byte, detect the encoding
13893 as UTF-16 or binary. If Latin extra codes exist, detect the
13894 encoding as ISO-2022 only when there's no other proper encoding is
13895 found.
13896
13897 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13898
13899 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13900 #ifdef MAC_OS.
13901
13902 2008-01-08 Richard Stallman <rms@gnu.org>
13903
13904 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13905
13906 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
13907
13908 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13909 menu bar in parentheses.
13910
13911 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13912
13913 * m/7300.h:
13914 * m/acorn.h:
13915 * m/alliant-2800.h:
13916 * m/alliant.h:
13917 * m/alliant1.h:
13918 * m/alliant4.h:
13919 * m/altos.h:
13920 * m/amdahl.h:
13921 * m/apollo.h:
13922 * m/att3b.h:
13923 * m/aviion-intel.h:
13924 * m/aviion.h:
13925 * m/celerity.h:
13926 * m/clipper.h:
13927 * m/cnvrgnt.h:
13928 * m/convex.h:
13929 * m/cydra5.h:
13930 * m/delta88k.h:
13931 * m/dpx2.h:
13932 * m/dual.h:
13933 * m/elxsi.h:
13934 * m/f301.h:
13935 * m/gould-np1.h:
13936 * m/gould.h:
13937 * m/i860.h:
13938 * m/ibmps2-aix.h:
13939 * m/ibmrt-aix.h:
13940 * m/ibmrt.h:
13941 * m/irist.h:
13942 * m/is386.h:
13943 * m/isi-ov.h:
13944 * m/mega68.h:
13945 * m/mg1.h:
13946 * m/news-r6.h:
13947 * m/news-risc.h:
13948 * m/news.h:
13949 * m/nh3000.h:
13950 * m/nh4000.h:
13951 * m/ns16000.h:
13952 * m/ns32000.h:
13953 * m/nu.h:
13954 * m/orion.h:
13955 * m/orion105.h:
13956 * m/paragon.h:
13957 * m/pfa50.h:
13958 * m/plexus.h:
13959 * m/pyramid.h:
13960 * m/pyrmips.h:
13961 * m/sh3el.h:
13962 * m/sps7.h:
13963 * m/sr2k.h:
13964 * m/stride.h:
13965 * m/sun1.h:
13966 * m/sun2.h:
13967 * m/sun3-68881.h:
13968 * m/sun3-fpa.h:
13969 * m/sun3-soft.h:
13970 * m/sun3.h:
13971 * m/sun386.h:
13972 * m/symmetry.h:
13973 * m/tad68k.h:
13974 * m/tahoe.h:
13975 * m/targon31.h:
13976 * m/tek4300.h:
13977 * m/tekxd88.h:
13978 * m/tower32.h:
13979 * m/tower32v3.h:
13980 * m/ustation.h:
13981 * m/wicat.h:
13982 * m/xps100.h:
13983 * s/cxux.h:
13984 * s/cxux7.h:
13985 * s/dgux.h:
13986 * s/dgux4.h:
13987 * s/dgux5-4-3.h:
13988 * s/dgux5-4r2.h:
13989 * s/esix.h:
13990 * s/esix5r4.h:
13991 * s/hiuxmpp.h:
13992 * s/hiuxwe2.h:
13993 * s/iris3-5.h:
13994 * s/iris3-6.h:
13995 * s/isc2-2.h:
13996 * s/isc3-0.h:
13997 * s/isc4-0.h:
13998 * s/isc4-1.h:
13999 * s/newsos5.h:
14000 * s/newsos6.h:
14001 * s/osf1.h:
14002 * s/osf5-0.h:
14003 * s/riscix1-1.h:
14004 * s/riscix12.h:
14005 * s/sco4.h:
14006 * s/sco5.h:
14007 * s/sunos4-0.h:
14008 * s/sunos4-1.h:
14009 * s/sunos413.h:
14010 * s/sunos4shr.h:
14011 * s/umax.h:
14012 * s/unipl5-2.h:
14013 * s/xenix.h:
14014 * cxux-crt0.s:
14015 * unexapollo.c:
14016 * unexconvex.c:
14017 * unexenix.c:
14018 * unexsni.c: Remove files for systems no longer supported.
14019
14020 * m/intel386.h: Remove references to unsupported systems.
14021
14022 * w32.c (get_emacs_configuration): Remove reference to i860.
14023
14024 * sysdep.c: Remove dead code.
14025
14026 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
14027
14028 * s/rtu.h:
14029 * m/masscomp.h: Remove files. Platform is obsolete.
14030
14031 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
14032
14033 * dbusbind.c (Fdbus_method_return): New function.
14034 (xd_read_message): Add the serial number to the event.
14035 (Fdbus_register_method): Activate the function.
14036
14037 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
14038
14039 * keyboard.c (read_key_sequence): Fix typo.
14040
14041 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
14042
14043 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
14044 (xd_signature, xd_append_arg): Handle element type detection for
14045 empty arrays.
14046 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
14047 SDATA () calls; this must be solved more general.
14048 (Fdbus_register_signal): Use SBYTES instead of strlen.
14049
14050 2008-01-03 Magnus Henoch <magnus@zemdatav>
14051
14052 * dbusbind.c (xd_append_arg): Use unsigned char instead of
14053 unsigned int for byte values (necessary for big-endian platform).
14054 (Fdbus_call_method): Handle the case of no returned arguments.
14055
14056 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
14057
14058 * dbusbind.c (xd_read_message): Use non-static input_event struct.
14059
14060 2007-12-31 Magnus Henoch <mange@freemail.hu>
14061
14062 * dbusbind.c (xd_signature): Signature of variant is just "v".
14063
14064 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
14065
14066 * dbusbind.c: Fix several errors and compiler warnings.
14067 Reported by Tom Tromey <tromey@redhat.com>.
14068 (XD_ERROR, XD_DEBUG_MESSAGE)
14069 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
14070 (xd_append_arg): Part for basic D-Bus types rewritten.
14071 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
14072 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
14073 appropriate.
14074 (xd_read_message): Return Qnil. Don't signal an error; it is not
14075 useful during event reading.
14076 (Fdbus_register_signal): Signal an error if the check for
14077 FUNCTIONP fails.
14078 (Fdbus_register_method): New function. The implementation is not
14079 complete, the call of the function signals an error therefore.
14080 (Fdbus_unregister_object): New function, renamed from
14081 Fdbus_unregister_signal. The initial check signals an error, if
14082 the object is not well formed.
14083
14084 2007-12-30 Richard Stallman <rms@gnu.org>
14085
14086 * textprop.c (get_char_property_and_overlay):
14087 Signal error if POSITION is out of range in a buffer.
14088
14089 2007-12-29 Martin Rudalics <rudalics@gmx.at>
14090
14091 * w32fns.c (Fx_create_frame): Make copy of frame parameters
14092 because the original parameters are in pure storage now.
14093
14094 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14095
14096 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
14097
14098 2007-12-22 Eli Zaretskii <eliz@gnu.org>
14099
14100 * callint.c (syms_of_callint) <command-history>: Add reference to
14101 history-length in the doc string.
14102
14103 2007-12-17 Jason Rumney <jasonr@gnu.org>
14104
14105 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
14106 before passing as wParam.
14107
14108 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
14109
14110 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
14111 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
14112 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
14113 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14114 as number.
14115 (Fdbus_call_method): Fix docstring.
14116
14117 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
14118
14119 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14120 New macros.
14121 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14122 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14123 Simplify.
14124 (xd_signature): New function.
14125 (xd_append_arg): Compute also signatures. Major rewrite.
14126 (xd_retrieve_arg): Make debug messages friendly.
14127 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14128 Check for signatures of arguments.
14129
14130 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
14131
14132 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14133 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14134 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14135 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14136 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14137 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14138 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14139 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14140 (xd_retrieve_value): Remove. Functionality included in ...
14141 (xd_append_arg): New function.
14142 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14143
14144 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
14145
14146 * dbusbind.c (top): Include <stdio.h>.
14147 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14148 dbus_message_new_method_call and dbus_message_new_signal.
14149 (Fdbus_register_signal): Rename unique_name to uname.
14150 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14151 non-existing unique name. Fix typos in matching rule. Return an
14152 object which is useful in Fdbus_unregister_signal.
14153 (Fdbus_unregister_signal): Reimplementation, in order to remove
14154 only the corresponding entry.
14155 (Vdbus_registered_functions_table): Change the order of entries.
14156 Apply these changes in xd_read_message and Fdbus_register_signal.
14157
14158 2007-12-16 Andreas Schwab <schwab@suse.de>
14159
14160 * fileio.c (Finsert_file_contents): Fix overflow check to not
14161 depend on undefined integer overflow.
14162
14163 2007-12-14 Jason Rumney <jasonr@gnu.org>
14164
14165 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14166 for characters above 127.
14167
14168 2007-12-13 Jason Rumney <jasonr@gnu.org>
14169
14170 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14171 before dereferencing array.
14172 (lookup_vk_code): Remove zero comparison.
14173
14174 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
14175
14176 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14177 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14178 Use `unsigned int' instead of `uint'.
14179 (xd_read_message, Fdbus_register_signal): Split expressions into
14180 multiple lines before operators "&&" and "||", according to the
14181 GNU Coding Standards.
14182
14183 2007-12-14 Eli Zaretskii <eliz@gnu.org>
14184
14185 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14186
14187 2007-12-12 Juri Linkov <juri@jurta.org>
14188
14189 * buffer.c (Frename_buffer): In interactive spec replace
14190 `read-buffer' with `read-string' that uses `buffer-name-history'
14191 as history, and the current buffer's name as default.
14192
14193 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14194
14195 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14196 manipulating the backtrace manually.
14197 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14198 (struct backtrace, backtrace_list): Remove.
14199 (command_loop_1): Remove dead var `no_direct'.
14200
14201 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14202 preserve non-built-in buffer-local variables.
14203 (Fkill_all_local_variables): Don't re-create&re-set permanent
14204 buffer-local variables.
14205
14206 2007-12-09 Juri Linkov <juri@jurta.org>
14207
14208 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14209 Lisp code that uses `read-buffer' with current buffer as default.
14210
14211 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
14212
14213 * dbusbind.c (xd_read_message): Generate an event for every
14214 registered handler. There might be several handlers registered
14215 for the same signal.
14216 (Fdbus_register_signal): Don't overwrite a registration for the
14217 same signal. Add a new registration if handlers are different.
14218 (Vdbus_registered_functions_table): Rework doc string.
14219
14220 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
14221
14222 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14223 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14224 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14225 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14226 Unify argument lists.
14227 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14228 arguments and hash table keys. Use unique name for service.
14229 (Fdbus_unregister_signal): Remove checks.
14230 (Vdbus_registered_functions_table): Fix doc string.
14231
14232 2007-12-05 Magnus Henoch <mange@freemail.hu>
14233
14234 * process.c (make_process): Initialize pty_flag to 0.
14235
14236 2007-12-05 Jason Rumney <jasonr@gnu.org>
14237
14238 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14239 specified XBMs.
14240
14241 2007-12-05 Richard Stallman <rms@gnu.org>
14242
14243 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14244
14245 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14246
14247 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14248 New variable.
14249 (mac_try_close_socket) [MAC_OSX]: New function.
14250 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14251 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14252
14253 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14254 Use mac_try_close_socket.
14255
14256 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14257
14258 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14259 reloc_base.
14260 (copy_dysymtab): Compute relocation base here.
14261 (rebase_reloc_address) [__ppc64__]: New function.
14262 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14263 changed.
14264
14265 2007-12-05 Jason Rumney <jasonr@gnu.org>
14266
14267 * w32proc.c (sys_spawnve): Quote args with wildcards.
14268
14269 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14270
14271 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14272 __objc_* sections.
14273 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14274
14275 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
14276
14277 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14278 Move check for Vdbus_registered_functions_table to
14279 xd_read_queued_messages.
14280 (xd_read_queued_messages): Protect xd_read_message calls by
14281 internal_condition_case_1.
14282
14283 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
14284
14285 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14286 Qdbus_system_bus and Qdbus_session_bus, respectively.
14287 (Vdbus_intern_symbols): Remove.
14288 (Vdbus_registered_functions_table): New hash table.
14289 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14290 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14291 Rewrite in order to manage registered functions by hash table
14292 Vdbus_registered_functions_table.
14293
14294 2007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14295
14296 * xterm.c: Update URL to Window Manager Specification in comment.
14297
14298 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
14299
14300 * config.in (HAVE_DBUS): Add.
14301
14302 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14303 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14304 (obj): Add $(DBUS_OBJ).
14305 (LIBES): Add $(DBUS_LIBS).
14306 (dbusbind.o): New target.
14307
14308 * dbusbind.c: New file.
14309
14310 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14311
14312 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14313 (Qdbus_event): New Lisp symbol.
14314 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14315 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
14316 (keys_of_keyboard): Define dbus-event.
14317
14318 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14319
14320 2007-12-01 Richard Stallman <rms@gnu.org>
14321
14322 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14323
14324 2007-11-30 Jason Rumney <jasonr@gnu.org>
14325
14326 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14327 (w32con_reset_terminal_modes): Clear screen buffer.
14328 (w32_face_attributes): Don't use color indexes that are out of range.
14329 Only reverse the default colors.
14330
14331 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14332 WINDOWSNT.
14333
14334 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14335
14336 2007-11-29 Jason Rumney <jasonr@gnu.org>
14337
14338 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14339 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14340 if the terminal colors are initialized.
14341 (unspecified_fg, unspecified_bg): Remove unused declarations.
14342
14343 2007-11-29 Andreas Schwab <schwab@suse.de>
14344
14345 * keyboard.c (apply_modifiers): Fix typo.
14346
14347 2007-11-29 Richard Stallman <rms@gnu.org>
14348
14349 * keymap.c (Fcurrent_local_map): Doc fix.
14350
14351 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14352
14353 * s/gnu-kfreebsd.h: New file.
14354
14355 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14356
14357 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14358 Don't cast redundantly.
14359
14360 * keyboard.c (KEY_TO_CHAR): New macro.
14361 (parse_modifiers, apply_modifiers): Accept integer arguments.
14362 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14363 for chars and symbol keys.
14364 After doing such remapping, apply function-key-map again.
14365
14366 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14367
14368 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14369 compiled anymore.
14370
14371 2007-11-26 Andreas Schwab <schwab@suse.de>
14372
14373 * process.c (list_processes_1): Fix indentation level of the
14374 command column.
14375
14376 2007-11-23 Andreas Schwab <schwab@suse.de>
14377
14378 * editfns.c (Fformat): Handle %c specially since it requires the
14379 argument to be of type int.
14380
14381 2007-11-23 Markus Triska <markus.triska@gmx.at>
14382
14383 * emacs.c (main): Call init_editfns before init_process, since
14384 init_process sets Vprocess_connection_type depending on OS release.
14385
14386 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14387
14388 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14389 (find_symbol_value): Use do_symval_forwarding.
14390
14391 * data.c (set_internal): Set the value in the `cons-cell' (for
14392 Buffer_Local_values) not only for frame-local variables.
14393
14394 2007-11-22 Andreas Schwab <schwab@suse.de>
14395
14396 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14397 values to sprintf.
14398 * keymap.c (Fsingle_key_description): Likewise.
14399 * print.c (print_object): Likewise.
14400
14401 2007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14402
14403 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14404 file for image is nil.
14405
14406 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14407
14408 * term.c: Include stdarg.h.
14409 (fatal): Implement using varargs.
14410 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14411
14412 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14413
14414 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14415 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14416 Update call to buffer_slot_type_mismatch.
14417 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14418 (buffer_slot_type_mismatch): Update.
14419 * buffer.c (buffer_local_types): Remove.
14420 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14421 (defvar_per_buffer): Set the type in the buffer_objfwd.
14422
14423 2007-11-21 Jason Rumney <jasonr@gnu.org>
14424
14425 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14426 CreateFileMapping returns NULL on failure.
14427
14428 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14429
14430 * search.c (Fset_match_data): Remove the `evaporate' feature.
14431 (unwind_set_match_data): Don't use the `evaporate' feature.
14432
14433 2007-11-21 Jason Rumney <jasonr@gnu.org>
14434
14435 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14436
14437 * w32console.c (w32con_write_glyphs): Remove unused variables.
14438
14439 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14440
14441 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14442
14443 * s/darwin.h (MULTI_KBOARD): Remove.
14444
14445 * macfns.c (x_create_tip_frame, Fx_create_frame)
14446 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14447
14448 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14449
14450 * buffer.c (Fbuffer_local_value): Remove redundant test.
14451 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14452 than in `current-buffer' to match the comment.
14453 Do the swap using swap_in_global_binding.
14454
14455 * data.c (store_symval_forwarding, set_internal):
14456 * eval.c (specbind): Remove dead code.
14457
14458 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14459 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14460 Since we do not want to see internal Lisp_*fwd objects here.
14461
14462 2007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14463
14464 * sysdep.c (init_system_name): Use getaddrinfo if available.
14465
14466 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14467 (x_scroll_bar_note_movement): start, end, with, height in struct
14468 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14469
14470 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14471
14472 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14473
14474 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14475
14476 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14477 This undoes Richard's change of 14-Oct-2002.
14478
14479 * alloc.c (allocate_other_vector):
14480 * lisp.h (allocate_other_vector): Remove.
14481
14482 * window.c (struct save_window_data): Move non-lisp data to the end
14483 and make it `int' rather than Lisp_Object.
14484 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14485 Done wrap/unwrap integer values.
14486 (Fset_window_configuration, compare_window_configurations):
14487 Update use of fields to their new types.
14488
14489 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14490 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14491 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14492 (SET_SCROLL_BAR_X_WINDOW): Remove.
14493 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14494 Access the new x_window field directly.
14495 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14496 Don't wrap/unwrap integers into Lisp_Objects.
14497 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14498 (x_scroll_bar_report_motion):
14499 Don't wrap/unwrap integers into Lisp_Objects.
14500 (x_term_init): Use SDATA.
14501 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14502 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14503 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14504 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14505 * xfns.c (x_set_background_color):
14506 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14507 Access the new x_window field directly.
14508
14509 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14510 (allocate_pseudovector): Make non-static.
14511
14512 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14513 (allocate_pseudovector): Declare.
14514 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14515
14516 2007-11-15 Andreas Schwab <schwab@suse.de>
14517
14518 * editfns.c (Fformat): Correctly format EMACS_INT values.
14519 Also take precision into account when formatting an integer.
14520
14521 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14522
14523 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14524
14525 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14526 (syms_of_keyboard): Defsubr it.
14527
14528 * data.c (swap_in_global_binding): Fix longstanding bug where
14529 store_symval_forwarding was not called with the right second argument,
14530 thus causing objfwd-ing from being dropped.
14531
14532 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
14533
14534 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14535 (Fx_display_pixel_height, Fx_display_planes)
14536 (Fx_display_color_cells, Fx_server_max_request_size)
14537 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14538 (Fx_display_visual_class, Fx_display_save_under):
14539 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14540 (Fx_display_pixel_height, Fx_display_planes)
14541 (Fx_display_color_cells, Fx_server_max_request_size)
14542 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14543 (Fx_display_mm_height, Fx_display_mm_width)
14544 (Fx_display_backing_store, Fx_display_visual_class)
14545 (Fw32_select_font, Fx_display_save_under):
14546 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14547 (Fx_display_pixel_height, Fx_display_planes)
14548 (Fx_display_color_cells, Fx_server_max_request_size)
14549 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14550 (Fx_display_save_under): Fix typos in docstrings.
14551
14552 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
14553
14554 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14555 corresponding to deleted entries; they are an implementation detail.
14556 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14557 Remove variables.
14558 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14559 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14560 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14561 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14562 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14563 (Fw32_define_rgb_color, Fw32_load_color_file)
14564 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14565 Fix typos in docstrings.
14566 (Fx_server_version): Reflow docstring.
14567 (Fw32_shell_execute): Doc fixes.
14568
14569 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
14570
14571 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14572 if w32_parse_hot_key returned nil.
14573
14574 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14575
14576 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14577
14578 2007-11-09 Jason Rumney <jasonr@gnu.org>
14579
14580 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14581
14582 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14583
14584 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14585 Remove W32_SCROLL_BAR_CLICK_EVENT.
14586
14587 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14588 Add MULTIMEDIA_KEY_EVENT.
14589
14590 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14591 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14592 (make_lispy_event) [WINDOWSNT]: Use it to translate
14593 MULTIMEDIA_KEY_EVENT.
14594
14595 * w32term.h (WM_APPCOMMAND): Define if not already.
14596 (GET_APPCOMMAND_LPARAM): Likewise.
14597
14598 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14599 WM_APPCOMMAND.
14600
14601 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14602 (syms_of_w32fns): Export and initialize it.
14603 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14604
14605 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
14606
14607 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14608 twice.
14609
14610 * xdisp.c (handle_face_prop): Fix last change.
14611
14612 2007-11-09 Richard Stallman <rms@gnu.org>
14613
14614 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14615 not just for after-strings and before-strings.
14616 Call face_for_overlay_string and pass the overlay to it.
14617 (handle_display_prop): Determine whether property came from an overlay.
14618 Pass OVERLAY arg to handle_single_display_spec.
14619 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14620 (load_overlay_strings): Fill in it->string_overlays.
14621 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14622
14623 * xfaces.c (face_for_overlay_string): Function renamed from
14624 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14625
14626 * dispextern.h (struct it): New elt string_overlays.
14627 New elt from_overlay, also in stack.
14628 Rearrange a few elements.
14629 (face_for_overlay_string): Decl renamed from
14630 face_at_buffer_position_no_overlays, and add argument.
14631
14632 2007-11-09 Richard Stallman <rms@gnu.org>
14633
14634 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14635 to get the base face for an overlay string.
14636
14637 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14638
14639 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14640
14641 * xdisp.c (handle_stop): Move some code out of loop.
14642
14643 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14644
14645 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14646 Fix conversion from Lisp object to ATSUFontID.
14647
14648 2007-11-09 Jason Rumney <jasonr@gnu.org>
14649
14650 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14651
14652 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14653
14654 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14655 Don't assume regions are aligned to page boundary.
14656 (print_load_command_name): Add LC_UUID if defined.
14657
14658 2007-11-09 Richard Stallman <rms@gnu.org>
14659
14660 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14661
14662 2007-11-07 Jason Rumney <jasonr@gnu.org>
14663
14664 * s/windows95.h: Remove.
14665
14666 2007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14667
14668 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14669 abort with a message on unhandled store_type values.
14670
14671 2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14672
14673 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14674 Remove HAVE_X11R5 and HAVE_X11R4.
14675
14676 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14677
14678 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14679
14680 2007-11-01 Johan Bockgård <bojohan@gnu.org>
14681
14682 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14683 Don't set s->stippled_p here, since it has already been set by
14684 x_set_glyph_string_gc from x_draw_glyph_string.
14685
14686 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14687
14688 * sunfns.c: Remove file.
14689
14690 * m/sun386.h:
14691 * m/sun2.h:
14692 * m/sparc.h: Remove Sun windows code.
14693
14694 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14695
14696 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14697 (init_keyboard): Set current_kboard's window-system to nil.
14698 (tty_read_avail_input): Typo.
14699 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14700
14701 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14702
14703 * s/usg5-4.h:
14704 * s/usg5-3.h:
14705 * s/ptx.h:
14706 * m/is386.h:
14707 * m/ibmps2-aix.h:
14708 * Makefile.in: Remove all mentions of X10.
14709
14710 * dispnew.c (syms_of_display): Don't mention version 10.
14711
14712 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
14713
14714 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14715 ($(BLD)/abbrev.$(O)): Remove.
14716
14717 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14718
14719 Rewrite abbrev.c in Elisp.
14720 * image.c (Qcount): Don't declare as extern.
14721 (syms_of_image): Initialize and staticpro `Qcount'.
14722 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14723 * emacs.c (main): Don't call syms_of_abbrev.
14724 * Makefile.in (obj): Remove abbrev.o.
14725 (abbrev.o): Remove.
14726 * abbrev.c: Remove.
14727
14728 2007-10-26 Martin Rudalics <rudalics@gmx.at>
14729
14730 * window.c (window_min_size_2): Don't count header-line.
14731
14732 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14733
14734 * frame.h (struct frame): Move all bit fields after the first bit
14735 field to take advantage of the available space. Group all the
14736 chars together to reduce wasted space due to padding.
14737
14738 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
14739
14740 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14741
14742 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14743 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14744 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14745 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14746 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14747 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14748 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14749 (last_marked, mark_object_loop_halt): Make static.
14750
14751 * frame.c (syms_of_frame) <delete-frame-functions>:
14752 Fix typo in docstring.
14753
14754 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
14755
14756 * w32.c (init_environment): Fix tiny memory leak.
14757 (w32_get_resource): Remove unused variable `ok'.
14758
14759 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14760
14761 Make `window-system' into a keyboard-local variable (rather than
14762 frame-local as done originally by multi-tty).
14763
14764 * keyboard.h (struct kboard): Add Vwindow_system.
14765 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14766 (mark_kboards): Mark Vwindow_system.
14767
14768 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14769 (init_display): Don't set the obsolete `window-system' frame-param.
14770
14771 * xterm.c (x_term_init):
14772 * w32term.c (w32_create_terminal):
14773 * term.c (init_tty): Set Vwindow_system.
14774 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14775 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14776
14777 * xfns.c (Fx_create_frame, x_create_tip_frame):
14778 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14779 * macfns.c (Fx_create_frame):
14780 Don't set the obsolete `window-system' frame-param.
14781
14782 * frame.h (Qwindow_system): Remove.
14783 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14784 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14785
14786 2007-10-24 Richard Stallman <rms@gnu.org>
14787
14788 * frame.c (x_figure_window_size): For fullscreen case,
14789 set USPosition | PPosition without clobbering rest of window_prompting.
14790
14791 * keyboard.c (Fcurrent_idle_time): Doc fix.
14792
14793 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14794
14795 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14796
14797 * process.c (unwind_request_sigio): Only define if __ultrix__.
14798
14799 * callproc.c (child_setup): Remove spurious *.
14800
14801 * lisp.h (Fget_text_property): Declare.
14802 (have_menus_p): Declare it here rather than in sys-dep header files.
14803 * macterm.h (have_menus_p):
14804 * msdos.h (have_menus_p):
14805 * xterm.h (have_menus_p): Remove.
14806
14807 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14808 (Fmake_variable_frame_local): Just check the variable's const-ness
14809 rather than checking nil or t.
14810
14811 2007-10-22 Jason Rumney <jasonr@gnu.org>
14812
14813 * w32fns.c: Include math.h.
14814 (w32_abort): Declaration moved to nt/config.nt.
14815
14816 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14817 (abort): Redefinition moved to nt/config.nt.
14818
14819 * m/windowsnt.h: Remove.
14820
14821 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
14822
14823 * emacs.c (Fdump_emacs): Fix typo in message.
14824 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14825 <installation-directory>: Reflow docstring.
14826
14827 2007-10-22 Juri Linkov <juri@jurta.org>
14828
14829 * minibuf.c: Allow minibuffer default to be a list of default values.
14830 With empty input use the first element of this list as returned default.
14831 (string_to_object)
14832 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14833 (read_minibuf): If defalt is cons, set histstring to its car.
14834 (Fread_string): If default_value is cons, set val to its car.
14835 (Fread_buffer): If def is cons, use its car.
14836 (Fcompleting_read): If defalt is cons, set val to its car.
14837
14838 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
14839
14840 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14841
14842 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
14843
14844 * doc.c (Fdocumentation): Check for advice in all cases.
14845
14846 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
14847
14848 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14849
14850 2007-10-19 Richard Stallman <rms@gnu.org>
14851
14852 * doc.c (Fdocumentation): Check for and handle an advised function.
14853
14854 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
14855
14856 * process.c (Fset_process_filter): Doc fix.
14857
14858 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14859
14860 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14861 which caused key-translation-map to applied repeatedly (thus breaking
14862 double-mode).
14863
14864 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14865
14866 * xselect.c (x_own_selection, x_handle_selection_clear)
14867 (x_clear_frame_selections):
14868 * w32menu.c (list_of_panes, list_of_items):
14869 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14870 * textprop.c (validate_plist, interval_has_all_properties)
14871 (interval_has_some_properties, interval_has_some_properties_list)
14872 (add_properties, text_property_list):
14873 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14874 * minibuf.c (Fassoc_string):
14875 * macselect.c (x_own_selection, x_clear_frame_selections)
14876 (Fx_disown_selection_internal):
14877 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14878 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14879
14880 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
14881
14882 * process.c: Link to libs for calling res_init() if available.
14883 (Fmake_network_process): Call res_init() before getaddrinfo or
14884 gethostbyname, if possible.
14885
14886 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14887
14888 * lread.c (read1): Set pvectype for char_tables.
14889
14890 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14891 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14892 Add type checks.
14893 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14894
14895 * alloc.c (free_misc): Use XMISCTYPE.
14896 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14897
14898 2007-10-17 Glenn Morris <rgm@gnu.org>
14899
14900 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14901 (syms_of_minibuf): Add Qcompletion_ignore_case.
14902 * dired.c (Qcompletion_ignore_case): Change to external.
14903 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14904 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14905 (Fread_file_name): Use it rather than intern'ing.
14906
14907 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14908 (Fread_coding_system): Ignore case of user input.
14909
14910 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14911
14912 * xdisp.c (handle_display_prop): Ignore display specs after
14913 replacing one when string text is being replaced.
14914 (handle_single_display_spec): Pretend as if characters with display
14915 property haven't been consumed only when buffer text is being replaced.
14916
14917 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14918
14919 * xfns.c (Fx_create_frame, Fx_display_list):
14920 * window.c (window_fixed_size_p, enlarge_window)
14921 (shrink_window_lowest_first):
14922 * macterm.c (init_font_name_table):
14923 * macfns.c (Fx_create_frame, Fx_display_list):
14924 * lread.c (close_load_descs):
14925 * keyboard.c (read_char_x_menu_prompt):
14926 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14927 * coding.c (code_convert_region_unwind): Test the type of an object
14928 rather than just !NILP before extracting data from it.
14929
14930 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14931
14932 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14933 (XMISCANY): New macro.
14934 (XMISCTYPE): Use it.
14935 (struct Lisp_Misc_Any): New type.
14936 (union Lisp_Misc): Use it.
14937 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14938 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14939 (find_symbol_value, set_internal, default_value, Fset_default)
14940 (Fmake_variable_buffer_local, Fmake_local_variable)
14941 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14942 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14943 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14944 * alloc.c (allocate_buffer): Set the size and tag.
14945 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14946 Use XMISCANY.
14947 (die): Follow the GNU convention for error messages.
14948 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14949 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14950 tag any more.
14951 (set_buffer_internal_1):
14952 * frame.c (store_frame_param):
14953 * eval.c (specbind):
14954 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14955
14956 * doc.c (Fsnarf_documentation): Simplify.
14957
14958 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
14959
14960 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14961 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14962
14963 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14964
14965 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14966
14967 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
14968
14969 * eval.c (do_autoload): Don't save autoloads.
14970
14971 * data.c (Ffset): Save autoload of the function being set.
14972
14973 2007-10-07 John Paul Wallington <jpw@pobox.com>
14974
14975 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14976 parameter before setting up faces.
14977
14978 2007-10-13 Eli Zaretskii <eliz@gnu.org>
14979
14980 * ccl.c (Fregister_code_conversion_map):
14981 * keyboard.c (append_tool_bar_item): Reformat last change.
14982
14983 * lisp.h (eabs): Rename from `abs'. All callers changed.
14984
14985 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14986
14987 * buffer.c (add_overlay_mod_hooklist):
14988 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14989 * fontset.c (make_fontset):
14990 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14991 (append_tool_bar_item):
14992 * macmenu.c (grow_menu_items):
14993 * w32menu.c (grow_menu_items):
14994 * xmenu.c (grow_menu_items): Use larger_vector.
14995
14996 2007-10-13 Eli Zaretskii <eliz@gnu.org>
14997
14998 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14999 selected frame'' on MSDOS).
15000
15001 2007-10-12 Martin Rudalics <rudalics@gmx.at>
15002
15003 * frame.c (Qexplicit_name): New variable.
15004 (x_report_frame_params): Report it in parameter alist.
15005 (syms_of_frame): Intern and staticpro it.
15006
15007 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
15008
15009 * macfns.c (x_create_tip_frame): Set terminal for frame.
15010
15011 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
15012
15013 * frame.c (Qenvironment): Remove.
15014 (syms_of_frame) <Qenvironment>: Don't initialize.
15015 (Fdelete_frame): Don't treat the `environment' param specially.
15016 * frame.h (Qenvironment): Don't declare.
15017 * callproc.c (set_initial_environment): Don't set unused frame param.
15018
15019 * frame.c (Fframe_with_environment): Remove.
15020 (syms_of_frame) <Sframe_with_environment>: Don't declare.
15021
15022 * lisp.h (Fframe_with_environment): Don't declare.
15023
15024 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
15025
15026 * indent.c (indent_tabs_mode, last_known_column)
15027 (last_known_column_modified): Make static.
15028 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
15029
15030 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
15031
15032 * puresize.h (BASE_PURESIZE): Increase to 1170000.
15033
15034 2007-10-09 Jason Rumney <jasonr@gnu.org>
15035
15036 * w32term.c (x_set_window_size): Disable code that attempts to tell
15037 Lisp code about a size change before it actually happens.
15038
15039 2007-10-09 Richard Stallman <rms@gnu.org>
15040
15041 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
15042 return HANDLED_RETURN.
15043
15044 2007-10-08 Martin Rudalics <rudalics@gmx.at>
15045
15046 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
15047 when there's an unread command event.
15048
15049 * frame.c (focus_follows_mouse): Move here from frame.el to allow
15050 window autoselection act appropriately when leaving selected frame.
15051 (syms_of_frame): Initialize focus_follows_mouse.
15052 * frame.h (focus_follows_mouse): Extern it.
15053 * macterm.c (XTread_socket): When focus_follows_mouse is nil
15054 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
15055 * msdos.c (dos_rawgetc): Likewise.
15056 * w32term.c (w32_read_socket): Likewise.
15057 * xterm.c (handle_one_xevent): Likewise.
15058 * xdisp.c (syms_of_xdisp): In doc-string of
15059 mouse-autoselect-window mention focus-follows-mouse.
15060
15061 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15062
15063 * macterm.c (mac_load_query_font): Fix missing return value.
15064 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
15065 Add BLOCK_INPUT.
15066
15067 2007-10-08 Richard Stallman <rms@gnu.org>
15068
15069 * xdisp.c (get_window_cursor_type): Implement documented behavior
15070 for cursor-in-non-selected-windows = t.
15071
15072 2007-10-08 Jason Rumney <jasonr@gnu.org>
15073
15074 * w32.c (w32_get_resource): Always close registry keys.
15075
15076 2007-10-08 Jason Rumney <jasonr@gnu.org>
15077
15078 * makefile.w32-in (LIBS): Add COMCTL32.
15079
15080 * w32fns.c (globals_of_w32fns): Init common controls.
15081
15082 2007-10-08 Richard Stallman <rms@gnu.org>
15083
15084 * image.c (our_memory_buffer): Rename from omfib_buffer.
15085
15086 2007-10-08 Richard Stallman <rms@gnu.org>
15087
15088 * buffer.c (Foverlays_at): Doc fix.
15089
15090 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
15091
15092 * fns.c (Fplist_put): Preserve uneven tail data.
15093
15094 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
15095
15096 * termhooks.h (enum event_kind): Remove trailing comma.
15097
15098 * frame.h (enum): Remove trailing comma.
15099
15100 2007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
15101
15102 * w32proc.c (delete_child): Don't terminate threads of zombies.
15103
15104 2007-10-08 Martin Rudalics <rudalics@gmx.at>
15105
15106 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
15107
15108 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
15109 last-repeatable-command.
15110 (init_kboard): Initialize Vlast_repeatable_command.
15111 (command_loop_1): Set it to real_this_command unless that was
15112 bound to an input event.
15113 (mark_kboards): Mark it.
15114
15115 2007-10-08 Richard Stallman <rms@gnu.org>
15116
15117 * eval.c (condition-case): Doc fix.
15118
15119 2007-10-08 Masatake YAMATO <jet@gyve.org>
15120
15121 * xfaces.c (tty_supports_face_attributes_p): Fix code
15122 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15123 was copied and not edited.
15124
15125 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15126
15127 Add new `input-decode-map' keymap and use it for terminal
15128 escape sequences.
15129 * keyboard.h (struct kboard): Add Vinput_decode_map.
15130 Remove Vlocal_key_translation_map.
15131 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15132 (init_kboard): Init input-decode-map.
15133 Replace local-key-translation-map back with key-translation-map.
15134 (syms_of_keyboard): Declare input-decode-map.
15135 Remove local-key-translation-map. Update docstrings.
15136 (mark_kboards): Mark Vinput_decode_map.
15137 Don't mark Vlocal_key_translation_map.
15138 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15139 Replace local-key-translation-map back with key-translation-map.
15140 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15141 Bind in input-decode-map rather than function-key-map.
15142
15143 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15144 This was made redundant by the previous introduction of XSETPVECTYPE.
15145
15146 2007-10-09 Richard Stallman <rms@gnu.org>
15147
15148 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15149
15150 2007-09-29 Richard Stallman <rms@gnu.org>
15151
15152 * eval.c (internal_condition_case_2, internal_condition_case_1)
15153 (internal_condition_case): Reenable abort if x_catching_errors ()
15154 to see if that really happens and why.
15155
15156 2007-10-06 Andreas Schwab <schwab@suse.de>
15157
15158 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15159
15160 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
15161
15162 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15163
15164 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15165
15166 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15167
15168 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15169
15170 * window.h (struct window):
15171 * window.c (struct save_window_data, struct saved_window):
15172 * termhooks.h (struct terminal):
15173 * process.h (struct Lisp_Process):
15174 * frame.h (struct frame):
15175 * buffer.h (struct buffer):
15176 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15177 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15178 The size field of (pseudo)vectors is now unsigned.
15179 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15180
15181 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15182 Turn `count' into an integer.
15183
15184 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15185 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15186 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15187 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15188 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15189
15190 * alloc.c (allocate_pseudovector): New fun.
15191 (ALLOCATE_PSEUDOVECTOR): New macro.
15192 (allocate_window, allocate_terminal, allocate_frame)
15193 (allocate_process): Use it.
15194 (mark_vectorlike): New function.
15195 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15196 (mark_terminals): Use it.
15197 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15198 (Fmake_byte_code): Use XSETPVECTYPE.
15199
15200 * frame.c (Fframe_parameters): Minor simplification.
15201
15202 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15203
15204 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15205
15206 * buffer.c (Fget_buffer_create, init_buffer_once):
15207 * lread.c (defsubr):
15208 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15209
15210 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15211 defined differently in the m/*.h files.
15212 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15213 (XSETPVECTYPE): New macro.
15214 (XSETPSEUDOVECTOR): Use it.
15215
15216 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15217 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15218
15219 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15220 * lread.c (defvar_per_buffer):
15221 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15222
15223 * window.c (candidate_window_p): Only consider as visible frames that
15224 are on the same terminal.
15225
15226 * m/ibms390x.h (MARKBIT): Remove unused macro.
15227
15228 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
15229
15230 * lread.c (Fload): Fix typo in docstring.
15231
15232 2007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15233
15234 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15235 of a non-zero value can't yield zero.
15236
15237 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15238
15239 * term.c (term_clear_mouse_face, term_mouse_highlight)
15240 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15241
15242 * print.c (safe_debug_print): Use XHASH.
15243
15244 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15245 Lisp elements such as tags.
15246 (XHASH): New macro.
15247 (EQ): Use it.
15248 (SREF, SSET, STRING_COPYIN): Use SDATA.
15249 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15250
15251 * alloc.c (mark_terminal): Remove left-over declaration.
15252 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15253 (allocate_vectorlike): Remove type argument. Adjust callers.
15254 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15255 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15256
15257 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15258 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15259 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15260 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15261 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15262 Use them.
15263
15264 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15265 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15266 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15267
15268 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15269
15270 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15271 loaded by default.
15272
15273 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15274
15275 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15276 on this tty.
15277 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15278
15279 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15280 Update all users.
15281 (handle_one_term_event): Use Gpm_DrawPointer.
15282 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15283 Signal errors instead of returning nil. Always return nil.
15284 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15285 Make it a noop if gpm-mouse was not activated.
15286 (syms_of_term): Update names.
15287
15288 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15289
15290 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15291 (init_sys_modes): Check that gpm_tty is the current tty.
15292
15293 * alloc.c (allocate_terminal): Set the vector size to only count the
15294 lisp fields. Initialize those to nil.
15295 (mark_object): Don't treat terminals specially.
15296 (mark_terminal): Remove.
15297 (mark_terminals): Use mark_object instead.
15298
15299 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15300 the GC to the beginning.
15301
15302 * indent.h:
15303 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15304
15305 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15306
15307 2007-09-25 Jason Rumney <jasonr@gnu.org>
15308
15309 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15310
15311 * w32console.c (create_w32cons_output): Remove.
15312
15313 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15314
15315 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15316 (reset_sys_modes): Use reset_terminal_modes_hook.
15317
15318 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15319
15320 * eval.c (do_autoload): Don't output any message.
15321
15322 2007-09-24 Juri Linkov <juri@jurta.org>
15323
15324 * emacs.c (standard_args): Change priority of "--no-splash"
15325 from 40 to 3. Add "--no-desktop" with the same priority.
15326
15327 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15328
15329 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15330 and optimize the case where they are all 1.
15331
15332 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
15333
15334 * lisp.h (abs): Define if not defined.
15335 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15336 Don't define `abs', since it's defined in lisp.h.
15337
15338 2007-09-22 Eli Zaretskii <eliz@gnu.org>
15339
15340 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15341 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15342 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15343 (init_tty): Use DEV_TTY instead of "/dev/tty".
15344 [WINDOWSNT]: No need to protect from NAME arg being null.
15345
15346 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15347
15348 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15349 up the tty state.
15350
15351 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15352
15353 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15354 (gpm_tty): Change its type.
15355 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15356 (gpm_tty): Change its type and initialize it.
15357 (Fterm_open_connection): Check the frame is indeed a tty.
15358 Use the new gpm_tty.
15359 (Fterm_close_connection): Use the new gpm_tty.
15360 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15361 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15362
15363 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
15364
15365 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15366 underline_color, to draw strike-through.
15367
15368 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15369
15370 * lisp.h (allocate_terminal): Declare.
15371
15372 * window.c (candidate_window_p): Consider frames that are being placed
15373 by the user as somewhere between visible and iconified.
15374 (window_loop): Prefer windows on the current frame.
15375 (Fselect_window): Move the use of select-frame to the beginning so we
15376 can just delegate all the work (it'll call us back anyway).
15377
15378 * frame.c (Qdisplay_environment_variable):
15379 * frame.h (Qdisplay_environment_variable): Delete.
15380
15381 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15382 of the first arg, since that value may be a union.
15383
15384 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15385 parameter rather than Qdisplay_environment_variable. If all else
15386 fails, look for DISPLAY in initial-environment.
15387
15388 2007-09-21 Glenn Morris <rgm@gnu.org>
15389
15390 * Makefile.in (emacstool): Remove target.
15391 (lisp, shortlisp): Remove termdev.elc.
15392
15393 2007-09-21 Markus Triska <markus.triska@gmx.at>
15394
15395 * xterm.c (x_delete_display): Compile session management conditionally.
15396
15397 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15398
15399 * callproc.c (getenv_internal_1): New function.
15400 (getenv_internal): Use it.
15401 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15402
15403 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15404 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15405 (Fset_terminal_parameter): Work with dead terminals as well.
15406 (Fmodify_terminal_parameters): Remove.
15407
15408 * terminal.c (get_terminal): Handle terminals.
15409 Make sure the terminal returned is live.
15410 (create_terminal): Use allocate_terminal.
15411 (mark_terminals): Move to alloc.c.
15412 (delete_terminal): Use terminal->name as liveness status.
15413 NULL out fields after freeing their contents.
15414 Don't deallocate the object.
15415 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15416 rather than an int.
15417 (Fterminal_live_p): Accept non-integer arguments.
15418 (Fterminal_list): Return terminal objects rather than an ints.
15419
15420 * alloc.c (enum mem_type): New member for `terminal' objects.
15421 (allocate_terminal): New function.
15422 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15423 Handle terminals.
15424 (mark_terminal): New fun.
15425 (mark_terminals): Move from terminal.c.
15426
15427 * term.c (get_tty_terminal): Don't treat output_initial specially.
15428 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15429 (delete_tty): Use terminal->name as liveness status.
15430
15431 * termhooks.h (struct terminal): Make it into a pseudovector.
15432 Remove `deleted' replaced by checking `name's nullness.
15433
15434 * print.c (print_object): Handle terminals.
15435
15436 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15437 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15438
15439 * frame.c (make_terminal_frame):
15440 * keyboard.c (tty_read_avail_input):
15441 * w32term.c (x_delete_terminal):
15442 * xfns.c (Fx_create_frame, x_create_tip_frame):
15443 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15444
15445 2007-09-20 Glenn Morris <rgm@gnu.org>
15446
15447 * process.c (Fmake_network_process): Doc fix.
15448
15449 2007-09-19 Jason Rumney <jasonr@gnu.org>
15450
15451 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15452
15453 2007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15454
15455 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15456 Fix a C warning regarding variable constness.
15457
15458 * xterm.c (handle_one_xevent): Fix a C warning.
15459
15460 2007-09-18 Jason Rumney <jasonr@gnu.org>
15461
15462 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15463
15464 2007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15465
15466 * gtkutil.c (gdpy_def): New variable.
15467 (xg_initialize): Initialize gdpy_def.
15468 (xg_display_close): If no other display exists, set gdpy_def to a
15469 new connection.
15470
15471 2007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15472
15473 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15474 when we have no file name for the icon.
15475 (xg_tool_bar_expose_callback): Remove.
15476 (xg_create_tool_bar): Don't connect expose signal to
15477 xg_tool_bar_expose_callback.
15478 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15479
15480 2007-09-16 Andreas Schwab <schwab@suse.de>
15481
15482 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15483 values instead of zapping them.
15484
15485 2007-09-14 Glenn Morris <rgm@gnu.org>
15486
15487 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15488 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15489 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15490 scope and rename to omfib_buffer for clarity.
15491 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15492
15493 2007-09-14 Kenichi Handa <handa@m17n.org>
15494
15495 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15496
15497 2007-09-13 Jason Rumney <jasonr@gnu.org>
15498
15499 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15500
15501 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15502
15503 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15504 (mac_term_init): Call here instead, passing rif.
15505
15506 2007-09-13 Glenn Morris <rgm@gnu.org>
15507
15508 * s/hpux.h: No longer define `static' as nothing.
15509
15510 2007-09-13 Johan Bockgård <bojohan@gnu.org>
15511
15512 * callint.c (Fcall_interactively): Remove unused var `fun'.
15513
15514 2007-09-12 Romain Francoise <romain@orebokech.com>
15515
15516 * window.c (prefer_window_split_horizontally, display_buffer):
15517 Revert 2007-09-08 change.
15518
15519 2007-09-12 Glenn Morris <rgm@gnu.org>
15520
15521 * alloca.c: Remove file.
15522 * Makefile.in (alloca): Do not undef.
15523 (allocaobj, alloca.o): Remove.
15524 (otherobj): Remove allocaobj.
15525 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15526 * regex.c (C_ALLOCA): Remove all references and code that was only
15527 used when this was defined.
15528 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15529 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15530 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15531
15532 * Makefile.in (SOURCES, unlock, relock): Delete.
15533
15534 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15535 (menu_grab_callback): All uses changed.
15536
15537 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15538 (x_reply_selection_request): All uses changed.
15539
15540 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15541
15542 * lread.c (load_warn_old_style_backquotes): Change message to look
15543 better when it appears in the middle of byte-compiler messages.
15544
15545 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15546
15547 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15548
15549 * xterm.c (x_create_terminal): Add comment.
15550
15551 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15552
15553 2007-09-10 Richard Stallman <rms@gnu.org>
15554
15555 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15556
15557 2007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15558
15559 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15560 (DEFUN): Document `intspec', use it instead of `prompt'.
15561
15562 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15563
15564 * data.c (Finteractive_form): If the interactive specification starts
15565 with a `(', use it as a Lisp form.
15566
15567 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15568 name and file modes.
15569
15570 * callint.c (Fcall_interactively): Comment fixes.
15571
15572 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15573
15574 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15575 and compiled functions.
15576
15577 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15578
15579 * window.c (prefer_window_split_horizontally): New variable.
15580 (display_buffer): Consider splitting window horizontally depending
15581 on prefer_window_split_horizontally.
15582
15583 2007-09-08 Eli Zaretskii <eliz@gnu.org>
15584
15585 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15586
15587 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15588
15589 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15590
15591 * frame.c (x_set_frame_parameters): Check number is positive before
15592 using XFASTINT.
15593
15594 * window.c (freeze_window_start): Don't presume selected_window holds
15595 a window object.
15596 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15597
15598 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15599
15600 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15601
15602 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15603
15604 * window.c (Vsplit_window_preferred_function): New var.
15605 (Fdisplay_buffer): Use it.
15606 (syms_of_window): Export, and initialize it.
15607
15608 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15609
15610 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15611
15612 2007-09-06 Glenn Morris <rgm@gnu.org>
15613
15614 * gtkutil.c (menu_grab_callback) <cnt>:
15615 * xselect.c (x_reply_selection_request) <cnt>: Move static
15616 variable to file scope.
15617
15618 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15619
15620 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15621 consistent values of selected_frame and selected_window.
15622
15623 2007-09-04 Jason Rumney <jasonr@gnu.org>
15624
15625 * w32console.c (initialize_w32_display): Zero unused hooks.
15626
15627 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15628
15629 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15630 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15631
15632 2007-09-04 Jason Rumney <jasonr@gnu.org>
15633
15634 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15635 in w32console.c. Set up input. Remove XXX comments that have been
15636 confirmed as correct.
15637
15638 * s/ms-w32.h (MULTI_KBOARD): Define.
15639
15640 * w32console.c (one_and_only_w32cons): Remove.
15641 (initialize_w32_display): Take terminal argument.
15642
15643 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15644 initialize_w32_display.
15645 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15646
15647 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15648
15649 * keyboard.c (discard_mouse_events): Discard it.
15650 (make_lispy_event): Translate it to a lisp event.
15651 (lispy_wheel_names): Add wheel-left and right events.
15652 (syms_of_keyboard): Enlarge wheel_syms.
15653
15654 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15655 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15656
15657 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15658
15659 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15660 from WM_MOUSEHWHEEL.
15661 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15662
15663 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15664 terminal.
15665
15666 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15667 keyboard for the terminal.
15668
15669 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15670
15671 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15672 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15673 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15674 and resume-tty-function to resume-tty-hook.
15675 (Fsuspend_tty, Fresume_tty): Use new names.
15676
15677 2007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15678
15679 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15680 if it starts with "n:".
15681
15682 2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15683
15684 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15685
15686 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15687
15688 * frame.h:
15689 * frame.c (Qterm_environment_variable): Remove.
15690 (syms_of_frame): Don't init and staticpro it.
15691
15692 * callproc.c (getenv_internal): Remove special case for $TERM.
15693
15694 * callproc.c (Vinitial_environment): New variable.
15695 (set_initial_environment): Initialize it.
15696 (syms_of_callproc): Declare it.
15697 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15698 TERM under which a process runs is never related to the TERM in which
15699 Emacs is running.
15700
15701 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15702
15703 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15704 * s/darwin.h: ... do it here.
15705
15706 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15707
15708 * lisp.h (set_initial_environment): Rename from set_global_environment.
15709
15710 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15711 removed by mistake on the multi-tty branch.
15712
15713 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15714 (Fmodify_frame_parameters): Return a value.
15715
15716 * image.c (png_load): Comment-out var only used in commented-out code.
15717
15718 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15719 before passing it to mark_object.
15720
15721 * xfaces.c (internal_resolve_face_name): Return a value.
15722 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15723
15724 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15725 (x_icon): Comment-out var only used in commented-out code.
15726
15727 2007-08-29 Romain Francoise <romain@orebokech.com>
15728
15729 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15730 QUIT hasn't been provided.
15731
15732 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15733
15734 * callproc.c (child_setup, getenv_internal): Use the
15735 display-environment-variable and term-environment-variable frame params.
15736 (set_initial_environment): Initialise Vprocess_environment.
15737
15738 * config.in: Disable multi-keyboard support on a mac.
15739
15740 * frame.c (Qterm_environment_variable)
15741 (Qdisplay_environment_variable): New variables.
15742 (syms_of_frame): Intern and staticpro them.
15743 (Fmake_terminal_frame): Disable output method test.
15744
15745 * frame.h: Declare them here.
15746
15747 * macfns.c (x_set_mouse_color): Get rif from the frame.
15748 (x_set_tool_bar_lines): Don't use updating_frame.
15749 (mac_window): Add 2 new parameters for consistency with other systems.
15750 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15751 frame parameters following what is done in X11 and w32. Don't use
15752 FRAME_MAC_DISPLAY_INFO.
15753 (Fx_open_connection, start_hourglass): Remove window-system check.
15754 (x_create_tip_frame): Get the keyboard from the terminal.
15755
15756 * macmenu.c: Reorder includes.
15757 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15758
15759 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15760 terminal parameter.
15761 (x_clear_frame): Add a frame parameter.
15762 (note_mouse_movement): Get rif from the frame.
15763 (mac_term_init): Initialize the terminal.
15764 (mac_initialize): Make static and move terminal initialization ...
15765 (mac_create_terminal): ... to this new function.
15766
15767 * macterm.h (struct mac_display_info): Add terminal.
15768 (mac_initialize): Delete declaration.
15769
15770 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15771
15772 * sysdep.c: Comment out text after #endif.
15773
15774 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15775 is defined. Better initialize ttys in windows. Use terminal
15776 specific mouse_position_hook.
15777
15778 * termhooks.h (union display_info): Add mac_display_info.
15779
15780 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15781 Set the default minibuffer frame, window_system and the rest of the
15782 frame parameters following what is done in X11.
15783
15784 * w32term.c (w32_initialize): Make static.
15785
15786 * xselect.c (x_handle_selection_clear): Only access
15787 terminal->kboard when MULTI_KBOARD is defined.
15788
15789 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15790 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15791
15792 2007-08-29 Jason Rumney <jasonr@gnu.org>
15793
15794 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15795 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15796
15797 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15798 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15799
15800 * keyboard.c (restore_kboard_configuration): Only define when
15801 MULTI_KBOARD defined.
15802
15803 * makefile.w32-in: Update dependancies from Makefile.in.
15804 (OBJ1): Add terminal.$(O)
15805
15806 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15807 Don't define function body.
15808 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15809
15810 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15811
15812 * w32.c (request_sigio, unrequest_sigio): Remove.
15813
15814 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15815 (w32con_clear_frame, w32con_clear_end_of_line)
15816 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15817 (w32con_delete_glyphs, w32con_set_terminal_window)
15818 (scroll_line, w32_sys_ring_bell): Add frame arg.
15819 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15820 Add terminal arg.
15821 (PICK_FRAME): Remove.
15822 (w32con_write_glyphs): Use frame specific terminal coding.
15823 (one_and_only_w32cons): New global variable.
15824 (initialize_w32_display): Use it for storing hooks.
15825 (create_w32cons_output): New function.
15826
15827 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15828 arg a frame.
15829
15830 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15831 Set window_system.
15832 (x_set_tool_bar_lines): Don't use updating_frame.
15833 (Fx_create_frame): Set terminal and ref count.
15834 (Fx_open_connection): Remove window-system check.
15835
15836 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15837
15838 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15839 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15840 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15841 Add frame arg.
15842 (x_delete_terminal, w32_create_terminal): New functions.
15843 (w32_term_init): Create a terminal.
15844 (w32_initialize): Move terminal specific initialization to
15845 w32_create_terminal.
15846
15847 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15848 (w32_clear_rect, w32_clear_area): Use background from frame.
15849 (w32_display_info): Add terminal.
15850 (w32_sys_ring_bell, x_delete_display): Declare here.
15851
15852 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15853
15854 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15855
15856 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15857
15858 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15859 Fix get_named_tty calls for the controlling tty.
15860
15861 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15862
15863 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15864
15865 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15866
15867 * term.c (tty_insert_glyphs): Add missing first parameter.
15868
15869 2007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15870
15871 * buffer.c (Fbuffer_list, Fbury_buffer):
15872 Take frame->buried_buffer_list into account.
15873
15874 * cm.c (current_tty): New variable, for cmputc().
15875 (cmputc): Use it.
15876 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15877 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15878 (cmgoto): Add tty parameter. Pass it on to calccost().
15879 Use emacs_tputs() instead of tputs().
15880
15881 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15882 tputs().
15883 (current_tty): New variable, for cmputc().
15884 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15885
15886 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15887 (internal_condition_case, internal_condition_case_1)
15888 (internal_condition_case_2): Don't abort when x_catching_errors.
15889
15890 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15891 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15892 prevent crashes caused by bogus longjmps in read_char.
15893
15894 * keymap.h (Fset_keymap_parent): Add EXFUN.
15895
15896 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15897 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15898 Remove redundant definition.
15899
15900 * macfns.c (x_set_mouse_color, x_make_gc):
15901 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15902
15903 * w32term.c (x_free_frame_resources):
15904 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15905 (w32_initialize): Use the accessor macros for terminal characteristics.
15906
15907 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15908 Use the accessor macros for terminal characteristics.
15909 * msdos.c (internal_terminal_init): Use the accessor macros for
15910 terminal characteristics.
15911 (ScreenVisualBell, internal_terminal_init):
15912 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15913
15914 * termopts.h (no_redraw_on_reenter): Declare.
15915
15916 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15917 (mark_terminals, mark_ttys): Declare.
15918 (Fgarbage_collect): Call them.
15919 (mark_object): Mark buried_buffer_list.
15920
15921 * prefix-args.c: Include stdlib.h for exit.
15922
15923 * syssignal.h: Add comment.
15924
15925 * indent.c: Include stdio.h.
15926
15927 * window.h (Vinitial_window_system): Declare.
15928 (Vwindow_system): Delete declaration.
15929
15930 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15931
15932 * image.c (lookup_image): Don't initialize `c' until the xasserts
15933 have been run.
15934
15935 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15936 FRAME_FOREGROUND_PIXEL.
15937
15938 * print.c (print_preprocess): Don't lose print_depth levels while
15939 iterating.
15940
15941 * widget.c (update_from_various_frame_slots):
15942 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15943
15944 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15945 frames.
15946 (window_internal_height): Remove bogus make_number call.
15947 (init_window_once): Call make_terminal_frame with two zero parameters.
15948
15949 * fileio.c (Fread_file_name): Update comment.
15950
15951 * callint.c (Fcall_interactively):
15952 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15953 Make sure it is correctly unwound.
15954
15955 * xsmfns.c (x_session_close): New function.
15956
15957 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15958 Delete declarations.
15959
15960 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15961 (x_output): Remove background_pixel and foreground_pixel fields.
15962 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15963 (x_delete_device, x_session_close): Declare.
15964
15965 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15966 (read_filtered_event): Call `read_char' with a local
15967 `wrong_kboard_jmpbuf'.
15968
15969 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15970 Don't call single_kboard_state. Use FRAME_RIF.
15971
15972 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15973 systems.
15974
15975 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15976 (Fframe_with_environment, Fset_input_meta_mode)
15977 (Fset_quit_char): EXFUN.
15978 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15979 (init_sys_modes, reset_sys_modes): Update prototypes.
15980 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15981
15982 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15983 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15984 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15985 Delete declarations.
15986 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15987 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15988 New declarations.
15989
15990 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15991 already does that during init_display(). Call syms_of_keymap
15992 before syms_of_keyboard. Call `syms_of_terminal'.
15993 Call set_initial_environment, not set_process_environment.
15994 (shut_down_emacs): Call reset_all_sys_modes() instead of
15995 reset_sys_modes().
15996
15997 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15998 (internal_resolve_face_name, resolve_face_name_error): New functions.
15999 (resolve_face_name): Protect against loops and errors thrown by Fget.
16000 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
16001 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
16002
16003 * scroll.c: Replace CURTTY() with local variables throughout the
16004 file (where applicable).
16005 (calculate_scrolling, calculate_direct_scrolling)
16006 (scrolling_1, scroll_cost): Use the accessor macros for terminal
16007 characteristics.
16008
16009 * keymap.c (Vfunction_key_map): Remove.
16010 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
16011 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
16012 (Vkey_translation_map): Remove.
16013 (syms_of_keymap): Remove DEFVAR for key-translation-map.
16014 (Fdescribe_buffer_bindings)
16015 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
16016 Update for terminal-local key-translation-map.
16017
16018 * Makefile.in (callproc.o): Update dependencies.
16019 (lisp, shortlisp): Add termdev.elc.
16020 (obj): Add terminal.o.
16021 (terminal.o): Add dependencies.
16022 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
16023 (data.o, fns.o): Add termhooks.h dependency.
16024 (SOME_MACHINE_LISP): Add dnd.elc.
16025 (minibuf.o): Fix typo.
16026 Update dependencies.
16027
16028 * data.c (do_symval_forwarding, store_symval_forwarding)
16029 (find_symbol_value): Use the selected frame's keyboard, not
16030 current_kboard.
16031
16032 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
16033 Vwindow_system.
16034
16035 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
16036 Fmenu_bar_open.
16037 (syms_of_xmenu): Update defsubr.
16038 (mouse_position_for_popup, Fx_popup_menu)
16039 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
16040 (set_frame_menubar, free_frame_menubar)
16041 (create_and_show_popup_menu, xmenu_show)
16042 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
16043 an X frame.
16044
16045 * xselect.c (x_own_selection): Abort if not an X frame.
16046 (some_frame_on_display): Check if it is an X frame.
16047 (x_handle_selection_clear): Deal with MULTI_KBOARD.
16048
16049 * coding.c: Include frame.h and termhooks.h.
16050 (terminal_coding, keyboard_coding): Delete.
16051 (Fset_terminal_coding_system_internal)
16052 (Fset_keyboard_coding_system_internal)
16053 (Fkeyboard_coding_system)
16054 (Fterminal_coding_system): Add a terminal parameter.
16055 Get terminal_coding from the terminal.
16056 (init_coding_once): Don't call setup_coding_system here.
16057
16058 * dispextern.h (set_scroll_region, turn_off_insert)
16059 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
16060 (tty_clear_end_of_line, tty_setup_colors)
16061 (delete_tty, updating_frame)
16062 (produce_special_glyphs, produce_glyphs, write_glyphs)
16063 (insert_glyphs): Remove.
16064 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
16065 (tty_turn_off_highlight, get_tty_size): Add declaration.
16066 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
16067
16068 * frame.h (enum output_method): Add output_initial.
16069 (struct x_output): Delete.
16070 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16071 Access foreground_pixel and background_pixel directly from the frame.
16072 (tty_display): Delete.
16073 (struct frame): Add buried_buffer_list, foreground_pixel,
16074 background_pixel and terminal. Delete kboard.
16075 (union output_data): Add tty.
16076 (FRAME_KBOARD): Get the kboard from the terminal.
16077 (FRAME_INITIAL_P): New macro.
16078 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
16079 (Qterm_environment_variable, Qdisplay_environment_variable)
16080 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
16081 New declarations.
16082
16083 * termchar.h (tty_output, tty_display_info): New structures.
16084 (tty_list): Declare.
16085 (FRAME_TTY, CURTTY): New macros.
16086 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
16087 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
16088 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
16089 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
16090
16091 * callproc.c: Include frame.h and termhooks.h, for terminal
16092 parameters.
16093 (add_env): New function.
16094 (child_setup): Use it.
16095 (child_setup, getenv_internal): Handle the new Vprocess_environment.
16096 (getenv_internal): Fix get_terminal_param call.
16097 (Fgetenv_internal, egetenv): Update doc.
16098 (syms_of_callproc): Initialize Vprocess_environment to nil.
16099 Register and initialize them. Remove obsolete defvars. Update doc
16100 strings.
16101 (child_setup): Handle Vlocal_environment_variables.
16102 (getenv_internal): Add terminal parameter.
16103 Handle Vlocal_environment_variables.
16104 (Fgetenv_internal): Add terminal parameter.
16105 (child_setup, getenv_internal, Fgetenv_internal): Store the local
16106 environment in a frame (not terminal) parameter. Update doc strings.
16107 (set_initial_environment): Rename from set_global_environment.
16108 Store Emacs environment in initial frame parameter.
16109
16110 * xdisp.c (redisplay_internal): Update references to
16111 `previous_terminal_frame'.
16112 (display_mode_line, Fformat_mode_line): Replace calls to
16113 `push_frame_kboard' with `push_kboard'.
16114 (get_glyph_string_clip_rects): Add extra parentheses and
16115 braces to prevent compiler warnings.
16116 (calc_pixel_width_or_height): Add xassert to check that the
16117 frame is alive. Don't call `lookup_image' on a termcap frame.
16118 (message2_nolog, message3_nolog, redisplay_internal)
16119 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16120 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16121 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16122 (Fx_display_pixel_width, Fx_display_pixel_height)
16123 (Fx_display_planes, Fx_display_color_cells)
16124 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16125 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16126 (Fx_display_backing_store, Fx_display_visual_class)
16127 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16128 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16129
16130 * xfns.c (x_set_foreground_color x_set_background_color)
16131 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16132 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16133 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16134 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16135 terminal that is being deleted.
16136 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16137 frame parameter, and make sure it overrides any user-supplied setting.
16138 (Fx_close_connection, Fx_synchronize): Unify argument names with
16139 the rest of the DEFUNs.
16140
16141 * dispnew.c (Fsend_string_to_terminal): Update call to
16142 `get_tty_terminal'.
16143 (Fredraw_frame, Fsend_string_to_terminal)
16144 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16145 FRAME_TERMCAP_P and FRAME_TTY.
16146 (window_change_signal): Don't believe width/height values that are
16147 impossibly small.
16148 (Vinitial_window_system): Rename from Vwindow_system.
16149 (termscript, Wcm, rif): Delete.
16150
16151 * termhooks.h (struct terminal): New struct containing the
16152 previously global text display hooks and new members NAME,
16153 DELETED and PARAM_ALIST.
16154 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16155 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16156 (FRAME_RIF): New macros.
16157 (get_terminal_param, get_device): New declarations.
16158 (termscript): Delete declaration.
16159
16160 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16161 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16162 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16163 FRAME_FOREGROUND_PIXEL.
16164 (x_fully_uncatch_errors): Disable definition.
16165 (x_scroll_bar_expose): Fix reference to foreground pixel.
16166 (XTread_socket): Disable loop on all X displays.
16167 (x_delete_terminal): Don't set terminal->deleted and let
16168 delete_terminal delete the frames on the terminal.
16169 (x_delete_display): Doc update to reflect changes in
16170 delete_terminal.
16171 (x_display_info) <terminal>: Move member earlier in the struct.
16172 (deleting_tty): Remove old variable.
16173 (Fsuspend_tty): Call clear_tty_hooks.
16174 (Fresume_tty, init_tty): Call set_tty_hooks.
16175 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16176 errors on X frames.
16177 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16178 (handle_one_xevent): Initialize `f' to NULL.
16179 (x_delete_terminal, x_create_terminal): New functions.
16180 (XTset_terminal_modes, XTreset_terminal_modes)
16181 (XTread_socket, x_connection_closed, x_term_init)
16182 (x_term_init, x_delete_display): Add terminal parameter.
16183 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16184 X connections.
16185
16186 * frame.c: Include termchar.h.
16187 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16188 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16189 (Qdisplay_environment_variable): New vars.
16190 (Fframep): Deal with output_initial.
16191 (Fframe-live-p): Doc fix.
16192 (Fwindow-system): New function.
16193 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16194 (make_terminal_frame): Don't create frames on a terminal that is
16195 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16196 (store_frame_param): Check for found_for_frame before calling XFRAME.
16197 (Fmake_terminal_frame): Handle NULL tty names correctly.
16198 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16199 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16200 frames to refer to a deleted frame in their 'environment parameter.
16201 (Fframe_with_environment): New function.
16202 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16203 (get_future_frame_param): New function.
16204 (Fmake_terminal_frame): Use it.
16205 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16206
16207 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16208 * sysdep.c (reset_sys_modes): Update for renames.
16209
16210 * keyboard.c (tty_read_avail_input): New function.
16211 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16212 (syms_of_keyboard): Defsubr them.
16213 (Fset_input_meta_mode, Fset_quit_char): New functions.
16214 (Fset_input_mode): Split to above functions.
16215 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16216 parameter. Use it in call to `read_char'.
16217 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16218 Set wrong_kboard_jmpbuf correctly in recursive calls.
16219 Use current_kboard to access Vkeyboard_translate_table.
16220 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16221 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16222 Update longjmp invocations. Remember the original current_kboard,
16223 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16224 changes it. Comment out unnecessary calls to
16225 `record_single_kboard_state' and `any_kboard_state'.
16226 Update recursive calls.
16227 (wrong_kboard_jmpbuf): Remove global variable.
16228 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16229 Handle deleted interrupted_kboards correctly; that is a legal
16230 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16231 and read_char calls. Abort if interrupted_kboard died in read_char.
16232 (any_kboard_state, single_kboard_state)
16233 (push_frame_kboard): Remove function.
16234 (pop_kboard): Switch out of single_kboard mode if the kboard has
16235 been deleted. Remove unused variable. Help debugging by not
16236 changing current_kboard unnecessarily. Set current_kboard to the
16237 kboard of the selected frame when the stored kboard object has
16238 been deleted before pop_kboard.
16239 (temporarily_switch_to_single_kboard): Change first parameter to a
16240 frame pointer. Throw an error when caller wants to change kboards
16241 while in single_kboard mode. Don't push_kboard if we weren't in
16242 single kboard state. Don't pop_kboard if we popped into any
16243 kboard state.
16244 (restore_kboard_configuration): Abort if pop_kboard changed the
16245 kboard in single_kboard mode. Call pop_kboard only after setting
16246 up single_kboard mode.
16247 (Frecursive_edit): Switch to single_kboard mode only in nested
16248 command loops.
16249 (cmd_error, command_loop, command_loop_1, timer_check):
16250 Comment out unnecessary call to `any_kboard_state' and
16251 `record_single_kboard_state'.
16252 (delete_kboard): Exit single_kboard mode if we have just deleted
16253 that kboard. Use FRAME_KBOARD.
16254 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16255 `fatal_error_signal'.
16256 (record_single_kboard_state): Don't push_kboard if we weren't in
16257 single kboard state. Don't pop_kboard if we popped into any
16258 kboard state.
16259 (push_frame_kboard): Rename to push_kboard.
16260 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16261 (read_avail_input): Read input from all terminals.
16262 (mark_kboards): Also mark Vkeyboard_translate_table.
16263 (kbd_buffer_store_event_hold): Simplify condition.
16264 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16265 (Vkeyboard_translate_table): Move to struct kboard.
16266 (init_kboard): Initialize Vkeyboard_translate_table.
16267 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16268 Vkeyboard_translate_table. Update doc strings. Update docs of
16269 local-function-key-map and function-key-map.
16270
16271 * terminal.c: New file.
16272
16273 * term.c: Include errno.h.
16274 (Vring_bell_function, device_list, initial_device)
16275 (next_device_id, ring_bell, update_begin, update_end)
16276 (set_terminal_window, cursor_to, raw_cursor_to)
16277 (clear_to_end, clear_frame, clear_end_of_line)
16278 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16279 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16280 (syms_of_term): Move their initialization to terminal.c.
16281 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16282 (Ftty_display_color_cells)
16283 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16284 (clear_tty_hooks, set_tty_hooks)
16285 (init_tty, maybe_fatal): New functions.
16286 (Ftty_type): Return nil if terminal is not on a tty instead of
16287 throwing an error. Doc update.
16288 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16289 Doc update. Initialize new subrs and variables.
16290 (delete_tty): Use terminal->deleted.
16291 (tty_set_terminal_modes): Rename from set_terminal_modes.
16292 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16293 (set_scroll_region): Rename to `tty_set_scroll_region'.
16294 (turn_on_insert): Rename to `tty_turn_on_insert'.
16295 (turn_off_insert): Rename to `tty_turn_off_insert'.
16296 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16297 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16298 (toggle_highligh): Rename to `tty_toggle_highlight'.
16299 (background_highlight): Rename to `tty_background_highlight'.
16300 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16301 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16302 (tty_set_scroll_region, tty_background_highlight)
16303 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16304 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16305 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16306 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16307 Add static modifier.
16308 (tty_reset_terminal_modes, tty_set_terminal_window)
16309 (tty_set_scroll_region, tty_background_highlight)
16310 (tty_highlight_if_desired, tty_cursor_to)
16311 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16312 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16313 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16314 renames.
16315
16316 2007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16317
16318 * keyboard.c: Qrtl is new.
16319 (parse_tool_bar_item): Handle :rtl keyword.
16320 (syms_of_keyboard): Intern :rtl keyword.
16321
16322 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16323
16324 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16325 so no Lisp code is executed.
16326 (file_for_image, find_rtl_image): New functions.
16327 (xg_get_image_for_pixmap): Use file_for_image.
16328 (update_frame_tool_bar): If direction is RTL, use RTL image if
16329 defined. Use Gtk stock images if defined.
16330
16331 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16332
16333 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16334 for nonexistent or zero-width glyph in composition glyph.
16335
16336 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16337
16338 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16339
16340 * xdisp.c (Finvisible_p): New function.
16341 (syms_of_xdisp): defsubr it.
16342
16343 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
16344
16345 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16346 Doc fixes.
16347
16348 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16349
16350 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16351
16352 2007-08-24 Martin Rudalics <rudalics@gmx.at>
16353
16354 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16355 whether decoding has modified buffer contents.
16356
16357 2007-08-24 Jason Rumney <jasonr@gnu.org>
16358
16359 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16360 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16361 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16362 (init_svg_functions) [HAVE_NTGUI]: New function.
16363 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16364 (svg_load_image): Use them.
16365 (svg_load_image) [HAVE_NTGUI]: Implement background.
16366
16367 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16368
16369 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16370 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16371 (LIBX): Remove @RSVG_LIBS@.
16372 (LIBES): Add $(RSVG_LIBS).
16373
16374 * image.c (svg_load_image): Blend with specified background if exists.
16375 Use IMAGE_BACKGROUND. Add Mac OS Support.
16376
16377 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16378 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16379 Remove macros.
16380 [MAC_OSX] (socket_callback): Do nothing.
16381 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16382 ReceiveNextEvent.
16383 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16384 socket_callback.
16385 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16386
16387 2007-08-22 Glenn Morris <rgm@gnu.org>
16388
16389 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16390
16391 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16392
16393 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16394
16395 * image.c: Add support for SVG images. Some additional comments
16396 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16397 (svg_image_p): New function to test for SVG image.
16398 (svg_load): New function to load SVG image.
16399 (svg_load_image): New function, helper for svg_load.
16400 (Qsvg): New Lisp_object.
16401 (svg_keyword_index): New enum.
16402 (svg_format): New static `image_keyword' struct.
16403 (svg_type): New static `image_type' struct.
16404 (librsvg/rsvg.h): Include it.
16405
16406 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16407
16408 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16409
16410 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16411
16412 * lread.c (Qold_style_backquotes): New var.
16413 (syms_of_lread): Init and staticpro it.
16414 (load_warn_old_style_backquotes): New fun.
16415 (Fload): Use them to warn about old style backquotes.
16416 (end_of_file_error, Fload): Remove unused vars.
16417
16418 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16419
16420 * lread.c (Vold_style_backquotes): New var.
16421 (syms_of_lread): Init and export it to Elisp.
16422 (read1): Set it when we find an old-style (back)quote.
16423
16424 2007-08-22 Jason Rumney <jasonr@gnu.org>
16425
16426 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16427
16428 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16429
16430 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16431
16432 2007-08-19 Richard Stallman <rms@gnu.org>
16433
16434 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16435
16436 2007-08-19 Andreas Schwab <schwab@suse.de>
16437
16438 * alloc.c (pure): Round PURESIZE up.
16439
16440 2007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16441
16442 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16443 active frame.
16444
16445 2007-08-16 Richard Stallman <rms@gnu.org>
16446
16447 * eval.c (Fcommandp): Add parens to clarify.
16448
16449 * minibuf.c (Fall_completions): Use enum for type of table.
16450
16451 * emacs.c (USAGE2): Improve text.
16452
16453 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16454
16455 * term.c (tty_default_color_capabilities): Declare static
16456 variables in file scope, to avoid HPUX compiler problem.
16457
16458 2007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16459
16460 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16461 to gtk_toolbar_insert.
16462
16463 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16464
16465 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16466
16467 * insdel.c (reset_var_on_error): New fun.
16468 (signal_before_change, signal_after_change):
16469 Use it to reset (after|before)-change-functions to nil in case of error.
16470 Bind inhibit-modification-hooks to t.
16471 Don't bind (after|before)-change-functions to nil while they run.
16472
16473 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16474
16475 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16476 filling pixmap with stippled background.
16477
16478 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16479
16480 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16481 Don't use invisible frame as parent window for repositioning.
16482
16483 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16484
16485 * print.c (new_backquote_output): Rename from old_backquote_output.
16486 (print): Inverse its logic (according to its name) so as to match the
16487 behavior of new_backquote_flag in lread.c.
16488
16489 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16490
16491 * gmalloc.c (posix_memalign): New function.
16492
16493 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16494 ActivateControl/DeactivateControl here.
16495 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16496 frame-notice-user-settings is non-nil.
16497 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16498 for kEventParamFMFontStyle.
16499 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16500 mac_pass_command_to_system and mac_pass_control_to_system here.
16501 (XTread_socket): Call ActivateControl/DeactivateControl here.
16502 (XTread_socket) [TARGET_API_MAC_CARBON]:
16503 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16504 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16505 for window repositioning.
16506
16507 2007-08-08 Glenn Morris <rgm@gnu.org>
16508
16509 * Replace `iff' in doc-strings and comments.
16510
16511 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
16512
16513 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16514
16515 2007-08-07 Martin Rudalics <rudalics@gmx.at>
16516
16517 * fileio.c (Finsert_file_contents): Run format-decode and
16518 after_insert_file_functions on entire buffer when REPLACE is
16519 non-nil and inhibit modification_hooks and point_motion_hooks.
16520 For consistency, run after_insert_file_functions iff something
16521 got inserted. Move signal_after_change and update_compositions
16522 after code running after_insert_file_functions. Make sure that
16523 undo_list doesn't record intermediate steps of the decoding process.
16524
16525 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16526
16527 * emacs.c (main)
16528 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16529 Call malloc_enable_thread on interactive startup.
16530
16531 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16532 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16533 [USE_PTHREAD]: Conditionalize with it.
16534 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16535 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16536 New functions.
16537
16538 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
16539
16540 * xdisp.c (redisplay_window): When restoring original buffer
16541 position, make sure it is still valid.
16542
16543 * image.c (png_load): Ignore png-supplied background color.
16544
16545 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16546
16547 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16548 Use kCFAbsoluteTimeIntervalSince1970.
16549
16550 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16551 New variable.
16552 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16553 event loop should be quit.
16554 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16555 Quit dialog event loop if quit_dialog_event_loop is set.
16556
16557 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16558 (Selection): New typedef. Use instead of ScrapRef.
16559 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16560 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16561 (mac_clear_selection): Rename from clear_scrap.
16562 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16563 scrap_has_target_type. All uses changed.
16564 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16565 (mac_selection_has_target_p): New functions.
16566 (mac_put_selection_value): Rename from put_scrap_string.
16567 (mac_get_selection_value): Rename from get_scrap_string.
16568 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16569 (put_scrap_private_timestamp, scrap_has_target_type)
16570 (get_scrap_private_timestamp): Remove functions.
16571 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16572 (x_own_selection, x_get_local_selection):
16573 Use mac_valid_selection_value_p.
16574 (x_own_selection): Don't use put_scrap_private_timestamp.
16575 Record OWNERSHIP-INFO into Vselection_alist instead.
16576 (x_get_local_selection): Don't check type if request is local.
16577 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16578 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16579
16580 2007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16581
16582 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16583 add comment explaining why.
16584
16585 2007-08-03 Richard Stallman <rms@gnu.org>
16586
16587 * fileio.c (Fvisited_file_modtime): Use make_time.
16588
16589 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16590
16591 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16592 build.
16593
16594 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16595
16596 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16597
16598 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16599
16600 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16601
16602 2007-07-30 Richard Stallman <rms@gnu.org>
16603
16604 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16605
16606 2007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16607
16608 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16609
16610 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
16611
16612 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16613 remote default-directory.
16614
16615 * buffer.c (mode-line-format): Update doc string.
16616
16617 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16618
16619 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16620 scroll bar gap.
16621 (x_scroll_bar_create): Set bar->fringe_extended_p.
16622 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16623 on frame edge. Check fringe background extension. Don't clear
16624 extended fringe background area.
16625
16626 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16627 (w32_fill_area): Enclose multiple statements with do ... while (0).
16628
16629 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16630 Extend fringe background to scroll bar gap.
16631 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16632 Set bar->fringe_extended_p.
16633 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16634 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16635 background extension. Don't clear extended fringe background area.
16636
16637 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16638 New member fringe_extended_p.
16639
16640 2007-07-25 Glenn Morris <rgm@gnu.org>
16641
16642 * Relicense all FSF files to GPLv3 or later.
16643
16644 * COPYING: Switch to GPLv3.
16645
16646 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16647
16648 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16649
16650 * data.c (Finteractive_form): Check for the presence of an
16651 `interactive-form' symbol property more thoroughly.
16652
16653 * data.c (Finteractive_form): Use an `interactive-form' property if
16654 present, analogous to the function-documentation property.
16655
16656 2007-07-24 Jason Rumney <jasonr@gnu.org>
16657
16658 * w32fns.c (x_real_positions): Get real position from OS instead of
16659 calculating it.
16660
16661 2007-07-23 Jason Rumney <jasonr@gnu.org>
16662
16663 * filelock.c (current_lock_owner): Allow for @ sign in username.
16664
16665 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
16666
16667 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16668 remote default-directory.
16669
16670 * buffer.c (mode-line-format): Describe above case in doc string.
16671
16672 2007-07-20 Eli Zaretskii <eliz@gnu.org>
16673
16674 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16675 Define if not defined.
16676
16677 2007-07-18 Jason Rumney <jasonr@gnu.org>
16678
16679 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16680
16681 2007-07-18 Richard Stallman <rms@gnu.org>
16682
16683 * data.c (Fsetq_default): Doc fix.
16684
16685 * eval.c (Fsetq): Doc fix.
16686
16687 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
16688
16689 * coding.c (Ffind_operation_coding_system):
16690 * eval.c (For, Fand): Doc fixes.
16691 Reported by Johan Bockgård.
16692
16693 2007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16694
16695 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16696
16697 * xterm.h: Declare x_ewmh_activate_frame.
16698
16699 * xterm.c (x_ewmh_activate_frame): New function.
16700 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16701
16702 2007-07-17 Martin Rudalics <rudalics@gmx.at>
16703
16704 * window.c (Fdisplay_buffer): If largest or LRU window is the
16705 only window, split it even if it is not eligible for splitting.
16706 This restores the original behavior broken by the 2007-07-15
16707 change.
16708
16709 2007-07-17 Glenn Morris <rgm@gnu.org>
16710
16711 * abbrev.c (abbrev_check_chars): New function.
16712 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16713 Call abbrev_check_chars to check abbrev characters are word
16714 constituents. Doc fix.
16715
16716 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16717
16718 * process.c (Fstart_process, Fmake_network_process)
16719 (read_process_output): Fix up last changes.
16720
16721 2007-07-16 Eli Zaretskii <eliz@gnu.org>
16722
16723 * makefile.w32-in (clean): Don't delete *~.
16724
16725 2007-07-16 Andreas Schwab <schwab@suse.de>
16726
16727 * window.c (Fdisplay_buffer): Use NILP.
16728 (Fset_window_scroll_bars): Likewise.
16729
16730 2007-07-15 Martin Rudalics <rudalics@gmx.at>
16731
16732 * window.c (window_min_size_2): New function.
16733 (window_min_size_1, size_window, Fdisplay_buffer)
16734 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16735 windows without mode- or header-lines when window-min-height is
16736 too small.
16737 (size_window): Reset nodelete_p after testing it, following an
16738 earlier note by Kim F. Storm.
16739 (display_buffer): Do not set split_height_threshold to twice the
16740 value of window_min_height to avoid changing the value of a
16741 customizable variable. Rather explicitly check whether the
16742 height of the window that shall be splitted is at least as large
16743 as split_height_threshold.
16744 (Fwindow_full_width_p): New defun.
16745 (syms_of_window): Defsubr it.
16746
16747 * window.h: Add EXFUN for Fwindow_full_width_p.
16748
16749 2007-07-14 Jason Rumney <jasonr@gnu.org>
16750
16751 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16752
16753 2007-07-14 Richard Stallman <rms@gnu.org>
16754
16755 * eval.c (maybe_call_debugger): New function.
16756 (find_handler_clause): Use maybe_call_debugger.
16757 Call it when the handler says `debug'.
16758 Eliminate DEBUGGER_VALUE_PTR.
16759 (Fsignal): Eliminate debugger_value.
16760 (Qdebug): New variable.
16761 (syms_of_eval): Initialize it.
16762
16763 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
16764
16765 * eval.c (Fprogn):
16766 * keyboard.c (Ftrack_mouse):
16767 * print.c (Fwith_output_to_temp_buffer):
16768 * window.c (Fsave_window_excursion): Doc fix.
16769
16770 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16771
16772 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16773
16774 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16775
16776 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16777 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16778 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16779 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16780 Remove unused encoding_carryover.
16781 * process.c: Adjust all functions accordingly.
16782
16783 2007-07-12 Richard Stallman <rms@gnu.org>
16784
16785 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16786
16787 2007-07-11 Jason Rumney <jasonr@gnu.org>
16788
16789 * makefile.w32-in (LIBS): Include OLE32.
16790
16791 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16792 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16793
16794 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16795
16796 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16797 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16798 from a Lisp_Object into a bare pointer.
16799 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16800 Adjust the code correspondingly.
16801
16802 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16803
16804 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16805 (term_show_mouse_face): Remove unused var `j'.
16806 (handle_one_term_event): Remove unused vars `i' and `j'.
16807 Don't cast return value of ttyname since it's not necessary.
16808
16809 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16810
16811 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16812 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16813
16814 * fns.c (map_char_table): Use an array of int for `indices' rather than
16815 an array of Lisp_Objects (which are only ever integers anyway).
16816 (Fmap_char_table): Update caller.
16817 * lisp.h: Update prototype.
16818 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16819 * fontset.c (Ffontset_info):
16820 * casetab.c (set_case_table): Update callers.
16821
16822 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16823
16824 * keymap.c (struct accessible_keymaps_data)
16825 (struct where_is_internal_data): New structures.
16826 (accessible_keymaps_1, where_is_internal_1): Use them to change
16827 interface to adhere to the one used by map_keymap.
16828 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16829 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16830
16831 * keymap.h (map_keymap_function_t): More informative prototype.
16832
16833 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16834
16835 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16836 (looking_at_1): Don't change search_regs and last_thing_searched
16837 if `inhibit-changing-match-data' is non-nil.
16838 (string_match_1, search_buffer, set_search_regs): Likewise.
16839 (syms_of_search): Add Lisp level definition for
16840 `inhibit-changing-match-data' and set it to nil.
16841 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16842 start and end of the match, instead of using values in search_regs.
16843
16844 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16845
16846 * minibuf.c (Fcompleting_read): New value `confirm-only'
16847 for `require-match'.
16848
16849 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16850
16851 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16852 part of the 2007-06-27 change to syms_of_fileio.
16853
16854 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16855
16856 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16857 Check WINDOWP before using XWINDOW. Consolidate return statements.
16858
16859 2007-06-27 Richard Stallman <rms@gnu.org>
16860
16861 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16862
16863 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
16864
16865 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16866
16867 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16868
16869 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16870 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16871 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16872 (_free_internal, memalign): Use them.
16873 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16874 Initialize to PTHREAD_MUTEX_INITIALIZER.
16875 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16876 (morecore_nolock): Rename from morecore. All uses changed.
16877 Use only nolock versions of internal allocation functions.
16878 (_malloc_internal_nolock, _realloc_internal_nolock)
16879 (_free_internal_nolock): New functions created from
16880 _malloc_internal, _realloc_internal, and _free_internal.
16881 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16882 Copy hook value to automatic variable before its use.
16883 (memalign): Copy hook value to automatic variable before its use.
16884
16885 2007-06-26 Kenichi Handa <handa@m17n.org>
16886
16887 * coding.c (Ffind_operation_coding_system): Docstring improved.
16888 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16889
16890 2007-06-25 David Kastrup <dak@gnu.org>
16891
16892 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16893 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16894 cater for additional parameter.
16895
16896 * keymap.h: Adjust number of parameters to `current-active-maps'.
16897
16898 * doc.c (Fsubstitute_command_keys): Adjust call of
16899 `current-active-maps'.
16900
16901 2007-06-25 David Kastrup <dak@gnu.org>
16902
16903 * callint.c (Fcall_interactively): Make the parsing of interactive
16904 specs somewhat more readable.
16905
16906 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16907
16908 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16909 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16910 if extended background has already been filled.
16911
16912 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16913
16914 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16915 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16916
16917 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16918 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16919 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16920 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16921 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16922 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16923 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16924 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16925 Run timers during dialog popup.
16926 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16927
16928 2007-06-21 Jason Rumney <jasonr@gnu.org>
16929
16930 * image.c (convert_mono_to_color_image): Swap fore and background.
16931
16932 2007-06-20 Jason Rumney <jasonr@gnu.org>
16933
16934 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16935 (w32_free_bdf_font): Unmap memory not handle.
16936
16937 2007-06-20 Sam Steingold <sds@gnu.org>
16938
16939 * gmalloc.c (__morecore): Fix the declaration to comply with the
16940 definition.
16941
16942 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
16943
16944 * w32term.c (w32_delete_display): Remove leftover declaration.
16945 (w32_define_cursor, w32_initialize): Make static.
16946
16947 * w32.c (_wsa_errlist): Fix typo in error message.
16948 (init_environment): Ignore any environment variable from the
16949 registry having a null value.
16950
16951 2007-06-20 Glenn Morris <rgm@gnu.org>
16952
16953 * Makefile.in (LIBGIF): Default to -lgif.
16954
16955 2007-06-17 Jason Rumney <jasonr@gnu.org>
16956
16957 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16958 unicode strings.
16959
16960 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
16961
16962 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16963 Fix typo in docstring.
16964
16965 2007-06-16 Eli Zaretskii <eliz@gnu.org>
16966
16967 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16968 and their keybindings.
16969
16970 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
16971
16972 * composite.c (update_compositions): Fix last fix.
16973
16974 2007-06-14 Jason Rumney <jasonr@gnu.org>
16975
16976 * w32.c (get_process_times_fn): New function pointer.
16977 (globals_of_w32): Intialize it if present in kernel32.dll.
16978 (w32_get_internal_run_time): New function.
16979
16980 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16981
16982 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16983
16984 * composite.c (update_compositions): Check the validness of
16985 compositions.
16986
16987 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16988
16989 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16990 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16991
16992 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16993 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16994
16995 * macgui.h (USE_MAC_TOOLBAR): New define.
16996
16997 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16998 Return immediately unless popup is activated.
16999
17000 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
17001 background to scroll bar gap.
17002 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
17003 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
17004 scroll bars on frame edge. Check fringe background extension.
17005 Don't clear extended fringe background area.
17006 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
17007 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
17008 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
17009 [USE_MAC_TOOLBAR]: New macros.
17010 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
17011 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
17012 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
17013 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
17014 [USE_MAC_TOOLBAR]: New functions.
17015 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
17016 manually if previous repositioning has failed.
17017 (mac_handle_keyboard_event): Use precomputed event kind.
17018 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
17019 as tool bar item click. Handle mouse movement over tool bar items.
17020
17021 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
17022 toolbar_win_gravity.
17023 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
17024 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
17025 Add externs.
17026
17027 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
17028 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
17029
17030 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
17031
17032 * image.c (search_image_cache): Remove unused variable.
17033
17034 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
17035
17036 * xfns.c, xmenu.c: Link to xaw3d if available.
17037
17038 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17039
17040 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
17041 frame_foreground and frame_background.
17042
17043 * image.c (lookup_image): Save frame foreground and background colors.
17044 (search_image_cache): Check if saved and current frame colors match.
17045
17046 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
17047
17048 * regex.c (regex_compile): Remove the `regnum' counter.
17049 Use bufp->re_nsub instead. Add support for \(?N:RE\).
17050
17051 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
17052
17053 * term.c: Include intervals.h to declare Fget_text_property.
17054
17055 2007-06-10 Jason Rumney <jasonr@gnu.org>
17056
17057 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
17058
17059 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
17060
17061 * callint.c (Fcall_interactively):
17062 * editfns.c (Fdelete_and_extract_region):
17063 * fileio.c (Fread_file_name):
17064 * fns.c (Fmapconcat):
17065 * keyboard.c (cmd_error_internal):
17066 * keymap.c (Fkey_description):
17067 * lread.c (openp):
17068 * minibuf.c (read_minibuf):
17069 * search.c (wordify):
17070 * sunfns.c (sel_read):
17071 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
17072 * xfns.c (x_default_scroll_bar_color_parameter):
17073 * xmenu.c (menu_help_callback):
17074 * xselect.c (Fx_get_atom_name):
17075 * xterm.c (x_term_init): Use empty_unibyte_string.
17076
17077 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
17078
17079 * alloc.c (init_strings): Initialize canonical empty strings.
17080 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
17081 canonical empty string when the requested size is 0.
17082
17083 * emacs.c (empty_unibyte_string): Rename from empty_string.
17084 (empty_multibyte_string): New canonical empty string.
17085 (syms_of_emacs): Don't initialize empty_string.
17086
17087 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
17088 string, if appropriate.
17089 (empty_unibyte_string, empty_multibyte_string): New externs.
17090 (empty_string): Remove extern.
17091
17092 * lread.c (syms_of_lread): Use empty_unibyte_string.
17093
17094 2007-06-07 Jason Rumney <jasonr@gnu.org>
17095
17096 * s/ms-w32.h: Don't define HAVE_TZNAME.
17097
17098 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
17099
17100 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17101
17102 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
17103
17104 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
17105 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
17106
17107 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17108 Don't call next handler.
17109 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
17110 Remove argument. Install handler to application.
17111 (set_frame_menubar): Don't change deep_p.
17112 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
17113 FRAME_OUTER_TO_INNER_DIFF_Y.
17114 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17115 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17116 [HAVE_DIALOGS]: New macros.
17117 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17118 Use them.
17119 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17120
17121 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17122 init_service_handler. All callers changed. Return OSStatus value.
17123
17124 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17125 All callers changed so as not to call SetPortWindowPort.
17126 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17127 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17128 mac_draw_string_common.
17129 (mac_draw_image_string_qd): Likewise.
17130 (mac_draw_string_common): Use them. Add INLINE.
17131 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17132 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17133 GetGlobalMouse.
17134 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17135 and FRAME_OUTER_TO_INNER_DIFF_Y.
17136 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17137 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17138 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17139 repositioning window to mac_handle_window_event.
17140 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17141 saving window location to mac_handle_window_event
17142 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17143 (install_menu_target_item_handler): Remove argument in extern.
17144 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17145 Also accept command events.
17146 (do_keystroke): New function created from XTread_socket.
17147 (init_command_handler): Remove functions.
17148 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17149 and save window location by kEventWindowShowing and kEventWindowHiding
17150 handlers here. Don't call next handler for window state change and
17151 focus events.
17152 (mac_handle_application_event, mac_handle_keyboard_event)
17153 [TARGET_API_MAC_CARBON]: New functions.
17154 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17155 kEventWindowShowing and kEventWindowHiding events. Move installation
17156 of mouse, font, text input and menu target item handlers to
17157 install_application_handler.
17158 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17159 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17160 New function.
17161 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17162 Register it.
17163 (XTread_socket) [TARGET_API_MAC_CARBON]:
17164 Consolidate SendEventToEventTarget calls.
17165 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17166 Move application activation handler to mac_handle_application_event.
17167 Move keyboard handler to mac_handle_keyboard_event.
17168 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17169 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17170 init_command_handler. Call install_application_handler.
17171
17172 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17173 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17174
17175 2007-06-07 Glenn Morris <rgm@gnu.org>
17176
17177 * emacs.c (main): Use `emacs-copyright' in --version output.
17178
17179 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
17180
17181 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17182
17183 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17184
17185 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17186
17187 * macgui.h: Replace WindowPtr with WindowRef.
17188
17189 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17190 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17191 Replace ControlHandle with ControlRef.
17192 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17193
17194 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17195 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17196 Replace ControlHandle with ControlRef.
17197 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17198 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17199
17200 * macterm.h (struct scroll_bar): Rename member control_handle_low
17201 and control_handle_high to control_ref_low and control_ref_high.
17202 All uses changed.
17203 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17204 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17205 respectively. All uses changed.
17206 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17207 (install_window_handler, remove_window_handler): Replace WindowPtr
17208 with WindowRef in externs.
17209
17210 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
17211
17212 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17213
17214 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
17215
17216 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17217
17218 * frame.c (Fmouse_position, Fmouse_pixel_position):
17219 Condition on HAVE_GPM too.
17220
17221 * term.c (term_mouse_highlight): Remove unused variables.
17222 (Fterm_open_connection): Set gpm_zerobased to 1.
17223 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17224 Use zero based co-ordinates.
17225 (handle_one_term_event): Report a drag as mouse movement too.
17226
17227 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17228
17229 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
17230
17231 * image.c (search_image_cache): New function. Require background
17232 color match if background color is unspecified in the image spec.
17233 (uncache_image, lookup_image): Use it.
17234
17235 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
17236
17237 * window.c (Fshrink_window): Reflow docstring.
17238
17239 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
17240
17241 * Version 22.1 released.
17242
17243 2007-06-01 Richard Stallman <rms@gnu.org>
17244
17245 * xfns.c (x_encode_text): Add GCPRO.
17246
17247 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17248
17249 * xfns.c (x_set_name_internal): Save encoded name before
17250 x_encode_text in case string data is relocated.
17251
17252 2007-05-31 Richard Stallman <rms@gnu.org>
17253
17254 * buffer.c (syms_of_buffer): Doc fix.
17255
17256 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
17257
17258 * sysdep.c (init_sys_modes): Add rather than replace with
17259 O_NONBLOCK.
17260
17261 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17262 term_mouse_moveto.
17263
17264 * termhooks.h (term_mouse_moveto): New extern.
17265
17266 * term.c (mouse_face_window): Rename...
17267 (Qmouse_face_window): ...to this.
17268 (term_show_mouse_face, term_clear_mouse_face)
17269 (term_mouse_highlight): Use Qmouse_face_window.
17270 (term_mouse_moveto): New function.
17271 (term_mouse_position): Make it work.
17272 (syms_of_term): Uncomment assignment to mouse_position_hook.
17273 Staticpro Qmouse_face_window.
17274
17275 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17276
17277 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17278 around current_column call.
17279
17280 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17281
17282 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17283 * xdisp.c (next_element_from_buffer):
17284 * window.c (delete_window):
17285 * term.c (term_mouse_highlight):
17286 * msdos.c (getdefdir):
17287 * macterm.c (mac_create_bitmap_from_bitmap_data)
17288 (init_font_name_table):
17289 * fns.c (Fsxhash):
17290 * data.c (Fmake_local_variable):
17291 * ccl.c (ccl_driver): Likewise.
17292
17293 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17294
17295 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17296 Call mac_wakeup_from_rne on window size change.
17297
17298 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
17299
17300 * image.c (uncache_image): Fix typo.
17301
17302 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17303
17304 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17305
17306 2007-05-22 Richard Stallman <rms@gnu.org>
17307
17308 * xterm.c (x_connection_closed): Remove NO_RETURN.
17309
17310 2007-05-22 Martin Rudalics <rudalics@gmx.at>
17311
17312 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17313
17314 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
17315
17316 * image.c (uncache_image): New function.
17317 (Fimage_refresh): New function.
17318
17319 2007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17320
17321 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17322
17323 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
17324
17325 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17326 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17327
17328 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
17329
17330 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17331 conditional on [HAVE_GPM_H].
17332
17333 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17334
17335 * syntax.c (skip_chars): Update syntax-table only after we checked that
17336 the new location is valid.
17337
17338 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17339
17340 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17341 mac_get_window_bounds.
17342
17343 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
17344
17345 * Makefile.in (LIBGPM): Allow it to be set from configure.
17346 If set then link Emacs with it.
17347
17348 * config.in: Regenerate.
17349
17350 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17351 New externs.
17352
17353 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17354 Include gpm.h.
17355 (handle_one_term_event, term_gpm): New externs.
17356
17357 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17358 and allow it to be interrupted by SIGIO.
17359
17360 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17361 (wait_reading_process_output): Wait on gpm_fd too.
17362 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17363 (add_gpm_wait_descriptor_called_flag): New variable.
17364 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17365
17366 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17367 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17368 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17369 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17370 (make_lispy_event): Add case GPM_CLICK_EVENT.
17371 (read_avail_input): Handle mouse input.
17372
17373 * term.c (write_glyphs_with_face): New function.
17374 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17375 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17376 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17377 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17378 (last_mouse_x, last_mouse_y): New variables.
17379 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17380 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17381 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17382 (Fterm_close_connection): New functions.
17383 (term_init): Initialise mouse_face_window.
17384
17385 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
17386
17387 * xdisp.c (redisplay_window): If first window line is a
17388 continuation line, recompute the new window start instead of
17389 recentering.
17390
17391 2007-05-18 Glenn Morris <rgm@gnu.org>
17392
17393 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17394 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17395
17396 2007-05-17 Glenn Morris <rgm@gnu.org>
17397
17398 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17399
17400 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17401
17402 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17403 dead key repeat and up events.
17404
17405 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
17406
17407 * image.c (pbm_load): Check image size for monochrome pbm.
17408
17409 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
17410
17411 * xterm.c (XTread_socket): Revert last change.
17412
17413 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
17414
17415 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17416
17417 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17418
17419 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17420
17421 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17422 mixup (YAILOM).
17423
17424 2007-05-07 Andreas Schwab <schwab@suse.de>
17425
17426 * keymap.c (Flookup_key): Fix typo in last change.
17427
17428 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17429
17430 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17431 mapping for unibyte strings.
17432
17433 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17434
17435 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17436 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17437
17438 2007-04-29 Richard Stallman <rms@gnu.org>
17439
17440 * insdel.c (replace_range): For undo, record insertion first.
17441
17442 2007-04-29 Andreas Schwab <schwab@suse.de>
17443
17444 * lisp.h (VECSIZE): Use OFFSETOF.
17445
17446 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17447
17448 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17449 disabled lines.
17450
17451 2007-04-28 Richard Stallman <rms@gnu.org>
17452
17453 * lread.c (read_escape): In a string, \s is always space.
17454
17455 2007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17456
17457 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17458
17459 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17460 submenu for menu bar items.
17461
17462 See ChangeLog.10 for earlier changes.
17463
17464 ;; Local Variables:
17465 ;; coding: utf-8
17466 ;; add-log-time-zone-rule: t
17467 ;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17468 ;; End:
17469
17470 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
17471
17472 This file is part of GNU Emacs.
17473
17474 GNU Emacs is free software: you can redistribute it and/or modify
17475 it under the terms of the GNU General Public License as published by
17476 the Free Software Foundation, either version 3 of the License, or
17477 (at your option) any later version.
17478
17479 GNU Emacs is distributed in the hope that it will be useful,
17480 but WITHOUT ANY WARRANTY; without even the implied warranty of
17481 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17482 GNU General Public License for more details.
17483
17484 You should have received a copy of the GNU General Public License
17485 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17486
17487 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40