]> code.delx.au - gnu-emacs/blob - src/ChangeLog
(struct uniscribe_font_info): Include composite.h.
[gnu-emacs] / src / ChangeLog
1 2008-08-29 Glenn Morris <rgm@gnu.org>
2
3 * buffer.c (word-wrap): Doc fix.
4 * xdisp.c (truncate-partial-width-windows): Doc fix.
5 Increase default to 50.
6
7 2008-08-29 Chong Yidong <cyd@stupidchicken.com>
8
9 * xdisp.c (update_tool_bar_unwind): New function.
10 (update_tool_bar): Temporarily set selected frame before building
11 tool-bar items.
12
13 2008-08-28 Michael Albinus <michael.albinus@gmx.de>
14
15 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
16 snprintf, respectively.
17 (xd_append_arg): Convert strings with Fstring_make_unibyte.
18
19 2008-08-28 Chong Yidong <cyd@stupidchicken.com>
20
21 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
22 LDFLAGS to GNUstep CC invocation.
23
24 2008-08-27 Chong Yidong <cyd@stupidchicken.com>
25
26 * indent.c (Fvertical_motion): Revert last change. Handle the
27 general case where we are moving forward, and PT spans multiple
28 screen lines.
29
30 * eval.c (find_handler_clause): Temporarily increase
31 max-lisp-eval-depth while printing the backtrace buffer, to
32 guarantee that help-mode code can run.
33
34 2008-08-27 Eli Zaretskii <eliz@gnu.org>
35
36 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
37 colors under -rv.
38 (IT_set_frame_parameters): Don't swap foreground and background
39 colors if `(reverse . t)' is present in the frame properties.
40 (internal_terminal_init): Call init_frame_faces only for the
41 initial frame.
42
43 2008-08-27 Andreas Schwab <schwab@suse.de>
44
45 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
46
47 2008-08-27 Andreas Schwab <schwab@suse.de>
48
49 * search.c (search_buffer): Set char_base to zero only at the end.
50
51 2008-08-27 Kenichi Handa <handa@m17n.org>
52
53 * fileio.c (report_file_error): Fix handling of multibyte error
54 string.
55
56 2008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
57
58 * xterm.c (x_term_init): Temporarily hide the partially
59 initialized terminal while calling vendor-specific-keysyms.
60
61 2008-08-26 Eli Zaretskii <eliz@gnu.org>
62
63 * msdos.c (internal_terminal_init): Most initializations done only
64 once, especially initial_screen_colors[] and termscript open.
65
66 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
67
68 * eval.c (Fcondition_case): Doc fix.
69
70 * widgetprv.h (EmacsFramePart): Change font member to the new font
71 struct.
72
73 * widget.c: Include character.h and font.h for XSETFONT.
74 (setup_frame_gcs): Compute X font id from font struct, just once.
75
76 2008-08-26 Eli Zaretskii <eliz@gnu.org>
77
78 * term.c (get_named_tty): Fix last change.
79
80 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
81
82 * indent.c (Fvertical_motion): If moving forward starting from a
83 multi-line string, move the iterator to the last line of that
84 string.
85
86 2008-08-25 Eli Zaretskii <eliz@gnu.org>
87
88 * frame.c (do_switch_frame): Mark previously displayed frame as
89 obscured for FRAME_MSDOS_P frames as well.
90
91 2008-08-24 Eli Zaretskii <eliz@gnu.org>
92
93 * frame.c (make_terminal_frame): Initialize f->terminal,
94 f->terminal->reference_count, and scroll bars on MS-DOS as well.
95 Set the top frame to newly created frame.
96 (Fmake_terminal_frame): Reuse the_only_display_info.
97
98 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
99 estimating available memory.
100
101 2008-08-23 David Reitter <david.reitter@gmail.com>
102
103 * nsterm.m (ns_draw_window_cursor): Don't call
104 NSDisableScreenUpdates and NSEnableScreenUpdates on
105 non-NS_IMPL_COCOA systems.
106
107 2008-08-23 Andreas Schwab <schwab@suse.de>
108
109 * process.c (procfs_system_process_attributes): Fix use of
110 uninitialized variables.
111
112 2008-08-23 Eli Zaretskii <eliz@gnu.org>
113
114 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
115
116 * dispnew.c (init_display): Remove MS-DOS specific conditions for
117 calling tty-set-up-initial-frame-faces.
118
119 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
120 MSDOS frames along with X frames.
121
122 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
123 addition to output_termcap.
124
125 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
126
127 * termchar.h (FRAME_TTY): Support output_msdos_raw.
128 (struct tty_display_info) [MSDOS]: Add fields related to mouse
129 highlight.
130
131 * process.c [!subprocesses]: Define QCname.
132 (syms_of_process): Intern and staticpro it.
133
134 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
135 Adjust for changes in encoding/decoding routines. Use
136 encode_coding_object and decode_coding_object instead of
137 encode_coding and decode_coding.
138
139 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
140 argument.
141
142 * dosfns.c: Include frame.h before termhooks.h.
143 (dos_cleanup): Use CURTTY ()->termscript instead of a global
144 variable termscript.
145
146 * s/msdos.h (USER_FULL_NAME): Define.
147 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
148
149 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
150 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
151 pw->pw_gecos.
152
153 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
154 SELECTED_FRAME as additional (1st) argument.
155 (tty_read_avail_input): Handle output_msdos_raw in
156 addition to output_termcap.
157
158 * msdos.c: Include frame.h before termhooks.h.
159 (mouse_on, mouse_off, mouse_moveto, mouse_init)
160 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
161 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
162 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
163 (IT_set_terminal_modes, IT_reset_terminal_modes)
164 (IT_set_frame_parameters): Use tty->termscript instead of a global
165 variable termscript.
166 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
167 global variable terminal_coding. Don't refer to
168 Vnonascii_translation_table.
169 (internal_terminal_init): Set Vwindow_system in current_kboard.
170 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
171 Announce date and time of session start, if termscript is open.
172 Don't zero out the_only_display_info (it is done in
173 term.c:init_tty). Open termscript only of not already open. Log
174 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
175 here instead of dos_ttraw. Don't initialize display if this is an
176 initial tty. Don't set FRAME_FONT.
177 (Vwindow_system_version): Bump to 23.
178 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
179 is available, set up mouse_position_hook.
180 (dos_ttraw, IT_set_terminal_modes): If called with initial
181 terminal, do nothing.
182 (IT_set_frame_parameters): Handle the Qtty_type frame
183 parameter by calling internal_terminal_init.
184 (dos_set_window_size, show_mouse_face)
185 (clear_mouse_face, IT_note_mode_line_highlight)
186 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
187 (dos_rawgetc): Use tty_display_info instead of x_display_info.
188 (initialize_msdos_display): New function.
189 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
190 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
191 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
192 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
193 Accept additional argument: a pointer to a frame. All callers
194 changed.
195 (request_sigio, unrequest_sigio): Don't define, now defined on
196 sysdep.c.
197 (IT_write_glyphs): Rewrite to use encode_terminal_code.
198
199 * term.c [MSDOS]: Include msdos.h.
200 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
201 conditional to DOS_NT. Allow only one call to this function in a
202 session. Don't allocate a new struct tty_display_info; instead,
203 reuse the_only_display_info. Call get_tty_size to get screen
204 dimensions. Call init_baud_rate to set bad_rate.
205 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
206 (Fsuspend_tty) [MSDOS]: Don't close input and output.
207 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
208 stdin/stdout.
209 (get_tty_terminal, get_named_tty, Ftty_type)
210 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
211 output_termcap.
212 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
213 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
214 only when subprocesses are supported
215
216 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
217 f->output_data.x.
218 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
219 terminal devices.
220
221 * msdos.h Remove definition of struct x_display_info and struct
222 x_output.
223 (FRAME_FONT): Use output_data.tty.
224 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
225 (struct x_display_info): Renamed from display_info. All users in
226 msdos.c changed.
227 (struct x_output): Remove background_pixel and foreground_pixel.
228 (the_only_display_info): Renamed from the_only_x_display.
229 (dos_ttraw): Update prototype.
230
231 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
232 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
233
234 2008-08-23 Jason Rumney <jasonr@gnu.org>
235
236 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
237 (fn_TIFFSetDirectory): New library function used.
238 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
239 (tiff_load): Use :index to select among multiple images. Set count
240 property when multiple images exist.
241 (gif_format): Use :index, not :image.
242
243 2008-08-23 Chong Yidong <cyd@stupidchicken.com>
244
245 * xdisp.c (try_scrolling): Check INT_MAX instead of
246 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
247 to obtain INT_MAX.
248
249 2008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
250
251 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
252
253 2008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
254
255 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
256 GNUstep library location.
257
258 2008-08-21 Chong Yidong <cyd@stupidchicken.com>
259
260 * xfaces.c (x_update_menu_appearance): Check validity of menu font
261 before using it.
262
263 * puresize.h (BASE_PURESIZE): Increase to 1250000.
264
265 2008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
266
267 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
268 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
269 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
270 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
271 (EmacsApp-cursor_blink_handler): Remove declaration.
272 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
273 match 01 Feb 2008 changes in xterm.c.
274 (ns_read_socket): Add cast to avoid warning.
275 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
276 GNUstep.
277
278 2008-08-20 Chong Yidong <cyd@stupidchicken.com>
279
280 * xselect.c (x_get_foreign_selection): Return nil if desired
281 selection could not be obtained, instead of signalling an error.
282
283 2008-08-20 David Reitter <david.reitter@gmail.com>
284
285 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
286 * nsterm.m: Remove ns-specific code for cursor blinking.
287 (ns_draw_window_cursor): Clear cursor properly rather than
288 redrawing the area. Respect width of bar cursors.
289 These changes enable the use of generic blink-cursor-mode and
290 generic cursor types in NS and support smooth cursor movements (do
291 not blink off after command).
292 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
293 Nextstep, too.
294
295 2008-08-19 Kenichi Handa <handa@m17n.org>
296
297 * font.c (Vfont_log_deferred): New variable.
298 (font_add_log): Check Vfont_log_deferred.
299 (font_deferred_log): New funciton.
300
301 * font.h (font_deferred_log): Extern it.
302
303 * fontset.c (reorder_font_vector): Use encoding charset of fonts
304 for sorting.
305 (face_for_char): Use deferred log.
306
307 2008-08-18 Kenichi Handa <handa@m17n.org>
308
309 * fontset.c (face_for_char): Add font log.
310
311 * font.c (font_add_log): Add the font properties :script, :lang,
312 and :otf in the log.
313
314 2008-08-17 Chong Yidong <cyd@stupidchicken.com>
315
316 * xdisp.c: Remove dead code.
317 (handle_invisible_prop, next_overlay_string): Defer call to
318 setup_for_ellipsis.
319 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
320
321 2008-08-15 Chong Yidong <cyd@stupidchicken.com>
322
323 * xfaces.c (lookup_derived_face): Properly handle possible zero
324 return value of get_lface_attributes.
325 (merge_faces): Don't tell lookup_derived_face to signal an error
326 if face is not found.
327
328 * dired.c (Fdirectory_files): Doc fix.
329
330 * process.c (make_process): Initialize kill_without_query struct
331 member.
332
333 2008-08-15 Eli Zaretskii <eliz@gnu.org>
334
335 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
336 Alternative calculation of totphys for Visual Studio 6.
337
338 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
339
340 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
341 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
342 All users changed.
343 (stat): Only root directory passed to GetDriveType. Allow RAM
344 disk as well as local fixed disk when w32-get-true-file-attributes
345 is set to `local'.
346 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
347 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
348 (w32_cached_id, w32_add_to_cache): New functions.
349 (get_name_and_id): Look account names in the cache before calling
350 lookup_account_sid.
351 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
352 New initialization flags.
353 (globals_of_w32): Initialize them to zero.
354 (w32_system_process_attributes): Use w32_cached_id and
355 w32_add_to_cache.
356
357 2008-08-14 Lawrence Mitchell <wence@gmx.li>
358
359 * lread.c (Fread_char, Fread_char_exclusive): If no character
360 event is read before timeout is reached, return nil, rather than
361 converting to a number.
362
363 2008-08-14 Chong Yidong <cyd@stupidchicken.com>
364
365 * fns.c (use_dialog_box): Doc fix.
366
367 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
368 on OS X.
369
370 2008-08-13 Chong Yidong <cyd@stupidchicken.com>
371
372 * frame.c (Qns_parse_geometry): New var.
373 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
374
375 2008-08-11 Chong Yidong <cyd@stupidchicken.com>
376
377 * xdisp.c (x_produce_glyphs): Handle the case when font has no
378 space character in calculating tabs.
379
380 2008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
381
382 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
383
384 2008-08-10 Glenn Morris <rgm@gnu.org>
385
386 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
387 silence gcc "limited range of data type" warnings in some
388 make_fixnum_or_float calls.
389
390 2008-08-09 Eli Zaretskii <eliz@gnu.org>
391
392 * w32.c (w32_system_process_attributes): If the process does not
393 exist, return nil.
394
395 * w32.c: Include thelp32.h, psapi.h and coding.h.
396 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
397 declarations.
398 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
399 (Process32Next_Proc): New typedefs.
400 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
401 (g_b_init_process32_next, g_b_init_open_thread_token)
402 (g_b_init_impersonate_self, g_b_init_revert_to_self)
403 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
404 (g_b_init_get_process_working_set_size)
405 (g_b_init_global_memory_status_ex): New static variables.
406 (globals_of_w32): Initialize them.
407 (create_toolhelp32_snapshot, process32_first, process32_next)
408 (open_thread_token, impersonate_self, revert_to_self)
409 (get_process_memory_info, get_process_working_set_size)
410 (global_memory_status, global_memory_status_ex): New wrapper
411 functions.
412 (w32_list_system_processes, w32_system_process_attributes)
413 (enable_privilege, restore_privilege, ltime, process_times):
414 New functions.
415 (convert_time_raw): New function.
416 (convert_time): Remove conversion of FILETIME into time in 100
417 nsec units, call convert_time_raw instead.
418
419 * process.h (w32_list_system_processes, w32_system_process_attributes):
420 Add prototypes.
421 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
422 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
423 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
424 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
425
426 * process.c (Fsystem_process_attributes): Doc fix.
427
428 2008-08-08 Chong Yidong <cyd@stupidchicken.com>
429
430 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
431 a continued multi-char glyph; if so, advance to the actual glyph.
432
433 2008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
434
435 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
436
437 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
438 (.m.o): Use it.
439 * config.in: Regenerate.
440
441 2008-08-07 Chong Yidong <cyd@stupidchicken.com>
442
443 * xdisp.c (redisplay_window): Revert last change.
444 (try_window): Check bottom scroll margin too.
445
446 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
447
448 * config.in: Regenerate.
449
450 * Makefile.in (emacs): Remove ndef NS conditional for 'emacs
451 -list-load-path-shadows'.
452 (nsgui.h): Reduce number of things depending on it.
453
454 2008-08-06 Chong Yidong <cyd@stupidchicken.com>
455
456 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
457 instead of window-end which does the wrong thing at eob.
458 (try_cursor_movement): Minor optimization.
459 (redisplay_window): If scroll margin is defined, don't assume
460 window doesn't need scrolling.
461
462 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
463
464 * config.in: Regenerate.
465
466 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
467 (mostlyclean): Don't delete *.d under NS.
468
469 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
470
471 2008-08-06 Kenichi Handa <handa@m17n.org>
472
473 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
474
475 2008-08-06 Andreas Schwab <schwab@suse.de>
476
477 * config.in: Regenerate.
478
479 2008-08-05 Chong Yidong <cyd@stupidchicken.com>
480
481 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
482 forcing a window start.
483
484 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
485 (auto_save_1): Update modtime when auto-save-list-file-name is on.
486
487 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
488
489 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
490 argument.
491
492 2008-08-05 Juanma Barranquero <lekktu@gmail.com>
493
494 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
495 <scroll-down-aggressively, before-change-functions>:
496 <after-change-functions>: Reflow docstrings.
497
498 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
499 Ken Raeburn <raeburn@gnu.org>
500
501 Dock menu customization, based on a patch by Ken Raeburn, plus some
502 other fixes.
503 * nsmenu.m (dockMenu): New variable.
504 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
505
506 * nsterm.h (dockMenu): Declare.
507
508 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
509 (ns_term_init): Initialize dockMenu.
510 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
511 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
512 left.
513
514 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
515
516 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
517
518 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
519
520 * config.in: Regenerate.
521
522 2008-08-04 Seiji Zenitani <zenitani@mac.com>
523
524 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
525
526 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
527
528 * nsterm.h (find_and_call_menu_selection): Fix prototype.
529
530 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
531
532 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
533
534 * keyboard.h: Comment an #endif.
535
536 * lisp.h (have_menus_p): Adjust comment.
537
538 * menu.c (find_and_return_menu_selection): Fix comparison with
539 client_data.
540
541 * nsmenu.m (popup_activated_flag): New variable.
542 (popup_activated): New function.
543 (menu-or-popup-active-p): New exported lisp definition.
544 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
545 when popup done.
546 (ns_popup_dialog): Set popup_activated_flag.
547
548 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
549 version for GNUstep (handled by conditional typedef in nsterm.m).
550 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
551 in rgb.txt).
552
553 * process.c (init_process): Use DARWIN_OS, not DARWIN.
554
555 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
556
557 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
558
559 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
560 shortcircuit if popup_activated like GTK and X toolkit.
561
562 * m/inter386.h: Change DARWIN to DARWIN_OS.
563
564 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
565 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
566 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
567 comment on NO_SOCK_SIGIO.
568
569 2008-08-03 Chong Yidong <cyd@stupidchicken.com>
570
571 * nsterm.m (windowDidResize): Remove stopModal call.
572
573 2008-08-03 Andreas Schwab <schwab@suse.de>
574
575 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
576 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
577
578 2008-08-02 Chong Yidong <cyd@stupidchicken.com>
579
580 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
581 Don't use uninitialized pointer variable when using getrlimit.
582
583 2008-08-02 Jason Rumney <jasonr@gnu.org>
584
585 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
586
587 2008-08-02 Eli Zaretskii <eliz@gnu.org>
588
589 * alloc.c (NSTATICS): Bump to 0x640.
590
591 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
592
593 * lisp.h: Add prototype for directory_files_internal.
594
595 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
596 New functions.
597 (syms_of_process): Defsubr them. Add initializations for various
598 Q* symbols used in procfs_system_process_attributes.
599 (procfs_list_system_processes, procfs_system_process_attributes)
600 [HAVE_PROCFS]: New functions.
601 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
602 (procfs_get_total_memory): New functions.
603
604 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
605
606 * xfaces.c (Fx_load_color_file): Fix previous change;
607 it is #ifdef WINDOWSNT, not WINDOWS_NT.
608
609 2008-08-01 Michael Albinus <michael.albinus@gmx.de>
610
611 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
612
613 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
614
615 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
616
617 2008-08-01 Chong Yidong <cyd@stupidchicken.com>
618
619 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
620
621 * nsterm.m (EmacsApp -application:openFiles:): GNUStep does not
622 define NSApplicationDelegateReplySuccess.
623 (EmacsView -converstationIdentifier): Use long instead of
624 NSInteger for GNUStep, since it doesn't have NSInteger.
625
626 * xmenu.c: Revert last change.
627
628 * keyboard.h: Fix last change.
629
630 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
631
632 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
633 on Windows.
634
635 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
636
637 Warning clearing and clean-up in NS port.
638 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
639 Add prototypes.
640 * nsgui.h (FACE_DEFAULT): Remove, unused.
641 (XGCValues): Change colors to unsigned long.
642 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
643 nsterm.m.
644 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
645 (ns_list_fonts): Remove, unused.
646 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
647 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
648 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
649 (nsfont_draw): Compare face colors to 0, not nil.
650 * nsmenu.m (struct widget_value): Drop unneeded declaration.
651 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
652 (-addSubmenuWithTitle:): Use NSMenuItem class.
653 (ns_popup_menu): Use NO, not NULL, for enabled setting.
654 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
655 (ns_clip_to_row): Make gc arg a BOOL.
656 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
657 ns_clip_to_row() call.
658 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
659 used). Cast FRAME_FONT assignments.
660 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
661 (ns_string_to_lispmod): Change arg to const char.
662 (ns_term_init): Use NSMenuItem class.
663 (EmacsApp -openFile:): Move to different section of file.
664 (EmacsApp -application:openFiles:): Don't return a value, call
665 -replyToOpenOrPrint:.
666 (EmacsView -keyDown:): Fix up cast.
667 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
668 (EmacsView -menuDown:): Cast tag in call to
669 find_and_call_menu_selection().
670 (ns_list_fonts): Remove, unused.
671 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
672 (ns_fontname_to_xlfd): Make static.
673 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
674 Remove prototypes (now in keyboard.h).
675 (next_menubar_widget_id): Remove, unused.
676 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
677 Remove prototypes (now in keyboard.h).
678 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
679
680 2008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
681
682 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
683 (floatfns.o): Depend on syssignal.h.
684 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
685
686 * systty.h: Fix previous change that removed BSD_TERMIOS.
687 Add comments to #ifdefs.
688
689 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
690
691 * w32fns.c (w32-load-color-file): Remove.
692 (x-open-connection): Use renamed Fx_load_color_file.
693 * xfaces.c (x-load-color-file): Add.
694 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
695 Emacs.clr.
696 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
697
698 2008-07-31 Michael Albinus <michael.albinus@gmx.de>
699
700 * dbusbind.c (Fdbus_call_method_asynchronously)
701 (Fdbus_method_error_internal): New defuns.
702 (xd_read_message): Handle also reply messages.
703 (Vdbus_registered_functions_table): Extend docstring.
704
705 2008-07-31 Juanma Barranquero <lekktu@gmail.com>
706
707 * keyboard.c (gobble_input): Fix previous change.
708
709 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
710
711 * bitmaps/README:
712 * xfns.c:
713 * termcap.c:
714 * term.c:
715 * syswait.h:
716 * systty.h:
717 * systime.h:
718 * syssignal.h:
719 * sysdep.c:
720 * process.h:
721 * process.c:
722 * print.c:
723 * ndir.h:
724 * lread.c:
725 * keyboard.c:
726 * getpagesize.h:
727 * floatfns.c:
728 * fileio.c:
729 * emacs.c:
730 * doc.c:
731 * dispnew.c:
732 * dired.c:
733 * data.c:
734 * callproc.c:
735 * buffer.c:
736 * README:
737 * Makefile.in:
738 * s/template.h:
739 * s/msdos.h:
740 * m/vax.h: Remove VMS support.
741 * s/vms.h:
742 * vlimit.h:
743 * uaf.h:
744 * temacs.opt:
745 * param.h:
746 * ioctl.h: Remove file.
747
748 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
749
750 * s/ms-w32.h (MULTI_KBOARD): Remove.
751 * xterm.c:
752 * xselect.c:
753 * xfns.c:
754 * window.c:
755 * w32term.c:
756 * w32fns.c:
757 * terminal.c:
758 * termhooks.h:
759 * term.c:
760 * sysdep.c:
761 * keyboard.h:
762 * keyboard.c:
763 * frame.h:
764 * frame.c:
765 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
766 * config.in: Regenerate.
767
768 2008-07-30 Jason Rumney <jasonr@gnu.org>
769
770 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
771
772 * w32font.c (w32font_encode_char): Leave as unicode if in range.
773 (w32font_open_internal): Get unicode version of textmetrics.
774 Don't enable or disable glyph indices here.
775 (w32font_open): Disable use of glyph indices.
776
777 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
778
779 2008-07-30 Chong Yidong <cyd@stupidchicken.com>
780
781 * minibuf.c (Vread_buffer_function): Doc fix.
782
783 2008-07-30 John Paul Wallington <jpw@pobox.com>
784
785 * minibuf.c (read_buffer_completion_ignore_case): New var.
786 (Fread_buffer): Use it.
787
788 2008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
789
790 * systty.h (sensemode): Remove empty #if. Remove reference to
791 BSD_TERMIOS, unused.
792
793 * sysdep.c: Remove reference to DGUX.
794 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
795
796 * config.in: Regenerate.
797
798 2008-07-30 Jason Rumney <jasonr@gnu.org>
799
800 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
801
802 2008-07-29 Jason Rumney <jasonr@gnu.org>
803
804 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
805 is populated.
806 (uniscribe_encode_char): Always use uniscribe.
807 Avoid using context if cache is populated.
808
809 2008-07-29 Jan Djärv <jan.h.d@swipnet.se>
810
811 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
812 open menu.
813
814 * gtkutil.c (menu_nav_ended): Remove.
815 (create_menus): Remove signal connect for menu_nav_ended.
816
817 2008-07-28 Chong Yidong <cyd@stupidchicken.com>
818
819 * xdisp.c (redisplay_window): Check return value of
820 compute_window_start_on_continuation_line before forcing a window
821 start.
822
823 2008-07-28 Jason Rumney <jasonr@gnu.org>
824
825 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
826
827 * w32term.c (w32_enable_unicode_output, cleartype_active):
828 Remove obsolete display options.
829 (x_draw_glyph_string_background): Don't use old cleartype_active
830 workaround.
831 (w32_initialize): Remove cleartype_active initialization.
832 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
833
834 2008-07-28 Andreas Schwab <schwab@suse.de>
835
836 * lisp.h (init_weak_hash_tables, syms_of_font)
837 (xd_read_queued_messages, syms_of_dbusbind): Declare.
838 (remove_hash_entry): Don't declare.
839 * eval.c (maybe_call_debugger): Make static and move before use.
840 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
841 * xdisp.c: Include "gtkutil.h" if USE_GTK.
842 * xterm.h (x_set_frame_alpha): Declare.
843
844 2008-07-28 Jan Djärv <jan.h.d@swipnet.se>
845
846 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
847 (create_menus): Connect selection-done to menu_nav_ended.
848
849 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
850
851 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
852 Set Vx_resource_name to a fallback. Replace read of 'buffered'
853 parameter with read of 'alpha' one.
854 (Qns_frame_parameter): Remove.
855 * nsselection.m (selection-coding-system)
856 (next-selection-coding-system, Vselection_coding_system)
857 (Vnext_selection_coding_system): Drop.
858
859 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
860
861 * nsfns.m (do-applescript, do_applescript): Rename to
862 ns-do-applescript, ns_do_applescript, and move within file.
863
864 2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
865
866 Remove support for Mac Carbon.
867 * mactoolbox.c:
868 * macterm.h:
869 * macterm.c:
870 * macselect.c:
871 * macmenu.c:
872 * macgui.h:
873 * macfns.c:
874 * mac.c: Remove file.
875 * s/darwin.h:
876 * m/intel386.h:
877 * xfaces.c:
878 * xdisp.c:
879 * window.c:
880 * tparam.c:
881 * termhooks.h:
882 * termcap.c:
883 * term.c:
884 * syssignal.h:
885 * sysselect.h:
886 * sysdep.c:
887 * process.c:
888 * lread.c:
889 * lisp.h:
890 * keyboard.c:
891 * image.c:
892 * fringe.c:
893 * frame.h:
894 * frame.c:
895 * fontset.c:
896 * font.h:
897 * font.c:
898 * fns.c:
899 * fileio.c:
900 * emacs.c:
901 * dispnew.c:
902 * dispextern.h:
903 * config.in:
904 * atimer.c:
905 * Makefile.in: Remove code for Carbon
906
907 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
908
909 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
910
911 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
912
913 * macterm.h (kCGBitmapByteOrder32Host): New define for
914 non-universal SDKs.
915
916 * image.c (mac_create_cg_image_from_image, image_load_image_io)
917 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
918
919 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
920 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
921
922 2008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
923
924 * w32inevt.c: Include dispextern.h.
925
926 2008-07-26 Andreas Schwab <schwab@suse.de>
927
928 * print.c (print_object): Fix off-by-one in last change.
929
930 2008-07-25 Juanma Barranquero <lekktu@gmail.com>
931
932 * term.c (syms_of_term): Don't initialize default_orig_pair,
933 default_set_foreground and default_set_background on Windows.
934
935 2008-07-25 Jason Rumney <jasonr@gnu.org>
936
937 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
938 ScriptItemize. Clean up return value checking. Remove unused
939 variables.
940 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
941 shaping engine.
942
943 * w32font.c (w32font_has_char): Handle the case where we can't
944 determine the script for a character.
945
946 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
947
948 * term.c (syms_of_term): Initialize default_orig_pair,
949 default_set_foreground, and default_set_background.
950
951 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
952 clash (bug#86).
953 (getloadavg): Callers changed.
954
955 * image.c (svg_load_image): Fix last change.
956 (svg_load_image): Use rsvg_handle_get_dimensions to check that
957 image size is valid. Use g_object_unref instead of deprecated
958 rsvg_handle_free to free rsvg handle.
959 (x_from_xcolors): Don't initialize pixmap (silence compiler).
960
961 2008-07-25 Jason Rumney <jasonr@gnu.org>
962
963 * w32font.c (w32font_encode_char): Encode characters outside BMP as
964 surrogates before looking up glyph index.
965 (w32font_text_extents): Encode as surrogates if falling back to
966 functions that need UTF-16 wide chars.
967
968 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
969 BMP as surrogates before looking up glyph index.
970
971 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
972
973 * image.c (svg_load_image): Check for failure in return value of
974 rsvg_handle_get_pixbuf. Free rsvg handle when done.
975
976 2008-07-25 Jason Rumney <jasonr@gnu.org>
977
978 * w32font.c (Fx_select_font): Reverse sense of second arg.
979
980 2008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
981
982 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
983 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
984
985 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
986 (PURESIZE): Use it.
987
988 2008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
989
990 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
991 * m/alpha.h (TEXT_END):
992 * m/ibmrs6000.h (TEXT_END):
993 * m/macppc.h (TEXT_END):
994 * s/darwin.h (TEXT_END):
995 * s/msdos.h (TEXT_END): Remove, unused.
996 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
997 * s/cygwin.h: Remove comment.
998
999 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
1000 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
1001 * m/intel386.h (DOT_GLOBAL_START):
1002 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
1003 (USG): Remove, file not used on USG platforms.
1004
1005 * Makefile.in (HAVE_X11): Remove empty #else.
1006
1007 2008-07-24 Andreas Schwab <schwab@suse.de>
1008
1009 * fileio.c (Finsert_file_contents): Properly adjust undo list
1010 after format conversion.
1011
1012 2008-07-24 Jan Djärv <jan.h.d@swipnet.se>
1013
1014 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
1015 (menu_nav_ended): Remove.
1016 (create_menus): Remove signal connect for menu_nav_ended.
1017 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
1018 create_menus.
1019 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
1020
1021 2008-07-23 Jason Rumney <jasonr@gnu.org>
1022
1023 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
1024 with opened font.
1025 (w32font_open): Set font type to gdi.
1026
1027 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
1028
1029 2008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
1030
1031 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
1032 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
1033 defines it.
1034 * unexec.c (ADDR_CORRECT): Define unconditionally.
1035
1036 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
1037
1038 * unexec.c: Remove code depending on !COFF and USG, the file is
1039 not used for such systems.
1040
1041 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
1042 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
1043 (LD_SWITCH_SYSTEM_1): Remove, update users.
1044
1045 * s/darwin.h (DATA_END):
1046 * m/intel386.h (DATA_END):
1047 * m/ibmrs6000.h (DATA_END):
1048 * m/alpha.h (DATA_END): Remove, unused.
1049
1050 * config.in: Regenerate.
1051 * s/ms-w32.h (subprocesses): Define unconditionally.
1052 * s/template.h (subprocesses): Update comment.
1053 * s/vms.h (subprocesses):
1054 * s/usg5-4.h (subprocesses):
1055 * s/hpux10-20.h (subprocesses):
1056 * s/gnu-linux.h (subprocesses):
1057 * s/cygwin.h (subprocesses):
1058 * s/bsd-common.h (subprocesses):
1059 * s/aix4-2.h (subprocesses):
1060 * s/darwin.h (subprocesses): Do not define, defined by default now.
1061
1062 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
1063 Remove all references.
1064 (temacs): Add GNUStep specific ld flags.
1065
1066 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
1067 similarly to what X does.
1068
1069 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1070
1071 * nsfns.m (x-list-fonts): Remove.
1072 (syms_of_nsfns): Drop the x-list-fonts declaration.
1073 * nsterm.m: Get rid of remaining "//" comments.
1074
1075 2008-07-22 Chong Yidong <cyd@stupidchicken.com>
1076
1077 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
1078
1079 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
1080 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
1081 (Fns_own_selection_internal, Fx_disown_selection_internal)
1082 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
1083
1084 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
1085 ... */' style of docstrings. Doc fixes.
1086
1087 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1088
1089 * terminfo.c (UP, BC, PC): Undo previous change.
1090
1091 * nsfns.m: Rename ns prefixed functions/variables to the
1092 corresponding x versions. Update references.
1093
1094 2008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
1095
1096 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
1097
1098 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1099
1100 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
1101 Remove forwarding functions.
1102 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
1103 non-static.
1104 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
1105 non-static.
1106 (ns_frame_parm_handlers): Use the new names.
1107 (syms_of_nsfns): Move to the end of file.
1108
1109 * nsterm.m (syms_of_nsterm): Move to the end of file.
1110
1111 * dispnew.c (init_display): Remove code for X10.
1112
1113 2008-07-22 Jason Rumney <jasonr@gnu.org>
1114
1115 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
1116 bare drive.
1117
1118 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1119
1120 * nsterm.m (syms_of_nsterm): Remove debugging println.
1121
1122 2008-07-22 David Reitter <david.reitter@gmail.com>
1123
1124 * nsfns.m (do_applescript, F_do_applescript): NS version of the
1125 Carbon implementation of the same functionality: execute arbitrary
1126 AppleScript code.
1127
1128 2008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1129
1130 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
1131 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
1132 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
1133 (Fx_display_mm_height, Fx_display_mm_width)
1134 (Fx_display_backing_store, Fx_display_visual_class)
1135 (Fx_display_save_under, Fx_open_connection)
1136 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
1137 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
1138 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
1139 (Fx_display_pixel_width, Fx_display_pixel_height)
1140 (Fx_display_usable_bounds, Fx_display_planes)
1141 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
1142 ... */' style of docstrings.
1143
1144 2008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
1145
1146 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
1147 on this platform.
1148 (mips):
1149 * m/iris4d.h (mips): Do not define.
1150 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
1151
1152 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
1153
1154 * image.c:
1155 * nsfns.m:
1156 * nsselect.m:
1157 * nsterm.h:
1158 * nsterm.m: Rename ns prefixed functions/variables to the
1159 corresponding x versions. Update references.
1160
1161 * m/ibms390x.h (NO_REMAP): Do not undefine.
1162
1163 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
1164
1165 2008-07-21 Chong Yidong <cyd@stupidchicken.com>
1166
1167 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
1168 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
1169 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
1170 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
1171 (Fns_display_mm_height, Fns_display_mm_width)
1172 (Fns_display_backing_store, Fns_display_visual_class)
1173 (Fns_display_save_under, Fns_open_connection)
1174 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
1175 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
1176 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
1177 (Fns_display_pixel_width, Fns_display_pixel_height)
1178 (Fns_display_usable_bounds, Fx_display_planes)
1179 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
1180
1181 2008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
1182
1183 * print.c (print_object): Check print_depth before searching for
1184 circularities.
1185
1186 2008-07-21 Michael Albinus <michael.albinus@gmx.de>
1187
1188 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
1189 only sprintf.
1190
1191 2008-07-21 Kenichi Handa <handa@m17n.org>
1192
1193 * ftfont.c (adjust_anchor): Check if DetalValue is not NULL.
1194
1195 2008-07-20 Andreas Schwab <schwab@suse.de>
1196
1197 * syntax.c (find_start_pos, find_start_value)
1198 (find_start_value_byte, find_start_begv, find_defun_start)
1199 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
1200
1201 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
1202
1203 * s/sol2-3.h: Insert contents of s/sol2.h.
1204 (LD_SWITCH_SYSTEM): Remove redundant definition.
1205 * s/sol2.h: Remove, unused.
1206
1207 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1208
1209 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
1210
1211 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1212
1213 * Makefile.in (ns_appdir): Fix typo in find command.
1214
1215 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
1216
1217 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
1218
1219 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
1220 added not supported anymore.
1221
1222 * s/usg5-4-2.h (LIBS_SYSTEM):
1223 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
1224
1225 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
1226 * s/lynxos.h (GETPGRP_NO_ARG):
1227 * s/hpux10-20.h (NO_SIOCTL_H):
1228 * s/gnu.h (GETPGRP_NO_ARG):
1229 * s/gnu-linux.h (NO_SIOCTL_H):
1230 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
1231 * s/cygwin.h (GETPGRP_NO_ARG):
1232 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
1233 (C_DEBUG_SWITCH): Remove duplicate definition.
1234
1235 * m/ibms390.h: Remove boilerplate comments.
1236
1237 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
1238
1239 * process.c (HAVE_SERIAL): Consolidate ifdefs.
1240 (wait_reading_process_output): Remove code for SunOS, platform not
1241 supported anymore. Use SOLARIS2 instead of sun.
1242
1243 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1244
1245 * font.c (font_open_by_name): Under NS, default lface height to zero.
1246 (font_open_for_lface): Under NS, set size based on frame fontsize.
1247 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
1248 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
1249
1250 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1251
1252 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
1253 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
1254 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
1255 YES/NO.
1256 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
1257 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
1258 * Makefile.in (clean): Clear out build destination dir.
1259
1260 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1261
1262 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
1263 xterm, xselect.
1264 * lisp.h: Remove declaration of hash_remove.
1265 * nsgui.h: Remove redefinitions of hash_remove.
1266 * fns.c (hash_remove): Rename to hash_remove_from_table.
1267
1268 2008-07-19 Seiji Zenitani <zenitani@mac.com>
1269
1270 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
1271 strdup() the family UTF8String before modifying it.
1272
1273 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1274
1275 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
1276 NS_FACE_BACKGROUND with 0 instead of nil.
1277 * nsfont.m (nsfont_draw): Same.
1278
1279 2008-07-19 Chong Yidong <cyd@stupidchicken.com>
1280
1281 * nsfns.m (ns_set_background_color): Fix crash.
1282
1283 2008-07-18 Chong Yidong <cyd@stupidchicken.com>
1284
1285 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
1286
1287 2008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
1288
1289 * puresize.h (BASE_PURESIZE): Increase to 1240000.
1290
1291 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1292
1293 * gtkutil.c: Include <config.h> instead of "config.h".
1294
1295 * lisp.h (Foverlay_buffer): Add EXFUN.
1296
1297 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
1298 child process to complete child_setup. Undo 2005-09-21 change.
1299
1300 * s/darwin.h: Mention setsid after vfork.
1301
1302 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1303
1304 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
1305 Depend on macgui.h.
1306
1307 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
1308 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
1309
1310 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
1311 and f19.
1312 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
1313
1314 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
1315 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
1316 Remove enumerators.
1317
1318 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
1319 Check if FACE_FROM_ID returns NULL.
1320
1321 2008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
1322
1323 * w32inevt.c (change_frame_size): Remove extern declaration.
1324 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
1325 change_frame_size.
1326
1327 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
1328
1329 * getloadavg.c: Revert last change (2008-07-15).
1330
1331 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
1332
1333 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
1334 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
1335 from configure.
1336
1337 2008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
1338
1339 * s/sol2.h:
1340 * s/sol2-4.h: Reorganize conditionals.
1341
1342 * ecrt0.c: Remove code depending on m68000, not used anymore.
1343
1344 * fns.c (hash_remove): Make static.
1345 * lisp.h (hash_remove): Don't prototype.
1346
1347 * m/ibmrs6000.h:
1348 * m/ibms390x.h:
1349 * m/macppc.h: Remove boilerplate comments.
1350
1351 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
1352 Solaris, which does not need them.
1353
1354 * m/vax.h: Remove comments about unsupported systems.
1355
1356 * s/darwin.h: Reorganize ifdefs.
1357
1358 2008-07-17 Andreas Schwab <schwab@suse.de>
1359
1360 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
1361
1362 2008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
1363
1364 Use SDATA. Follow coding convention of placing operators at
1365 beginning of next line rather than end of previous line, and placing
1366 spaces around infix operators.
1367
1368 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
1369 in case it was defined already.
1370 USE @GNUSTEP_MAKEFILES@ rather than envvars.
1371 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
1372 ns_default.
1373 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
1374 Lisp_Objects.
1375 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
1376 (ns_defined_color, ns_color_to_lisp): Declare.
1377 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
1378 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
1379 it's accepted even with USE_LISP_UNION_TYPE.
1380 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
1381 (update_frame_tool_bar): Remove apparently obsolete tests for
1382 non-integerness of f->tool_bar_lines.
1383 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
1384 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
1385 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
1386 (nsfont_open): Don't confuse NULL for Qnil.
1387 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
1388 * menu.h (find_and_call_menu_selection):
1389 * menu.c (find_and_call_menu_selection): Use just int for vector size.
1390 (find_and_return_menu_selection): Always return something.
1391 * frame.h: Include dispextern.h for Display_Info.
1392 (display_x_get_resource): Declare.
1393
1394 2008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
1395
1396 * syntax.c: Remove stdio.h include accidentally introduced in
1397 Emacs.app commit.
1398 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
1399 NS_IMPL_COCOA.
1400 * keyboard.c (handle_async_input, input_available_signal): Remove
1401 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
1402
1403 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
1404
1405 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
1406 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
1407 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
1408 Use SDATA.
1409
1410 * keymap.c: Remove all NS-specific code.
1411 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
1412 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
1413 where_is_preferred_modifier, return a different value depending on how
1414 preferred is the binding.
1415 (where_is_internal): Adjust accordingly.
1416 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
1417 Adjust to new preferred_sequence_p.
1418 (syms_of_keymap): Declare `where-is-preferred-modifier'.
1419 * keyboard.c (parse_solitary_modifier): Not static any more.
1420 * keyboard.h (parse_solitary_modifier): Declare.
1421
1422 2008-07-16 Andreas Schwab <schwab@suse.de>
1423
1424 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
1425 of easymenu.
1426
1427 2008-07-16 Chong Yidong <cyd@stupidchicken.com>
1428
1429 * xdisp.c (move_it_in_display_line): Account for word wrap, so
1430 that we don't move off the line.
1431
1432 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
1433
1434 * keyboard.c (Qsuper): Remove.
1435 (parse_menu_item): Don't call where_is_internal specially for NS.
1436
1437 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
1438
1439 * s/gnu-linux.h: Remove boilerplate comments.
1440
1441 * m/alpha.h (__ELF__): Consolidate conditions.
1442
1443 * m/m68k.h (linux): Use GNU_LINUX instead.
1444 Remove boilerplate comments.
1445
1446 * m/intel386.h: Undo reactoring from previous change.
1447 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
1448 too, remove dead code.
1449 (linux): Use GNU_LINUX instead.
1450
1451 2008-07-16 Jason Rumney <jasonr@gnu.org>
1452
1453 * w32gui.h: Repeat 26 June changes lost by last change.
1454
1455 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
1456
1457 * systty.h: Remove code for Aix on 386, unsupported platform.
1458
1459 * s/ms-w32.h: Remove boilerplate comments.
1460 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
1461
1462 * s/gnu-linux.h (TERM): Remove support.
1463 (HAVE_SYSVIPC): Remove, unused.
1464 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
1465 for this system.
1466
1467 * process.c: Remove support for IRIS, unused.
1468 Remove support for TERM, not relevant anymore.
1469
1470 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
1471 used with the definition.
1472
1473 * s/aix4-2.h (static): Do not undef.
1474
1475 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
1476 only used on Aix.
1477 (HAVE_SYSVIPC): Remove, unused.
1478
1479 * m/hp800.h (CANNOT_DUMP): Do not undef.
1480
1481 * m/alpha.h: Fix comment.
1482
1483 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
1484 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
1485 used by this configuration.
1486 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
1487 * unexec.c: Remove code depending on HPUX and
1488 USG_SHARED_LIBRARIES, not used with this file. Remove code
1489 depending on IRIS, unused. Remove if 0-ed code.
1490
1491 * s/template.h: Remove comments about static.
1492
1493 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
1494 Remove if 0-ed code.
1495 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
1496 were the same as the default.
1497 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
1498 Remove boilerplate comments.
1499 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
1500 (HAVE_SYSVIPC): Remove, unused.
1501 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
1502
1503 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
1504 Remove boilerplate comments.
1505 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
1506 Remove boilerplate comments.
1507 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
1508 Remove boilerplate comments.
1509 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
1510
1511 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
1512 USG systems which do not use DATA_SEG_BITS.
1513 Refactor code. Remove boilerplate comments.
1514
1515 * m/ibms390.h:
1516 * m/m68k.h:
1517 * s/bsd-common.h:
1518 * s/cygwin.h:
1519 * s/darwin.h:
1520 * s/freebsd.h:
1521 * s/gnu.h:
1522 * s/msdos.h: Remove boilerplate comments.
1523
1524 * m/iris4d.h: Remove boilerplate comments and code for systems that
1525 do not use this file.
1526 (IRIS_4D): Remove, unused.
1527
1528 * m/mips.h: Remove boilerplate comments and code for systems that
1529 do not use this file.
1530 (SIGN_EXTEND_CHAR):
1531 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
1532 * unexmips.c: Remove file, unused.
1533
1534 * editfns.c (Fuser_full_name): Replace the only use of
1535 USER_FULL_NAME with its value.
1536 * config.in: Regenerate.
1537
1538 2008-07-16 David Reitter <david.reitter@gmail.com>
1539
1540 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
1541 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
1542
1543 2008-07-16 Glenn Morris <rgm@gnu.org>
1544
1545 * emacs.c (system-type): Doc fix.
1546
1547 2008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
1548
1549 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
1550 If the cache doesn't work, let's fix it, rather than work around it.
1551
1552 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
1553
1554 * Makefile.in: Correct additions for nsfont.o in last commit.
1555 * nsfont.m: New file (forgot last commit).
1556
1557 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
1558
1559 * callproc.c (set_initial_environment): Initialize
1560 Vprocess_environment under CANNOT_DUMP (fixes crash when
1561 batch-compiling for bootstrap).
1562
1563 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
1564 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1565
1566 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
1567 fix crash due to different init order.
1568
1569 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
1570
1571 Changes and additions for NeXTstep windowing system (Cocoa and
1572 GNUstep) support.
1573
1574 * Makefile.in:
1575 * config.in: Support defines and build commands for NS port.
1576 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
1577 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
1578 * dispextern.h: Include nsgui.h and add needed typedefs under NS
1579 windowing.
1580 (struct face): Add synth_ital field.
1581 * dispnew.c: Include nsterm.h when compiling under NS windowing.
1582 (init_display): Initialize Vinitial_window_system to "ns" when so
1583 compiled.
1584 * emacs.c: Include GSConfig.h when compiling under GNUstep.
1585 (display_arg): Use under NS.
1586 (main): Under NS, allocate autorelease pool and handle command line
1587 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
1588 (standard_args): Add NS-specific args.
1589 (shut_down_emacs): Shut down NS terminal if compiled under NS.
1590 * font.c (DEFAULT_ENCODING): New variable.
1591 (font_find_for_lface): Use it.
1592 (syms_of_font): Load syms_of_nsfont under NS.
1593 * font.h: Declare nsfont_driver when compiled under NS.
1594 * fontset.c: When compiling under NS, include nsterm.h.
1595 (fontset_from_font): Autoconstruct fontset under NS.
1596 * frame.c (various): Under NS, include nsterm.h, add Qns window system
1597 symbol, document and use it.
1598 (do_switch_frame): When for_deletion under Cocoa, add
1599 Fraise_frame(Qnil).
1600 (x_set_frame_parameters): Ensure font attribute changes are picked up.
1601 (x_get_arg): Allow "yes" and "no" as boolean values.
1602 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
1603 Qright under Cocoa.
1604 (focus-follows-mouse): Default to 0 under NS.
1605 * frame.h (enum output_method): Add output_ns.
1606 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
1607 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
1608 (FRAME_WINDOW_P): NS-specific definition.
1609 * fringe.c (max_used_fringe_bitmap): Make public.
1610 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
1611 (getloadavg): Use NeXT code under descendant OS's.
1612 * image.c (includes and header section, x_create_bitmap_from_data)
1613 (x_create_bitmap_from_file, free_bitmap_record, image_background)
1614 (image_background_transparent, x_clear_image_1)
1615 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
1616 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
1617 (x_to_xcolors, x_from_xcolors, x_disable_image)
1618 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
1619 other GUIs, including XPM support using code originally written for
1620 Carbon GUI.
1621 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
1622 using NS API.
1623 (image_ascent): Use font metrics macros instead of direct struct field
1624 access.
1625 * keyboard.c (includes): Add nsterm.h when compiling under NS.
1626 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
1627 Also, handle NS as GTK for menu bar purposes.
1628 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
1629 toolkit where they differ.
1630 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
1631 use cachelist, still needed under NS.
1632 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
1633 (struct widget_value): Define it here for menu.c.
1634 * keymap.c (includes): Include modifier internals.
1635 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
1636 NS.
1637 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
1638 support for preferring sequences using certain modifiers, specified by
1639 the FIRSTONLY argument.
1640 * lisp.h (hash_remove): Rename to avoid name clash when compiling
1641 under NS GNUstep implementation.
1642 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
1643 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
1644 * menu.c: Include nsterm.h under NS.
1645 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
1646 (free_menubar_widget_tree_value, update_submenu_strings)
1647 (find_and_call_menu_selection): Treat NS as X and NT.
1648 (find_and_return_menu_selection): New function, used for popup menus.
1649 * nsgui.h:
1650 * nsterm.h:
1651 * nsfns.m:
1652 * nsimage.m:
1653 * nsmenu.m:
1654 * nsselect.m:
1655 * nsterm.m: New files.
1656 * process.c (wait_reading_process_output): Under NS, call ns_select()
1657 instead of plain select().
1658 * syntax.c (char_quoted): Under NS, avoid a crash when called near
1659 beginning of buffer.
1660 * sysselect.h (init_process): Rename when compiling under Cocoa to
1661 avoid name conflict.
1662 * termhooks.h (display_info): Add ns_display_info to union.
1663 * terminal.c (Fterminal_live_p): Add ns to terminal types.
1664 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
1665 COCOA environment.
1666 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
1667 unexec() signature. (Note, this will dump, but the resulting file
1668 crashes; unexosx is used instead; keeping around for reference and
1669 possible aid in getting dump working under GNUstep.)
1670 * w32gui.h (button_type, widget_value): Remove definitions (now in
1671 keyboard.h).
1672 * window.c: Include nsterm.h when compiling under NS.
1673 * xdisp.c (includes): Include nsterm.h when compiling under NS.
1674 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
1675 other GUI windowing systems.
1676 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
1677 GTK.
1678 (x_consider_frame_title): Under NS, set icon type and frame
1679 modified-state indicator; use ns_set_name_as_filename() when using
1680 formatted title.
1681 (update_window_cursor): Make public when compiling under NS.
1682 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
1683 (hourglass_atimer, Vhourglass_delay
1684 * xfaces.c (header section, init_frame_faces, clear_font_table)
1685 (defined_color, unload_color, x_face_list_fonts)
1686 (prepare_face_for_display): Add NS support parallel to other GUIs.
1687 Emulate GCs like other non-X GUIs.
1688 (split_font_name): Don't lowercase font name under NS.
1689 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
1690 under NS.
1691 * s/darwin.h: Add support for compilation under NS.
1692
1693 2008-07-15 Jason Rumney <jasonr@gnu.org>
1694
1695 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
1696 (w32_show_hourglass): Rename from show_hourglass.
1697 (w32_hide_hourglass): Rename from hide_hourglass.
1698 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
1699 (Vhourglass_delay): Declare extern.
1700 (hourglass_started): Remove.
1701
1702 * xdisp.c (Vhourglass_delay): Remove static.
1703 (hourglass_started, start_hourglass, cancel_hourglass):
1704 Don't include these versions on WINDOWSNT.
1705
1706 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
1707
1708 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
1709 variables (formerly in xfns.c).
1710 (show_hourglass, hide_hourglass): New prototypes (same).
1711 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
1712 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
1713 in xfns.c).
1714 (syms_of_xdisp): Declare/initialize display-hourglass,
1715 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
1716 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
1717 formerly in xfns.c.
1718 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
1719 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
1720 (start_hourglass, cancel_hourglass): Remove.
1721 (show_hourglass, hide_hourglass): Remove prototypes and static
1722 modifiers.
1723 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
1724 hourglass_atimer, hourglass_shown_p declaration/initialization.
1725 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
1726 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
1727 (start_hourglass, cancel_hourglass): Remove.
1728 (show_hourglass, hide_hourglass): Remove prototypes and static
1729 modifiers.
1730 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
1731 hourglass_atimer, hourglass_shown_p declaration/initialization.
1732 * w32fns.c (display_hourglass_p, Vhourglass_delay)
1733 (DEFAULT_HOURGLASS_DELAY): Remove.
1734 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
1735 hourglass_shown_p declaration/initialization.
1736
1737 2008-07-14 Jason Rumney <jasonr@gnu.org>
1738
1739 * w32fns.c (w32_get_arg): Remove wrapper function.
1740 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
1741 directly.
1742 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
1743
1744 2008-07-14 Kenichi Handa <handa@m17n.org>
1745
1746 * xfont.c (xfont_open): Add workaround for X's bug.
1747
1748 2008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
1749
1750 * fontset.c: Include <stdio.h> unconditionally.
1751
1752 2008-07-13 Michael Albinus <michael.albinus@gmx.de>
1753
1754 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
1755 for filtering.
1756
1757 2008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
1758
1759 * s/vms.h: Use __GNUC__ instead of _GNUC_.
1760
1761 * m/macppc.h:
1762 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
1763
1764 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
1765 (SPECIAL_EMACS_INT):
1766 * m/ia64.h (SPECIAL_EMACS_INT):
1767 * m/amdx86-64.h (SPECIAL_EMACS_INT):
1768 * s/gnu.h (NLIST_STRUCT):
1769 * s/aix4-2.h (X11R5_INHIBIT_I18N):
1770 * s/gnu-linux.h (LINUX):
1771 * s/msdos.h (HAVE_FACES):
1772 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
1773
1774 * systty.h:
1775 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
1776 anymore.
1777
1778 2008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
1779
1780 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
1781 always defined as int.
1782
1783 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
1784 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
1785 * s/gnu-linux.h (HAVE_WAIT_HEADER):
1786 * s/freebsd.h (HAVE_WAIT_HEADER):
1787 * s/bsd-common.h (HAVE_UNION_WAIT):
1788 * s/aix4-2.h (HAVE_WAIT_HEADER):
1789 * m/mips.h (HAVE_UNION_WAIT):
1790 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
1791 (COFF, static): Do not define, they are undefined later in the file.
1792
1793 * process.c (update_status): Don't use a union.
1794 (status_convert):
1795 (sigchld_handler): Use int instead of WAITTYPE.
1796
1797 2008-07-12 Chong Yidong <cyd@stupidchicken.com>
1798
1799 * indent.c (Fvertical_motion): Restore hscroll before moving to
1800 goal column.
1801
1802 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
1803
1804 * lisp.h: Remove left over code.
1805
1806 2008-07-11 Andreas Schwab <schwab@suse.de>
1807
1808 * lisp.h: Fix logic in last change.
1809
1810 * menu.h: New file.
1811 * menu.c: Include it.
1812 * xmenu.c: Likewise.
1813 * Makefile.in: Update dependencies.
1814
1815 2008-07-11 Kenichi Handa <handa@m17n.org>
1816
1817 * fontset.c (fontset_from_font): Cancel the previous change.
1818
1819 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
1820
1821 * lisp.h:
1822 * w32heap.c:
1823 * emacs.c:
1824 * alloc.c: Replace all references of NO_UNION_TYPE with
1825 USE_LISP_UNION_TYPE.
1826
1827 * m/xtensa.h (NO_UNION_TYPE):
1828 * m/vax.h (NO_UNION_TYPE):
1829 * m/template.h (NO_UNION_TYPE):
1830 * m/sparc.h (NO_UNION_TYPE):
1831 * m/mips.h (NO_UNION_TYPE):
1832 * m/macppc.h (NO_UNION_TYPE):
1833 * m/m68k.h (NO_UNION_TYPE):
1834 * m/iris4d.h (NO_UNION_TYPE):
1835 * m/intel386.h (NO_UNION_TYPE):
1836 * m/ibms390x.h (NO_UNION_TYPE):
1837 * m/ibms390.h (NO_UNION_TYPE):
1838 * m/ibmrs6000.h (NO_UNION_TYPE):
1839 * m/ia64.h (NO_UNION_TYPE):
1840 * m/hp800.h (NO_UNION_TYPE):
1841 * m/arm.h (NO_UNION_TYPE):
1842 * m/amdx86-64.h (NO_UNION_TYPE):
1843 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
1844 defining it the same.
1845
1846 2008-07-10 Chong Yidong <cyd@stupidchicken.com>
1847
1848 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
1849
1850 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
1851
1852 * fileio.c:
1853 * sysdep.c
1854 * systty.h:
1855 * m/ibmrs6000.h:
1856 * m/iris4d.h:
1857 * s/aix4-2.h:
1858 * s/freebsd.h:
1859 * s/gnu-linux.h:
1860 * s/hpux10-20.h:
1861 * s/hpux11.h:
1862 * s/netbsd.h:
1863 * s/sol2-3.h:
1864 * s/sol2-4.h:
1865 * s/sol2.h:
1866 * s/usg5-4.h:
1867 * s/vms.h: Remove references to unused variables.
1868
1869 2008-07-10 Andreas Schwab <schwab@suse.de>
1870
1871 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
1872 pattern before matching the generic family.
1873
1874 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
1875
1876 * unexec.c:
1877 * s/vms.h:
1878 * s/usg5-4-2.h:
1879 * s/sol2-5.h:
1880 * s/freebsd.h:
1881 * s/darwin.h: Remove dead code.
1882
1883 * m/template.h:
1884 * m/sparc.h:
1885 * m/mips.h:
1886 * m/m68k.h:
1887 * m/iris4d.h:
1888 * m/intel386.h:
1889 * m/ibms390x.h:
1890 * m/ibms390.h:
1891 * m/ia64.h:
1892 * m/hp800.h:
1893 * m/arm.h:
1894 * m/amdx86-64.h: Remove dead code and references to unused
1895 and compiler defined symbols.
1896
1897 * unexmips.c:
1898 * unexelf.c: Remove references to desupported systems.
1899
1900 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
1901
1902 * m/powermac.h: Remove boilerplate comments.
1903 (NO_REMAP): Remove unused definition.
1904
1905 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
1906 define them.
1907
1908 2008-07-10 Kenichi Handa <handa@m17n.org>
1909
1910 * xfont.c (xfont_open): Log the reason of failure.
1911
1912 2008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
1913
1914 * fontset.c (fontset_get_font_group):
1915 * font.c (font_check_otf): Specify argument types.
1916
1917 2008-07-09 Kenichi Handa <handa@m17n.org>
1918
1919 * coding.c (detect_coding_utf_8): Set detect_info->found only when
1920 non-ASCII char is found.
1921
1922 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
1923 (reorder_font_vector): Change the arg preferred_family to font.
1924 Prefer the spec matching with font.
1925 (fontset_get_font_group): New function.
1926 (fontset_find_font): Change the format of an element of a realized
1927 fontset. Use fontset_get_font_group.
1928 (fontset_font): Try the current fontset, the default fontset, the
1929 fallbacks of the current fonset, and the fallbacks of the default
1930 fontset in this order.
1931 (face_for_char): Delete the shortcut to use the current font.
1932 (fontset_from_font): Don't set fonts for Latin in the fontset.
1933
1934 * font.h (font_make_object, font_match_p): Adjust prototypes.
1935
1936 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
1937
1938 * font.c (font_make_object): New arg entity and pixelsize.
1939 (font_check_otf_features, font_check_otf): New functions.
1940 (font_match_p): Check :lang, :script, and :otf properties.
1941
1942 * xfont.c (xfont_open): Adjust it for the change of
1943 font_make_object.
1944 (xfont_text_extents): Fix initial setting of metrics.
1945
1946 * ftfont.c (struct ftfont_info): New member index, delete member
1947 fc_charset_idx. Make the member order compatible with struct
1948 xftfont_info.
1949 (fc_charset_table): Change charset names to registry names.
1950 (ftfont_pattern_entity): Delete the args registry and
1951 fc_charset_idx. Change the value of :font-entity property
1952 to (FONTNAME . INDEX). Always set :registry property to
1953 `iso10646-1'.
1954 (struct ftfont_cache_data): New struct.
1955 (ftfont_lookup_cache): New arg for_face.
1956 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
1957 (ftfont_driver): Set the member otf_capability.
1958 (ftfont_get_charset): Adjust it for the change of
1959 fc_charset_table.
1960 (OTF_TAG_SYM): New macro.
1961 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
1962 for the change of fc_charset_table.
1963 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
1964 ftfont_pattern_entity. Add FC_INDEX to objset.
1965 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
1966 and ftfont_pattern_entity.
1967 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
1968 font_make_object, struct ftfont_info.
1969 (ftfont_has_char): Use ftfont_get_fc_charset.
1970 (ftfont_otf_features, ftfont_otf_capability): New functions.
1971 (ftfont_shape): Use ftfont_get_otf.
1972 (ftfont_text_extents): Fix initial setting of metrics.
1973
1974 * xftfont.c (struct xftfont_info): New member ft_size. Make the
1975 member order compatible with struct ftfont_info.
1976 (xftfont_open): Add FC_CHARSET to the pattern. Set
1977 xftfont_info->ft_size. Don't unlock the face. Check BDF
1978 properties if appropriate.
1979 (xftfont_close): Unlock the face.
1980 (xftfont_anchor_point, xftfont_shape): Deleted.
1981 (syms_of_xftfont): Don't set members anchor_point and shape of
1982 xftfont_driver.
1983
1984 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
1985 font_make_object.
1986
1987 * w32font.c (w32font_open): Adjust it for the change of
1988 font_make_object.
1989 (w32font_open_internal): Don't set properties of font_object here.
1990
1991 2008-07-08 Chong Yidong <cyd@stupidchicken.com>
1992
1993 * macfns.c (x_create_tip_frame):
1994 * w32fns.c (x_create_tip_frame):
1995 * xfns.c (x_create_tip_frame): Pass parameter argument to
1996 face-set-after-frame-default.
1997
1998 * xfaces.c (Finternal_merge_in_global_face): Save merged
1999 attributes for the default face back into the face vector.
2000
2001 2008-07-08 Andreas Schwab <schwab@suse.de>
2002
2003 * fontset.h: Declare fontset_from_font. Don't declare
2004 new_fontset_from_font and fontset_from_font_name.
2005 * xterm.c: Include "fontset.h".
2006 * Makefile.in (xterm.o): Update dependencies.
2007
2008 2008-07-08 Glenn Morris <rgm@gnu.org>
2009
2010 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
2011 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
2012
2013 2008-07-07 Chong Yidong <cyd@stupidchicken.com>
2014
2015 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
2016 (x_set_frame_parameters): Don't bind it.
2017
2018 2008-07-07 Juanma Barranquero <lekktu@gmail.com>
2019
2020 * w32fns.c (map_w32_filename): Declare extern.
2021
2022 2008-07-07 Jason Rumney <jasonr@gnu.org>
2023
2024 * w32term.c (WS_EX_LAYERED): Define if not already.
2025
2026 2008-07-06 Chong Yidong <cyd@stupidchicken.com>
2027
2028 * xfaces.c (set_font_frame_param): Don't try to set the font
2029 parameter if it is still unspecified in the lface.
2030
2031 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
2032
2033 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
2034 face if it didn't already exist.
2035
2036 * xdisp.c (try_window_id): Give up if word-wrapping is on.
2037
2038 2008-07-05 Andreas Schwab <schwab@suse.de>
2039
2040 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
2041
2042 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
2043
2044 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
2045 word-wrapping.
2046 (IT_DISPLAYING_WHITESPACE): New macro.
2047 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
2048 when word-wrapping. Simplify word-wrapping logic. Use correct
2049 pixel positions when saving copies of the iterator.
2050 (display_line): Use proper wrap point if the last character on a
2051 line was preceded by whitespace.
2052
2053 2008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
2054
2055 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
2056
2057 2008-07-04 Kenichi Handa <handa@m17n.org>
2058
2059 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
2060
2061 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
2062
2063 2008-07-02 Jason Rumney <jasonr@gnu.org>
2064
2065 * xfns.c (syms_of_xfns): Only define x-select-font when both
2066 HAVE_FREETYPE and USE_GTK
2067
2068 * xdisp.c (next_element_from_display_vector): Move assignment out
2069 of if statement.
2070
2071 2008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
2072
2073 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
2074
2075 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
2076 (syms_of_fileio): Initialize and export them.
2077 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
2078
2079 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
2080 (Fsystem_move_file_to_trash): New function.
2081 (syms_of_w32fns): Export it to lisp.
2082
2083 2008-07-01 Jason Rumney <jasonr@gnu.org>
2084
2085 * w32font.c (w32font_text_extents): Don't count overhang as part
2086 of width.
2087
2088 2008-06-30 Miles Bader <miles@gnu.org>
2089
2090 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
2091 Add `avoid_cursor_p' field.
2092
2093 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
2094 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
2095 (append_glyph, append_composite_glyph, produce_image_glyph)
2096 (append_stretch_glyph): Initialize avoid_cursor_p.
2097 (get_it_property): Rename from `get_line_height_property'.
2098 (x_produce_glyphs): Use get_it_property.
2099 (handle_line_prefix, push_display_prop): New functions.
2100 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
2101 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
2102 New variables.
2103 (syms_of_xdisp): Initialize them.
2104
2105 2008-06-30 Kenichi Handa <handa@m17n.org>
2106
2107 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
2108 XftDefaultSubstitute (they are called in XftFontMatch).
2109 (xftfont_open): Fix args to ftfont_font_format.
2110
2111 * ftfont.c (fc_charset_table): New member lang.
2112 (ftfont_resolve_generic_family): New arg pattern.
2113 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
2114 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
2115 (ftfont_open): Fix args to ftfont_font_format.
2116 (ftfont_font_format): New arg filename.
2117
2118 2008-06-30 Chong Yidong <cyd@stupidchicken.com>
2119
2120 * xfaces.c (Finternal_merge_in_global_face): If default face was
2121 modified, realize it again. Update the font face attribute.
2122
2123 2008-06-29 Jason Rumney <jasonr@gnu.org>
2124
2125 * w32term.c (x_set_frame_alpha): Fix logic.
2126
2127 2008-06-29 Kenichi Handa <handa@m17n.org>
2128
2129 * fontset.c (Finternal_char_font): Return font-object instead of
2130 font-name.
2131
2132 * composite.c (get_composition_id): Fix the width calculation for TAB.
2133
2134 2008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
2135
2136 * indent.c (Fvertical_motion): Properly handle float column arg.
2137
2138 2008-06-28 Jason Rumney <jasonr@gnu.org>
2139
2140 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
2141 (pfnSetLayeredWindowAttributes): New function pointer.
2142 (w32_initialize): Initialize it when supported.
2143 (x_set_frame_alpha): New function.
2144
2145 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
2146 (w32_frame_parm_handlers): Set alpha handler.
2147
2148 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
2149
2150 2008-06-27 Jason Rumney <jasonr@gnu.org>
2151
2152 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
2153 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
2154 (w32_to_x_charset, x_to_w32_charset)
2155 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
2156 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
2157 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
2158 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
2159 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
2160 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
2161 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
2162 (Qw32_charset_unicode): Remove.
2163 (syms_of_w32fns): Update for above changes.
2164
2165 * w32font.c (w32_to_x_charset, x_to_w32_charset)
2166 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
2167 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
2168 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
2169 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
2170 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
2171 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
2172 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
2173 (syms_of_w32font): Update for above changes.
2174
2175 2008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
2176
2177 * s/usg5-4.h: Fix previous change: keep the correct branch of a
2178 removed #if.
2179 (USG_SHARED_LIBRARIES): Remove duplicate definition.
2180
2181 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
2182 Eli Zaretskii <eliz@gnu.org>
2183
2184 * makefile.w32-in (LOCAL_FLAGS):
2185 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
2186
2187 * sysdep.c (_spawnlp, _getpid):
2188 Declare with explicit _cdecl instead of _CRTAPI1.
2189
2190 * editfns.c (Fget_internal_run_time):
2191 Check for WINDOWSNT with #ifdef, not #if.
2192
2193 2008-06-26 Jason Rumney <jasonr@gnu.org>
2194
2195 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
2196
2197 * w32term.c (x_draw_glyph_string_foreground)
2198 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
2199 Use FONT_HANDLE macro.
2200 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
2201
2202 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
2203 (uniscribe_encode_char): Use FONT_HANDLE macro.
2204
2205 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
2206 (w32font_text_extents): Use precast w32_font.
2207 (w32font_close): Free cached metrics.
2208 (w32font_open_internal): Allocate space for name on stack.
2209
2210 2008-06-26 Chong Yidong <cyd@stupidchicken.com>
2211
2212 * xdisp.c (extend_face_to_end_of_line): Fix last change.
2213
2214 2008-06-26 Jason Rumney <jasonr@gnu.org>
2215
2216 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
2217 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
2218
2219 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
2220
2221 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
2222
2223 2008-06-26 Jason Rumney <jasonr@gnu.org>
2224
2225 * w32bdf.c, w32bdf.h: Remove obsolete files.
2226
2227 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
2228
2229 * w32gui.h: Don't include w32bdf.h.
2230 (XCharStruct, enum w32_char_font_type, W32FontStruct):
2231 Remove obsolete font support.
2232
2233 * w32font.h (struct w32font_info): Remove compat_w32_font.
2234 Add hfont member.
2235 (FONT_COMPAT): Remove obsolete macro.
2236
2237 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
2238 (w32font_encode_char, w32font_text_extents): Use new hfont member.
2239 (w32font_open_internal): Remove compat code. Set new hfont member.
2240 (Fx_select_font): Use new hfont member.
2241
2242 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
2243 (uniscribe_encode_char): Use new hfont member.
2244
2245 * w32term.c (x_draw_glyph_string_foreground)
2246 (x_draw_composite_glyph_string_foreground): Use new hfont member.
2247 (x_draw_glyph_string): Use metrics in w32font_info.
2248
2249 2008-06-26 Kenichi Handa <handa@m17n.org>
2250
2251 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
2252
2253 2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
2254
2255 * unexnext.c:
2256 * m/ews4800.h:
2257 * m/hp9000s300.h:
2258 * m/ibm370aix.h:
2259 * m/mips-siemens.h:
2260 * m/ncr386.h:
2261 * m/next.h:
2262 * m/pmax.h:
2263 * m/powerpcle.h:
2264 * m/tandem-s2.h:
2265 * s/386bsd.h:
2266 * s/bsd386.h:
2267 * s/bsd4-1.h:
2268 * s/bsd4-2.h:
2269 * s/bsdos2-1.h:
2270 * s/bsdos2.h:
2271 * s/bsdos3.h:
2272 * s/bsdos4.h:
2273 * s/nextstep.h:
2274 * s/ultrix4-3.h:
2275 * s/usg5-0.h:
2276 * s/usg5-2-2.h:
2277 * s/usg5-2.h:
2278 * s/usg5-4-3.h:
2279 * s/ux4800.h:
2280 * s/uxpds.h:
2281 * s/uxpv.h: Remove support for obsolete systems.
2282 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
2283 Remove, insert contents in s/hpux-10.20.h.
2284 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
2285 Remove, insert contents in s/aix4-2.h.
2286 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
2287 * s/bsd4-3.h: Rename to ...
2288 * s/bsd-common.h: ... this.
2289 * data.c:
2290 * doc.c:
2291 * ecrt0.c:
2292 * emacs.c:
2293 * fileio.c:
2294 * floatfns.c:
2295 * keyboard.c:
2296 * mem-limits.h:
2297 * print.c:
2298 * process.c:
2299 * sysdep.c:
2300 * syssignal.h:
2301 * systty.h:
2302 * syswait.h:
2303 * term.c:
2304 * unexec.c:
2305 * unexelf.c:
2306 * unexhp9k800.c:
2307 * m/hp800.h:
2308 * m/ibmrs6000.h:
2309 * m/mips.h:
2310 * m/vax.h:
2311 * s/darwin.h:
2312 * s/freebsd.h:
2313 * s/gnu.h:
2314 * s/ms-w32.h:
2315 * s/msdos.h:
2316 * s/netbsd.h:
2317 * s/template.h: Remove references to obsolete variables.
2318
2319 * Makefile.in: Add dependencies for all unexec files.
2320 (admindir): Remove unused variable.
2321 (UNEXEC_SRC): Remove references.
2322
2323 2008-06-25 Chong Yidong <cyd@stupidchicken.com>
2324
2325 * xfns.c (x_default_font_parameter): If Xft is available, first
2326 try Monospace-12 for the default font.
2327
2328 2008-06-25 Jason Rumney <jasonr@gnu.org>
2329
2330 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
2331
2332 2008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
2333
2334 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
2335
2336 * buffer.c (syms_of_buffer): Remove default-word-wrap.
2337
2338 2008-06-25 Juanma Barranquero <lekktu@gmail.com>
2339
2340 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
2341 <scroll-conservatively>: Fix typo in docstring.
2342
2343 * xselect.c (Fx_send_client_event): Doc fix.
2344
2345 2008-06-25 Kenichi Handa <handa@m17n.org>
2346
2347 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
2348
2349 * font.c (font_parse_fcname): Remove unused variables.
2350 (font_sort_entites): Delete the arg SPEC. Caller changed.
2351 Fix for the case of ! best_only.
2352 (font_delete_unmatched): Check DPI and AVGWIDTH too.
2353
2354 * lisp.h (Fstring_to_unibyte): EXFUN it.
2355
2356 * character.h (str_to_unibyte): Extern it.
2357
2358 * character.c (str_to_unibyte): New function.
2359
2360 * fns.c (Fstring_to_unibyte): New function.
2361 (syms_of_fns): Defsubr it.
2362
2363 2008-06-24 Kenichi Handa <handa@m17n.org>
2364
2365 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
2366 DPI too.
2367 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
2368
2369 2008-06-24 Andreas Schwab <schwab@suse.de>
2370
2371 * Makefile.in (${lispsource}loaddefs.el): Rename from
2372 ../lisp/loaddefs.el.
2373 (bootstrap-clean): Do what distclean does but don't remove
2374 Makefile.
2375 (distclean): Depend on bootstrap-clean and remove Makefile.
2376
2377 2008-06-24 Chong Yidong <cyd@stupidchicken.com>
2378
2379 * buffer.h (struct buffer): New member word_wrap.
2380
2381 * buffer.c (syms_of_buffer): New variables default-word-wrap and
2382 word-wrap.
2383 (init_buffer_once): Initialize them.
2384
2385 * dispextern.h (struct it): Replace bool truncate_lines_p with a
2386 line_wrap enum possessing three possible values.
2387
2388 * termopts.h: Replace truncate_partial_width_windows with
2389 Vtruncate_partial_width_windows.
2390
2391 * dispnew.c (direct_output_for_insert): Avoid direct output when
2392 inserting a space with word wrap on.
2393
2394 * indent.c (compute_motion): Obey integer values of
2395 truncate-partial-width-windows.
2396
2397 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
2398 replacing truncate_partial_width_windows.
2399 (init_iterator): If Vtruncate_partial_width_windows is an integer,
2400 truncate only if the window width is below that integer.
2401 (start_display, resize_mini_window, produce_stretch_glyph)
2402 (display_string, move_it_in_display_line_to): Use line_wrap.
2403 (back_to_previous_visible_line_start, reseat_1): Reset
2404 string_from_display_prop_p.
2405 (display_line): Extend default face to end of line when wrapping.
2406
2407 2008-06-24 Kim F. Storm <storm@cua.dk>
2408
2409 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
2410 to wrap continued lines at word boundaries.
2411
2412 2008-06-24 Jason Rumney <jasonr@gnu.org>
2413
2414 * font.c (Ffont_face_attributes): Multiply pixel size before point
2415 conversion to avoid multiplying rounding error.
2416
2417 2008-06-23 Jason Rumney <jasonr@gnu.org>
2418
2419 * w32term.c (x_draw_glyph_string_background)
2420 (x_draw_glyph_string): Remove old bdf font code.
2421
2422 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
2423
2424 2008-06-22 Kenichi Handa <handa@m17n.org>
2425
2426 * font.c (font_find_for_lface): Try the adstyle specified in
2427 the property of LFACE_FONT of LFACE (if any).
2428
2429 2008-06-21 Seiji Zenitani <zenitani@mac.com>
2430 Ryo Yoshitake <ryo@shiftmode.net>
2431
2432 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
2433
2434 2008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
2435
2436 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
2437 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
2438 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
2439 (witness-emacs): Remove.
2440 (lisp, shortlisp): Move loaddefs.el earlier.
2441 (mostlyclean): Forget about witness-emacs.
2442
2443 2008-06-22 Glenn Morris <rgm@gnu.org>
2444
2445 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
2446 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
2447
2448 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
2449
2450 * Makefile.in (PRECOMP): Remove.
2451 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
2452 (witness-emacs): Run `compile-first'.
2453 (.el.elc): Use the new compile-onefile target.
2454
2455 2008-06-21 Kenichi Handa <handa@m17n.org>
2456
2457 * xftfont.c (xftfont_open): Handle QCembolden only when
2458 FC_EMBOLDEN is defined.
2459
2460 2008-06-21 Andreas Schwab <schwab@suse.de>
2461
2462 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
2463 (.el.elc): Likewise.
2464
2465 2008-06-21 Miles Bader <miles@gnu.org>
2466
2467 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
2468 build dir, not the lisp source dir.
2469
2470 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
2471
2472 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
2473 (bootstrapclean): Remove.
2474 (.el.elc): New rule.
2475 (PRECOMP): New var.
2476 (../lisp/subdirs.el): Remove.
2477 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
2478 (witness-emacs): New target.
2479 (mostlyclean): Remove witness-emacs as well.
2480 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
2481 Add witness-emacs dependency.
2482
2483 2008-06-20 Chong Yidong <cyd@stupidchicken.com>
2484
2485 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
2486 defined by the font.
2487
2488 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
2489
2490 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
2491 (bootstrap-clean): New target that keeps TAGS around.
2492 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
2493 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
2494
2495 2008-06-20 Jason Rumney <jasonr@gnu.org>
2496
2497 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
2498 Remove obsolete font code.
2499
2500 * w32font.c (font_matches_spec): Use csb bitfield from font signature
2501 to determine language support.
2502
2503 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
2504
2505 * sysdep.c (cfsetspeed): New fun extracted from the code.
2506 (cfmakeraw): Move before first use.
2507
2508 2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
2509
2510 * sysdep.c (cfmakeraw): Provide fallback implementation.
2511 (serial_configure): Provide fallback implementation of cfsetspeed.
2512
2513 2008-06-20 Kenichi Handa <handa@m17n.org>
2514
2515 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
2516 the pattern.
2517
2518 * fontset.c (fontset_from_font): Copy font_spec before changing
2519 the elements.
2520
2521 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
2522
2523 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
2524
2525 * w32fns.c, xfnc.c (x_default_font_parameter): Only set `font-param'
2526 for explicit `font' parameters.
2527
2528 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
2529
2530 2008-06-19 Kenichi Handa <handa@m17n.org>
2531
2532 * frame.c: Include <ctype.h>.
2533 (x_set_font_backend): Allow spacing characters in the X resource
2534 for FontBackend.
2535
2536 2008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
2537
2538 * w32fns.c, xfns.c (Qfont_param): New var.
2539 (syms_of_w32fns): Initialize it.
2540 (x_default_font_parameter): Record explicit `font' into
2541 `font-parameter'.
2542
2543 2008-06-18 Kenichi Handa <handa@m17n.org>
2544
2545 * font.c (font_parse_xlfd): Fix previous change.
2546 (font_parse_fcname): Don't use :fc-unknown-spec.
2547 (FRAME_X_DISPLAY_INFO): Besure to have at least 1 pixel height.
2548 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
2549 (font_add_log): Prepend the driver name to the resulting fonts.
2550
2551 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
2552 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
2553 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
2554
2555 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
2556 (QCembolden): New variables.
2557 (syms_of_xftfont): DEFSYM them.
2558 (xftfont_open): Call XftFontMatch. Don't trust the result of
2559 XftTextExtents8 if the pixel_size is less than 5.
2560
2561 2008-06-18 Andreas Schwab <schwab@suse.de>
2562
2563 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
2564 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
2565
2566 2008-06-18 Jason Rumney <jasonr@gnu.org>
2567
2568 * w32font.c (w32font_list, w32font_match): Add logging.
2569
2570 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
2571
2572 2008-06-17 Chong Yidong <cyd@stupidchicken.com>
2573
2574 * font.c (font_parse_fcname): Store divider characters for
2575 unknown-spec list. For known key symbols, intern using correct
2576 symbol name.
2577
2578 2008-06-17 Kenichi Handa <handa@m17n.org>
2579
2580 * xfaces.c (realize_default_face): If the frame is not on window
2581 system, set the fontset of face to nil.
2582
2583 2008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
2584
2585 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
2586
2587 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
2588
2589 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
2590 (build_font_name_from_vector): Delete externs.
2591
2592 * xfaces.c (struct font_name): Don't declare.
2593
2594 2008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
2595
2596 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
2597
2598 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
2599
2600 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
2601
2602 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
2603
2604 * font.c (Ffont_spec): Fix usage in docstring.
2605 (Ffont_face_attributes): Doc fix.
2606
2607 2008-06-16 Andreas Schwab <schwab@suse.de>
2608
2609 * font.c (Ffont_face_attributes): Fix definition.
2610
2611 2008-06-16 Jason Rumney <jasonr@gnu.org>
2612
2613 * font.h (font_style_symbolic_from_value): Remove.
2614
2615 * font.c (font_style_symbolic_from_value): Remove.
2616 (font_style_symbolic): Revert to pre 2008-06-13 version.
2617
2618 * w32font.c (w32_to_fc_weight): New function.
2619 (w32font_full_name, logfont_to_fcname): Use it.
2620
2621 2008-06-16 Kenichi Handa <handa@m17n.org>
2622
2623 * font.c (font_check_object): Delete it.
2624 (font_clear_cache): Check if a font-object is alive.
2625 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
2626 font-object to nil.
2627 (font_close_object): Don't check FONT_CLOSE_OBJECT.
2628 (font_at): Don't call font_check_object.
2629 (Ffont_get): Return a symbol for :weight, :slant, and :width.
2630
2631 2008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
2632
2633 * puresize.h (BASE_PURESIZE): Increase to 1230000.
2634
2635 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
2636
2637 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
2638
2639 2008-06-15 Chong Yidong <cyd@stupidchicken.com>
2640
2641 * font.c (font_parse_fcname): Only one decimal point.
2642 (font_unparse_fcname): Handle data in family and foundry indices
2643 as symbols, not strings.
2644 (font_unparse_gtkname, Ffont_face_attributes): New functions.
2645
2646 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
2647
2648 * font.h (font_unparse_gtkname): Add prototype.
2649
2650 2008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
2651
2652 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
2653
2654 2008-06-15 Andreas Schwab <schwab@suse.de>
2655
2656 * font.c (font_update_drivers): Fix crash when no drivers match.
2657
2658 2008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
2659
2660 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
2661 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
2662
2663 2008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
2664
2665 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
2666
2667 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
2668
2669 * process.c (Fserial_process_configure, Fprocess_send_eof):
2670 Use EQ to compare Lisp_Objects.
2671
2672 2008-06-13 Jason Rumney <jasonr@gnu.org>
2673
2674 * w32fns.c (Fw32_select_font): Remove old font API function.
2675
2676 * w32font.c (logfont_to_fcname): New function.
2677 (Fx_select_font): New font dialog function compatible with
2678 GTK/fontconfig version.
2679
2680 * font.c (font_style_symbolic_from_value): New function.
2681 (font_style_symbolic): Use it.
2682
2683 * font.h (font_style_symbolic_from_value): Declare new function.
2684
2685 2008-06-13 Juanma Barranquero <lekktu@gmail.com>
2686
2687 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
2688 <font-width-table>: Fix typos in docstrings.
2689
2690 2008-06-13 Daniel Engeler <engeler@gmail.com>
2691
2692 These changes add serial port access.
2693 * process.c: Add HAVE_SERIAL.
2694 (Fdelete_process, Fprocess_status, Fset_process_buffer)
2695 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
2696 (list_processes_1, select_wrapper, Fstop_process)
2697 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
2698 (status_notify): Modify to handle serial processes.
2699 [HAVE_SERIAL] (Fserial_process_configure)
2700 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
2701 New functions.
2702 * process.h (struct Lisp_Process): Add `type'.
2703 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
2704 New functions.
2705 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
2706 serial ports.
2707 (serial_open, serial_configure) New functions.
2708 * w32.h: Add FILE_SERIAL.
2709 (struct _child_process): Add ovl_read, ovl_write.
2710
2711 2008-06-13 Kenichi Handa <handa@m17n.org>
2712
2713 * dispextern.h (enum lface_attribute_index): New member
2714 LFACE_FOUNDRY_INDEX.
2715
2716 * font.c (font_score): Delete arg alternate_families. Check only
2717 weight, slant, width, and size. Ignore the difference of alias
2718 style symbols.
2719 (font_sort_entites): Adjust for the above change. Reflect the
2720 order of font-driver to scores.
2721 (font_list_entities): Don't check alternate_familes here.
2722 (font_clear_prop): Handle foundry.
2723 (font_update_lface): Don't parse "foundry-family" form here.
2724 Handle FONT_FOUNDRY_INDEX.
2725 (font_find_for_lface): Likewise. Handle alternate families here.
2726 If registry is nil, try iso8859-1 and ascii-0.
2727 (font_open_for_lface): Pay attention to size in ENTITY.
2728 (font_open_by_name): Simplify by calling font_load_for_lface.
2729 (free_font_driver_list): Delete it.
2730 (font_update_drivers): Preserve the order of backends.
2731 (syms_of_font): Setting of sort_shift_bits adjusted for the change
2732 of font_score and font_sort_entites.
2733 (font_update_sort_order): Likewise.
2734
2735 * xfaces.c (LFACE_FOUNDRY): New macro.
2736 (check_lface_attrs): Check foundry.
2737 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
2738 (merge_face_vectors): Check foundry.
2739 (merge_face_ref): Likewise.
2740 (Finternal_set_lisp_face_attribute): Likewise.
2741 (x_update_menu_appearance): Likewise.
2742 (Finternal_get_lisp_face_attribute): Likewise.
2743 (lface_hash): Likewise.
2744 (lface_same_font_attributes_p): Likewise.
2745 (x_supports_face_attributes_p): Likewise.
2746 (tty_supports_face_attributes_p): Likewise.
2747 (Finternal_set_alternative_font_family_alist): Intern strings.
2748 (Finternal_set_alternative_font_registry_alist): Downcase strings.
2749 (realize_default_face): Set LFACE_FOUNDRY (lface).
2750
2751 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
2752 font-driver at first.
2753
2754 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
2755
2756 2008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2757
2758 * lread.c (Fload): Use xfree, not free on saved_doc_string.
2759
2760 2008-06-12 Jim Meyering <meyering@redhat.com>
2761
2762 Make unexec_free handle NULL the same way free does.
2763 * unexmacosx.c (unexec_free): Ignore a NULL argument.
2764
2765 2008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
2766
2767 * character.h (CHAR_TO_BYTE_SAFE): New macro.
2768 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
2769 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
2770 (WEAK_ALIAS): Simplify.
2771 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
2772 when searching a unibyte buffer.
2773
2774 2008-06-12 Chong Yidong <cyd@stupidchicken.com>
2775
2776 * xfns.c (Fx_select_font): Rename from x-font-dialog.
2777
2778 2008-06-12 Juanma Barranquero <lekktu@gmail.com>
2779
2780 * w32font.c: Include ctype.h.
2781
2782 2008-06-11 Jason Rumney <jasonr@gnu.org>
2783
2784 * w32font.c (w32font_encode_char): Detect missing glyphs that are
2785 misreported as space.
2786 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
2787 as aliases for registry iso10646-1.
2788
2789 2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
2790
2791 * buffer.c (clone_per_buffer_values): Skip `name'.
2792
2793 2008-06-11 Chong Yidong <cyd@stupidchicken.com>
2794
2795 * font.c (font_parse_fcname): Fix last change; accept decimal
2796 points in font size.
2797
2798 2008-06-10 Jason Rumney <jasonr@gnu.org>
2799
2800 * w32uniscribe.c (add_opentype_font_name_to_list):
2801 Skip non unicode fonts.
2802
2803 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
2804
2805 * xfns.c (Fx_font_dialog): New function.
2806
2807 * gtkutil.c (xg_dialog_response_cb): Rename from
2808 xg_file_response_callback.
2809 (pop_down_dialog): Rename from pop_down_file_dialog.
2810 (xg_get_file_name): Callers changed.
2811 (xg_get_font_name): New function.
2812
2813 * gtkutil.h (xg_get_font_name): Insert prototype.
2814
2815 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
2816
2817 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
2818 x_underline_minimum_display_offset.
2819 (syms_of_xdisp): Declare it here rather than in xterm.c.
2820 * dispextern.h (underline_minimum_offset): Declare it.
2821 * w32term.c (x_draw_glyph_string): Use it.
2822 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
2823 (syms_of_xterm): Don't declare it any more.
2824 (x_draw_glyph_string): Adjust to the new name.
2825
2826 2008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
2827
2828 * xterm.c (x_underline_minimum_display_offset): New var.
2829 (x_draw_glyph_string): Use it.
2830 (syms_of_xterm): Declare it.
2831
2832 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
2833
2834 * font.c (font_parse_fcname): Accept GTK-style font names too.
2835
2836 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
2837
2838 * dired.c (file_name_completion): Don't return t if the match is exact
2839 but with different capitalization.
2840 * minibuf.c (Ftry_completion): Simplify.
2841
2842 * window.c (Vwindow_point_insertion_type): New var.
2843 (set_window_buffer): Use it.
2844 (syms_of_window): Init and export it to Lisp.
2845
2846 2008-06-10 Kenichi Handa <handa@m17n.org>
2847
2848 * font.h (font_intern_prop): Prototype adjusted.
2849
2850 * font.c (font_intern_prop): New arg force_symbol.
2851 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
2852 Adjust for the change of font_intern_prop.
2853
2854 * ftfont.c (ftfont_pattern_entity):
2855 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
2856 (w32_registry):
2857 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
2858 the change of font_intern_prop.
2859
2860 2008-06-09 Juanma Barranquero <lekktu@gmail.com>
2861
2862 * w32menu.c (digest_single_submenu): Declare extern.
2863
2864 2008-06-09 Jason Rumney <jasonr@gnu.org>
2865
2866 * w32term.c (x_make_frame_visible): Use alternate restore flags.
2867
2868 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
2869 (parse_single_submenu): Remove.
2870 (digest_single_submenu): Remove.
2871 (syms_of_w32menu): Don't initialise variables that have moved
2872 to menu.c.
2873 (set_frame_menubar): Sync with version in xmenu.c.
2874 (w32_menu_show): Sync with xmenu_show in xmenu.c.
2875
2876 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
2877 Make static again.
2878
2879 2008-06-09 Jason Rumney <jasonr@gnu.org>
2880
2881 Changes to w32 files related to the move of common menu code
2882 to menu.c on 2008-06-08 by Chong Yidong.
2883
2884 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
2885 defs to w32gui.h.
2886 (single_keymap_panes, push_menu_item, push_menu_pane):
2887 Make globally visible.
2888
2889 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
2890 (local_free, malloc_widget_value, free_widget_value)
2891 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
2892 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
2893 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
2894 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
2895 (menu_items, menu_items_allocated, menu_items_used)
2896 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
2897 (init_menu_items, finish_menu_items, discard_menu_items)
2898 (grow_menu_items, push_submenu_start, push_submenu_end)
2899 (push_left_right_boundary, push_menu_pane, push_menu_item)
2900 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
2901 (free_menubar_widget_tree_value, parse_single_submenu)
2902 (update_submenu_strings): Remove functions.
2903 (xmalloc_widget_value): Remove and declare extern.
2904
2905 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
2906 (OBJ1): Build it.
2907
2908 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
2909 (local_heap, local_alloc, local_free, malloc_widget_value)
2910 (free_widget_value): Define here.
2911
2912 2008-06-09 Kenichi Handa <handa@m17n.org>
2913
2914 * font.h (Qascii_0): Extern it.
2915
2916 * font.c (Qascii_0): New variable.
2917 (syms_of_font): DEFSYM it.
2918 (font_open_by_name): If the registry "iso8859-1" fails, try also
2919 "ascii-0".
2920
2921 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
2922
2923 2008-06-08 Kenichi Handa <handa@m17n.org>
2924
2925 * .gdbinit (xfont): New command.
2926
2927 2008-06-08 Andreas Schwab <schwab@suse.de>
2928
2929 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
2930 * Makefile.in (menu.o): Update dependencies.
2931
2932 * Makefile.in (obj): Always add menu.o.
2933 * emacs.c (main): Always call syms_of_menu.
2934 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
2935
2936 2008-06-08 Chong Yidong <cyd@stupidchicken.com>
2937
2938 * Makefile.in: Compile menu.c.
2939
2940 * lisp.h: Declare syms_of_menu.
2941
2942 * emacs.c (main): Call syms_of_menu.
2943
2944 * keyboard.h: Relocate platform-independent menu definitions from
2945 xmenu.c.
2946
2947 * menu.c: New file. Relocate platform-independent menu
2948 definitions from xmenu.c. Suggested by Adrian Robert.
2949
2950 * xmenu.c: Remove platform-independent menu definitions.
2951 (menu_items menu_items_inuse, menu_items_allocated)
2952 (menu_items_used, menu_items_n_panes)
2953 (menu_items_submenu_depth): Move to keyboard.h.
2954 (init_menu_items, finish_menu_items, unuse_menu_items)
2955 (discard_menu_items, restore_menu_items, save_menu_items)
2956 (grow_menu_items, push_submenu_start, push_submenu_end)
2957 (push_left_right_boundary, push_menu_pane, push_menu_item)
2958 (keymap_panes, single_keymap_panes, single_menu_item)
2959 (list_of_panes, list_of_items, find_and_call_menu_selection)
2960 (xmalloc_widget_value, free_menubar_widget_value_tree)
2961 (parse_single_submenu, digest_single_submenu)
2962 (update_submenu_strings): Move to menu.c.
2963
2964 2008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
2965
2966 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
2967
2968 2008-06-06 Miles Bader <miles@gnu.org>
2969
2970 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
2971 face, not frame default.
2972
2973 2008-06-05 Martin Rudalics <rudalics@gmx.at>
2974
2975 * window.c (pop_up_windows, pop_up_frames)
2976 (display_buffer_reuse_frames, Vpop_up_frame_function)
2977 (Vdisplay_buffer_function, Veven_window_heights)
2978 (Vspecial_display_buffer_names, Vspecial_display_regexps)
2979 (Vspecial_display_function, Vsame_window_buffer_names)
2980 (Vsame_window_regexps, split_height_threshold)
2981 (Vsplit_window_preferred_function): Move those vars to window.el.
2982 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
2983 (Fdisplay_buffer): Move those functions to window.el.
2984 (syms_of_window): Remove corresponding declarations.
2985 (display_buffer): New function.
2986 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
2987 * dispnew.c (Flast_nonminibuf_frame): New function.
2988 * buffer.c (Fpop_to_buffer): Move to window.el.
2989
2990 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
2991
2992 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
2993
2994 2008-06-05 Kenichi Handa <handa@m17n.org>
2995
2996 * coding.c (detect_coding): Fix previous change.
2997 (detect_coding_system): Likewise.
2998
2999 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3000
3001 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
3002
3003 * keymap.c (Vminibuffer_local_filename_must_match_map):
3004 Rename from Vminibuffer_local_must_match_filename_map.
3005 (syms_of_keymap):
3006 * minibuf.c (Fcompleting_read): Adjust accordingly.
3007 * commands.h: Rename declaration as well.
3008
3009 2008-06-05 Kenichi Handa <handa@m17n.org>
3010
3011 * font.c (Ffont_spec): Don't use font_parse_family_registry for
3012 family name.
3013 (Ffont_put): Likewise.
3014
3015 * fontset.c (fontset_find_font): Call font_open_for_lface with the
3016 current font-spec.
3017
3018 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
3019 is unspecified.
3020
3021 * xfaces.c (realize_x_face): If the font-related face attributes
3022 are the same as those of default face, realize a new fontset from
3023 default->fontset.
3024 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
3025
3026 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3027
3028 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
3029 (move_it_in_display_line): New wrapper.
3030
3031 * window.c (window_scroll_pixel_based_preserve_x)
3032 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
3033 (window_scroll_pixel_based, window_scroll_line_based):
3034 Use them to preserve column positions.
3035 (syms_of_window): Initialize them.
3036
3037 * indent.c (Fvertical_motion): Extend first arg to allow passing an
3038 (HPOS . VPOS) pair.
3039
3040 * dispextern.h (move_it_in_display_line): Declare.
3041
3042 2008-06-05 Juanma Barranquero <lekktu@gmail.com>
3043
3044 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
3045 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
3046 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
3047
3048 2008-06-04 Juanma Barranquero <lekktu@gmail.com>
3049
3050 * window.c (Fset_window_parameter): Doc fix.
3051 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
3052
3053 2008-06-04 Joakim Verona <joakim@verona.se>
3054
3055 * window.h (struct window): Add new member window_parameters.
3056
3057 * window.c (Fwindow_parameters, Fwindow_parameter)
3058 (Fset_window_parameter): New defuns.
3059 (syms_of_window): Defsubr the new defuns.
3060 (make_window): Initialize window_parameters to nil.
3061
3062 2008-06-04 John Paul Wallington <jpw@pobox.com>
3063
3064 * eval.c (Fdefmacro): Doc fix.
3065
3066 2008-06-04 Kenichi Handa <handa@m17n.org>
3067
3068 * coding.c (detect_coding): Fix handling of coding->head_ascii.
3069 Be sure to call setup_coding_system when we find a proper coding system.
3070 (detect_coding_system): Fix handling of coding->head_ascii.
3071
3072 2008-06-03 Andreas Schwab <schwab@suse.de>
3073
3074 * font.c (font_prop_validate_spacing): Fix last change.
3075
3076 2008-06-03 Kenichi Handa <handa@m17n.org>
3077
3078 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
3079 (font_parse_fcname): Fix handling of unknown key.
3080
3081 * xfont.c (xfont_list): Try an alias.
3082
3083 * charset.c (char_charset): Return NULL if the arg charset_list is
3084 specified and C doesn't belong to any of them.
3085
3086 2008-06-02 Chip Coldwell <coldwell@redhat.com>
3087
3088 * font.c (font_pixel_size): Don't take cdr of an integer.
3089
3090 2008-06-02 Jim Meyering <meyering@redhat.com>
3091
3092 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
3093 * alloc.c (xfree): Return right away for a NULL arg.
3094 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
3095 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
3096 * mac.c (create_apple_event_from_event_ref): Likewise.
3097 (create_apple_event_from_drag_ref, cfstring_create_normalized):
3098 Likewise.
3099 * doprnt.c (doprnt1): Likewise.
3100 * frame.c (frame): Likewise.
3101 * keyboard.c (wipe_kboard): Likewise.
3102 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
3103 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
3104 * term.c (tty_default_color_capabilities, maybe_fatal)
3105 (delete_tty): Likewise.
3106 * w16select.c (string): Likewise.
3107 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
3108 * w32bdf.c (w32_free_bdf_font): Likewise.
3109 * w32fns.c (w32_unload_font): Likewise.
3110 * w32font.c (w32font_close): Likewise.
3111 * window.c (size_window): Likewise.
3112 * xselect.c (receive_incremental_selection): Likewise.
3113 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
3114 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
3115 * w32.c (stat): Likewise.
3116
3117 Remove useless if-before-free tests.
3118 * editfns.c (Fset_time_zone_rule): Likewise.
3119 * lread.c (nosuffix): Likewise.
3120 * ralloc.c (get_bloc): Likewise.
3121 * regex.c (reg_free): Likewise.
3122 * xftfont.c (xftfont_open, xftfont_close): Likewise.
3123 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
3124 * xsmfns.c (smc_save_yourself_CB): Likewise.
3125
3126 2008-06-02 Kenichi Handa <handa@m17n.org>
3127
3128 * font.c (font_find_for_lface): Handle float font size.
3129 (font_open_for_lface): Likewise.
3130
3131 * xfaces.c (x_supports_face_attributes_p): Check face->font before
3132 comparing the properties.
3133
3134 2008-06-01 Jason Rumney <jasonr@gnu.org>
3135
3136 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
3137 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
3138 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
3139 Don't add empty script list.
3140 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
3141
3142 2008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
3143
3144 * Makefile.in (dot, dotdot): Remove, update users.
3145 ".." has been used elsewhere in the file for a long time.
3146 (LIBXT_STATIC): Remove conditional based on unused variable.
3147
3148 2008-06-01 Miles Bader <miles@gnu.org>
3149
3150 * xfaces.c (Vface_remapping_alist): New variable.
3151 (syms_of_xfaces): Initialize it.
3152 (enum named_merge_point_kind): New type.
3153 (struct named_merge_point): Add `named_merge_point_kind' field.
3154 (push_named_merge_point): Make cycle detection respect different
3155 named-merge-point kinds.
3156 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
3157 Remove face-name alias resolution.
3158 (lface_from_face_name): New definition using
3159 `lface_from_face_name_no_resolve'.
3160 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
3161 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
3162 (get_lface_attributes): New definition that layers face-remapping on
3163 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
3164 (lookup_basic_face): New function.
3165 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
3166 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
3167 `get_lface_attributes'.
3168 (face_at_buffer_position): Use `lookup_basic_face' to lookup
3169 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
3170 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
3171
3172 * xdisp.c (init_iterator): Pass base_face_id through
3173 `lookup_basic_face' when we actually use it as a face-id.
3174 (handle_single_display_prop): Use `lookup_basic_face' to lookup
3175 DEFAULT_FACE_ID.
3176
3177 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
3178 lookup the initial face-id.
3179
3180 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
3181
3182 2008-06-01 Juanma Barranquero <lekktu@gmail.com>
3183
3184 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
3185 (Fremove_text_properties): Fix typos in docstrings.
3186
3187 2008-05-31 Kenichi Handa <handa@m17n.org>
3188
3189 * font.c (font_list_entities): Fix the car part of data to be
3190 stored in the cache.
3191
3192 * ftfont.c (ftfont_font_format): Don't use strcasestr.
3193
3194 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
3195
3196 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
3197 Add a `test' argument so another predicate than `equal' can be used.
3198 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
3199 (map_char_table): Remove unused vars `c' and `i'.
3200 * lisp.h (Foptimize_char_table): Adjust declaration.
3201 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
3202
3203 2008-05-30 Kenichi Handa <handa@m17n.org>
3204
3205 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
3206 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
3207 defined.
3208
3209 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
3210
3211 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
3212 (Fmake_variable_frame_local): Disallow mixing buffer-local and
3213 frame-local settings for the same variable.
3214
3215 2008-05-30 Kenichi Handa <handa@m17n.org>
3216
3217 * fontset.c (Ffont_info): Move to font.c.
3218 (syms_of_fontset): Delete defsubr of Sfont_info.
3219
3220 * font.c (font_style_to_value, font_score): Delete casting of the
3221 args to xstcasecmp.
3222 (register_font_driver): Increment num_font_drivers only when
3223 registering the driver globally.
3224 (Ffont_info): Move from fontset.c. Handle a font object too.
3225 (syms_of_font): Defsubr Sfont_info.
3226
3227 2008-05-29 Kenichi Handa <handa@m17n.org>
3228
3229 * coding.h (enum define_coding_utf8_arg_index): New enum.
3230 (enum coding_attr_index): Change coding_attr_utf_16_bom to
3231 coding_attr_utf_bom.
3232 (enum utf_bom_type): Rename from utf_16_bom_type.
3233 (struct utf_16_spec): Adjust for the above change.
3234 (struct coding_system): Add utf_8_bom in `spec' union.
3235
3236 * coding.c (CODING_UTF_8_BOM): New macro.
3237 (enum coding_category): Delete coding_category_utf_8, add
3238 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
3239 coding_category_utf_8_sig.
3240 (CATEGORY_MASK_UTF_8): Delete it.
3241 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
3242 (CATEGORY_MASK_UTF_8_SIG): New macros.
3243 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
3244 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
3245 CATEGORY_MASK_UTF_8_SIG.
3246 (CATEGORY_MASK_UTF_8): New macro.
3247 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
3248 (detect_coding_utf_8): Check BOM.
3249 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
3250 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
3251 (encode_coding_utf_16): Likewise.
3252 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
3253 (detect_coding, detect_coding_system): Handle utf-8-auto.
3254 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
3255 (syms_of_coding): Fix setting up of Vcoding_category_table.
3256
3257 2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
3258
3259 * process.c (Faccept_process_output): If `millisec' is non-nil,
3260 `seconds' default to 0.
3261 (wait_reading_process_output): Also return non-nil if we read output
3262 from a non-running process.
3263
3264 2008-05-29 Jason Rumney <jasonr@gnu.org>
3265
3266 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
3267 `raster' specified.
3268 (add_font_entity_to_list): Allow non-opentype truetype fonts back
3269 in the uniscribe backend, but disallow any font that has no
3270 unicode subrange support.
3271
3272 2008-05-29 Juanma Barranquero <lekktu@gmail.com>
3273
3274 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
3275 Fix typos in docstrings.
3276
3277 2008-05-29 Kenichi Handa <handa@m17n.org>
3278
3279 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
3280 (Fx_family_fonts): Set frame correctly.
3281
3282 2008-05-28 Jason Rumney <jasonr@gnu.org>
3283
3284 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
3285
3286 2008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
3287
3288 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
3289 calling build_annotations.
3290
3291 2008-05-28 Juanma Barranquero <lekktu@gmail.com>
3292
3293 * coding.c (Fdecode_coding_region, Fencode_coding_region)
3294 (Fencode_coding_string):
3295 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
3296 <latin-extra-code-table>: Fix typos in docstrings.
3297 (syms_of_coding) <coding-system-alist>: Doc fix.
3298 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
3299
3300 2008-05-28 Kenichi Handa <handa@m17n.org>
3301
3302 * fontset.c (Ffont_info): Don't call font_close_object.
3303
3304 * font.c (font_parse_family_registry): Use Ffont_put to validate
3305 foundry and family.
3306 (font_delete_unmatched): Don't check spacing.
3307 (font_list_entities): Add spacing to the spec to list fonts.
3308
3309 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
3310 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
3311
3312 * coding.c (encode_coding_raw_text): Fix previous change.
3313 (encode_coding_object): When the dst_object is a buffer and is
3314 different from src_object, move gap to PT.
3315
3316 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
3317
3318 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
3319
3320 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
3321
3322 * coding.c (encode_coding_raw_text): Set coding->produced_char for
3323 all branches. Compute it differently.
3324
3325 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
3326
3327 2008-05-27 Juanma Barranquero <lekktu@gmail.com>
3328
3329 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
3330 into "else if () ... else ...".
3331
3332 2008-05-27 Jason Rumney <jasonr@gnu.org>
3333
3334 * w32font.c (w32font_open_internal): Determine if glyph indices
3335 are likely to work here.
3336
3337 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
3338
3339 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
3340 draw overlap glyphs with appropriate highlighting.
3341
3342 2008-05-27 Kenichi Handa <handa@m17n.org>
3343
3344 * xfont.c (xfont_open): Fix calculation of font->average_width.
3345
3346 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
3347
3348 * casefiddle.c (casify_object): Try to guess better whether the
3349 argument is a byte or a char.
3350
3351 2008-05-26 Andreas Schwab <schwab@suse.de>
3352
3353 * xselect.c (x_reply_selection_request): Properly handle format == 32.
3354 Always send multiples of format size.
3355
3356 * xterm.c (x_set_frame_alpha): Fix type mismatch.
3357
3358 2008-05-26 Jason Rumney <jasonr@gnu.org>
3359
3360 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
3361 (compute_metrics): Don't set failure if we just cleared the cache.
3362 (w32_weight_table): Remove unused variable.
3363 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
3364 backwards compatibility.
3365
3366 2008-05-25 Kenichi Handa <handa@m17n.org>
3367
3368 * w32term.c (x_draw_glyph_string):
3369 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
3370
3371 * xfaces.c: Delete unused function prototypes.
3372 (xstrlwr, font_frame): Delete them.
3373 (clear_face_cache): Delete unused variable.
3374
3375 * xftfont.c (xftfont_open): Delete unused variable.
3376 If underline_thickness is not 1, adjust underline_position.
3377
3378 * ftxfont.c (ftxfont_open): Delete unused variable.
3379
3380 * fontset.c (face_for_char): Optimize for the case of no charset
3381 property.
3382
3383 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
3384 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
3385 (otf_open, font_otf_capability, generate_otf_features)
3386 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
3387 Comment out by surrounding "#if 0" and "#endif" for the moment.
3388 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
3389 (syms_of_font): Codes for accessing above commented out.
3390
3391 2008-05-24 Eli Zaretskii <eliz@gnu.org>
3392
3393 * w32proc.c: Include dispextern.h.
3394
3395 * w32.c: Include dispextern.h.
3396
3397 2008-05-23 Juanma Barranquero <lekktu@gmail.com>
3398
3399 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
3400 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
3401 Fix typos in docstrings.
3402
3403 2008-05-23 Jason Rumney <jasonr@gnu.org>
3404
3405 * xsmfns.c: Remove includes that are already included by config.h.
3406
3407 2008-05-23 Kenichi Handa <handa@m17n.org>
3408
3409 * charset.c (Qemacs, charset_emacs): New variables.
3410 (char_charset): Fix for non-Unicode characters.
3411 (syms_of_charset): Define charset_emacs.
3412
3413 * w32term.c (x_draw_glyph_string): Be sure to update
3414 s->underline_thickness and s->underline_position. Be sure to draw
3415 underline within the current line area.
3416
3417 * xterm.c (x_draw_glyph_string): Be sure to update
3418 s->underline_thickness and s->underline_position. Be sure to draw
3419 underline within the current line area.
3420
3421 * fontset.c: Delete unused variables and add casting for char *
3422 throughout the file.
3423 (fontset_font): Try the fallback fonts of the current fontset
3424 before consulting the default fontset.
3425
3426 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
3427
3428 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
3429
3430 2008-05-22 Jason Rumney <jasonr@gnu.org>
3431
3432 * font.c: Don't include strings.h.
3433
3434 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
3435
3436 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
3437 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
3438 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
3439 to call xstrcasecmp.
3440
3441 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3442
3443 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3444
3445 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3446
3447 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3448
3449 2008-05-22 Kenichi Handa <handa@m17n.org>
3450
3451 * puresize.h (BASE_PURESIZE): Increase to 1220000.
3452
3453 * font.c (font_prop_validate_style): Adjust for the format
3454 change of font_style_table.
3455
3456 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
3457 two args.
3458
3459 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
3460 two args.
3461
3462 2008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
3463
3464 * minibuf.c (keys_of_minibuf): Delete.
3465 * lisp.h (keys_of_minibuf): Delete.
3466 * emacs.c (main): Don't call keys_of_minibuf.
3467
3468 2008-05-22 Kenichi Handa <handa@m17n.org>
3469
3470 * ftfont.c (ftfont_resolve_generic_family): Rename from
3471 ftfont_list_generic_family. Return a single family for each
3472 generic family.
3473 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
3474 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
3475 Call font_add_log.
3476 (ftfont_match): Call font_add_log.
3477
3478 * font.h (Ffont_xlfd_name): EXFUN adjusted.
3479 (FONT_DEBUG): Define it.
3480 (font_add_log): Extern it.
3481 (font_assert): Rename from xassert.
3482
3483 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
3484 (xfont_list_family): Call font_add_log.
3485 (xfont_match): Likewise.
3486 (memq_no_quit): Delete.
3487
3488 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
3489 call of Ffont_xlfd_name.
3490
3491 * xfaces.c (struct table_entry, slant_table, weight_table)
3492 (swidth_table): Move to font.c.
3493
3494 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
3495 xassert are changed to font_assert. Delete many unused variables.
3496 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
3497 New variables.
3498 (struct table_entry): Move from xfaces.c and modified.
3499 (weight_table, slant_table, width_table): Move from xfaces.c and
3500 contents adjusted for the change of struct table_entry.
3501 (font_style_to_value, font_style_symbolic): Adjust for the
3502 format change of font_style_table.
3503 (font_parse_family_registry): Don't overwrite existing foundry and
3504 family of font_spec.
3505 (font_score): Fix calculation of diff for sizes.
3506 (font_sort_entites): Call font_add_log.
3507 (font_delete_unmatched): Return a newly created list.
3508 (font_list_entities): Fix previous change. Call font_add_log.
3509 (font_matching_entity, font_open_entity, font_close_entity):
3510 Call font_add_log.
3511 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
3512 (Finternal_set_font_style_table): Delete.
3513 (BUILD_STYLE_TABLE): New macro.
3514 (build_style_table): New function.
3515 (Vfont_log, font_log_env_checked): New variables.
3516 (font_add_log): New function.
3517 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
3518 Declare Lisp variables "font-weight-table", "font-slant-table",
3519 "font-width-table", and "font-log". Initialize font_style_table.
3520
3521 2008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
3522
3523 * xterm.c (x_set_frame_alpha): Move declarations before statements.
3524
3525 2008-05-21 Seiji Zenitani <zenitani@mac.com>
3526 Ryo Yoshitake <ryo@shiftmode.net>
3527
3528 * frame.c (Qalpha): Add a new frame parameter `alpha'.
3529 (Vframe_alpha_lower_limit): New variable.
3530 (x_set_alpha): New function.
3531
3532 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
3533
3534 * xfns.c (x-create-frame, Qalpha):
3535 Initialize the frame parameter `alpha'.
3536 * xterm.c (OPAQUE, OPACITY): New.
3537 (x_set_frame_alpha): New function.
3538 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
3539
3540 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
3541 * w32fns.c (w32_frame_parm_handlers): Likewise.
3542
3543 2008-05-20 Jason Rumney <jasonr@gnu.org>
3544
3545 * w32font.c (add_font_entity_to_list): Don't add non-opentype
3546 truetype fonts to opentype list.
3547
3548 2008-05-20 Juanma Barranquero <lekktu@gmail.com>
3549
3550 * fontset.c (Ffontset_info): Doc fix.
3551 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
3552 <ignore-relative-composition>: Fix typos in docstrings.
3553
3554 * font.c (syms-of-font) <font-encoding-alist>:
3555 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
3556 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
3557 (Ffont_otf_alternates): Doc fixes.
3558
3559 2008-05-20 Kenichi Handa <handa@m17n.org>
3560
3561 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
3562 font.h through out the file.
3563 (FONT_DRIVERS): Rename from FONTOBJ.
3564 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
3565 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
3566
3567 * emacs.c (main): Call syms_of_font unconditionally.
3568
3569 * font.h (find_font_encoding): Extern it.
3570
3571 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
3572 fontset.c.
3573 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
3574 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
3575 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
3576 only when HAVE_WINDOW_SYSTEM is defined.
3577 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
3578 when HAVE_WINDOW_SYSTEM is defined.
3579
3580 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
3581 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
3582
3583 * xfaces.c: Include font.h unconditionally.
3584 (merge_face_ref, merge_face_vectors)
3585 (Finternal_set_lisp_face_attribute): Cancel the previous change.
3586
3587 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
3588
3589 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
3590 indirect_variable.
3591 * eval.c (lisp_indirect_variable): New fun.
3592 (Fuser_variable_p): Use it.
3593
3594 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
3595
3596 * lisp.h (indirect_variable):
3597 * data.c (indirect_variable, let_shadows_buffer_binding_p):
3598 Use Lisp_Symbol pointers rather than Lisp_Object.
3599 Adjust callers.
3600 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
3601 To this end, change calling-convention.
3602
3603 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
3604 if some non-hidden buffers are selected by string&pred.
3605
3606 2008-05-19 Chong Yidong <cyd@stupidchicken.com>
3607
3608 * process.c (wait_reading_process_output): Always check status
3609 when in batch mode.
3610
3611 2008-05-19 Kenichi Handa <handa@m17n.org>
3612
3613 * font.c (font_list_entities): Fix handling of cache.
3614 (font_matching_entity): Likewise.
3615
3616 * ftfont.c (cs_iso8859_1): Delete.
3617 (ft_face_cache): New variable.
3618 (struct ftfont_info): New member fc_charset_idx.
3619 (ftfont_build_basic_charsets): Delete.
3620 (fc_charset_table): New variable.
3621 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
3622 . FC_CHARSET_IDX) as :font-entity property in the font entity.
3623 Callers changed.
3624 (ftfont_lookup_cache, ftfont_get_charset): New functions.
3625 (ftfont_spec_pattern): New argument fc_charset_idx.
3626 Check registry more rigidly. Change callers.
3627 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
3628 change of :font-entity property of the font.
3629
3630 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
3631 property of the font.
3632
3633 2008-05-18 Juanma Barranquero <lekktu@gmail.com>
3634
3635 * coding.c (Fcoding_system_p): Rename argument to match docstring.
3636 (Funencodable_char_position, Fcheck_coding_systems_region)
3637 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
3638 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
3639 (Ffind_operation_coding_system, Fset_coding_system_priority)
3640 (Fcoding_system_eol_type): Doc fixes.
3641
3642 2008-05-17 Glenn Morris <rgm@gnu.org>
3643
3644 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
3645
3646 2008-05-16 Eli Zaretskii <eliz@gnu.org>
3647
3648 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
3649 and st_gid.
3650
3651 * frame.c (Fdelete_frame): Don't call font_update_drivers if
3652 HAVE_WINDOW_SYSTEM is not defined.
3653
3654 * xfaces.c (merge_face_ref, merge_face_vectors)
3655 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
3656 HAVE_WINDOW_SYSTEM is defined.
3657 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
3658
3659 2008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
3660
3661 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
3662
3663 2008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3664
3665 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
3666
3667 2008-05-15 Kenichi Handa <handa@m17n.org>
3668
3669 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
3670 preference.
3671
3672 2008-05-15 Glenn Morris <rgm@gnu.org>
3673
3674 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
3675
3676 2008-05-15 Chong Yidong <cyd@stupidchicken.com>
3677
3678 * fns.c (init_fns): Don't initialize weak_hash_tables here.
3679 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
3680
3681 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
3682
3683 2008-05-15 Kenichi Handa <handa@m17n.org>
3684
3685 * ftfont.c (ftfont_list): Downcase family name to check generic
3686 families.
3687
3688 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
3689 font-spec for QCfont value.
3690
3691 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
3692 buffer. Check the return value of it.
3693
3694 2008-05-14 Jason Rumney <jasonr@gnu.org>
3695
3696 * w32term.c (w32_get_glyph_overhangs): Remove.
3697 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
3698
3699 2008-05-14 Kenichi Handa <handa@m17n.org>
3700
3701 * font.c (font_prop_validate): Make nil a valid value.
3702 (font_clear_cache): Check if the cached vector of entities is nil
3703 or not.
3704
3705 2008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3706
3707 * emacs.c (main_thread): Conditionalize on
3708 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
3709 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
3710
3711 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
3712 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
3713 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
3714
3715 2008-05-14 Kenichi Handa <handa@m17n.org>
3716
3717 * coding.c (detect_coding_iso_2022): Ignore a coding category that
3718 has no corresponding coding system.
3719
3720 2008-05-14 Jason Rumney <jasonr@gnu.org>
3721
3722 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
3723
3724 * w32font.h (w32font_open_internal): Update declaration.
3725
3726 * w32font.c (w32font_open_internal): Change last argument from
3727 w32font_info struct to font object. Fill in font object from
3728 font_entity. Get Outline metrics if possible. Use them to
3729 calculate underline position and thickness. Use xlfd name as name
3730 property. Don't set codepage.
3731 (w32font_open): Pass font_object to w32font_open_internal. Don't
3732 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
3733 (w32font_draw): Use s->font.
3734 (clear_cached_metrics): Don't clear non-existent blocks.
3735
3736 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
3737 font was not found.
3738 (x_draw_glyph_string): Use underline position and thickness from font.
3739
3740 * w32uniscribe.c (uniscribe_open): Pass font_object to
3741 w32font_open_internal.
3742
3743 2008-05-14 Kenichi Handa <handa@m17n.org>
3744
3745 These changes are to delete all legacy font-handling codes, and
3746 make Emacs use only font-backends.
3747
3748 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
3749 (frame.o, image.o, print.o): Depend on $(FONTSRC).
3750
3751 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
3752
3753 * charset.h (Vcharset_non_preferred_head)
3754 (Vcurrent_iso639_language): Extern them.
3755
3756 * charset.c (Vcharset_non_preferred_head): New variable.
3757 (Vcurrent_iso639_language): New variable.
3758 (syms_of_charset): Declare it as a Lisp variable.
3759 (char_charset): Don't check non preferred charsets. As a last
3760 resort, return charset_unicode.
3761 (Fset_charset_priority): Update Vcharset_non_preferred_head.
3762
3763 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
3764 conditionals. Don't check enable_font_backend. Delete all codes
3765 used only when USE_FONT_BACKEND is not defined.
3766
3767 * dispextern.h (struct glyph_string): Change type of `font' to
3768 `struct font *'.
3769 (struct glyph_string): New member underline_position and
3770 underline_thickness.
3771 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
3772 (struct face): Change type of `font' to `struct font *'. Remove
3773 members `font_name', `font_info_id'.
3774 (per_char_metric, encode_char): Delete externs.
3775 (calc_pixel_width_or_height): Adjust the prototype.
3776
3777 * emacs.c (enable_font_backend): Delete extern.
3778 (main): Don't set enable_font_backend. Don't check the command
3779 line argument "-disable-font-backend".
3780
3781 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
3782 (enum font_property_index): New members FONT_DPI_INDEX,
3783 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
3784 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
3785 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
3786 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
3787 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
3788 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
3789 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
3790 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
3791 (struct font_spec, struct font_entity): New structs.
3792 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
3793 (struct font): Many members from old "struct font_info" moved to
3794 here. Members font and entity deleted.
3795 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
3796 the new font-related objects.
3797 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
3798 (CHECK_FONT_GET_OBJECT): Likewise.
3799 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
3800 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
3801 (struct font_driver): New members case_sensitive anc check. Type
3802 of the member list and open changed.
3803 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
3804 (font_symbolic_width, font_find_object, font_get_spec)
3805 (font_set_lface_from_name): Delete extern.
3806 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
3807
3808 * font.c: Include <strings.h>.
3809 (enable_font_backend): Delete it.
3810 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
3811 (CHECK_VALIDATE_FONT_SPEC): Delete it.
3812 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
3813 (null_string): Delete it.
3814 (null_vector): Make it static.
3815 (font_family_alist): Delete it.
3816 (Qnormal): Extern it.
3817 (QCextra, QClanguage): Delete it.
3818 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
3819 (font_make_spec, font_make_entity, font_make_object)
3820 (font_intern_prop): Renamed from intern_downcase. Don't downcase
3821 the string. Callers changed.
3822 (font_pixel_size): Adjusted for the format change of font-related
3823 objects.
3824 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
3825 (font_style_to_value, font_style_symbolic): New function.
3826 (build_font_family_alist): Delete it.
3827 (font_registry_charsets): Use Fassoc_string instead of
3828 assq_no_quit.
3829 (font_prop_validate_symbol): Don't return null_string.
3830 (font_prop_validate_style): Adjusted for the change of
3831 style-related values in a font vector.
3832 (font_property_table): Delete entries for QClanguage and
3833 QCantialias, add entries for QCavgwidth.
3834 (get_font_prop_index): Delete the 2nd argument FROM.
3835 (font_prop_validate): Arguments changed.
3836 (font_put_extra): Adjusted for the change of font-related objects.
3837 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
3838 (font_parse_fcname, font_unparse_fcname)
3839 (font_prepare_composition): Likewise.
3840 (font_parse_family_registry): Renamed from font_merge_old_spec.
3841 (otf_open): Delete the 1st arg entity.
3842 (font_otf_capability): Adjusted for the above change.
3843 (font_score): New arg alternate_families. Adjusted for the change
3844 of font-related objects.
3845 (font_sort_entites): New arg best_only.
3846 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
3847 Delete them.
3848 (font_match_p): Check alternate families.
3849 (font_find_object): Delete it.
3850 (font_check_object): New function.
3851 (font_clear_cache): Adjusted for the change of font-related objects.
3852 (font_delete_unmatched): New arg.
3853 (font_list_entities): Call font_driver->list with a spec that
3854 doesn't specify style-related properties.
3855 (font_matching_entity): Arguments changed. Caller changed.
3856 (font_open_entity): Adjusted for the change of font-related objects.
3857 (font_close_object, font_has_char, font_encode_char)
3858 (font_get_name, font_get_spec): Likewise.
3859 (font_spec_from_name, font_clear_prop, font_update_lface):
3860 New functions.
3861 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
3862 (font_prepare_for_face, font_done_for_face, font_open_by_name)
3863 (font_at): Adjusted for the change of font-related objects.
3864 (font_range): New function.
3865 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
3866 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
3867 (Fcopy_font_spec, Fmerge_font_spec): New function.
3868 (Ffont_family_list): Renamed from list-families.
3869 (Finternal_set_font_style_table): Arguments changed.
3870 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
3871 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
3872 change of font-related objects.
3873 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
3874
3875 * fontset.h (struct font_info): Delete it. Most members go to
3876 struct font.
3877 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
3878 (enum FONT_SPEC_INDEX): Delete it.
3879 (font_info, list_fonts_func, load_font_func, query_font_func)
3880 (set_frame_fontset_func, find_ccl_program_func)
3881 (get_font_repertory_func, new_fontset_from_font_name): Delete
3882 externs.
3883 (fontset_from_font_name): Extern it.
3884 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
3885 (FONT_INFO_FROM_FACE): Deleted.
3886 (face_for_font): Adjust prototype.
3887
3888 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
3889 conditionals. Don't check enable_font_backend. Delete all codes
3890 used only when USE_FONT_BACKEND is not defined.
3891 (get_font_info_func, list_font_func, load_font_func)
3892 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
3893 (get_font_repertory_func): Delete them.
3894 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
3895 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
3896 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
3897 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
3898 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
3899 (fontset_compare_rfontdef): New function.
3900 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
3901 ront-defs by qsort. Adjusted for the change of font-group vector.
3902 (load_font_get_repertory): Deleted.
3903 (fontset_find_font): Use new macros to ref/set elements of
3904 font-def and rfont-def.
3905 (fontset_font): Fix the timing of remembering that no font for C.
3906 (free_face_fontset): Do nothing if the face has no fontset.
3907 (face_suitable_for_char_p): Use new macros to ref/set elements of
3908 rfont-def.
3909 (face_for_char): Likewise. Call face_for_char with font_object.
3910 (fs_load_font): Delete. Delete #pragma surrounding it.
3911 (fs_query_fontset): Use strcasecmp instead of strcmp.
3912 (generate_ascii_font_name): Adjusted for the format change of
3913 font-spec.
3914 (Fset_fontset_font): Likewise. Use new macros to set elements of
3915 font-def.
3916 (Fnew_fontset): Use font_unparse_xlfd to generate
3917 FONTSET_ASCII (fontset).
3918 (new_fontset_from_font_name): Deleted.
3919 (fontset_from_font): Renamed from new_fontset_from_font. Check if
3920 a fontset is already created for the font. FIx updating of
3921 Vfontset_alias_alist.
3922 (fontset_ascii_font): Deleted.
3923 (Ffont_info): Adjusted for the format change of font-spec.
3924 (Finternal_char_font): Likewise.
3925 (Ffontset_info): Likewise.
3926 (syms_of_fontset): Don't check load_font_func.
3927
3928 * fns.c (internal_equal): Handle PREV_FONT.
3929
3930 * frame.h: Delete USE_FONT_BACKEND conditional.
3931
3932 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
3933 conditionals. Don't check enable_font_backend. Delete all codes
3934 used only when USE_FONT_BACKEND is not defined.
3935 (x_set_font): Call x_new_font, not x_new_fontset2.
3936 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
3937 already set for the frame.
3938
3939 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
3940 a font-entity by font_make_entity. Use font_intern_prop instead
3941 of intern_downcase. Use FONT_SET_STYLE to set a style-related
3942 font property. If a font is scalable, set avgwidth property to 0.
3943 Set font-entity property by font_put_extra.
3944 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
3945 (ffont_driver): Adjusted for the change of struct font_driver.
3946 (ftfont_spec_pattern): New function.
3947 (ftfont_list): Return a list, not vector.
3948 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
3949 (ftfont_list_family): Don't downcase names.
3950 (ftfont_free_entity): Deleted.
3951 (ftfont_open): Return a font-ojbect. Adjusted for the change of
3952 struct font. Get underline_thickness and underline_position from
3953 font property. Don't update dpyinfo->smallest_font_height and
3954 dpyinfo->smallest_char_width.
3955 (ftfont_close): Don't free `struct font'.
3956 (ftfont_has_char): Adjusted for the format change of font-entity.
3957 (ftfont_encode_char, ftfont_text_extents): Likewise.
3958
3959 * ftxfont.c (ftxfont_list): Return a list, not vector.
3960 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
3961 struct font. Get underline_thickness and underline_position from
3962 font property. Don't update dpyinfo->smallest_font_height and
3963 dpyinfo->smallest_char_width.
3964 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
3965 (ftxfont_draw): Adjusted for the change of struct font.
3966
3967 * image.c (image_ascent): Don't include "charset.h". Include
3968 "character.h" and "font.h".
3969
3970 * lisp.h (enum pvec_type): New member PREV_FONT.
3971 (Fassoc_string): EXFUN it.
3972
3973 * print.c: Include font.h.
3974 (print_object): Handle font-related objects.
3975
3976 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
3977 conditionals. Don't check enable_font_backend. Delete all codes
3978 used only when USE_FONT_BACKEND is not defined.
3979 (handle_auto_composed_prop): Do nothing if it->f is not on a
3980 window system. Check how many following characters can be
3981 displayed by the same font.
3982 (calc_pixel_width_or_height): Type of the 4th arg is changed to
3983 'struct font *'.
3984 (get_char_face_and_encoding): Assign the whole encoding task to
3985 the `encode-char' method of a font driver.
3986 (fill_composite_glyph_string): Adjusted for the change of `struct
3987 face' and `struct glyph_string'.
3988 (fill_glyph_string): Likewise.
3989 (get_per_char_metric): Arguments changed.
3990 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
3991 and `struct glyph_string'.
3992 (produce_stretch_glyph, calc_line_height_property)
3993 (x_produce_glyphs): Likewise.
3994
3995 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
3996 conditionals. Don't check enable_font_backend. Delete all codes
3997 used only when USE_FONT_BACKEND is not defined. Use
3998 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
3999 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
4000 (Qp): Extern them.
4001 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
4002 Deleted.
4003 (struct font_name): Deleted.
4004 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
4005 (compare_fonts_by_sort_order): New function.
4006 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
4007 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
4008 Deleted.
4009 (Fx_family_fonts): Use font_list_entities, and sort fonts by
4010 compare_fonts_by_sort_order.
4011 (Fx_font_family_list): Call Ffont_family_list.
4012 (face_numeric_value, face_numeric_weight, face_numeric_slant)
4013 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
4014 (face_symbolic_slant, face_symbolic_swidth)
4015 (split_font_name_into_vector, build_font_name_from_vector)
4016 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
4017 (font_rescale_ratio, split_font_name, build_font_name)
4018 (free_font_names, sort_fonts, x_face_list_fonts)
4019 (face_font_available_p, sorted_font_list, cmp_font_names)
4020 (font_list_1, concat_font_list, font_list, remove_duplicates):
4021 Deleted.
4022 (Fx_list_fonts): Use Ffont_list.
4023 (LFACE_AVGWIDTH): Deleted.
4024 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
4025 by FONTP.
4026 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4027 (set_lface_from_font_name): Delete it.
4028 (set_lface_from_font): Renamed from
4029 set_lface_from_font_and_fontset. Caller changed. Don't set
4030 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
4031 for face.
4032 (merge_face_vectors): Copy font-spec if necessary.
4033 Clear properties of the font-spec if necessary.
4034 (merge_face_ref): Clear properties of the font-spec if necessary.
4035 (Finternal_set_lisp_face_attribute): Likewise.
4036 (set_font_frame_param): Use font_load_for_lface to load a
4037 font-object, and call Fmodify_frame_parameters with it.
4038 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
4039 font name by Ffont_xlfd_name.
4040 (Finternal_lisp_face_attribute_values): Don't check QCweight,
4041 QCslant, and QCwidth.
4042 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
4043 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
4044 Compare fonts by EQ.
4045 (lookup_non_ascii_face): Deleted.
4046 (face_for_font): The 2nd argument changed.
4047 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
4048 Check atomic font properties by case insensitive.
4049 (realize_non_ascii_face): Set face->overstrike correctly.
4050 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
4051 (dump_realized_face): Get font name from
4052 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
4053
4054 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
4055 conditionals. Don't check enable_font_backend. Delete all codes
4056 used only when USE_FONT_BACKEND is not defined.
4057 (xic_create_xfontset): Original code deleted and renamed from
4058 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
4059 (x_make_gc): Don't set GCFont in GCs.
4060 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
4061 opened by "fixed".
4062 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
4063 find_ccl_program_func, query_font_func, set_frame_fontset_func,
4064 get_font_repertory_func.
4065
4066 * xfont.c: Include <stdlib.h> and "ccl.h".
4067 (struct xfont_info): New structure.
4068 (xfont_query_font): Deleted.
4069 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
4070 moved from xterm.c.
4071 (xfont_driver): Adjusted for the change of struct font_driver.
4072 (compare_font_names): New function.
4073 (xfont_list_pattern): Sort font names case insensitively. Make
4074 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
4075 (xfont_list): Return a list, not vector.
4076 (xfont_match): If the font doesn't have QCname property, generate
4077 a name from the other font properties.
4078 (xfont_open): Return a font-ojbect. Adjusted for the change of
4079 struct font. Get underline_thickness and underline_position from
4080 font property. Don't update dpyinfo->smallest_font_height and
4081 dpyinfo->smallest_char_width.
4082 (xfont_close): Don't free struct font.
4083 (xfont_prepare_face): Adjusted for the change of struct font.
4084 (xfont_done_face): Deleted.
4085 (xfont_has_char): Adjusted for the change of struct font.
4086 (xfont_encode_char, xfont_draw): Likewise.
4087 (xfont_check): New function.
4088
4089 * xftfont.c (xftfont_list): Adjusted for the change of `list'
4090 callback function.
4091 (xftfont_match): Adjusted for the fontmat change of font-entity.
4092 (xftfont_open): Adjusted for the format change of font-entity and
4093 font-object. Adjusted for the change of struct font. Return a
4094 font-object. Don't update dpyinfo->smallest_font_height and
4095 dpyinfo->smallest_char_width.
4096 (xftfont_close): Block input while calling XftFontClose.
4097 (xftfont_prepare_face): Don't block input while calling
4098 xftfont_get_colors. Adjusted for the change of struct font.
4099 (xftfont_shape): Return value of error case fixed.
4100
4101 * xrdb.c (x_load_resources): Don't setup a fontset resource.
4102
4103 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
4104 conditionals.
4105 (FONT_WIDTH): Return (f)->max_width.
4106 (struct x_display_info): Delete member `font'.
4107 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
4108 (x_find_ccl_program, x_get_font_repertory): Delete externs.
4109 (struct x_output): Change type of `font' to `struct font *'.
4110
4111 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
4112 conditionals. Don't check enable_font_backend. Delete all codes
4113 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
4114 (x_per_char_metric, x_encode_char): Deleted.
4115 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
4116 (x_compute_glyph_string_overhangs): Adjusted for the change of
4117 `struct face'.
4118 (x_draw_glyph_string_foreground)
4119 (x_draw_composite_glyph_string_foreground): Likewise.
4120 (x_draw_glyph_string): Likewise. Use font->underline_position and
4121 font->underline_thickness.
4122 (x_new_font): Renamed from x_new_fontset2.
4123 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
4124 (x_check_font): Call `check' method of a font driver.
4125 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
4126 (x_query_font, x_get_font_repertory): Deleted.
4127 (x_find_ccl_program): Renamed and moved to xfont.c.
4128 (x_redisplay_interface): Adjusted for the change of `struct
4129 redisplay_interface'.
4130
4131 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
4132 conditionals. Don't check enable_font_backend. Delete all codes
4133 used only when USE_FONT_BACKEND is not defined. Surround non-used
4134 code by "#ifdef OLD_FONT" and "endif".
4135 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
4136
4137 * w32font.h (struct w32font_info): New member.
4138 (FONT_COMPAT): New macro.
4139 (w32font_open_internal): Prototype adjusted.
4140
4141 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
4142 OLD_FONT" and "endif".
4143
4144 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
4145 conditionals. Don't check enable_font_backend. Delete all codes
4146 used only when USE_FONT_BACKEND is not defined.
4147 (w32font_open): Return a font-object. Make a font-object by
4148 font_make_object. Adjusted for the change of struct w32font_info.
4149 (w32font_close): Don't free struct font. Adjusted for the change
4150 of struct w32font_info.
4151 (w32font_encode_char, w32font_text_extents, w32font_draw):
4152 Adjusted for the change of struct w32font_info.
4153 (w32font_draw): Likewise.
4154 (w32font_list_internal): Return a list, not vector.
4155 (w32font_open_internal): Change the 4th arg to font-object.
4156 Adjusted for the change of struct w32font_info and font-object format.
4157 (add_font_name_to_list): Don't downcase names.
4158 (w32_enumfont_pattern_entity): Make a font-entity by
4159 font_make_entity. Adjusted for the format change of font-entity.
4160 Use FONT_SET_STYLE to set a style-related font property. If a
4161 font is scalable, set avgwidth property to 0. Set font-entity
4162 property by font_put_extra.
4163 (font_matches_spec): Adjusted for the format change of font-entity.
4164 (w32_weight_table, w32_decode_weight): New variables.
4165 (w32_encode_weight): New function.
4166 (fill_in_logfont): Adjusted for the format change of font-spec.
4167 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
4168 weight value.
4169 (w32font_driver): Adjusted for the change of struct font_driver.
4170
4171 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
4172 conditionals. Don't check enable_font_backend. Surround non-used
4173 code by "#ifdef OLD_FONT" and "endif".
4174 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
4175 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
4176
4177 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
4178 conditionals. Don't check enable_font_backend. Delete all codes
4179 used only when USE_FONT_BACKEND is not defined. Surround non-used
4180 code by "#ifdef OLD_FONT" and "endif".
4181
4182 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
4183 (uniscribe_open): Return value changed to font-object.
4184 Adjusted for the format change of font-object.
4185 (uniscribe_otf_capability): Adjusted for the change of struct font.
4186 (add_opentype_font_name_to_list): Don't downcase names.
4187 (uniscribe_font_driver): Adjusted for the change of struct
4188 font_driver.
4189
4190 2008-05-13 Chong Yidong <cyd@stupidchicken.com>
4191
4192 * dispnew.c (update_frame_1): Check if tty output is still valid
4193 before flushing it.
4194
4195 2008-05-13 Jan Djärv <jan.h.d@swipnet.se>
4196
4197 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
4198 to Gtk+ menus.
4199
4200 2008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
4201
4202 * dired.c (file_name_completion): Tweak the code so as to always do it
4203 in a single pass. Tighten the scope of some variables.
4204
4205 * dired.c (Qdefault_directory): New var.
4206 (file_name_completion): Use it instead of Fexpand_file_name.
4207 (syms_of_dired): Initialize it.
4208
4209 2008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
4210
4211 * fileio.c (double_dollars): Remove dead code.
4212
4213 2008-05-10 Eli Zaretskii <eliz@gnu.org>
4214
4215 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
4216 Mention w32-get-true-file-attributes in doc string.
4217
4218 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
4219
4220 2008-05-09 Glenn Morris <rgm@gnu.org>
4221
4222 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
4223 2008-04-23.
4224
4225 2008-05-09 Eli Zaretskii <eliz@gnu.org>
4226
4227 Support for reporting owner and group of each file on MS-Windows:
4228 * dired.c (stat_uname, stat_gname): New functions, with special
4229 implementation for w32.
4230 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
4231
4232 * w32.c: Rename the_passwd_* to dflt_passwd_*.
4233 (dflt_group_name): New static variable.
4234 (dflt_group): Rename from the_group.
4235 (init_user_info): Init dflt_group fields. Get user's group name
4236 from LookupAccountSid.
4237 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
4238 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
4239 New initialization states.
4240 (globals_of_w32): Initialize them to zero. Initialize the default
4241 group name to "None".
4242 (GetFileSecurity_Name): New global var, the name of the function
4243 to call for GetFileSecurity.
4244 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
4245 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
4246 (get_file_security, get_security_descriptor_owner)
4247 (get_security_descriptor_group, is_valid_sid)
4248 (get_file_security_desc, get_rid, get_name_and_id)
4249 (get_file_owner_and_group): New functions.
4250 (stat): Use get_file_security_desc and get_file_owner_and_group to
4251 report the owner and primary group of each file. Don't ignore the
4252 high 32 bits of file's size, now that st_size is 64-bit wide.
4253 Fix test when to get true file attributes.
4254 (init_user_info): Use get_rid instead of equivalent inline code.
4255 (fstat): Don't ignore the high 32 bits of file's size.
4256
4257 2008-05-09 Chong Yidong <cyd@stupidchicken.com>
4258
4259 * image.c (png_load): Use correct bit-depth for setting background
4260 color.
4261
4262 2008-05-08 Eli Zaretskii <eliz@gnu.org>
4263
4264 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
4265 epa-hook.elc.
4266
4267 2008-05-08 Juanma Barranquero <lekktu@gmail.com>
4268
4269 * font.c (Ffont_match_p): Don't use `iff' in docstring.
4270
4271 2008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
4272
4273 * macfns.c (Fx_create_frame): Make a copy of frame parameters
4274 because the original parameters are in pure storage now.
4275 (mac_window): Remove unused params. Update callers.
4276
4277 2008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
4278
4279 * lread.c (substitute_object_recurse): Use lower-level primitives.
4280 Don't signal errors when traversing sub-char-tables.
4281 Don't loop over all the possible characters when traversing char-tables.
4282
4283 * print.c (print_preprocess): Add sub-char-tables to the print-table,
4284 just like we do in print.c.
4285
4286 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
4287
4288 * minibuf.c (Ftry_completion): Remove code left over from when we used
4289 scmp instead of Fcompare_strings.
4290
4291 2008-05-04 Juanma Barranquero <lekktu@gmail.com>
4292
4293 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
4294
4295 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4296
4297 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
4298 Create bitmap context in native byte order.
4299
4300 * macterm.c (XDrawLine)
4301 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
4302 context in native byte order.
4303
4304 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4305
4306 * config.in: Regenerate.
4307
4308 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
4309 New definitions for Image I/O support.
4310 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
4311 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
4312 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
4313 (mac_data_provider_release_data, image_load_image_io)
4314 [USE_MAC_IMAGE_IO]: New functions.
4315 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
4316 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
4317 (init_image_func_pointer) [MAC_OSX]: Remove function.
4318 (image_load_quartz2d) [MAC_OSX]: Check availability of
4319 CGImageCreateWithPNGDataProvider at compile time.
4320 Use lowercase `false' for boolean constant.
4321 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
4322 Use image_load_image_io.
4323 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
4324 Don't check MyCGImageCreateWithPNGDataProvider.
4325 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
4326 Don't call init_image_func_pointer.
4327
4328 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
4329
4330 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
4331 Make variable non-static.
4332 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
4333 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
4334
4335 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
4336 (RED_FROM_ULONG): Mask off higher bits.
4337 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
4338
4339 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
4340 Include AvailabilityMacros.h.
4341 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
4342 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
4343
4344 2008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
4345
4346 * chartab.c (Fset_char_table_range): If range is t, really set all
4347 chars to that value.
4348
4349 2008-05-03 Eli Zaretskii <eliz@gnu.org>
4350
4351 * dired.c (Ffile_attributes): Don't allow the device number become
4352 negative.
4353
4354 2008-05-02 Daiki Ueno <ueno@unixuser.org>
4355
4356 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
4357
4358 2008-05-02 Juri Linkov <juri@jurta.org>
4359
4360 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
4361 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
4362 DEFAULT argument as a list of default values in docstrings.
4363
4364 2008-05-01 Chong Yidong <cyd@stupidchicken.com>
4365
4366 * puresize.h (BASE_PURESIZE): Increase to 1210000.
4367
4368 2008-05-01 Martin Rudalics <rudalics@gmx.at>
4369
4370 * dispnew.c (change_frame_size_1): Preserve small windows when
4371 shrinking frames by calling set_window_height|width with third
4372 arg 2.
4373
4374 * window.h (struct window): Replace field too_small_ok by field
4375 resize_proportionally.
4376
4377 * window.c (make_window): Initialize resize_proportionally.
4378 (enlarge_window): Temporarily set resize_proportionally to make
4379 sure that shrink_windows does scale the window proportionally.
4380 (shrink_windows): When window has resize_proportionally set try
4381 to shrink it proportionally by stealing from other windows.
4382 (struct saved_window, Fset_window_configuration)
4383 (compare_window_configurations): Handle resize_proportionally.
4384 (WINDOW_TOTAL_SIZE): New macro.
4385 (window_min_size, shrink_windows, size_window): Use it.
4386 (check_min_window_sizes): Remove. Invalid values of
4387 window-min-height|width are handled by window_min_size_2 now.
4388 (size_window, Fsplit_window, enlarge_window)
4389 (adjust_window_trailing_edge, grow_mini_window): Don't call
4390 check_min_window_sizes.
4391 (window_min_size_2, window_min_size_1, window_min_size):
4392 New argument safe_p for retrieving "safe" minimum sizes.
4393 (Fdisplay_buffer, Fsplit_window, enlarge_window)
4394 (adjust_window_trailing_edge, grow_mini_window):
4395 Adjust arguments of window_min_size... functions.
4396 (shrink_windows): Argument min_size removed. New argument
4397 safe_p allows shrinking windows to their safe minimum sizes.
4398 Calculate minimum size and decide whether a window shall be
4399 deleted for each window individually.
4400 (size_window): When nodelete_p equals 2, tell shrink_windows to
4401 delete windows only if their new minimum size is no more safe.
4402 (shrink_window_lowest_first): Call window_min_size_1 to make
4403 sure to preserve modeline of bottom-most window when resizing
4404 the minibuffer.
4405 (Fset_window_configuration, Fcurrent_window_configuration)
4406 (compare_window_configurations): Do not handle
4407 window-min-height|width any more.
4408 (syms_of_window): Clarify window-min-height|width doc-strings.
4409
4410 2008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
4411
4412 * dired.c (file_name_completion): Fix up the encoding/decoding issue
4413 some more. Copy some of the code from Ftry_completions.
4414 Remove special case code that dates back to initial revision when the
4415 slash was only added when necessary and that can't trigger nowadays.
4416
4417 2008-04-27 Kenichi Handa <handa@m17n.org>
4418
4419 * font.c (font_prop_validate): Signal `error' instead of `font'.
4420
4421 2008-04-29 Jason Rumney <jasonr@gnu.org>
4422
4423 * w32fns.c (Fw32_battery_status): New defun.
4424 (syms_of_w32fns): Defsubr it.
4425
4426 2008-04-28 Andreas Schwab <schwab@suse.de>
4427
4428 * dired.c (file_name_completion): Fix another mixing of encoded
4429 and decoded names.
4430
4431 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
4432
4433 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
4434
4435 2008-04-27 Juanma Barranquero <lekktu@gmail.com>
4436
4437 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
4438
4439 2008-04-27 Andreas Schwab <schwab@suse.de>
4440
4441 * dired.c (file_name_completion): Fix inappropriate mixing of
4442 encoded and decoded names.
4443
4444 * xterm.c (XTread_socket): Fix use of uninitialized variable.
4445
4446 * puresize.h (BASE_PURESIZE): Increase to 1200000.
4447
4448 2008-04-26 Eli Zaretskii <eliz@gnu.org>
4449
4450 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
4451 2008-03-31, it's not needed anymore with `struct stat' definition
4452 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
4453 for the same reasons.
4454
4455 2008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
4456
4457 * m/sparc.h: Additional redefinitions for GNU/Linux.
4458
4459 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4460
4461 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
4462 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
4463 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
4464 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
4465 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
4466 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
4467 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
4468 Likewise.
4469
4470 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
4471 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
4472 (mac_ax_number_of_characters): Add externs.
4473 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
4474 [USE_MAC_TSM]: Likewise.
4475 (mac_handle_text_input_event) [MAC_OSX]:
4476 Handle kEventTextInputOffsetToPos for no active input area case.
4477 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
4478 (mac_handle_document_access_event)
4479 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
4480 (install_application_handler) [MAC_OSX]: Register handlers for
4481 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
4482 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
4483 Register mac_handle_document_access_event.
4484
4485 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
4486 Make functions non-static.
4487
4488 2008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
4489
4490 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
4491 (read_file_name_completion_ignore_case, insert_default_directory)
4492 (Qdefault_directory): Move to minibuffer.el.
4493 (Fread_file_name): Call the new `read-file-name' instead.
4494
4495 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4496
4497 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
4498 Make function non-static.
4499 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
4500 Remove function.
4501 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
4502 Move to mactoolbox.c.
4503 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
4504
4505 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
4506 (mac_rect_make): New macro.
4507
4508 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
4509 instead of float.
4510 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
4511 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
4512 (XSetBackground) [USE_CG_DRAWING]: Likewise.
4513 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
4514 CGRectMake.
4515 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
4516 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
4517 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
4518 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
4519 instead of WindowRef in argument type.
4520 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
4521 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
4522 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
4523 instead of DISPLAY. All uses changed.
4524 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
4525 (x_calc_absolute_position): Simplify so as not to use
4526 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
4527
4528 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
4529 instead of WindowRef in argument type.
4530 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
4531 [TARGET_API_MAC_CARBON]: Remove externs.
4532 (create_apple_event, mac_event_parameters_to_lisp)
4533 [TARGET_API_MAC_CARBON]: Add externs.
4534
4535 * mactoolbox.c (Vmac_ts_script_language_on_focus)
4536 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
4537 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
4538 is clicked.
4539 (x_activate_menubar): Remove extern for saved_menu_event_location.
4540 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
4541 Move from mac.c.
4542
4543 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4544
4545 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
4546 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
4547
4548 2008-04-23 Jason Rumney <jasonr@gnu.org>
4549
4550 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
4551 attributes only for local files.
4552
4553 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
4554 default to Qlocal.
4555
4556 2008-04-22 Juri Linkov <juri@jurta.org>
4557
4558 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
4559 read-buffer-to-switch instead of using the letter "B".
4560
4561 2008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
4562
4563 * fileio.c (Qdefault_directory): New variable.
4564 (Fread_file_name): Use it to pass `dir' to the completion functions.
4565
4566 2008-04-20 Chong Yidong <cyd@stupidchicken.com>
4567
4568 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
4569
4570 2008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
4571
4572 * keyboard.c (Vpre_help_message): Remove.
4573 (show_help_echo): Remove default C code.
4574
4575 * dired.c (directory_files_internal, file_name_completion):
4576 Only call ENCODE_FILE if the string is indeed decoded.
4577
4578 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
4579
4580 * Makefile.in (TOOLKIT_DEFINES): Remove.
4581 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
4582
4583 2008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4584
4585 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
4586 (mactoolbox.o): New target.
4587
4588 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
4589 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
4590
4591 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
4592 Use mac_set_frame_window_background instead of XSetWindowBackground.
4593 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
4594 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
4595 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
4596 instead of SetWindowTitleWithCFString.
4597 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
4598 Move function to mactoolbox.c.
4599 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
4600 Use mac_set_window_modified instead of SetWindowModified.
4601 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
4602 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
4603 (Fx_focus_frame): Use mac_front_non_floating_window instead of
4604 FrontNonFloatingWindow. Use mac_activate_window instead of
4605 ActivateWindow. Use mac_active_non_floating_window instead of
4606 ActiveNonFloatingWindow.
4607 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
4608 Use mac_show_hourglass and mac_hide_hourglass.
4609 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
4610 instead of GetGlobalMouse.
4611 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
4612 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
4613 Use mac_bring_window_to_front instead of BringToFront.
4614 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
4615 mactoolbox.c.
4616 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
4617 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
4618 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
4619 mactoolbox.c.
4620
4621 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
4622 (XtPointer): Move typedef from macmenu.c.
4623 (enum button_type): Move enum from macmenu.c.
4624 (widget_value): Move typedef from macmenu.c.
4625 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
4626 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
4627 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
4628 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
4629 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
4630 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
4631 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
4632 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
4633 (Selection): Move typedef from macselect.c.
4634 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
4635 macterm.c.
4636 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
4637 (mac_is_window_collapsed, mac_bring_window_to_front)
4638 (mac_send_window_behind, mac_hide_window, mac_show_window)
4639 (mac_collapse_window, mac_front_non_floating_window)
4640 (mac_active_non_floating_window, mac_activate_window)
4641 (mac_move_window_structure, mac_move_window, mac_size_window)
4642 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
4643
4644 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
4645 (enum mac_menu_kind): Move enum to mactoolbox.c.
4646 (min_menu_id): Move variable to mactoolbox.c.
4647 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
4648 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
4649 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
4650 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
4651 [TARGET_API_MAC_CARBON]: Likewise.
4652 (XtPointer): Move typedef to macgui.h.
4653 (enum button_type): Move enum to macgui.h.
4654 (widget_value): Move typedef to macgui.h.
4655 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
4656 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
4657 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
4658 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
4659 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
4660 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
4661 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
4662 (popup_activated_flag): Make variable non-static.
4663 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
4664 (add_menu_item, fill_menu, dispose_menus):
4665 Move functions to mactoolbox.c.
4666 (restore_show_help_function, menu_target_item_handler)
4667 (install_menu_target_item_handler, mac_handle_dialog_event)
4668 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
4669 [TARGET_API_MAC_CARBON]: Likewise.
4670 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
4671 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
4672 (find_and_call_menu_selection, name_is_separator): Make function
4673 non-static.
4674 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
4675 to mactoolbox.c.
4676 (set_frame_menubar): Don't call install_menu_quit_handler.
4677 (menu_item_selection): New variable.
4678 (mac_menu_show): Use create_and_show_popup_menu.
4679 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
4680 selection but set variable menu_item_selection. All uses changed.
4681 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
4682 Call install_menu_quit_handler. Move to mactoolbox.c.
4683
4684 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
4685 (Selection): Move typedef to macgui.h.
4686 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
4687 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
4688 Make variables non-static.
4689 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
4690 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
4691 Make functions non-static.
4692 (Vmac_service_selection) [MAC_OSX]: Likewise.
4693 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
4694 (mac_valid_selection_target_p, mac_clear_selection)
4695 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
4696 (mac_put_selection_value, mac_selection_has_target_p)
4697 (mac_get_selection_value, mac_get_selection_target_list)
4698 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
4699 Move functions to mactoolbox.c.
4700 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
4701 Likewise.
4702 (copy_scrap_flavor_data, mac_handle_service_event)
4703 (install_service_handler) [MAC_OSX]: Likewise.
4704 (syms_of_macselect) <Vmac_dnd_known_types>:
4705 Use mac_dnd_default_known_types.
4706
4707 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
4708 Move to mactoolbox.c.
4709 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
4710 (Fx_selection_owner_p): Add EXFUN.
4711 (install_window_handler, remove_window_handler, XSetWindowBackground):
4712 Remove externs.
4713 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
4714 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
4715 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
4716 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
4717 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
4718 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
4719 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
4720 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
4721 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
4722 (create_and_show_popup_menu, mac_get_selection_from_symbol)
4723 (mac_valid_selection_target_p, mac_clear_selection)
4724 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
4725 (mac_put_selection_value, mac_selection_has_target_p)
4726 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
4727 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
4728 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
4729 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
4730 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
4731 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
4732 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
4733 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
4734 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
4735
4736 * mactoolbox.c: New file.
4737
4738 2008-04-18 Jason Rumney <jasonr@gnu.org>
4739
4740 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
4741
4742 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
4743
4744 * character.c (Fmultibyte_char_to_unibyte):
4745 Return latin1 chars unchanged.
4746
4747 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
4748 relocated if it points to `name'.
4749
4750 2008-04-17 Kenichi Handa <handa@m17n.org>
4751
4752 * data.c (Faset): Allow setting a multibyte character in an
4753 ASCII-only unibyte string.
4754
4755 * lisp.h (STRING_SET_MULTIBYTE): New macro.
4756
4757 2008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
4758
4759 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
4760 done in config.h.
4761
4762 2008-04-16 Juanma Barranquero <lekktu@gmail.com>
4763
4764 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
4765 (Fchar_direction): Add usage in the docstring.
4766
4767 2008-04-15 Chong Yidong <cyd@stupidchicken.com>
4768
4769 * keyboard.c (read_key_sequence): Remove always-true checks.
4770
4771 2008-04-14 Jason Rumney <jasonr@gnu.org>
4772
4773 * w32font.c (w32font_open_internal): Set max_bounds.descent in
4774 compatibility struct, for better underline positioning.
4775
4776 2008-04-13 David Hansen <david.hansen@gmx.net>
4777
4778 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
4779 string.
4780
4781 2008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
4782
4783 * m/hp800.h (XUINT, XSET): Remove.
4784
4785 2008-04-12 Juanma Barranquero <lekktu@gmail.com>
4786
4787 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
4788 previous change.
4789
4790 2008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
4791
4792 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
4793 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
4794
4795 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
4796
4797 * keymap.h (map_keymap_canonical): Declare.
4798 * xmenu.c (single_keymap_panes): Use it.
4799
4800 2008-04-11 Glenn Morris <rgm@gnu.org>
4801
4802 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
4803 set the target's value to that of the alias.
4804
4805 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
4806
4807 * term.c (set_tty_color_mode): Left over typo.
4808
4809 2008-04-10 Michael Albinus <michael.albinus@gmx.de>
4810
4811 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
4812 only after check for file name handler functions. Signal, when
4813 native functionality is not supported.
4814 (syms_of_fileio): Declare it unconditionally.
4815
4816 2008-04-10 Jason Rumney <jasonr@gnu.org>
4817
4818 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
4819 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
4820
4821 * w32.c (logon_network_drive): Also logon to remote drives that
4822 are mapped to drive letters.
4823
4824 2008-04-10 Glenn Morris <rgm@gnu.org>
4825
4826 * xdisp.c (truncate-partial-width-windows): Doc fix.
4827
4828 2008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
4829
4830 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
4831 Move functions to minibuffer.el.
4832 (syms_of_fileio): Don't declare them.
4833
4834 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
4835
4836 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
4837 (syms_of_minibuf): Remove its initialization.
4838
4839 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
4840
4841 2008-04-09 Juanma Barranquero <lekktu@gmail.com>
4842
4843 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
4844
4845 2008-04-09 Jason Rumney <jasonr@gnu.org>
4846
4847 * makefile.w32-in (distclean): Delete makefile too.
4848 (maintainer-clean): New target.
4849
4850 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
4851
4852 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
4853 for new font backend and composite cases.
4854
4855 2008-04-09 Jan Djärv <jan.h.d@swipnet.se>
4856
4857 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
4858 Most of the code moved to run_timers.
4859 (do_pending_atimers): Call run_timers.
4860 (run_timers): New function.
4861
4862 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
4863 run atimers.
4864
4865 * process.c (wait_reading_process_output): The same as above.
4866
4867 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
4868
4869 * minibuf.c (last_exact_completion): Remove variable.
4870 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
4871 (complete_and_exit_1, complete_and_exit_2)
4872 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
4873 (Fdisplay_completion_list, display_completion_list_1)
4874 (Fminibuffer_completion_help, Fself_insert_and_exit)
4875 (Fexit_minibuffer, Fminibuffer_message): Move functions to
4876 minibuffer.el.
4877 (syms_of_minibuf): Remove corresponding initializations.
4878
4879 * keyboard.c (Qdeactivate_mark): New var.
4880 (command_loop_1): Use it to call `deactivate-mark'.
4881 (syms_of_keyboard): Initialize it.
4882
4883 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
4884 to another frame.
4885 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
4886 Don't call set_tty_color_mode.
4887 (store_frame_param): Reset previous_frame rather than call
4888 set_tty_color_mode.
4889 * term.c (set_tty_color_mode): Rewrite.
4890 * dispextern.h (set_tty_color_mode): New type.
4891 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
4892
4893 2008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
4894
4895 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
4896 for generic chars, which do not exist any more in emacs-unicode.
4897
4898 2008-04-08 Michael Albinus <michael.albinus@gmx.de>
4899
4900 * coding.c (detect_coding_emacs_mule)
4901 (Ffind_operation_coding_system): Fix typo.
4902
4903 2008-04-08 Jason Rumney <jasonr@gnu.org>
4904
4905 * w32uniscribe.c (SNAME): Extract only symbol name.
4906
4907 * w32font.h (struct w32_metric_cache): New struct.
4908 (w32font_info): Use it.
4909 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
4910 (CACHE_BLOCKSIZE): New constants.
4911
4912 * w32font.c (Qja, Qko, Qzh): New symbols.
4913 (syms_of_w32font): Initialise them.
4914 (font_matches_spec): Use them to filter by language.
4915 (recompute_cached_metrics): Remove function.
4916 (compute_metrics, clear_cached_metrics): New functions.
4917 (w32font_encode_char): Use them to manage metric cache.
4918 (w32font_text_extents): Cache metrics for all glyphs on demand.
4919 Delay converting glyph indices to WORD until needed.
4920 (w32font_open_internal): Initialize metric cache to empty.
4921 (registry_to_w32_charset): Charset should always be a symbol.
4922 (fill_in_logfont, list_all_matching_fonts): Family should
4923 always be a symbol.
4924
4925 2008-04-06 Jason Rumney <jasonr@gnu.org>
4926
4927 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
4928 Give up if glyph indices not supported. Use uniscribe obtained
4929 ABC widths for individual metrics. Map glyph clusters back to
4930 characters using fClusterStart flag. Return number of glyphs
4931 produced, not chars processed.
4932 (uniscribe_shape): Map char at FROM to current glyph.
4933
4934 2008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4935
4936 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
4937 Use SetMenuItemHierarchicalMenu.
4938
4939 2008-04-05 Jason Rumney <jasonr@gnu.org>
4940
4941 * image.c (pbm_load): Allow color values up to 65535.
4942 Throw an error if max_color_idx is outside the supported range.
4943 Report an error when image size is invalid.
4944 Read two bytes at a time when raw images have max_color_idx above 255.
4945
4946 2008-04-05 Eli Zaretskii <eliz@gnu.org>
4947
4948 * w32.c (readdir): If FindFirstFile/FindNextFile return in
4949 cFileName a file name that includes `?' characters, use the 8+3
4950 alias in cAlternateFileName instead.
4951
4952 2008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
4953
4954 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
4955 append "CCL: Quitted" when the CCL program is quitted.
4956 (setup_ccl_program): Initialize ccl->quit_silently to zero.
4957
4958 * ccl.h (struct ccl_program): New member quit_silently.
4959
4960 2008-04-05 Chong Yidong <cyd@stupidchicken.com>
4961
4962 * search.c (compile_pattern_1): Treat non-nil and non-string of
4963 search-spaces-regexp as nil.
4964
4965 * minibuf.c (Fassoc_string): Tweak docstring.
4966
4967 2008-04-05 Eli Zaretskii <eliz@gnu.org>
4968
4969 * dired.c (Ffile_attributes): Support inode numbers wider than 32
4970 bits. Remove ugly WINDOWSNT-specific kludge introduced on
4971 2008-03-14 to force inode be positive.
4972
4973 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
4974 _S_* ones, since we now use our own sys/stat.h.
4975 (stat, fstat): Don't mangle the inode number.
4976 (init_user_info): Don't restrict UID and GID to 0-60000 range.
4977
4978 2008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
4979
4980 * frame.h (struct frame): Give one more bit to `visible' since we use
4981 values larger than 1 to indicate obscured frames on ttys.
4982
4983 * keymap.c (Qkeymap_canonicalize): New var.
4984 (Fmap_keymap_internal): New fun.
4985 (describe_map): Use keymap-canonicalize.
4986
4987 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
4988 (Fundo_boundary): Set them.
4989 (syms_of_undo): Initialize them.
4990 (record_point): Use them instead of last_point_position*.
4991 (last_undo_buffer): Change type.
4992
4993 2008-04-04 Jason Rumney <jasonr@gnu.org>
4994
4995 * w32font.c (w32font_text_extents): Use font's ascent and descent.
4996 (recompute_cached_metrics): Don't set ascent and descent per char.
4997
4998 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
4999 (uniscribe_check_otf): Add GC protection before consing.
5000 Rearrange loop for counting features.
5001
5002 2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
5003
5004 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
5005 buffer with byte-size of source buffer.
5006
5007 2008-04-03 Chong Yidong <cyd@stupidchicken.com>
5008
5009 * callint.c (Fcall_interactively): Handle temporary region even
5010 when shift-select-mode is off.
5011
5012 2008-04-03 Jason Rumney <jasonr@gnu.org>
5013
5014 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
5015
5016 2008-04-03 Kenichi Handa <handa@m17n.org>
5017
5018 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
5019 (CATEGORY_MASK_UTF_16): Likewise.
5020 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
5021 binary file.
5022 (detect_coding): Add null-byte detection for a binary file.
5023 (detect_coding_system): Likewise.
5024
5025 2008-04-03 Jason Rumney <jasonr@gnu.org>
5026
5027 * w32uniscribe.c: New file.
5028
5029 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
5030
5031 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
5032
5033 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
5034 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
5035 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
5036 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
5037 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
5038 (Qphonetic): New symbols.
5039 (syms_of_w32font): Initialize them.
5040 (font_supported_scripts): Use them.
5041 (w32font_list_family): List all charsets.
5042 (w32font_text_extents, recompute_cached_metrics): Fix metric
5043 calculations.
5044 (w32_enumfont_pattern_entity): Make full_type a DWORD.
5045 Give opentype fonts their own format.
5046 (font_matches_spec): New arguments backend and logfont.
5047 Handle :otf spec for uniscribe backend.
5048 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
5049 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
5050
5051 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
5052 font backend.
5053 (globals_of_w32fns): Initialize uniscribe font backend.
5054
5055 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
5056 dependencies.
5057 (w32uniscribe.$(O)): New file to build.
5058 (FONT_OBJ): Include w32uniscribe.$(O).
5059 (LIBS): Add uniscribe libraries.
5060
5061 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
5062
5063 2008-04-02 Chong Yidong <cyd@stupidchicken.com>
5064
5065 * callint.c (Vshift_select_mode): New var.
5066 (Finteractive): Document new ^ spec.
5067 (Fcall_interactively): Call handle-shift-selection if the ^ spec
5068 is present.
5069
5070 * keyboard.c (Vthis_command_keys_shift_translated): New var.
5071 (command_loop_1): Avoid running the direct display versions of
5072 forward-char and backward-char if shift-selection may occur.
5073 (read_key_sequence): Set Vthis_command_keys_shift_translated if
5074 shift-translation takes place.
5075
5076 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
5077 avoid clobbering by define-minor-mode.
5078
5079 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
5080 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
5081
5082 * syntax.c (Fforward_word): Add ^ interactive spec.
5083
5084 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
5085 (Fscroll_right): Add ^ interactive spec.
5086
5087 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
5088
5089 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
5090
5091 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
5092
5093 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
5094
5095 2008-03-31 Juri Linkov <juri@jurta.org>
5096
5097 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
5098
5099 2008-03-30 Jan Djärv <jan.h.d@swipnet.se>
5100
5101 * gtkutil.c (xg_set_geometry): Fix indentation.
5102 (xg_resize_outer_widget): Remove.
5103 (x_wm_size_hint_off): Fix indentation.
5104 (xg_frame_set_char_size): Call flush_and_sync after
5105 gtk_window_resize.
5106 (x_wm_set_size_hint): Pass NULL as geometry window to
5107 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
5108 Add menu bar and tool bar height to base height.
5109 (xg_update_frame_menubar, free_frame_menubar)
5110 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
5111 (update_frame_tool_bar, free_frame_tool_bar):
5112 Change xg_resize_outer_widget to xg_frame_set_char_size.
5113
5114 2008-03-30 Michael Albinus <michael.albinus@gmx.de>
5115
5116 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
5117 (Fdbus_call_method): New parameter TIMEOUT.
5118 (dbus-send-signal): Optimize UNGCPRO call.
5119
5120 2008-03-29 Juri Linkov <juri@jurta.org>
5121
5122 * window.c (Fdisplay_buffer): Move call to
5123 Vsplit_window_preferred_function out of conditions that check
5124 if window is eligible for vertical splitting.
5125 When Vsplit_window_preferred_function is non-nil, call it and use
5126 its non-nil return value as window. Otherwise, continue doing
5127 vertical splitting using Fsplit_window with arg horflag=nil.
5128 (syms_of_window) <Vsplit_window_preferred_function>: Change the
5129 default value from `split-window' to nil.
5130
5131 2008-03-29 Juri Linkov <juri@jurta.org>
5132
5133 * callint.c (Fcall_interactively): Revert 2008-03-16 change
5134 for interactive code letters 'b' and 'B'.
5135
5136 2008-03-29 Eli Zaretskii <eliz@gnu.org>
5137
5138 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
5139 multibyte string.
5140
5141 2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
5142
5143 * keyboard.c (pending_funcalls): New var.
5144 (timer_check): Run it.
5145 (syms_of_keyboard): Initialize it.
5146 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
5147 (Vdelete_terminal_functions): New vars.
5148 (syms_of_terminal): Initialize them.
5149 (Fdelete_terminal): Run delete-terminal-functions.
5150 * xdisp.c (safe_eval): Rewrite.
5151 (safe_call2): New fun.
5152 * frame.c (Qdelete_frame_functions): New var.
5153 (syms_of_frame): Initialize it.
5154 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
5155 * lisp.h (safe_call2, pending_funcalls): Declare.
5156
5157 2008-03-28 Andreas Schwab <schwab@suse.de>
5158
5159 * indent.c (Fmove_to_column): Move declaration before statements.
5160
5161 2008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
5162
5163 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
5164 (struct frame): Use bit fields for boolean vars.
5165
5166 * process.c (server_accept_connection): Simplify naming.
5167 (emacs_get_tty_pgrp): Use SDATA.
5168
5169 * coding.c (decode_coding_object): Fix last change.
5170
5171 2008-03-27 Jason Rumney <jasonr@gnu.org>
5172
5173 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
5174
5175 2008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
5176
5177 * charset.c (Fdefine_charset_internal): Change the way of
5178 registering charsets in Vcharset_order_list.
5179 (syms_of_charset): Make the charset `eight-bit' supplementary.
5180
5181 2008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
5182
5183 * regex.c (EXTEND_BUFFER): Change order of pointer addition
5184 operations, to avoid having the difference between pointers
5185 overflow.
5186
5187 2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
5188
5189 * indent.c (check_display_width): New fun.
5190 (scan_for_column): Use it.
5191
5192 * data.c (syms_of_data): Mark most-positive-fixnum and
5193 most-negative-fixnum as constants.
5194
5195 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
5196
5197 * indent.c (scan_for_column): Extract from current_column_1.
5198 Merge with the same code from Fmove_to_column.
5199 (current_column_1, Fmove_to_column): Use it.
5200
5201 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
5202
5203 * keymap.c (map_keymap_internal): New fun.
5204 (map_keymap): Use it.
5205 (Fmap_keymap_internal): New fun.
5206 (Fmap_keymap): Remove left-out test from before make_save_value.
5207
5208 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
5209
5210 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
5211 Use XCAR/XCDR.
5212
5213 * process.h (struct Lisp_Process): Remove filter_multibyte.
5214 * process.c (QCfilter_multibyte): Remove.
5215 (setup_process_coding_systems): Don't use filter_multibyte.
5216 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
5217 (read_process_output): Don't adjust multibyteness to filter_multibyte.
5218 (Fset_process_filter_multibyte): Change the coding-system to
5219 approximate the previous behavior.
5220 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
5221 coding-system.
5222
5223 * coding.c (decode_coding_object): When not decoding into a buffer,
5224 obey the coding system's preference of (uni|multi)byte.
5225
5226 2008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
5227
5228 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
5229 every char is changed and has a different byte-length.
5230 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
5231 Fix int -> EMACS_INT.
5232
5233 2008-03-23 David Hansen <david.hansen@gmx.net>
5234
5235 * dbusbind.c (xd_read_message): Remove extra copying of message
5236 strings. Check for NULL `interface' or `member'.
5237
5238 2008-03-22 Eli Zaretskii <eliz@gnu.org>
5239
5240 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5241 cFileName a file name that includes `?' characters, use the 8+3
5242 alias in cAlternateFileName instead.
5243
5244 2008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
5245
5246 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
5247
5248 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
5249
5250 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
5251 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
5252 work on current_buffer only instead (that was already the case
5253 for some of the code anyway).
5254 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
5255 (temp_set_point, temp_set_point_both): Use EMACS_INT.
5256 (SET_PT, SET_PT_BOTH): Adjust.
5257 * intervals.h (set_point, temp_set_point, set_point_both)
5258 (temp_set_point_both): Remove redundant declarations.
5259
5260 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
5261
5262 * fileio.c (Finsert_file_contents):
5263 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
5264 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
5265 when buffer != current_buffer anyway.
5266
5267 2008-03-20 Andreas Schwab <schwab@suse.de>
5268
5269 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
5270 as default.
5271
5272 2008-03-19 Jason Rumney <jasonr@gnu.org>
5273
5274 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
5275 (syms_of_w32fns): Initialize them.
5276 (HOURGLASS_ID): New constant.
5277 (x_window_to_frame): Don't check hourglass_window.
5278 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
5279 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
5280 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
5281 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
5282 Only change the cursor if hourglass is not active.
5283 (Fx_create_frame): Initialize frame's current_cursor.
5284 (hourglass_atimer): Remove.
5285 (hourglass_started): New function.
5286 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
5287 (show_hourglass): Adapt to w32, changing argument to frame.
5288
5289 * w32term.h (struct w32_output): Remove hourglass_window.
5290 Add current_cursor.
5291
5292 * eval.c (call_debugger, Fsignal):
5293 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
5294 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
5295 (Fexecute_extended_command, cancel_hourglass_unwind):
5296 * minibuf.c (read_minibuf):
5297 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
5298
5299 2008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
5300
5301 * window.c (run_funs): New fun.
5302 (run_window_configuration_change_hook): Use it to run the buffer-local
5303 and the global part of the hook.
5304
5305 * xdisp.c (format_mode_line_unwind_data): Add window argument.
5306 (unwind_format_mode_line): Restore selected window.
5307 (x_consider_frame_title, Fformat_mode_line): Set selected window.
5308
5309 2008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
5310
5311 * editfns.c (Fchar_equal): Check they are valid characters.
5312
5313 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
5314
5315 2008-03-17 Andreas Schwab <schwab@suse.de>
5316
5317 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
5318 against a charset.
5319
5320 * lisp.h (Fbuffer_list): Declare.
5321
5322 2008-03-17 Jan Djärv <jan.h.d@swipnet.se>
5323
5324 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
5325 handlebox_widget is != 0.
5326
5327 2008-03-16 Juri Linkov <juri@jurta.org>
5328
5329 * callint.c (Fcall_interactively): For interactive code letters
5330 'b' and 'B' put the buffer list into the list of default "future"
5331 values of the minibuffer.
5332
5333 2008-03-16 Andreas Schwab <schwab@suse.de>
5334
5335 * keyboard.c (read_key_sequence): Fix downcasing of letters with
5336 modifiers.
5337
5338 * regex.c (re_match_2_internal): Correct matching of a charset
5339 against latin-1 characters.
5340
5341 2008-03-16 Kenichi Handa <handa@m17n.org>
5342
5343 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
5344 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
5345 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
5346 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
5347 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
5348 CHAR_STRING_ADVANCE.
5349 (produce_chars): Fix for the case that the source and the
5350 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
5351 instead of CHAR_STRING_ADVANCE.
5352 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
5353 STRING_CHAR_ADVANCE.
5354
5355 2008-03-15 Andreas Schwab <schwab@suse.de>
5356
5357 * regex.c (re_match_2_internal): Correct matching of eight bit
5358 characters in unibyte strings.
5359
5360 2008-03-15 Martin Rudalics <rudalics@gmx.at>
5361
5362 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
5363 at end of range when it coincides with the end of the buffer.
5364
5365 2008-03-14 Eli Zaretskii <eliz@gnu.org>
5366
5367 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
5368
5369 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
5370
5371 2008-03-14 Jason Rumney <jasonr@gnu.org>
5372
5373 * editfns.c (initial_tz): New variable.
5374 (syms_of_editfns): Initialize it.
5375 (Fset_time_zone_rule): Set it when first called.
5376 Use it when TZSTRING is nil.
5377
5378 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
5379 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
5380 (monitor_from_point_fn, get_monitor_info_fn): New globals.
5381 (globals_of_w32fns): Initialize them.
5382 (compute_tip_xy): Use them to position tooltips.
5383
5384 2008-03-14 Glenn Morris <rgm@gnu.org>
5385
5386 * emacs.c (main): Revert previous change.
5387 (standard_args): Revert -internal-script back to -scriptload,
5388 and remove the long-option form.
5389
5390 2008-03-13 Glenn Morris <rgm@gnu.org>
5391
5392 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
5393 Remove option -enable-font-backend.
5394
5395 2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
5396
5397 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
5398
5399 2008-03-11 Jan Djärv <jan.h.d@swipnet.se>
5400
5401 * xterm.c (x_connection_closed): For GTK: If this is the last
5402 terminal just exit without closing the display.
5403
5404 2008-03-11 Jason Rumney <jasonr@gnu.org>
5405
5406 * w32font.c (w32font_full_name): Use floor to round.
5407
5408 2008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
5409
5410 * sound.c (alsa_configure): Declare vol at beginning of block.
5411
5412 * fontset.c (Ffontset_info): Remove extra semicolon.
5413
5414 2008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
5415
5416 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
5417 size of resulting string.
5418
5419 2008-03-10 Jason Rumney <jasonr@gnu.org>
5420
5421 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
5422
5423 2008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5424
5425 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
5426 Don't pretend as if characters with display property haven't been
5427 consumed for string-replacing-string case.
5428
5429 2008-03-08 Kim F. Storm <storm@cua.dk>
5430
5431 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
5432 (get_next_display_element, next_element_from_string)
5433 (next_element_from_ellipsis, next_element_from_buffer): Use it.
5434
5435 2008-03-08 Andreas Schwab <schwab@suse.de>
5436
5437 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
5438
5439 2008-03-06 Jason Rumney <jasonr@gnu.org>
5440
5441 * w32font.c (w32_registry): Take font_type argument. Use ANSI
5442 when charset not specified. Only translate ANSI to unicode when
5443 font_type is truetype.
5444 (w32font_coverage_ok): New function.
5445 (add_font_entity_to_list): Use it to filter unsuitable fonts.
5446
5447 2008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
5448
5449 * lread.c (Fread_char): Resolve modifiers.
5450 (Fread_char_exclusive): Likewise.
5451
5452 * character.c (char_resolve_modifier_mask): New function.
5453 (char_string): Use char_resolve_modifier_mask.
5454 (Fchar_resolve_modifiers): New function.
5455 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
5456 function.
5457
5458 2008-03-04 Jason Rumney <jasonr@gnu.org>
5459
5460 * makefile.w32-in: Always include w32font.c in the build.
5461 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
5462
5463 2008-03-04 Andreas Schwab <schwab@suse.de>
5464
5465 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
5466 (versionclean): Likewise.
5467
5468 2008-03-04 Juanma Barranquero <lekktu@gmail.com>
5469
5470 * .cvsignore: Add oo.
5471
5472 2008-03-03 Andreas Schwab <schwab@suse.de>
5473
5474 * coding.c (decode_coding_object): Inhibit gap shrinking while
5475 decoding in place.
5476
5477 2008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
5478
5479 * w32term.c: Remove unused include "gnu.h".
5480 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
5481
5482 * gnu.h: Rename to ...
5483 * emacs-icon.h: ... this.
5484 * xterm.c: Use emacs-icon.h instead of gnu.h.
5485 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
5486
5487 2008-03-03 Juanma Barranquero <lekktu@gmail.com>
5488
5489 * w32font.c: Include math.h.
5490
5491 2008-03-03 Jason Rumney <jasonr@gnu.org>
5492
5493 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
5494 Compute options separately.
5495 (w32font_open_internal): Set glyph_idx before caching metrics.
5496
5497 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
5498 Define if system headers don't.
5499 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
5500 (w32font_encode_char): Don't declare here.
5501
5502 * w32font.c (Quniscribe, QCformat): New symbols.
5503 (syms_of_w32font): Define them.
5504 (w32font_has_char): Indicate uncertainty.
5505 (w32font_encode_char): Encode as glyph point. Make static.
5506 (recompute_cached_metrics): New function.
5507 (w32font_open_internal): Use it. Set font to use glyph points
5508 initially. Set format based on type of font.
5509 (w32font_text_extents, w32font_draw): Optionally use glyph points.
5510 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
5511 on it. Set format based on information available here.
5512 (add_font_entity_to_list): Identify backend based on opentype_only.
5513
5514 2008-03-02 Andreas Schwab <schwab@suse.de>
5515
5516 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
5517
5518 * coding.c (decode_coding_big5, produce_chars):
5519 Fix typos in last change.
5520
5521 2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
5522
5523 * gnu.h: New icon.
5524
5525 2008-03-02 Kenichi Handa <handa@m17n.org>
5526
5527 * coding.c (decode_coding_utf_8): When eol-type of CODING is
5528 `dos', don't decode '\r' if that is the last in the source.
5529 (decode_coding_utf_16, decode_coding_emacs_mule)
5530 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
5531 (decode_coding_raw_text, decode_coding_charset): Likewise.
5532 (produce_chars): Don't decode EOL here. Use EMACS_INT.
5533
5534 2008-03-01 Jason Rumney <jasonr@gnu.org>
5535
5536 * w32font.c (w32font_full_name): Report point size for scalable fonts.
5537
5538 2008-03-01 Kim F. Storm <storm@cua.dk>
5539
5540 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
5541
5542 2008-03-01 Jason Rumney <jasonr@gnu.org>
5543
5544 * w32font.c (w32font_full_name): New function.
5545 (w32font_open_internal): Use it.
5546
5547 2008-03-01 Kim F. Storm <storm@cua.dk>
5548
5549 * dispnew.c (line_draw_cost): Fix invalid glyph check.
5550
5551 2008-03-01 Jason Rumney <jasonr@gnu.org>
5552
5553 * font.c (font_unparse_fcname): Increase len when style is a symbol.
5554
5555 2008-03-01 Jan Djärv <jan.h.d@swipnet.se>
5556
5557 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
5558 xg_frame_resized when the event is for the edit widget.
5559
5560 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
5561
5562 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
5563 set_char_size.
5564 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
5565 operations on widgets here. Just set frame size if needed.
5566 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
5567 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
5568 (x_wm_set_size_hint): Set size hints on the edit widget only, not
5569 the whole frame.
5570 (xg_create_tool_bar): Move attachement of the tool bar to
5571 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
5572 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
5573
5574 2008-03-01 Jason Rumney <jasonr@gnu.org>
5575
5576 * w32fns.c (w32_msg_pump): Disable debug code.
5577
5578 2008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5579
5580 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
5581
5582 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
5583
5584 * xdisp.c (next_overlay_string): Don't set
5585 overlay_strings_at_end_processed_p if we're currently reading from
5586 a display string.
5587
5588 2008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
5589
5590 * xdisp.c (get_overlay_strings_1): Fix typo.
5591
5592 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
5593
5594 * xdisp.c (get_overlay_strings_1): Add missing argument type.
5595
5596 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
5597
5598 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
5599
5600 * xdisp.c (display_mode_element): Cancel the previous change.
5601 (decode_mode_spec): Likewise.
5602 (handle_auto_composed_prop): Don't make composition if it->string
5603 is a string.
5604
5605 2008-02-27 Kim F. Storm <storm@cua.dk>
5606
5607 * lisp.h (GLYPH): Change type from int to struct with separate char
5608 and face_id members.
5609 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
5610 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
5611 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
5612 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
5613 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
5614 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
5615 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
5616 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
5617 handle new Lisp glyph code encoding, either an integer or a cons.
5618
5619 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
5620 (GLYPH_ALIAS): Delete.
5621 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
5622 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
5623 (GLYPH_FROM_CHAR): Replace macro by ...
5624 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
5625
5626 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
5627 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
5628 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
5629 (GLYPH_INVALID_P): New macro.
5630 (spec_glyph_lookup_face): Update prototype.
5631
5632 * dispnew.c (line_draw_cost): Adapt to new glyph type.
5633 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
5634 new glyph code encoding.
5635 (spec_glyph_lookup_face): No return value; update passed glyph instead.
5636 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
5637
5638 * xdisp.c (get_next_display_element, next_element_from_display_vector):
5639 Adapt to new glyph type and new glyph code encoding.
5640
5641 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
5642
5643 * indent.c (current_column, current_column_1, Fmove_to_column)
5644 (compute_motion): Adapt to new glyph code encoding.
5645
5646 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
5647
5648 2008-02-27 Chong Yidong <cyd@stupidchicken.com>
5649
5650 * process.c (wait_reading_process_output): Check for window
5651 changes caused by timers.
5652 Suggested by Johan Bockgård.
5653
5654 2008-02-27 Glenn Morris <rgm@gnu.org>
5655
5656 * emacs.c (USAGE1): Add `--disable-font-backend'.
5657
5658 2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
5659
5660 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
5661 is made to the buffer.
5662
5663 2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
5664
5665 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
5666 (face_at_string_position):
5667 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
5668 (face_at_string_position):
5669 * xdisp.c (display_string, next_overlay_change):
5670 * buffer.h (overlays_at):
5671 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
5672 Update callers.
5673
5674 2008-02-26 Chong Yidong <cyd@stupidchicken.com>
5675
5676 * editfns.c (Fformat): Doc fix.
5677
5678 2008-02-26 Juanma Barranquero <lekktu@gmail.com>
5679
5680 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
5681 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
5682 (Ffont_otf_alternates, Fquery_font): Doc fixes.
5683
5684 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
5685
5686 * buffer.c (Fbuffer_swap_text): New function.
5687 (syms_of_buffer): Defsubr it.
5688
5689 2008-02-25 Chong Yidong <cyd@stupidchicken.com>
5690
5691 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
5692
5693 2008-02-25 Jason Rumney <jasonr@gnu.org>
5694
5695 * w32font.c (w32font_draw): Draw one character at a time when padding.
5696
5697 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
5698
5699 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
5700 Handle a nil arg. Use run_window_configuration_change_hook.
5701 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
5702 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
5703 Use run_window_configuration_change_hook.
5704
5705 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
5706
5707 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
5708 1-pixel width.
5709
5710 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
5711
5712 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
5713 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
5714 if the glyph in the font is zero pixel with.
5715
5716 * dispextern.h (struct glyph_string): New member padding_p.
5717
5718 * w32font.c (w32font_draw): Pay attention to s->padding_p.
5719
5720 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
5721
5722 * xfont.c (xfont_draw): Pay attention to s->padding_p.
5723
5724 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
5725
5726 * font.c: If the font driver doesn't have `shape' function, return Qnil.
5727
5728 2008-02-25 Jason Rumney <jasonr@gnu.org>
5729
5730 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
5731
5732 2008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
5733
5734 Allow fine-grained image-cache flushing.
5735 * dispextern.h (struct image): Add `dependencies' field.
5736 (clear_image_caches): Change arg to Lisp_Object.
5737 * image.c (make_image): Initialize `dependencies' field.
5738 (clear_image_cache): Change arg to allow fine-grained flushing.
5739 Perform the flush even if image-cache-eviction-delay is nil.
5740 (clear_image_caches): Change arg to Lisp_Object.
5741 (Fclear_image_cache): Expand meaning of the argument.
5742 (mark_image): Mark `dependencies' field.
5743 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
5744 (lface_hash): Use XHASH rather than XFASTINT.
5745 (face_at_buffer_position): Fix int -> EMACS_INT position.
5746 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
5747 (select_frame_for_redisplay): Remove code duplication.
5748 (redisplay_internal): Adapt arg to call to clear_image_caches.
5749
5750 2008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
5751
5752 * s/vms4-0.h:
5753 * s/vms4-2.h:
5754 * s/vms4-4.h:
5755 * s/vms5-5.h: Remove, unused.
5756
5757 * s/irix5-2.h:
5758 * s/irix6-0.h:
5759 * s/riscos5.h:
5760 * s/mach-bsd4-3.h:
5761 * m/mips4.h: Remove files for obsolete systems.
5762
5763 * Makefile.in:
5764 * filelock.c:
5765 * unexmips.c:
5766 * m/hp9000s300.h:
5767 * m/iris4d.h:
5768 * s/aix3-1.h:
5769 * s/hpux.h:
5770 * s/msdos.h:
5771 * s/usg5-0.h:
5772 * s/usg5-2-2.h:
5773 * s/usg5-2.h:
5774 * s/usg5-3.h: Remove references to obsolete variables.
5775
5776 * s/irix5-0.h: Remove, move all the contents ...
5777 * s/irix6-5.h: ... here. Simplify.
5778 * config.in: Regenerate.
5779
5780 2008-02-24 Jason Rumney <jasonr@gnu.org>
5781
5782 * w32term.c (x_draw_glyph_string_background): Clear the background
5783 manually when cleartype is in use.
5784 (x_draw_glyph_string_foreground): Draw text transparently when
5785 cleartype is in use.
5786
5787 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
5788 a font into it unless we have to.
5789
5790 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
5791
5792 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
5793 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
5794
5795 2008-02-18 Jason Rumney <jasonr@gnu.org>
5796
5797 * w32fns.c (Fw32_shell_execute): Encode parameters.
5798
5799 2008-02-09 Eli Zaretskii <eliz@gnu.org>
5800
5801 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
5802
5803 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
5804
5805 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
5806
5807 2008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
5808
5809 * xterm.c (x_set_offset): Don't change the gravity if
5810 CHANGE_GRAVITY is -1.
5811
5812 2008-02-23 Chong Yidong <cyd@stupidchicken.com>
5813
5814 * fileio.c (auto_save_error_occurred): New var.
5815 (auto_save_error): Set it.
5816 (Fdo_auto_save): Don't overwrite the error message if an auto-save
5817 error occurred.
5818
5819 2008-02-23 Eli Zaretskii <eliz@gnu.org>
5820
5821 * w32.c (globals_of_w32): Add initializations for
5822 g_b_init_get_sid_sub_authority and
5823 g_b_init_get_sid_sub_authority_count.
5824
5825 2008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
5826
5827 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
5828 (font_parse_xlfd): Use them for sanity check.
5829 (Finternal_set_font_style_table): Make sure the table is bijective.
5830
5831 Consolidate the image_cache to the terminal struct.
5832 * termhooks.h (P_): Remove redundant def.
5833 (struct terminal): New field `image_cache'.
5834 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
5835 of FRAME_X_IMAGE_CACHE.
5836 * xterm.h (struct x_display_info): Remove image_cache field.
5837 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
5838 * w32term.h (struct w32_display_info): Remove image_cache field.
5839 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
5840 * macterm.h (struct mac_display_info): Remove image_cache field.
5841 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
5842 * xterm.c (x_term_init):
5843 * w32term.c (w32_term_init):
5844 * macterm.c (mac_term_init): Set the image_cache in the terminal.
5845 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
5846 Remove declarations.
5847 (clear_image_caches, mark_image_cache): New declarations.
5848 * xfaces.c (clear_face_cache):
5849 * xdisp.c (redisplay_internal): Use clear_image_caches.
5850 * image.c (clear_image_cache): Don't check that a frame is on
5851 a window-system before checking if it shares the same cache.
5852 (clear_image_caches): New function.
5853 (Fclear_image_cache): Use it.
5854 (mark_image): Move from allo.c.
5855 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
5856 * alloc.c (mark_image, mark_image_cache): Move to image.c.
5857 (mark_object): Don't call mark_image_cache for frames.
5858 (mark_terminals): Call mark_image_cache.
5859
5860 * lisp.h (Fdelete_terminal): Declare.
5861
5862 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
5863 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
5864 wrong_type_argument.
5865
5866 2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
5867
5868 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
5869 malayalam.el, and tamil.el. Add sinhala.el.
5870
5871 2008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
5872
5873 * xterm.c (x_connection_closed): Consolidate identical tests.
5874 (x_delete_terminal): Don't crash if called via x_connection_closed.
5875
5876 2008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
5877
5878 * xdisp.c (decode_mode_spec): New arg string.
5879 (display_mode_element): Adjust for the above change.
5880
5881 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
5882
5883 * callint.c (Fcall_interactively): Use AREF.
5884
5885 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
5886
5887 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
5888
5889 2008-02-18 Jan Djärv <jan.h.d@swipnet.se>
5890
5891 * xfns.c (Fx_show_tip): Set string to " " if empty.
5892
5893 2008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
5894
5895 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
5896 with Qt.
5897
5898 2008-02-17 Kenichi Handa <handa@m17n.org>
5899
5900 * ftfont.c (ftfont_shape): Return Lispy number.
5901
5902 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
5903 for GCs.
5904 (Finternal_set_font_selection_order): Call font_update_sort_order
5905 only when enable_font_backend is set.
5906 (realize_x_face): Set face->font_info to that of default face only
5907 when enable_font_backend is set.
5908
5909 * xdisp.c (handle_composition_prop): Set it->c to the fist
5910 characte of the composed region.
5911 (fill_composite_glyph_string): Set base_face->font_info to
5912 s->font_info. Get a face for ascii from base_face->ascii_face.
5913 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
5914 with a face already decided.
5915 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
5916 non-negative.
5917 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
5918 call font_prepare_composition unconditionally.
5919
5920 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
5921
5922 * xterm.h (struct x_display_info): New member font.
5923
5924 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
5925 (x_set_mouse_face_gc, x_new_font): Likewise.
5926 (x_term_init): Setup display_info->font.
5927 (x_delete_terminal): Free display_info->font.
5928
5929 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
5930
5931 * ftxfont.c (ftxfont_default_fid): Delete it.
5932 (ftxfont_open): Set xfont->fid to 0.
5933 (ftxfont_end_for_frame): Clear data specific to the frame and the
5934 font-driver.
5935
5936 * xftfont.c (xftfont_default_fid): Delete it.
5937 (xftfont_open): Set xfont->fid to 0.
5938
5939 * fontset.c (FONTSET_OBJLIST): New macro.
5940 (fontset_find_font): Update font-object list of the fontset.
5941 (free_realized_fontset): New function.
5942 (free_face_fontset): Call free_realized_fontset.
5943 (Ffont_info): Call font_close_object only when enable_font_backend
5944 is set.
5945
5946 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
5947 [HAVE_NTGUI]: Include w32term.h.
5948 [MAC_OS]: Include macterm.ch.
5949 (font_otf_ValueRecord): Use make_number.
5950 (font_finish_cache): Fix handling of reference count.
5951 (font_clear_cache): Update num_fonts.
5952 (font_open_entity): Update smallest_char_width and
5953 smallest_font_height of the frame.
5954 (font_close_object): Update num_fonts.
5955 (Fclear_font_cache): Fix finding the target cache data.
5956
5957 2008-02-16 Glenn Morris <rgm@gnu.org>
5958
5959 * fontset.c (Finternal_char_font): Fix compilation warning.
5960
5961 2008-02-16 Eli Zaretskii <eliz@gnu.org>
5962
5963 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
5964 instead of char arrays. Enlarge the size of array passed to
5965 get_token_information.
5966
5967 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
5968 warnings.
5969
5970 2008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
5971
5972 * .gdbinit: Don't set `args', it breaks gdb --args.
5973
5974 2008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
5975
5976 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
5977 within a narrowed buffer.
5978
5979 2008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
5980
5981 * coding.c (decode_coding_object, encode_coding_object):
5982 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
5983
5984 2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
5985
5986 * coding.c (coding_set_destination): Use BEG_BYTE rather than
5987 hardcoding 1.
5988 (detect_coding_system):
5989 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
5990 (string_char_to_byte, string_byte_to_char, insert_from_gap):
5991 * insdel.c (insert_from_gap):
5992 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
5993 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
5994 (string_to_multibyte):
5995 * character.c (chars_in_text, multibyte_chars_in_text):
5996 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
5997
5998 * character.h (FETCH_STRING_CHAR_ADVANCE)
5999 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
6000 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
6001 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
6002
6003 * casefiddle.c (casify_region): Only call after-change and composition
6004 functions on the part of the region that was changed.
6005
6006 * keyboard.c (read_avail_input):
6007 * frame.c (Fdelete_frame): Call Fdelete_terminal.
6008
6009 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6010
6011 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
6012 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
6013
6014 2008-02-11 Juanma Barranquero <lekktu@gmail.com>
6015
6016 * w32menu.c (push_submenu_start, push_submenu_end)
6017 (push_left_right_boundary, push_menu_pane, push_menu_item):
6018 * keyboard.c (read_key_sequence): Don't pass args with side effects
6019 to AREF, it fails when compiling with -DENABLE_CHECKING.
6020
6021 2008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
6022
6023 * Makefile.in (${lispsource}international/charprop.el):
6024 Delete this target.
6025
6026 * search.c (boyer_moore): Fix incorrect synching of the trunk and
6027 emacs-unicode-2.
6028
6029 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6030
6031 * terminal.c (Fdelete_terminal): Clean up the `force' path.
6032
6033 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6034
6035 * frame.c (Qnoelisp): New symbol.
6036 (syms_of_frame): Initialize it.
6037 (Fdelete_frame): Use it to distinguish a mere `force' passed from
6038 someharmles Elisp code, from a strong `force' from x_connection_closed.
6039 * frame.h (Qnoelisp): Declare.
6040 * xterm.c (x_connection_closed): Pass `noelisp'.
6041
6042 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
6043 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
6044 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
6045 rather than `int' for the type of `type'.
6046
6047 2008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
6048
6049 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
6050
6051 * Makefile.in (GNUC): Remove support for gcc-1.x.
6052
6053 2008-02-10 Richard Stallman <rms@gnu.org>
6054
6055 * lisp.h (ASET): Use AREF, not ASLOT.
6056
6057 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6058
6059 * lisp.h (ASET): Check bounds.
6060
6061 2008-02-10 Glenn Morris <rgm@gnu.org>
6062
6063 * buffer.c (mode-name): Doc fix.
6064
6065 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6066
6067 * Makefile.in:
6068 * emacs.c:
6069 * gmalloc.c:
6070 * keyboard.c:
6071 * lisp.h:
6072 * m/ibm370aix.h:
6073 * process.c:
6074 * regex.c:
6075 * s/hpux.h:
6076 * sysdep.c:
6077 * sysselect.h:
6078 * systty.h:
6079 * unexec.c:
6080 * w32term.c:
6081 * xsmfns.c:
6082 * xterm.c: Remove code that deals with obsolete variables.
6083
6084 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
6085
6086 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
6087 nothing else needs it anymore.
6088
6089 2008-02-09 Eli Zaretskii <eliz@gnu.org>
6090
6091 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
6092 instead of unibyte_char_to_multibyte.
6093
6094 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6095
6096 * s/gnu-linux.h: Remove commented out code.
6097
6098 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
6099
6100 * Makefile.in: Update what RMS says about using autoconf.
6101 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
6102 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
6103 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
6104 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
6105
6106 2008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
6107
6108 * keymap.c (Fkey_description): Move side effect outside of macro call.
6109
6110 * xfaces.c (Finternal_make_lisp_face):
6111 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
6112
6113 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
6114 (syms_of_fontset): Use ASET.
6115
6116 * fns.c (concat): Move side effect outside of macro call.
6117 (hash_clear): Use ASET.
6118
6119 2008-02-08 Richard Stallman <rms@gnu.org>
6120
6121 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
6122 If FORCE, and frame has a surrogate minibuffer for another frame,
6123 delete the other frame first.
6124
6125 2008-02-07 Timo Savola <timo.savola@iki.fi>
6126
6127 * xterm.c (x_detect_focus_change): Handle embed client message.
6128 (handle_one_xevent): Ditto.
6129 (handle_one_xevent): If embedded and we get a button press/release,
6130 request focus.
6131 (xembed_set_info, xembed_send_message): New functions.
6132 (x_make_frame_visible): Call xembed_set_info if embedded.
6133 (x_make_frame_invisible): Call xembed_set_info if embedded.
6134 (x_term_init): Initialize Xatom_XEMBED.
6135 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
6136 (x_iconify_frame): Ditto.
6137
6138 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
6139 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
6140 (enum xembed_modifier, enum xembed_accelerator): New.
6141 (xembed_set_info, xembed_send_message): Declare.
6142 (FRAME_X_EMBEDDED_P): New.
6143
6144 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
6145 gtk_plug_new.
6146
6147 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
6148 window ID of a frame.
6149 (x_window): Reparent frame if embedded.
6150 (Fx_create_frame): Don't set border width if embedded.
6151
6152 * emacs.c (USAGE3): Add --parent-id.
6153 (standard_args): Ditto.
6154
6155 2008-02-07 Jan Djärv <jan.h.d@swipnet.se>
6156
6157 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
6158
6159 2008-02-07 Jim Meyering <meyering@redhat.com>
6160
6161 Use "do...while (0)", not "if (1)...else" in macro definitions.
6162 The latter provokes a warning from gcc about the empty else, when
6163 followed by ";". Also, without that trailing semicolon, it would
6164 silently swallow up any following statement.
6165 * syntax.h (SETUP_SYNTAX_TABLE)
6166 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
6167 * buffer.h (DECODE_POSITION): Likewise.
6168 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
6169 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
6170 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
6171 (FETCH_CHAR_ADVANCE): Likewise.
6172 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
6173
6174 2008-02-07 Jim Meyering <meyering@redhat.com>
6175
6176 * lread.c [lint]: Don't include <sys/inode.h>.
6177
6178 2008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
6179
6180 * xselect.c (x_handle_dnd_message):
6181 * xmenu.c (digest_single_submenu, xmenu_show):
6182 * xdisp.c (with_echo_area_buffer_unwind_data)
6183 (format_mode_line_unwind_data, unwind_format_mode_line)
6184 (display_menu_bar):
6185 * eval.c (Ffetch_bytecode):
6186 * doc.c (store_function_docstring):
6187 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
6188 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
6189 * buffer.c (add_overlay_mod_hooklist): Use ASET.
6190
6191 2008-02-07 Kenichi Handa <handa@m17n.org>
6192
6193 * ftxfont.c (ftxfont_open): Don't set
6194 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
6195
6196 * ftfont.c (ftfont_open): Fix previous change.
6197
6198 2008-02-06 Jason Rumney <jasonr@gnu.org>
6199
6200 * w32font.c (w32font_text_extents): Fill in lbearing metric.
6201 Use cached metrics for ASCII characters.
6202 (w32font_open_internal): Don't set font's owning_frame.
6203 Cache metrics for ASCII characters.
6204
6205 * w32font.h (struct w32font_info): Add ascii_metrics.
6206 Remove owning_frame.
6207
6208 2008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
6209
6210 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
6211 to negative value.
6212
6213 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
6214
6215 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
6216
6217 * charset.c (syms_of_charset): Set QCtest and Qeq.
6218
6219 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
6220
6221 * process.c (Fstart_process):
6222 * callproc.c (Fcall_process): Handle the case where
6223 Funhandled_file_name_directory returns nil.
6224
6225 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
6226 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
6227 * font.c (check_gstring): Use them and AREF to access the vector before
6228 we know it's really a gstring.
6229 (Ffont_shape_text): Fix typo.
6230 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
6231
6232 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
6233 Declare.
6234
6235 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
6236
6237 2008-02-05 Jason Rumney <jasonr@gnu.org>
6238
6239 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
6240 Set smallest_font_height and smallest_char_width in display info.
6241
6242 2008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
6243
6244 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
6245
6246 2008-02-05 Miles Bader <miles@gnu.org>
6247
6248 * xfaces.c (get_lface_attributes, merge_named_face)
6249 (lookup_named_face, lookup_derived_face, realize_named_face):
6250 Revert 2008-02-01 change by cyd@stupidchicken.com.
6251
6252 2008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
6253
6254 * fontset.c (Ffontset_info): Handle the case of inhibitting the
6255 fallback fonts.
6256 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
6257
6258 2008-02-04 Jason Rumney <jasonr@gnu.org>
6259
6260 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
6261 set full_name.
6262 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
6263
6264 2008-02-03 Jason Rumney <jasonr@gnu.org>
6265
6266 * makefile.w32-in (OBJ1): Include font.o here.
6267 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
6268
6269 2008-02-02 Jason Rumney <jasonr@gnu.org>
6270
6271 * makefile.w32-in (temacs): Bump EMHEAP to 21.
6272
6273 2008-02-01 Jason Rumney <jasonr@gnu.org>
6274
6275 * s/cygwin.h: Define VIRT_ADDR_VARIES.
6276
6277 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
6278
6279 2008-02-01 Andreas Schwab <schwab@suse.de>
6280
6281 * Makefile.in (shortlisp, lisp): Update for rename of
6282 ../lisp/language/myanmar.el.
6283
6284 2008-02-01 Chong Yidong <cyd@stupidchicken.com>
6285
6286 * xfaces.c (get_lface_attributes): Delete function.
6287 (merge_named_face, lookup_named_face, lookup_derived_face)
6288 (realize_named_face): Call lface_from_face_name directly, and use
6289 the fact that merge_face_vectors does not alter its FROM argument.
6290
6291 2008-02-01 Jason Rumney <jasonr@gnu.org>
6292
6293 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
6294 input in the default locale. Handle non-Unicode multibyte input.
6295
6296 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6297
6298 * fontset.c (reorder_font_vector): Exclude nil elements from the
6299 font group. Don't try multiple fonts.
6300 (fontset_font): Adjust for the above change.
6301 (Finternal_char_font): Return nil if the found font doesn't
6302 contain the character ch.
6303
6304 * Makefile.in (lisp, shortlisp): Add cham.el.
6305
6306 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6307
6308 * font.h (FONTP): Make it return 1 also for a font-object.
6309
6310 * .gdbinit (xfontset): New function.
6311
6312 * font.c (font_find_for_lface): Check if the character C is
6313 supported or not only for the first font.
6314
6315 * fontset.c (reorder_font_vector): Fix typo.
6316 (fontset_find_font): Don't add a font-spec specifying a script.
6317 Use 0 (not Qt) for the indication of empty font-group. Change the
6318 format of RFONT-DEF. Return Qt if no font in the font-group
6319 support the character.
6320 (fontset_font): Adjust for the above change. If no font was
6321 found the character, remember that.
6322 (face_for_char): Adjust for the change of RFONT-DEF.
6323 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
6324 no font for the target.
6325 (Finternal_char_font): Adjust for the change of RFONT-DEF.
6326
6327 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6328
6329 * font.c (font_load_for_face): Handle the case that the font in
6330 face->lface is a string.
6331
6332 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6333
6334 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
6335
6336 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6337
6338 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
6339 Fix previous change. If the frame is not on a window system,
6340 signal an error.
6341
6342 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6343
6344 * coding.c (decode_coding_object, encode_coding_object): Adjust
6345 marker positions after conversion.
6346
6347 * lisp.h (struct Lisp_Marker): New member need_adjustment.
6348
6349 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6350
6351 * font.c (font_find_for_lface): Fix the handling of the return
6352 value of font_has_char.
6353 (Ffont_shape_text): Fix previous change.
6354
6355 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
6356 (fontset_ref_and_range): Delete it.
6357 (fontset_find_font): Call char_table_ref_and_range instead of
6358 FONTSET_REF_AND_RANGE.
6359 (make_fontset): Don't setup font groups of Latin here.
6360 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
6361 (new_fontset_from_font): Make the specified font the default for
6362 all Latin characters.
6363
6364 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6365
6366 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
6367 is on a window system before accessing the fontset of the frame.
6368
6369 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6370
6371 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
6372
6373 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
6374 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
6375
6376 * font.c (Ffont_shape_text): If the font driver doesn't have a
6377 shaper function, make zero-width glyphs to have at least one-pixel
6378 width. Fix setting of `to' field of glyphs.
6379
6380 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6381
6382 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
6383 glyphs.
6384
6385 * font.h (struct font_driver): Improve docstring of member `shape'.
6386
6387 2008-02-01 Kenichi Handa <handa@m17n.org>
6388
6389 * composite.c (syms_of_composite): Fix docstring of
6390 auto-composition-function.
6391
6392 * font.h (LGLYPH_SIZE): New macro.
6393
6394 * font.c (Ffont_fill_gstring): Stop filling when a character not
6395 supported by the font is found.
6396 (Ffont_shape_text): When a shape callback function returns nil,
6397 try at most two more times with larger gstring.
6398 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
6399
6400 * xdisp.c (handle_auto_composed_prop): Change the argument to
6401 auto-composition-function.
6402
6403 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
6404 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
6405 Lispy glyph and store it in the lgstring.
6406
6407 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
6408
6409 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
6410
6411 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6412
6413 * font.c (Ffont_shape_text): Avoid unnecessary composition.
6414
6415 * fontset.c (Vfont_encoding_charset_alist): New variable.
6416 (syms_of_fontset): DEFVAR it.
6417 (reorder_font_vector, fontset_find_font): Optimize for the case of
6418 no need of reordering.
6419 (face_for_char): Map the charset property by
6420 Vfont_encoding_charset_alist.
6421
6422 2008-02-01 Jason Rumney <jasonr@gnu.org>
6423
6424 * w32font.c (logfonts_match): Don't check adstyle here.
6425 (font_matches_spec): Check here against physical font instead.
6426 (add_font_entity_to_list): Avoid some substitutions.
6427
6428 * font.c (font_parse_fcname): Default weight and slant to normal.
6429 (font_score): Prefer normal fonts if weight or slant unspecified.
6430 (font_score) [WINDOWSNT]: Scale weight difference down to closer
6431 match freetype scores.
6432
6433 2008-02-01 Jason Rumney <jasonr@gnu.org>
6434
6435 * w32font.c (w32font_text_extents): Don't use the frame stored in the
6436 font, as it may have been deleted.
6437 (w32_enumfont_pattern_entity): Map generic family to adstyle using
6438 most common hyphenless variation.
6439 (logfonts_match): Check generic family.
6440 (font_matches_spec): Don't check generic family here.
6441 (fill_in_logfont): Set generic family based on adstyle.
6442
6443 * w32font.h (w32font_get_cache): Update declaration.
6444
6445 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6446
6447 * ftfont.c (ftfont_get_cache): Adjust the argument type.
6448
6449 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
6450 If none of the new drivers are available, call font_update_drivers
6451 with the old drivers.
6452
6453 * w32font.c (w32font_get_cache): Adjust the argument type.
6454
6455 * xfont.c (xfont_get_cache): Adjust the argument type.
6456
6457 * font.h (struct font_driver): Change argument type of get_cache.
6458
6459 * xftfont.c (xftfont_start_for_frame): Delete prototype.
6460
6461 * font.c (Ffont_get): Fix arguments to Fassoc.
6462 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
6463 (font_clear_cache): New function.
6464 (font_list_entities, font_matching_entity): Use font_get_cache.
6465 (font_update_drivers): Call font_clear_cache when finishing a driver.
6466
6467 * fontset.c (fontset_find_font): Fix previous change.
6468
6469 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6470
6471 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
6472 dpyinfo->font_table.
6473 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
6474 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
6475
6476 * font.c (font_at): Handle the case that the arg C is negative.
6477 Handle the unibyte case.
6478 (Ffont_at): Call font_at with the arg C -1.
6479
6480 * xdisp.c (handle_auto_composed_prop): Don't get a character at
6481 the position here, and call font_at with the arg C -1.
6482 Don't check the range of the existing composition at the point.
6483
6484 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6485
6486 * fontset.c (fontset_add): New args charset_id and family.
6487 Change caller.
6488 (load_font_get_repertory, fontset_find_font): Assume that
6489 font_spec is always a font-spec object.
6490 (Fset_fontset_font): Always store a font-spec object in a fontset.
6491
6492 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
6493 instead of get_property_and_range.
6494
6495 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6496
6497 * xftfont.c (struct xftfont_info): Delete the member ft_face.
6498 (xftfont_open): Don't keep locking face.
6499 (xftfont_close): Don't unlock face.
6500 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
6501
6502 * fontset.c (fontset_find_font): Don't prefer a font of
6503 supplementary charset.
6504
6505 2008-02-01 Kenichi Handa <handa@m17n.org>
6506
6507 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
6508 script, langsys_tag to langsys, new member script.
6509 (OTF_TAG_STR): Terminate by '\0'.
6510 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
6511 listing to the script specified in that property. Fix arg to
6512 OTF_check_features.
6513
6514 2008-02-01 Jason Rumney <jasonr@gnu.org>
6515
6516 * w32font.h: New file.
6517
6518 * w32font.c: Include it.
6519 (struct w32font_info): Add owning_frame field. Move to w32font.h.
6520 (w32font_open): Set owning_frame.
6521 (w32font_text_extents): Use owning_frame.
6522 (struct font_callback_data): Add opentype_only field.
6523 (add_font_entity_to_list): Use it to filter fonts.
6524 Don't check against full name.
6525 (w32font_list_internal): New function.
6526 (w32font_list): Use it.
6527 (w32font_match_internal): New function.
6528 (w32font_match): Use it.
6529 (w32font_open_internal): New function.
6530 (w32font_open): Use it.
6531 (w32font_get_cache, w32font_close, w32font_has_char)
6532 (w32font_encode_char, w32font_text_extents, w32font_draw):
6533 Make non-static.
6534
6535 * makefile.w32-in (w32font.o): Depend on w32font.h.
6536
6537 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6538
6539 * charset.c (Fdefine_charset_internal): Record a supplementary
6540 charset at the tail of Vcharset_order_list.
6541
6542 * font.c (Ffont_shape_text): Fix the return value.
6543
6544 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
6545
6546 * xdisp.c (handle_auto_composed_prop): Fix previous change.
6547
6548 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6549
6550 * ftfont.c (struct OpenTypeSpec): New struct.
6551 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
6552 (ftfont_get_open_type_spec): New function.
6553 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
6554
6555 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
6556
6557 2008-02-01 Jason Rumney <jasonr@gnu.org>
6558
6559 * w32font.c (add_font_entity_to_list): Compare only the beginning
6560 of full name.
6561
6562 2008-02-01 Kenichi Handa <handa@m17n.org>
6563
6564 * xdisp.c (handle_auto_composed_prop): Simplify the code.
6565 Never return HANDLED_RECOMPUTE_PROPS.
6566
6567 2008-02-01 Kenichi Handa <handa@m17n.org>
6568
6569 * font.c (font_gstring_produce): Delete it.
6570
6571 * composite.h (COMPOSITION_METHOD):
6572 Handle COMPOSITION_WITH_GLYPH_STRING.
6573
6574 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6575
6576 * xfont.c (Qx): Delete.
6577 (syms_of_xfont): Don't initialize Qx.
6578
6579 * composite.h (enum composition_method):
6580 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
6581
6582 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6583
6584 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
6585 (choose_face_font): Accept new form of font-spec.
6586
6587 * frame.h (font_driver_list): Declare it unconditionally.
6588 (struct frame): Define members font_driver_list and font_data_list
6589 unconditionally.
6590
6591 * fontset.c: Include "font.h" unconditionally.
6592 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
6593 (Fset_fontset_font): Accept a font-spec object.
6594
6595 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
6596 PIXEL_SIZE part a wild card.
6597
6598 * dispextern.h (struct glyph_string): Define members clip and
6599 num_clips unconditionally.
6600 (struct face): Define members font_info and extra unconditionally.
6601
6602 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
6603 ftfont_info only when HAVE_LIBOTF is defined.
6604
6605 2008-02-01 Andreas Schwab <schwab@suse.de>
6606
6607 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
6608 and end.
6609
6610 2008-02-01 Jason Rumney <jasonr@gnu.org>
6611
6612 * w32font.c (w32font_driver): Add new fields.
6613
6614 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6615
6616 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
6617 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
6618 (LIBES): Add @M17N_FLT_CFLAGS@.
6619
6620 * composite.c (compose_text): Don't treat the new style
6621 composition specially.
6622
6623 * emacs.c (main): Call syms_of_font unconditionally.
6624
6625 * font.h (FONT_ENTITY_NOT_LOADABLE)
6626 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
6627 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
6628 (struct font_driver): New member shape.
6629 (font_registry_charsets): Extern it.
6630 (font_find_for_lface, font_prepare_composition): Adjust prototype.
6631 (font_otf_capability, font_drive_otf): Delete their externs.
6632
6633 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
6634 (font_charset_alist, font_registry_charsets): Move from xfont.c
6635 and rename.
6636 (font_prop_validate_otf): New function.
6637 (font_property_table): Register it for QCotf.
6638 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
6639 (font_drive_otf): Delete.
6640 (font_prepare_composition): New arg F. Adjust for the change of
6641 lispy gstring.
6642 (font_find_for_lface): New arg C.
6643 (font_load_for_face): Adjust for the change of font_find_for_lface.
6644 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
6645 lispy gstring.
6646 (Ffont_shape_text): New function.
6647 (Fopen_font): If the font size is not given, use 12-pixel.
6648 (Ffont_at): New arg STRING.
6649 (syms_of_font): Initalize font_charset_alist.
6650 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
6651 conditionally.
6652
6653 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
6654 fonts of the same font-spec. Change the format of RFONT-DEF.
6655 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
6656 Adjust for the change of RFONT-DEF.
6657 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
6658
6659 * ftfont.h: New file.
6660
6661 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
6662 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
6663 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
6664 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
6665 font_otf_capability and font_drive_otf, set ftfont_shape.
6666 (ftfont_list): Adjust for the change of :otf property value.
6667 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
6668 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
6669 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
6670 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
6671 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
6672 (otf_gstring, gstring, m17n_flt_initialized): New variables.
6673
6674 * w32term.c (x_draw_composite_glyph_string_foreground):
6675 Adjust for the change of lispy gstring.
6676
6677 * xdisp.c (handle_composition_prop): Adjust for the change of
6678 lispy gstring. Call a function for auto-composition with the
6679 third arg it->window.
6680 (fill_composite_glyph_string): Adjust for the change of lispy string.
6681 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
6682
6683 * xfaces.c (set_font_frame_param): Adjust for the change of
6684 font_find_for_lface.
6685
6686 * xfont.c (x_font_charset_alist): Move to font.c and rename.
6687 (xfont_registry_charsets): Likewise. Change caller.
6688 (syms_of_xfont): Don't handle x_font_charset_alist.
6689
6690 * xftfont.c: Include "ftfont.h".
6691 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
6692 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
6693 (xftfont_close) [HAVE_LIBOTF]: Close otf.
6694 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
6695 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
6696 Set xftfont_driver.shape to xftfont_shape.
6697
6698 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
6699 the change of lispy gstring.
6700
6701 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6702
6703 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
6704
6705 2008-02-01 Jason Rumney <jasonr@gnu.org>
6706
6707 * w32font.c (w32font_draw): Fill background manually.
6708
6709 2008-02-01 Jason Rumney <jasonr@gnu.org>
6710
6711 * font.c (Qfontp): Remove unused symbol.
6712 (QCantialias): New symbol.
6713 (syms_of_font): Define it.
6714 (font_property_table): Set a validator for QCantialias.
6715
6716 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
6717 Define if not already.
6718 (QCfamily): Share with xfaces.c.
6719 (Qstandard, Qsubpixel, Qnatural): New symbols.
6720 (syms_of_w32font): Define them. Don't define QCfamily here.
6721 (w32_antialias_type, lispy_antialias_type): New functions.
6722 (w32_enumfont_pattern_entity): New arg requested_font.
6723 Set antialias parameter if non-default was requested.
6724 (fill_in_logfont): Fill in lfQuality if :antialias specified.
6725
6726 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6727
6728 * lread.c (read1): Undo the previous change.
6729
6730 2008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
6731
6732 * frame.c (Fdelete_frame): Call font_update_drivers only when
6733 USE_FONT_BACKEND is defined.
6734
6735 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6736
6737 * font.h (struct font_bitmap): New member bits_per_pixel.
6738 (struct font_driver): New members start_for_frame and end_for_frame.
6739 (struct font_data_list): New struct.
6740 (font_put_frame_data, font_get_frame_data): Extern them.
6741
6742 * frame.h (struct frame): New member font_data_list.
6743
6744 * font.c (font_update_drivers): Call driver->start_for_frame and
6745 driver->end_for_frame at proper timings.
6746 (font_put_frame_data, font_get_frame_data): New functions.
6747 (Ffont_spec): Add usage in the docstring.
6748
6749 * frame.c (make_frame): Initialize f->font_data_list to NULL.
6750 (Fdelete_frame): Call font_update_drivers.
6751
6752 * xftfont.c (struct xftface_info): Delete the member xft_draw.
6753 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
6754 (xftfont_get_xft_draw): New function.
6755 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
6756 (xftfont_end_for_frame): New function.
6757 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
6758
6759 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
6760 Change argument. Cache GCs in the per-frame data.
6761 (struct ftxfont_frame_data): New struct.
6762 (ftxfont_draw_bitmap): New arg gc_fore and flush.
6763 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
6764 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
6765 (ftxfont_end_for_frame): New function.
6766 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
6767
6768 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
6769
6770 2008-02-01 Kenichi Handa <handa@m17n.org>
6771
6772 * xselect.c (Vselection_coding_system)
6773 (Vnext_selection_coding_system): Delete them.
6774 (syms_of_xselect): Don't declare selection-coding-system and
6775 next-selection-coding-system. They are declared in select.el.
6776
6777 2008-02-01 Jason Rumney <jasonr@gnu.org>
6778
6779 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
6780
6781 * w32fns.c: Include imm.h.
6782 (get_composition_string_fn, get_ime_context_fn): New optional
6783 system functions.
6784 (globals_of_w32fns): Load them from imm32.dll.
6785 (ignore_ime_char): New flag.
6786 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
6787 WM_IME_ENDCOMPOSITION messages.
6788
6789 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
6790 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
6791
6792 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6793
6794 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
6795 (READCHAR_REPORT_MULTIBYTE): New macro.
6796 (readchar): New 2nd arg MULTIBYTE.
6797 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
6798 Make symbol's name multibyte according to the multibyteness of the
6799 source.
6800
6801 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6802
6803 * xfaces.c (face_for_overlay_string): Call lookup_face with
6804 correct arguments (fix of synching with the trunk).
6805
6806 2008-02-01 Kenichi Handa <handa@m17n.org>
6807
6808 * font.c (font_prop_validate_symbol, font_prop_validate_style)
6809 (font_prop_validate_non_neg, font_prop_validate_spacing):
6810 Delete argument prop_index.
6811 (font_property_table): Change arguments to validater. Change Callers.
6812 (font_lispy_object): Delete.
6813 (font_at): Use font_find_object instead fo font_lispy_object.
6814
6815 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6816
6817 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
6818 and file names.
6819
6820 2008-02-01 Jason Rumney <jasonr@gnu.org>
6821
6822 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
6823 (font_matches_spec): Remove debug output.
6824 (add_font_entity_to_list): Avoid using substituted fonts.
6825
6826 2008-02-01 Jason Rumney <jasonr@gnu.org>
6827
6828 * doc.c (Fsnarf_documentation):
6829 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
6830
6831 2008-02-01 Miles Bader <miles@gnu.org>
6832
6833 * dispextern.h (struct glyph_row): Only define "clip" field if
6834 HAVE_WINDOW_SYSTEM is defined.
6835
6836 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
6837
6838 Fix up multi-tty merge.
6839
6840 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
6841 and indentation.
6842
6843 * xfaces.c (free_realized_face, clear_face_gcs):
6844 Include font_done_for_face in the input_blocked section, just in case.
6845
6846 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
6847 (get_char_face_and_encoding): Undo last change and remove the *other*
6848 duplicate definition (i.e. keep the one that's better scoped and that
6849 includes code for the font-backend).
6850
6851 * terminal.c (create_terminal): Default keyboard_coding to
6852 `no-conversion' and terminal_coding to `undecided'.
6853
6854 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
6855
6856 * fontset.c (free_realized_fontsets): Check that the table entry does
6857 contain a fontset before trying to compare it to `base'.
6858
6859 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
6860 syms_of_charset, and syms_of_coding earlier because init_window_once
6861 now needs Vcoding_system_hash_table to be setup.
6862
6863 * coding.h (default_buffer_file_coding): Remove.
6864
6865 * coding.c (default_buffer_file_coding): Remove.
6866 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
6867 than ->symbol, and use the terminal-local coding system.
6868 (syms_of_coding): Don't setup the coding-systems that are not
6869 terminal-local.
6870 (Fdefine_coding_system_internal): Use XCAR/XCDR.
6871
6872 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
6873 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
6874
6875 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
6876 in chartab.c and were re-added here by mistake.
6877 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
6878
6879 * doc.c (Fsnarf_documentation):
6880 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
6881 src to etc.
6882
6883 * ChangeLog.10: Add mistakenly removed entry.
6884
6885 2008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
6886
6887 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
6888
6889 2008-02-01 Miles Bader <miles@gnu.org>
6890
6891 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
6892 Add extra args to FACE_FOR_CHAR.
6893
6894 2008-02-01 Kenichi Handa <handa@m17n.org>
6895
6896 * keymap.c (where_is_internal_1): If key is a cons, store the copy
6897 in sequence.
6898
6899 * chartab.c (map_sub_char_table, map_char_table): If the range
6900 contains just one character, call the function with that character
6901 even if the depth is not 3.
6902
6903 2008-02-01 Jason Rumney <jasonr@gnu.org>
6904
6905 * w32font.c (w32font_text_extents): Calculate metrics for the
6906 whole string.
6907
6908 2008-02-01 Jason Rumney <jasonr@gnu.org>
6909
6910 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
6911
6912 2008-02-01 Jason Rumney <jasonr@gnu.org>
6913
6914 * w32term.c (x_set_glyph_string_clipping): Use
6915 get_glyph_string_clip_rects.
6916 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
6917 Adjust for the change of struct glyph_string.
6918
6919 * w32font.c (w32font_draw): Do clipping here.
6920
6921 2008-02-01 Kenichi Handa <handa@m17n.org>
6922
6923 * xftfont.c (xftfont_draw): Adjust for the change of struct
6924 glyph_string.
6925
6926 * xterm.c (x_set_glyph_string_clipping): Use
6927 get_glyph_string_clip_rects.
6928 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
6929 Adjust for the change of struct glyph_string.
6930
6931 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
6932 the resulting clip(s}.
6933 (expose_overlaps): Add arg r. Change callers. Set it to
6934 row->clip temporarily.
6935 (expose_window): Redraw rows overlapping the exposed area.
6936
6937 * dispextern.h (struct glyph_row): New member clip.
6938 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
6939 clip_height, new member clip, and num_clips.
6940
6941 2008-02-01 Kenichi Handa <handa@m17n.org>
6942
6943 * data.c (Fchar_or_string_p): Fix docstring.
6944
6945 2008-02-01 Kenichi Handa <handa@m17n.org>
6946
6947 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
6948 create a temporal XftDraw object.
6949
6950 2008-02-01 Kenichi Handa <handa@m17n.org>
6951
6952 * font.c (Ffontp): Fix docstring.
6953
6954 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
6955 strong evidence of ISO-2022.
6956
6957 2008-02-01 Kenichi Handa <handa@m17n.org>
6958
6959 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
6960 SYNTAX_ENTRY_FOLLOW_PARENT.
6961
6962 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
6963
6964 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
6965 its type.
6966 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
6967 Update to the new type of weak_hash_tables and next_weak.
6968
6969 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
6970 a plain C pointer to Lisp_Hash_Table.
6971
6972 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
6973 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
6974 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
6975 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
6976 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
6977 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
6978 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
6979 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
6980 (GC_EQ): Remove since they've been identical to their non-GC_
6981 alter-egos ever since the markbit was eradicated.
6982
6983 * alloc.c:
6984 * buffer.c:
6985 * buffer.h:
6986 * data.c:
6987 * fileio.c:
6988 * filelock.c:
6989 * fns.c:
6990 * frame.h:
6991 * lisp.h:
6992 * macterm.c:
6993 * print.c:
6994 * process.c:
6995 * w32fns.c:
6996 * w32menu.c:
6997 * w32term.c:
6998 * xfns.c:
6999 * xmenu.c:
7000 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
7001
7002 2008-02-01 Kenichi Handa <handa@m17n.org>
7003
7004 * chartab.c (map_sub_char_table): Make it work for the top-level
7005 char-table. Fix handling of parent char-table.
7006 (map_char_table): Adjust for the above change.
7007
7008 2008-02-01 Jason Rumney <jasonr@gnu.org>
7009
7010 * w32font.c (Qgdi): Rename from Qw32.
7011
7012 2008-02-01 Jason Rumney <jasonr@gnu.org>
7013
7014 * w32bdf.c (get_quoted_string): Make function static.
7015
7016 2008-02-01 Kenichi Handa <handa@m17n.org>
7017
7018 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
7019 bigger ascent and descent than those of the font, use them as
7020 font's ascent and descent.
7021
7022 2008-02-01 Kenichi Handa <handa@m17n.org>
7023
7024 * Makefile.in (${lispsource}international/charprop.el): Move this
7025 target within "#ifdef HAVE_UNIDATA" and "#endif".
7026
7027 2008-02-01 Kenichi Handa <handa@m17n.org>
7028
7029 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
7030 (shortlisp): Add ../lisp/language/tai-viet.el.
7031
7032 2008-02-01 Ulrich Mueller <ulm@gentoo.org>
7033
7034 * Makefile.in (${lispsource}international/charprop.el): Depend on
7035 temacs${EXEEXT}.
7036
7037 2008-02-01 Jason Rumney <jasonr@gnu.org>
7038
7039 * w32font.c (w32font_close): Delete the GDI font object.
7040
7041 * w32menu.c: Include character.h.
7042
7043 * w32proc.c: Likewise.
7044
7045 * w32select.c: Likewise.
7046
7047 * makefile.w32-in (w32proc.o): Depend on character.h.
7048
7049 2008-02-01 Jason Rumney <jasonr@gnu.org>
7050
7051 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
7052
7053 * w32menu.c (syms_of_w32menu): Likewise.
7054
7055 * w32proc.c (syms_of_ntproc): Likewise.
7056
7057 * w32select.c (syms_of_w32select): Likewise.
7058
7059 * w32term.c (syms_of_w32term): Likewise.
7060
7061 2008-02-01 Jason Rumney <jasonr@gnu.org>
7062
7063 * w32font.c (w32font_draw): Delete brush after using it.
7064
7065 2008-02-01 Jason Rumney <jasonr@gnu.org>
7066
7067 * w32font.c (w32font_open): Don't set font_idx.
7068 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
7069 to font settings.
7070 (w32font_draw): Fill background explicitly.
7071
7072 2008-02-01 Jason Rumney <jasonr@gnu.org>
7073
7074 * w32term.c (w32_initialize): Don't call w32font_initialize.
7075
7076 * w32font.c (w32font_info): Remove subranges.
7077 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
7078 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
7079 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
7080 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
7081 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
7082 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
7083 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
7084 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
7085 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
7086 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
7087 New symbols.
7088 (font_callback_data): New struct.
7089 (w32font_list, w32font_match): Use it.
7090 (w32font_open): Don't populate subranges.
7091 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
7092 (w32font_encode_char): Always return unicode code-point as-is.
7093 (w32font_text_extents): Supply a tranformation matrix to
7094 GetGlyphOutline. Never look up by glyph index. Avoid looping
7095 twice. Use unicode version of GetTexExtentPoint32 instead of
7096 glyph index version.
7097 (set_fonts_frame): Remove.
7098 (w32_enumfont_pattern_entity): Add frame parameter, use it to
7099 set frame parameter. Use backward compatible fake foundries.
7100 Save generic family in extra slot under QCfamily. Make width slot
7101 constant. Save QCspacing value. Save list of scripts instead of
7102 binary subranges.
7103 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
7104 (add_font_entity_to_list): Use font_callback_data struct. Filter
7105 unwanted fonts.
7106 (add_one_font_entity_to_list): Use font_callback_data struct.
7107 (w32_registry): Default to iso10646_1.
7108 (fill_in_logfont): Use dpi from extra slot. Don't bother with
7109 string font registries. Don't fill in font name if it is a generic
7110 family name, fill family instead. Use spacing, family and script
7111 extra info to fill pitch, family and charset fields.
7112 (list_all_matching_fonts): Use font_callback_data struct.
7113 (unicode_range_for_char): Remove.
7114 (font_supported_scripts): New function.
7115 (w32font_initialize): Remove.
7116 (syms_of_w32font): Update which symbols are defined.
7117
7118 2008-02-01 Jason Rumney <jasonr@gnu.org>
7119
7120 * font.c (font_pixel_size): Reverse assq_no_quit args.
7121
7122 * w32term.h (FONT_WIDTH): Report max width, not average.
7123 (FONT_MAX_WIDTH): Remove.
7124 (FONT_AVG_WIDTH): New macro.
7125
7126 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
7127 redefinition of FONT_WIDTH.
7128
7129 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
7130 (w32_cache_char_metrics): Use FONT_WIDTH.
7131
7132 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
7133
7134 2008-02-01 Jason Rumney <jasonr@gnu.org>
7135
7136 * w32font.c (w32font_open): Make lfHeight negative.
7137
7138 * w32fns.c (x_default_font_parameter): Use new style font name.
7139 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
7140
7141 2008-02-01 Jason Rumney <jasonr@gnu.org>
7142
7143 * w32font.c (QCsubranges): New symbol.
7144 (w32font_open, w32font_has_char): Get subranges from subproperty
7145 of extra.
7146 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
7147 (syms_of_w32font): Define :subranges symbol.
7148
7149 * font.c (font_put_extra): Expose externally.
7150
7151 * font.h (font_put_extra): Move declaration from font.c.
7152
7153 * font.c (Ffont_get): Use font driver to determine otf capability.
7154 (adjust_anchor): Check if driver defines anchor_point before using.
7155
7156 * w32font.c (w32font_open): Handle size, height and pixel_size better.
7157 (w32font_draw): Use options.
7158 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
7159 Fix detection of truetype fonts.
7160 (registry_to_w32_charset): Handle charsets other than iso8859-1
7161 expressed as lisp symbols.
7162 (w32_registry): Express charset as lisp symbol.
7163 (fill_in_logfont): Reverse pixel and point height logic.
7164 Don't set width here. Set quality to default.
7165
7166 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
7167 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
7168
7169 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
7170 Remove redundant loop and allocation.
7171
7172 * makefile.w32-in (font.o, w32font.o): New objects.
7173 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
7174 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
7175
7176 * xdisp.c (fill_composite_glyph_string): Make the first arg to
7177 STORE_XCHARB a valid l-value.
7178
7179 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
7180 calculations for non-Truetype fonts.
7181 (x_draw_glyph_string): Sync with xterm.c.
7182 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
7183 Remove redundant code.
7184 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
7185
7186 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
7187 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
7188
7189 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
7190 (x_to_w32_charset, w32_to_x_charset): Expose externally.
7191
7192 * w32font.c: New file for w32 font backend.
7193
7194 2008-02-01 Kenichi Handa <handa@m17n.org>
7195
7196 * term.c: Don't include "buffer.h" twice.
7197
7198 2008-02-01 Kenichi Handa <handa@m17n.org>
7199
7200 * character.c (Funibyte_string): New function.
7201 (syms_of_character): Defsubr it.
7202
7203 2008-02-01 Jason Rumney <jasonr@gnu.org>
7204
7205 * w32term.c [USE_FONT_BACKEND]:
7206 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
7207 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
7208 (x_draw_glyph_string, x_draw_glyph_string_foreground)
7209 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
7210 (x_free_frame_resources): Sync with xterm.c.
7211
7212 2008-02-01 Andreas Schwab <schwab@suse.de>
7213
7214 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
7215 char-table size.
7216
7217 2008-02-01 Kenichi Handa <handa@m17n.org>
7218
7219 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
7220
7221 2008-02-01 Kenichi Handa <handa@m17n.org>
7222
7223 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
7224 font_otf_gpos, add font_drive_otf.
7225
7226 * fontset.c (fontset_find_font): Pay attention to font size
7227 specified for a font.
7228 (reorder_font_vector): Check contents of font_def.
7229
7230 * font.c (struct otf_list): Delete it.
7231 (otf_list): Make it a lisp variable.
7232 (otf_open): Use lispy otf_list.
7233 (generate_otf_features): Rename from parse_gsub_gpos_spec.
7234 (check_otf_features): New function.
7235 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
7236 New functions.
7237 (font_drive_otf): New function merging font_otf_gsub and
7238 font_otf_gpos.
7239 (font_open_for_lface): New arg spec. Change argument order.
7240 (font_load_for_face): Adjust for the change of font_open_for_lface.
7241 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
7242 Ffont_otf_gpos.
7243 (syms_of_font): Staticpro otf_list. Delete defsubr of
7244 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
7245
7246 * xfaces.c (set_font_frame_param): Adjust for the change of
7247 font_open_for_lface.
7248
7249 * font.h (font_open_for_lface): Adjust prototype.
7250 (struct font_driver): Delete members otf_gsub and otf_gpos, add
7251 member otf_drive.
7252 (font_otf_gsub, font_otf_gpos): Delete externs.
7253 (font_drive_otf): Extern it.
7254
7255 2008-02-01 Kenichi Handa <handa@m17n.org>
7256
7257 * font.c (font_at): If the window W is not on a window system,
7258 return Qnil.
7259
7260 * coding.c (produce_chars, encode_coding): Don't call
7261 insert_from_gap if no characters to produce.
7262
7263 2008-02-01 Kenichi Handa <handa@m17n.org>
7264
7265 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
7266 Fclear_face_cache.
7267
7268 * xfaces.c (face_for_font): Check also face->font==font->font.font.
7269
7270 2008-02-01 Miles Bader <miles@gnu.org>
7271
7272 * emacs.c (main): Change default value of `enable_font_backend' to 1.
7273 Parse "--disable-font-backend" option.
7274 (standard_args): Add "--disable-font-backend" option.
7275
7276 2008-02-01 Kenichi Handa <handa@m17n.org>
7277
7278 * fontset.c (fontset_find_font): New function.
7279 (fontset_font): Use fontset_find_font.
7280 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
7281 Register the specified font for all Latin characters.
7282 (new_fontset_from_font): Register the specified font for all Latin
7283 characters.
7284 (dump_fontset): For a realized fontset, include the base fontset
7285 name in the returned vector.
7286
7287 2008-02-01 Kenichi Handa <handa@m17n.org>
7288
7289 * character.h (CHAR_STRING): Cast C to unsigned on calling
7290 char_string.
7291
7292 * character.c (char_string): Type of arg C changed to unsigned.
7293 Signal an error if C is an invalid character code.
7294
7295 * editfns.c (general_insert_function, Fchar_to_string):
7296 Use CHARACTERP, not INTEGERP.
7297
7298 2008-02-01 Kenichi Handa <handa@m17n.org>
7299
7300 * character.h (MIN_MULTIBYTE_LEADING_CODE)
7301 (MAX_MULTIBYTE_LEADING_CODE): New macros.
7302
7303 * regex.c (analyse_first): Fix for multibyte characters in "case
7304 charset:" and "case categoryspec:".
7305
7306 2008-02-01 Andreas Schwab <schwab@suse.de>
7307
7308 * Makefile.in (LIBES): Move standard libraries to the end.
7309
7310 2008-02-01 Kenichi Handa <handa@m17n.org>
7311
7312 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
7313 nonzero, don't shrink the buffer nextb.
7314
7315 * buffer.h (struct buffer_text): New member inhibit_shrinking.
7316
7317 * coding.c (coding_alloc_by_making_gap): New arg offset.
7318 (alloc_destination): Call coding_alloc_by_making_gap with the arg
7319 offset.
7320 (decode_coding_iso_2022): Update coding->safe_charsets.
7321 (decode_coding_gap): Temporarily set
7322 current_buffer->text->inhibit_shrinking to 1.
7323
7324 2008-02-01 Kenichi Handa <handa@m17n.org>
7325
7326 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
7327 indexing into elements of s->cmp and s->char2b.
7328
7329 2008-02-01 Juanma Barranquero <lekktu@gmail.com>
7330
7331 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
7332
7333 2008-02-01 Kenichi Handa <handa@m17n.org>
7334
7335 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
7336 target_multibyte instead of multibyte.
7337 (re_match_2_internal): Call bcmp_translate with target_multibyte.
7338 (bcmp_translate): Change the argument name from multibyte to
7339 target_multibyte.
7340
7341 2008-02-01 Kenichi Handa <handa@m17n.org>
7342
7343 These changes are to compile a regexp into a pattern that can be
7344 used both for multibyte and unibyte targets.
7345
7346 * Makefile.in (search.o): Depend on charset.h.
7347
7348 * character.c (multibyte_char_to_unibyte_safe): New function.
7349
7350 * search.c: Include "charset.h".
7351 (compile_pattern_1): Delete argument multibyte. Don't set
7352 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
7353 (compile_pattern): Don't compare cp->buf.target_multibyte.
7354 Compare cp->buf.charset_unibyte.
7355 (compile_pattern): Set cp->buf.target_multibyte.
7356
7357 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
7358
7359 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
7360
7361 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
7362 multibyte. Change callers.
7363 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
7364 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
7365 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
7366 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
7367 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
7368 (regex_compile): Make the compiled pattern usable both for
7369 multibyte and unibyte targets.
7370 (analyse_first): Make the fastmap usable both for multibyte and
7371 unibyte targets.
7372 (TRANSLATE_VIA_MULTIBYTE): Delete.
7373 (re_match_2_internal): Pay attention to the case that the
7374 multibyteness of bufp and target may be different.
7375
7376 2008-02-01 Kenichi Handa <handa@m17n.org>
7377
7378 * xdisp.c (x_produce_glyphs): When a font is not found, make the
7379 empty box occupy at least one column width.
7380
7381 2008-02-01 Miles Bader <miles@gnu.org>
7382
7383 * Makefile.in: Remove redundant HAVE_XFT clause.
7384
7385 2008-02-01 Kenichi Handa <handa@m17n.org>
7386
7387 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
7388
7389 2008-02-01 Kenichi Handa <handa@m17n.org>
7390
7391 * fontset.c (Finternal_char_font): Fix for the case of POSITION
7392 being nil.
7393
7394 2008-02-01 Kenichi Handa <handa@m17n.org>
7395
7396 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
7397
7398 2008-02-01 Kenichi Handa <handa@m17n.org>
7399
7400 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
7401
7402 2008-02-01 Kenichi Handa <handa@m17n.org>
7403
7404 * search.c (simple_search): Fix previous change.
7405
7406 2008-02-01 Kenichi Handa <handa@m17n.org>
7407
7408 * xftfont.c (ftfont_font_format): Extern declaration.
7409
7410 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
7411
7412 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
7413 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
7414
7415 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
7416 (ftfont_font_format): Fix previous change.
7417
7418 * font.h (Ffont_xlfd_name): EXFUN it.
7419
7420 * font.c (font_parse_xlfd): Fix the array size of `f'.
7421 (register_font_driver): Use EQ to compare driver->type.
7422
7423 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
7424 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
7425 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
7426
7427 2008-02-01 Kenichi Handa <handa@m17n.org>
7428
7429 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
7430 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
7431
7432 2008-02-01 Kenichi Handa <handa@m17n.org>
7433
7434 * xfont.c (xfont_open): Set font->format.
7435
7436 * xftfont.c (xftfont_open): Set font->format.
7437
7438 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
7439 (ftfont_list): Include FC_FONTFORMAT in FcObject.
7440 (ftfont_open): Set font->format.
7441 (ftfont_font_format): New function.
7442
7443 * font.h (struct font): New memeber format.
7444
7445 * font.c (Qopentype): New variable.
7446 (syms_of_font): Defsym it.
7447 (Fquery_font): Change the format of the last element of the return
7448 value.
7449
7450 2008-02-01 Kenichi Handa <handa@m17n.org>
7451
7452 * xfns.c (xic_create_xfontset): Try the default fontset name as a
7453 last resort.
7454
7455 2008-02-01 Kenichi Handa <handa@m17n.org>
7456
7457 * coding.c (detect_coding_charset): Fix detection of multi-byte
7458 charset.
7459
7460 2008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
7461
7462 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
7463
7464 2008-02-01 Kenichi Handa <handa@m17n.org>
7465
7466 * xdisp.c (get_next_display_element): Set it->face_id for the
7467 first component of a composition.
7468 (x_produce_glyphs): Check if the font is changed or not for composition.
7469
7470 2008-02-01 Kenichi Handa <handa@m17n.org>
7471
7472 * fontset.c (Qlatin): New variable.
7473 (syms_of_fontset): Define it as a lisp symbol.
7474 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
7475
7476 2008-02-01 Kenichi Handa <handa@m17n.org>
7477
7478 * font.c (font_unparse_fcname): Pay attention to the case that
7479 some of font property is a null string.
7480
7481 2008-02-01 Kenichi Handa <handa@m17n.org>
7482
7483 * term.c: Include "composite.h".
7484 (encode_terminal_code): Output all components of composition.
7485 Check the size of encode_terminal_src.
7486 (produce_glyphs): For composition, call produce_composite_glyph.
7487 (append_composite_glyph, produce_composite_glyph): New functions.
7488
7489 * xdisp.c (x_produce_glyphs): In handling composition, if a font
7490 is not found, get font_info from the current ascii face.
7491
7492 2008-02-01 Kenichi Handa <handa@m17n.org>
7493
7494 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
7495 buffer-file-name to Qnil before calling insert_from_buffer.
7496
7497 * font.c (font_unparse_fcname): Pay attention to the case that
7498 foundry is a null string.
7499
7500 2008-02-01 Kenichi Handa <handa@m17n.org>
7501
7502 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
7503
7504 * font.c (Qunicode_sip): New variable.
7505 (syms_of_font): Declare it as a Lisp symbol.
7506
7507 * font.h (Qunicode_sip): Extern it.
7508
7509 2008-02-01 Kenichi Handa <handa@m17n.org>
7510
7511 * composite.c (get_composition_id): Pay attention to TAB component.
7512
7513 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
7514 TAB. Adjust for the change of s->char2b which always points to
7515 the first elememnt of allocated memory.
7516
7517 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
7518
7519 * xdisp.c (handle_composition_prop): Set it->c to the first
7520 non-TAB component.
7521 (fill_composite_glyph_string): Change argument.
7522 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
7523 (x_produce_glyphs): Fix handling of left/right padding.
7524
7525 2008-02-01 Kenichi Handa <handa@m17n.org>
7526
7527 * coding.c (detect_coding_system): Fix for handling off
7528 inhibit_iso_escape_detection. Fix for the case that no coding
7529 system is defined for a specific coding category.
7530
7531 2008-02-01 Kenichi Handa <handa@m17n.org>
7532
7533 * font.c (font_matching_entity): Delete unused local var.
7534
7535 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
7536 opening a font.
7537
7538 * fileio.c (Finsert_file_contents): On recovering a file, assume
7539 Unix-like eol.
7540 (choose_write_coding_system): On auto-saving a file, force
7541 Unix-like eol.
7542
7543 * coding.c (setup_coding_system): Fix setting of
7544 coding->common_flags based on eol_type.
7545 (coding_inherit_eol_type): If PARENT is not nil, be sure to
7546 inherit from it.
7547
7548 2008-02-01 Kenichi Handa <handa@m17n.org>
7549
7550 * alloc.c (NSTATICS): Increas to 0x600.
7551
7552 2008-02-01 Kenichi Handa <handa@m17n.org>
7553
7554 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
7555 (ftfont_list): Don't check :name property.
7556 (ftfont_match): New function.
7557 (ftfont_pattern_entity): If the pattern doesn't contain
7558 FC_SPACING, don't assuce FC_MONO.
7559
7560 * font.h (struct font_driver): New member `match'.
7561 (font_update_drivers): Adjust prototype.
7562
7563 * font.c (font_parse_fcname, font_parse_name): Don't change :name
7564 property of FONT.
7565 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
7566 them unconditionally.
7567 (font_matching_entity): New function.
7568 (font_open_by_name): Try font_matching_entity if exact match is
7569 not found.
7570 (font_update_drivers): Delete the arg FONT. Return a list of
7571 actually used backends. Don't free faces, font caches here.
7572 Don't store data in frame parameters. Don't call x_set_font.
7573 (Ffont_spec): Store :name property as is.
7574 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
7575 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
7576 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
7577 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
7578 Call font->driver->otf_gsub instead of font_otf_gsub.
7579
7580 * frame.c (x_set_font_backend): Do more works that were done in
7581 font_update_drivers before.
7582
7583 * xfont.c (xfont_match): New function.
7584 (xfont_driver): Set xfont_driver.match to xfont_match.
7585 (xfont_draw): Set font in GC if necessary.
7586
7587 * ftxfont.c (ftxfont_match): New function.
7588 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
7589
7590 * xftfont.c (xftfont_match): New function.
7591 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
7592
7593 2008-02-01 Kenichi Handa <handa@m17n.org>
7594
7595 * font.h (struct font): New member scalable.
7596 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
7597 (font_otf_gsub): Adjust prototype.
7598
7599 * font.c (font_otf_capability): Fix handling of the default langsys.
7600 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
7601 Check the contents of SPEC.
7602 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
7603 (check_gstring): New function.
7604 (REPLACEMENT_CHARACTER): New macro.
7605 (font_otf_gsub): New arg alternate_subst. Be sure to set all
7606 glyph codes of GSTRING.
7607 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
7608 (font_prepare_composition): Set cmp->glyph_len.
7609 (font_open_entity): Set font->scalable.
7610 (Ffont_get): Handle :otf property.
7611 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
7612 functions.
7613 (Fquery_font): Use font->font.full_name.
7614 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
7615 Sfont_otf_alternates.
7616
7617 * ftfont.c (ftfont_open): Set font->font.full_name and
7618 font->font.name properly. Fix calculation of font->font.height
7619 and font->min_width.
7620
7621 * ftxfont.c (ftxfont_create_gcs): New function.
7622 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
7623 (ftxfont_draw_backgrond): Fix filling region.
7624 (ftxfont_default_fid): New function.
7625 (ftxfont_open): Set xfotn->fid to the return value of
7626 ftxfont_default_fid.
7627 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
7628 (ftxfont_done_face): Free only GCs that are created by
7629 ftxfont_create_gcs.
7630 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
7631
7632 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
7633 Clip to src->width, etc (not src->clip_XXX).
7634
7635 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
7636 FontBackend frame parameter.
7637
7638 2008-02-01 Kenichi Handa <handa@m17n.org>
7639
7640 * font.h (struct font_driver_list): New member `on'.
7641 (Fclear_font_cache): EXFUN it.
7642 (font_update_drivers): Extern it.
7643
7644 * font.c (font_unparse_fcname): Fix typo (swidth->width).
7645 (font_list_entities): Check driver_list->on.
7646 (register_font_driver): Initalize `on' member to 0.
7647 (font_update_drivers): New function.
7648 (Fclear_font_cache): Check driver_list->on.
7649
7650 * frame.h (Qfont_backend): Extern it.
7651 (x_set_font_backend): Extern it.
7652
7653 * frame.c (Qfont_backend): New variable.
7654 (frame_parms): New element for font-backend.
7655 (x_set_font_backend): New function.
7656
7657 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
7658 FontBackend frame parameter.
7659 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
7660 x_set_font_backend.
7661
7662 * xfont.c (xfont_list): Don't try listing by :name property if the
7663 name is not for XLFD.
7664
7665 2008-02-01 Kenichi Handa <handa@m17n.org>
7666
7667 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
7668 (LGLYPH_SET_TO): New macros.
7669 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
7670 element of G is vector or not.
7671 (font_at): Extern it.
7672
7673 * font.c: Include window.h.
7674 (font_lispy_object): New function.
7675 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
7676 end of valid glyph.
7677 (font_close_object): Fix getting (struct font *).
7678 (font_at): New function.
7679 (Ffont_get): If FONT is a font-object, get entity from it.
7680 (Ffont_make_gstring): Initialize elements of glyphs with nil.
7681 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
7682 range check.
7683 (Ffont_at): New function.
7684 (syms_of_font): Defsubr Sfont_at.
7685
7686 * xdisp.c (it_props): Move the entry for Qauto_composed to just
7687 before the entry for Qcomposition.
7688 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
7689 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
7690 the font in gstring.
7691 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
7692 LGLYPH_FORM (g) to detect the end of valid glyph.
7693 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
7694 we are composing with gstring.
7695
7696 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
7697 Check if adjustment is vector or not.
7698
7699 * Makefile.in (font.o): Make it depends on window.h.
7700
7701 2008-02-01 Kenichi Handa <handa@m17n.org>
7702
7703 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
7704 adjustment is vector or not.
7705
7706 2008-02-01 Miles Bader <miles@gnu.org>
7707
7708 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
7709
7710 2008-02-01 Kenichi Handa <handa@m17n.org>
7711
7712 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
7713 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
7714 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
7715
7716 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
7717 (DEVICE_DELTA): Fix typo.
7718 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
7719 LGLYPH format.
7720
7721 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7722 the change of LGLYPH format.
7723
7724 2008-02-01 Kenichi Handa <handa@m17n.org>
7725
7726 * ftfont.c (ftfont_list): Fix typo.
7727 (ftfont_build_basic_charsets): Don't include letters with diacritics.
7728
7729 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
7730
7731 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
7732
7733 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
7734 xftface_info is non-NULL.
7735
7736 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
7737
7738 * ftfont.c (ftfont_list): Move misplaced #endif.
7739
7740 2008-02-01 Kenichi Handa <handa@m17n.org>
7741
7742 * ftfont.c (ftfont_list): Pay attention to the case that
7743 FC_CAPABILITY is not defined.
7744
7745 2008-02-01 Kenichi Handa <handa@m17n.org>
7746
7747 * xftfont.c (xftfont_open): Set charset related members to -1.
7748
7749 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
7750 QCname.
7751 (ftfont_open): Set charset related members to -1.
7752
7753 * fontset.c (Votf_script_alist): New variable.
7754 (syms_of_fontset): Initialize it.
7755 (fontset_font): Delete unused variable.
7756
7757 * fontset.h (Votf_script_alist): Extern it.
7758
7759 * font.c (font_find_for_lface): Optimize code.
7760
7761 * font.h (font_close_object, font_merge_old_spec): Extern them.
7762
7763 2008-02-01 Kenichi Handa <handa@m17n.org>
7764
7765 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
7766 (syms_of_font): Initialize them.
7767 (font_pixel_size): Allow float value in dpi.
7768 (font_prop_validate_type): Delete.
7769 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
7770 Change caller.
7771 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
7772 (font_prop_validate_extra): Delete.
7773 (font_prop_validate_spacing): New function.
7774 (font_property_table): Add elements for all known properties.
7775 (get_font_prop_index): Rename from check_font_prop_name. New
7776 argument FROM. Change caller.
7777 (font_prop_validate): Validate all known properties.
7778 (font_put_extra): Delete argument force. Change caller.
7779 (font_expand_wildcards): Make it static. Fix the way of shrinking
7780 the possible range.
7781 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
7782 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
7783 Change caller.
7784 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
7785 (font_parse_fcname): Delete argument merge. Fix parsing of point
7786 size. Don't validate properties values here. Change caller.
7787 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
7788 (font_open_by_name): Delete unused variable.
7789 (Ffont_spec): Likewise. Validate property values.
7790 (Ffont_match_p): New function.
7791
7792 * font.h (QCscalable): Extern it.
7793 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
7794
7795 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
7796
7797 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
7798 (xfont_list_pattern): New function.
7799 (xfont_list): Use xfont_list_pattern.
7800
7801 2008-02-01 Kenichi Handa <handa@m17n.org>
7802
7803 * font.h (Flist_fonts): EXFUN it.
7804
7805 2008-02-01 Jason Rumney <jasonr@gnu.org>
7806
7807 * w32term.c (w32_initialize): Add back smoothing_type and
7808 smoothing_enabled definitions.
7809
7810 2008-02-01 Kenichi Handa <handa@m17n.org>
7811
7812 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
7813 s->face->font on determining underline position.
7814
7815 2008-02-01 Kenichi Handa <handa@m17n.org>
7816
7817 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
7818 (font_has_char): Accept font-object too.
7819 (font_find_for_lface): Try at first with a size specified in face.
7820
7821 2008-02-01 Kenichi Handa <handa@m17n.org>
7822
7823 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
7824 font_open_by_name.
7825
7826 2008-02-01 Kenichi Handa <handa@m17n.org>
7827
7828 * font.h (QCspacing, QCdpi): Extern them.
7829 (enum font_spacing): New enum.
7830 (FONT_PIXEL_SIZE_QUANTUM): New macro.
7831
7832 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
7833 (QCspacing, QCdpi): New variables.
7834 (syms_of_font): Initialize them.
7835 (font_pixel_size): New function.
7836 (font_put_extra): New function.
7837 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
7838 in FONT_EXTRA.
7839 (font_parse_fcname): Handle enumenrated values (e.g. bold).
7840 Fix handling font size. Add QCname property that contains only
7841 unknown properties.
7842 (font_score): Change argument. Change caller. Pay attention to
7843 FONT_PIXEL_SIZE_QUANTUM.
7844 (font_sort_entites, font_list_entities, font_find_for_lface)
7845 (font_open_for_lface, font_open_by_name): Fix handling of font size.
7846 (Ffont_spec): Add QCname property that contains only unknown properties.
7847
7848 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
7849 include weight in listing pattern, instead check weight of each
7850 listed font. Don't include scalable in pattern. Pay attention to
7851 FONT_PIXEL_SIZE_QUANTUM.
7852
7853 2008-02-01 Kenichi Handa <handa@m17n.org>
7854
7855 * font.c (font_parse_fcname): Fix parsing of point-size.
7856 (font_unparse_fcname): Produce symbolic names for style properties.
7857 (font_list_entities): Handle float size correctly.
7858 (font_open_by_name): Prefer `normal' property values if the name
7859 doesn't specify them.
7860
7861 * fontset.c (Finternal_char_font): Use font_get_name, not
7862 Ffont_xlfd_name.
7863
7864 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
7865 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
7866 pattern. Don't force scalable.
7867
7868 * xftfont.c (xftfont_open): For generating a name, start from
7869 96-byte buffer.
7870
7871 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
7872
7873 * frame.h (x_new_fontset2): Fix prototype.
7874
7875 2008-02-01 Kenichi Handa <handa@m17n.org>
7876
7877 * font.h (struct font_driver): Delete member parse_name.
7878 (font_match_p, font_get_spec, font_parse_fcname)
7879 (font_unparse_fcname): Extern them.
7880 (font_get_name): Adjust prototype.
7881
7882 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
7883 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
7884 (font_expand_wildcards): Fix handling ENCODING field. Avoid
7885 unnecessary checks for weight, slant, and swidth.
7886 (font_parse_fcname): New function.
7887 (font_unparse_fcname): New function.
7888 (font_parse_name): New function.
7889 (font_match_p): New function.
7890 (font_get_name): Change return value to Lisp string.
7891 (font_get_spec): New function.
7892 (Qunspecified, Qignore_defface): Don't extern them.
7893 (font_find_for_lface): Assume that LFACE is fully specified.
7894 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
7895 object, use it for FACE.
7896 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
7897 driver->parse_name.
7898 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
7899
7900 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
7901 prototype.
7902
7903 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
7904 argument F. Don't call Fnew_fontset. Instead, directly call
7905 make_fontset.
7906
7907 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
7908
7909 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
7910 of x_new_fontset2.
7911
7912 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
7913 (Qsans__serif): New variables.
7914 (ftfont_generic_family_list): New variable.
7915 (syms_of_ftfont): Initialize the above variables.
7916 (ftfont_pattern_entity): Delete argument NAME.
7917 (ftfont_list_generic_family): New function.
7918 (ftfont_parse_name): Delete this function.
7919 (ftfont_list): Try generic family only when FcFontList found no font.
7920 (ftfont_list_family): Fix args to FcObjectSetBuild.
7921
7922 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
7923 object in attrs[LFACE_FONT_INDEX].
7924 (set_lface_from_font_name): Cancel all changes for font-backend.
7925 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
7926 function.
7927 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
7928 font object in QCfont attribute.
7929 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
7930 (realize_default_face) [USE_FONT_BACKEND]: Call
7931 set_lface_from_font_and_fontset.
7932
7933 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
7934 "fixed", and signal error here if no suitable font was found.
7935
7936 * xfont.c (xfont_parse_name): Delete this function.
7937
7938 * xftfont.c (xftfont_open): Change coding style of error
7939 handling. Generate fontconfig's fontname pattern.
7940
7941 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
7942 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
7943
7944 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
7945 Both args FONTSET and FONT_OBJECT must be existing ones.
7946
7947 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7948
7949 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
7950
7951 2008-02-01 Kenichi Handa <handa@m17n.org>
7952
7953 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
7954
7955 * font.h (struct font): Fix typo.
7956
7957 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
7958 XLFD_XXX_INDEX.
7959 (enum xlfd_field_mask): New enum.
7960 (intern_font_field): Changed argument. Change caller. If digits
7961 are followed by non-digits, return a symbol.
7962 (font_expand_wildcards): New function.
7963 (font_parse_xlfd): Fix wildcard handling.
7964 (Ffont_spec): If :name is specified, reflect the info in the other
7965 properties.
7966
7967 * ftfont.c (ftfont_pattern_entity): Fix typo.
7968 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
7969 locale.
7970
7971 2008-02-01 Kenichi Handa <handa@m17n.org>
7972
7973 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
7974
7975 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
7976 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
7977 registry doesn't specify encoding part.
7978 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
7979 (font_open_by_name): At first try parsing the name.
7980 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
7981 as Lisp symbols.
7982
7983 * fontset.c (reorder_font_vector): Pay attention to the case that
7984 the 3rd element of font_def is nil.
7985 (fontset_font): For the default fontset, append one more fontset
7986 elements for a script-based font specification. Don't add script
7987 attribute on finding a font.
7988 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
7989 font name.
7990 (fontset_ascii_font): If a font can't be opened, return nil.
7991
7992 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
7993 (ftfont_pattern_entity): New function.
7994 (ftfont_get_cache): Assume that freetype_font_cache is already
7995 initialized.
7996 (ftfont_list): Handle the case that a file is specified in font
7997 name. Use ftfont_pattern_entity to generate entities.
7998 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
7999 (syms_of_ftfont): Initialize freetype_font_cache.
8000
8001 * xftfont.c (xftfont_open): Make the font name fontconfig's
8002 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
8003 (xftfont_close): Free font->font.name if not NULL.
8004
8005 * xfont.c (xfont_list): If script is specified for a font, return
8006 null_vector.
8007 (xfont_list_family): Declare argument type.
8008
8009 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
8010 name, set LFACE_FONT (lface) to nil.
8011
8012 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
8013 return Qnil.
8014
8015 2008-02-01 Kenichi Handa <handa@m17n.org>
8016
8017 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
8018 (standard_args): Add "-enable-font-backend".
8019
8020 2008-02-01 Kenichi Handa <handa@m17n.org>
8021
8022 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
8023 (struct xftdraw_list, xftdraw_list): Delete them.
8024 (register_xftdraw, check_xftdraw): Delete them.
8025 (xftfont_prepare_face): Don't call register_xftdraw.
8026 (xftfont_done_face): Don't call check_xftdraw.
8027 (xftfont_draw): Get backroudn color only when with_background is
8028 nonzero.
8029
8030 * xfont.c (xfont_encode_char): Fix calculation of char2b.
8031
8032 2008-02-01 Kenichi Handa <handa@m17n.org>
8033
8034 These changes are for the new font handling codes.
8035
8036 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
8037 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
8038 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
8039 (FONTSRC, FONTOBJ): New variables.
8040 (obj): Add $(FONTOBJ).
8041 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
8042 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
8043 @LIBOTF_LIBS@.
8044 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
8045 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
8046
8047 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
8048
8049 * character.h (Vscript_representative_chars): Extern it.
8050
8051 * character.c (Vscript_representative_chars): New variable.
8052 (syms_of_character): Declare it as a Lisp variable.
8053
8054 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
8055 enable_font_backend is nonzero, accept the composition method
8056 COMPOSITION_WITH_GLYPH_STRING.
8057
8058 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
8059 enumeration COMPOSITION_WITH_GLYPH_STRING.
8060
8061 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
8062 members clip_x, clip_y, clip_width, and clip_height.
8063 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
8064
8065 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
8066 --enable-font-backend. Call syms_of_font.
8067
8068 * fns.c (assoc_no_quit): New function.
8069
8070 * fontset.h (FONT_INFO_FROM_FACE): New macro.
8071 (face_for_font, new_fontset_from_font)
8072 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
8073
8074 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
8075 (fontset_font, fontset_ascii, face_for_char)
8076 (make_fontset_for_ascii_face, Ffont_info)
8077 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
8078 is nonzero, use font-backend mechanism.
8079 (find_font_encoding): Make it non-static.
8080 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
8081 New functions.
8082
8083 * frame.h (struct frame): New members resx and resy.
8084 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
8085 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
8086
8087 * frame.c [USE_FONT_BACKEND]: Include "font.h".
8088 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
8089
8090 * lisp.h (assoc_no_quit): Extern it.
8091
8092 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
8093 Through out the file, use FONT_INFO_FROM_FACE instead of
8094 FONT_INFO_FROM_ID, use get_per_char_metric instead of
8095 rif->per_char_metric.
8096 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
8097 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
8098 (get_glyph_face_and_encoding, fill_composite_glyph_string)
8099 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
8100 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
8101 nonzero, use font-backend mechanism.
8102 (get_per_char_metric): New function.
8103
8104 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
8105 (set_lface_from_font_name)
8106 (set_font_frame_param, free_realized_face)
8107 (prepare_face_for_display, clear_face_gcs)
8108 (Finternal_set_font_selection_order, realize_x_face)
8109 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
8110 font-backend mechanism.
8111 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
8112 (load_face_font) [USE_FONT_BACKEND]: Abort.
8113 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
8114 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
8115
8116 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
8117 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
8118 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
8119 nonzero, register all available font drivers. Call
8120 x_default_font_parameter for deciding a font.
8121 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
8122
8123 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
8124 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
8125 (x_set_glyph_string_clipping_exactly)
8126 (x_compute_glyph_string_overhangs)
8127 (x_draw_glyph_string_foreground)
8128 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
8129 (x_free_frame_resources) [USE_FONT_BACKEND]: If
8130 enable_font_backend is nonzero, use font-backend mechanism.
8131 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
8132
8133 2008-02-01 Kenichi Handa <handa@m17n.org>
8134
8135 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
8136 system_eol_type.
8137 (syms_of_coding): Initialize system_eol_type.
8138
8139 * process.c (Fset_process_coding_system): Inherit system's eol
8140 format if necessary.
8141
8142 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8143
8144 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
8145
8146 2008-02-01 Kenichi Handa <handa@m17n.org>
8147
8148 * coding.c (decode_eol): Pay attention to buffer relocation in
8149 del_range_2.
8150 (decode_coding): Call decode_eol before restoring undo_list.
8151
8152 2008-02-01 Kenichi Handa <handa@m17n.org>
8153
8154 * charset.c (Fdefine_charset_internal): Fix setting of
8155 emacs_mule_bytes.
8156
8157 2008-02-01 Kenichi Handa <handa@m17n.org>
8158
8159 * keyboard.c (read_char): Check if C is a character or not before
8160 looking up Vkeyboard_translate_table.
8161
8162 2008-02-01 Kenichi Handa <handa@m17n.org>
8163
8164 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
8165 condition to terminate the loop.
8166
8167 2008-02-01 Kenichi Handa <handa@m17n.org>
8168
8169 * coding.c (produce_composition): Compare charbuf[i] instead of
8170 args[i] against 0.
8171 (Fterminal_coding_system): Use EQ to compare Lisp objects.
8172
8173 2008-02-01 Kenichi Handa <handa@m17n.org>
8174
8175 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
8176 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
8177 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
8178 detect_coding.
8179 (emacs_mule_char): Handle old style (Emacs 20) component character
8180 of a composition.
8181 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
8182 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
8183 composition rule.
8184 (decode_coding_emacs_mule): Handle invalid bytes correctly.
8185
8186 2008-02-01 Kenichi Handa <handa@m17n.org>
8187
8188 * coding.c (encode_coding_ccl): Allocate destination dynamically
8189 when necessary.
8190
8191 2008-02-01 Kenichi Handa <handa@m17n.org>
8192
8193 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
8194 the loop. When quitted, show a proper error message.
8195
8196 2008-02-01 Kenichi Handa <handa@m17n.org>
8197
8198 * xterm.c (x_set_glyph_string_clipping_exactly): Set
8199 src->clip_head and src->clip_tail temporarily instead of src->hl.
8200
8201 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
8202 character sequence.
8203 (Fccl_execute_on_string): Use ASET, not XSET.
8204
8205 2008-02-01 Kenichi Handa <handa@m17n.org>
8206
8207 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
8208
8209 2008-02-01 Kenichi Handa <handa@m17n.org>
8210
8211 * coding.c (decode_coding): Fix the condition of terminating the
8212 decoding loop.
8213
8214 2008-02-01 Kenichi Handa <handa@m17n.org>
8215
8216 * data.c (Faset): On setting a character bigger than 255 in a
8217 unibyte string, signal an error instead of make the string multibyte.
8218
8219 2008-02-01 Kenichi Handa <handa@m17n.org>
8220
8221 * charset.c (map_charset_chars): Fix for ascii-compatible charset
8222 made by a mapping table.
8223
8224 2008-02-01 Kenichi Handa <handa@m17n.org>
8225
8226 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
8227 not.
8228 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
8229 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
8230
8231 * xterm.c (x_draw_composite_glyph_string_foreground): Check
8232 s->face is NULL or not.
8233
8234 2008-02-01 Kenichi Handa <handa@m17n.org>
8235
8236 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
8237 (x_draw_glyph_string): Fix drawing of right_overhang and
8238 left_overhang around/on cursor.
8239
8240 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
8241
8242 2008-02-01 Kenichi Handa <handa@m17n.org>
8243
8244 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
8245
8246 2008-02-01 Kenichi Handa <handa@m17n.org>
8247
8248 * coding.c (Fdefine_coding_system_internal)
8249 (Fdefine_coding_system_alias): Avoid a duplicated element in
8250 Vcoding_system_alist.
8251
8252 2008-02-01 Kenichi Handa <handa@m17n.org>
8253
8254 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
8255
8256 * coding.c (Qcoding_system_define_form): New variable.
8257 (syms_of_coding): Intern and staticpro it.
8258 (Fcoding_system_p): Check Qcoding_system_define_form.
8259 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
8260
8261 * coding.h (CODING_SYSTEM_P): If ID is not available, call
8262 Fcoding_system_p.
8263 (CHECK_CODING_SYSTEM): If ID is not available, call
8264 Fcheck_coding_system.
8265 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
8266 Try also Fcheck_coding_system.
8267
8268 2008-02-01 Kenichi Handa <handa@m17n.org>
8269
8270 * coding.c (code_conversion_restore): GCPRO arg.
8271
8272 2008-02-01 Kenichi Handa <handa@m17n.org>
8273
8274 * character.c (lisp_string_width): Check multibyteness of STRING.
8275
8276 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8277
8278 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
8279 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
8280 (decode_mac_font_name): Use decode_coding_c_string instead of
8281 decode_coding.
8282 (x_load_font): Initialize fontp->fontset to -1. Set
8283 fontp->encoding_type.
8284
8285 2008-02-01 Kenichi Handa <handa@m17n.org>
8286
8287 * search.c (search_buffer): Give up BM search on case-fold-search
8288 if one of a target character has a case-equivalence of different
8289 byte length even if that target charcter is an ASCII.
8290 (simple_search): Fix calculation of byte length of matched text.
8291 (boyer_moore): Fix handling of case-equivalent multibyte characters.
8292
8293 2008-02-01 Kenichi Handa <handa@m17n.org>
8294
8295 * coding.c (decode_coding): Fix handling of invalid bytes.
8296
8297 2008-02-01 Kenichi Handa <handa@m17n.org>
8298
8299 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
8300 Unicode characters.
8301
8302 2008-02-01 Kenichi Handa <handa@m17n.org>
8303
8304 * coding.c (encode_coding_object): If a pre-write-conversion
8305 function makes a new buffer, kill it.
8306
8307 2008-02-01 Kenichi Handa <handa@m17n.org>
8308
8309 * coding.c (QCascii_compatible_p): New variable.
8310 (syms_of_coding): Initialize it.
8311 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
8312 calling string_char.
8313 (record_conversion_result): Add `default:' case.
8314 (coding_charset_list): Delete unused variable `coding_type'.
8315 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
8316 property in the plist of the coding system.
8317 (Fcoding_system_put): Check QCascii_compatible_p.
8318
8319 2008-02-01 Miles Bader <miles@gnu.org>
8320
8321 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
8322 removed calculation of frame `f', as it's now used.
8323
8324 2008-02-01 Kenichi Handa <handa@m17n.org>
8325
8326 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
8327 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
8328 (UNIDATA): New variable.
8329 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
8330 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
8331 $(RUN_TEMACS) unconditionally.
8332
8333 2008-02-01 Kenichi Handa <handa@m17n.org>
8334
8335 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
8336 (admindir): New variable.
8337 ($(lispsource)international/charprop.el): New target.
8338
8339 2008-02-01 Miles Bader <miles@gnu.org>
8340
8341 * character.c (chars-in-region): Remove obsolete function.
8342 (syms_of_character): Remove its initialization.
8343
8344 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
8345
8346 * w32select.c (validate_coding_system)
8347 (setup_windows_coding_system): New functions.
8348 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
8349 setup_windows_coding_system.
8350 (setup_config, Fw32_get_clipboard_data): Use
8351 validate_coding_system.
8352 (Fx_selection_exists): Move call to setup_config to a place
8353 where signals are allowed.
8354
8355 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
8356 (Fcheck_coding_system): Add declarations.
8357
8358 2008-02-01 Kenichi Handa <handa@m17n.org>
8359
8360 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
8361
8362 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8363
8364 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
8365 string as the second argument for x_new_fontset.
8366
8367 2008-02-01 Kenichi Handa <handa@m17n.org>
8368
8369 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
8370 (encode_coding_object): Use safe_call instead of call2.
8371
8372 2008-02-01 Kenichi Handa <handa@m17n.org>
8373
8374 * fontset.c (Fset_fontset_font): Check family element of a given vector.
8375
8376 * Makefile.in (lisp): Include charprop.el.
8377
8378 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8379
8380 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
8381 Not sure if it's unnecessary.
8382
8383 2008-02-01 Steven Tamm <steventamm@mac.com>
8384
8385 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
8386 some possibly unnecessary fontset checking code that crashed
8387 when creating a new frame.
8388
8389 2008-02-01 Kenichi Handa <handa@m17n.org>
8390
8391 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
8392 lookup_face.
8393
8394 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
8395
8396 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
8397
8398 2008-02-01 Kenichi Handa <handa@m17n.org>
8399
8400 * coding.c: Cancel the change done in HEAD on 2008-02-01.
8401 (coding_charset_list): New function.
8402
8403 * coding.h (coding_charset_list): Extern it.
8404
8405 2008-02-01 Kenichi Handa <handa@m17n.org>
8406
8407 * fontset.c (Fset_fontset_font): Call find_font_encoding with
8408 concatenation of family and registry.
8409
8410 2008-02-01 Kenichi Handa <handa@m17n.org>
8411
8412 * character.h (BYTE8_STRING): Fix typo.
8413
8414 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
8415 string to multibyte (sync to HEAD).
8416
8417 * casefiddle.c (casify_region): Handle changes in byte-length
8418 using replace_range_2 (sync to HEAD).
8419
8420 2008-02-01 Andreas Schwab <schwab@suse.de>
8421
8422 * chartab.c (map_char_table): GCPRO table and arg.
8423
8424 2008-02-01 Kenichi Handa <handa@m17n.org>
8425
8426 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
8427 already at limit.
8428
8429 2008-02-01 Kenichi Handa <handa@m17n.org>
8430
8431 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
8432 instead of fast_c_string_match_ignore_case.
8433 (find_font_encoding): Change argument to Lisp_Object. Use
8434 fast_string_match_ignore_case instead of
8435 fast_c_string_match_ignore_case. Change caller.
8436
8437 2008-02-01 Kenichi Handa <handa@m17n.org>
8438
8439 * xdisp.c (get_next_display_element): In unibyte case, decide to
8440 display in octal form by checking a chacter by
8441 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
8442
8443 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
8444
8445 * character.c (unibyte_has_multibyte_table): New variable.
8446
8447 * character.h (unibyte_has_multibyte_table): Extern it.
8448 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
8449
8450 2008-02-01 Kenichi Handa <handa@m17n.org>
8451
8452 * coding.c (encode_coding_iso_2022): Fix handling of charset
8453 annotation.
8454
8455 2008-02-01 Kenichi Handa <handa@m17n.org>
8456
8457 * coding.c (setup_coding_system): If coding_system is nil, use
8458 Qundecided.
8459 (Fterminal_coding_system): Return nil if terminal coding system is
8460 `undecided'.
8461 (syms_of_coding): Define coding-system `undecided' here. Setup
8462 terminal_coding as `undecided'.
8463
8464 2008-02-01 Kenichi Handa <handa@m17n.org>
8465
8466 * xdisp.c (message_dolog, set_message_1): Call
8467 unibyte_char_to_multibyte with arg type int.
8468
8469 * lread.c (read1): Fix reading of a char-table.
8470
8471 * print.c (print_object): Include sub char-table in cicularities
8472 detection.
8473
8474 2008-02-01 Kenichi Handa <handa@m17n.org>
8475
8476 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
8477 cons. Append the found sequences in car of ARGS instead of prepending.
8478
8479 2008-02-01 Kenichi Handa <handa@m17n.org>
8480
8481 * fileio.c (report_file_error): Make a unibyte string from
8482 strerror (errorno).
8483 (Fsubstitute_in_file_name): Fix the arg to
8484 unibyte_char_to_multibyte. It is evaluated twice.
8485
8486 2008-02-01 Kenichi Handa <handa@m17n.org>
8487
8488 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
8489
8490 2008-02-01 Kenichi Handa <handa@m17n.org>
8491
8492 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
8493 BOM is not found.
8494 (detect_coding, detect_coding_system): Optimization for ISO-2022
8495 when no 8-bit data is found.
8496
8497 2008-02-01 Jason Rumney <jasonr@gnu.org>
8498
8499 * w32fns.c (x_to_w32_font): Update to use new coding struct.
8500
8501 2008-02-01 Kenichi Handa <handa@m17n.org>
8502
8503 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
8504 CHARS.
8505
8506 2008-02-01 Steven Tamm <steventamm@mac.com>
8507
8508 * macterm.c (mac_encode_char): Add charset argument and update
8509 to use encoding_type.
8510 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
8511 switch to pure fontset.
8512 (decode_mac_font_name): Temporarily remove decoding.
8513 (x_font_name_to_mac_font_name): Temporarily remove encoding.
8514 (x_load_font): Temporarily remove encoding.
8515
8516 2008-02-01 Kenichi Handa <handa@m17n.org>
8517
8518 * xfaces.c (Fface_font): If frame is not on a window system,
8519 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
8520 refer to face->font.
8521 (split_font_name_into_vector, build_font_name_from_vector)
8522 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
8523 whne HAVE_WINDOW_SYSTEM is defined.
8524
8525 2008-02-01 Kenichi Handa <handa@m17n.org>
8526
8527 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
8528 (x_produce_glyphs): Fix setting of members of cmp in case
8529 cmp->glyph_len is zero.
8530
8531 * fontset.c (Fset_fontset_font): Fix docstring.
8532 (Ffontset_info): Make it backward compatible. New arg ALL.
8533
8534 2008-02-01 Kim F. Storm <storm@cua.dk>
8535
8536 * process.c (read_process_output): Grow decoding_buf when needed;
8537 this could cause a crash in allocate_string and compact_small_strings.
8538
8539 2008-02-01 Kenichi Handa <handa@m17n.org>
8540
8541 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
8542
8543 2008-02-01 Kenichi Handa <handa@m17n.org>
8544
8545 * coding.c (setup_coding_system): Set coding->common_flags
8546 correctly for raw-text.
8547 (consume_chars): On encoding unibyte text by raw-text, don't check
8548 multibyte form.
8549 (encode_coding): On encoding by raw-text, never use translation tables.
8550
8551 * fileio.c (e_write): Short cut for the case of no encoding.
8552
8553 2008-02-01 Kenichi Handa <handa@m17n.org>
8554
8555 * coding.c (detect_coding, detect_coding_system): Delete unused
8556 variables.
8557
8558 2008-02-01 Kenichi Handa <handa@m17n.org>
8559
8560 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
8561 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
8562
8563 2008-02-01 Kenichi Handa <handa@m17n.org>
8564
8565 * coding.c (Ffind_coding_systems_region_internal): Include
8566 raw-text and no-conversion in the result.
8567
8568 2008-02-01 Kenichi Handa <handa@m17n.org>
8569
8570 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
8571 (load_font_get_repertory): Delete unnecessary check of ENCODING of
8572 FONT_DEF.
8573 (font_def_arg, add_arg, from_arg, to_arg): New args.
8574 (set_fontset_font): Change argument.
8575 (Fset_fontset_font): Fix for the case that TARGET is a script
8576 name and charset name.
8577 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
8578
8579 2008-02-01 Kenichi Handa <handa@m17n.org>
8580
8581 * fontset.c (fontset_font): Rename from fontset_face. Change return
8582 value.
8583 (face_suitable_for_char_p, face_for_char): Adjust for the change
8584 of fontset_font.
8585 (make_fontset_for_ascii_face): Fix setting of the fontset element
8586 for ASCII.
8587 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
8588 to get a font name.
8589 (Ffontset_info): Adjust for the change of fontset_font.
8590
8591 * coding.c (emacs_mule_char): Check invalid code more regidly.
8592
8593 * character.h (LEADING_CODE_LATIN_1_MIN)
8594 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
8595
8596 2008-02-01 Kenichi Handa <handa@m17n.org>
8597
8598 * editfns.c (check_translation): New function.
8599 (Ftranslate_region_internal): Handle M:N mapping.
8600
8601 2008-02-01 Kenichi Handa <handa@m17n.org>
8602
8603 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
8604
8605 2008-02-01 Kenichi Handa <handa@m17n.org>
8606
8607 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
8608 goto invalid_code.
8609 (decode_coding_iso_2022): Fix handling of invalid designation.
8610
8611 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
8612 after calling code_conversion_save.
8613
8614 2008-02-01 Kenichi Handa <handa@m17n.org>
8615
8616 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
8617
8618 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
8619
8620 * fontset.c: Include "intervals.h".
8621 (fontset_face): Fix comparing of Lisp_Objects.
8622 (free_face_fontset, new_fontset_from_font_name): Fix
8623 Lisp_Object/int mixup.
8624
8625 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
8626
8627 * coding.c: Add many prototypes for static functions.
8628 (get_translation_table): Allow max_lookup to be NULL.
8629 (decode_coding, Ffind_coding_systems_region_internal)
8630 (Funencodable_char_position, Fcheck_coding_systems_region): Call
8631 get_translation_table with max_lookup NULL.
8632
8633 2008-02-01 Kenichi Handa <handa@m17n.org>
8634
8635 * coding.c (get_translation_table): Declare it as Lisp_Object.
8636 (LOOKUP_TRANSLATION_TABLE): New macro.
8637 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
8638 instead of CHAR_TABLE_REF.
8639
8640 2008-02-01 Kenichi Handa <handa@m17n.org>
8641
8642 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
8643 annotation data format.
8644 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
8645 Change arguments FROM and TO to single argument NCHARS. Change caller.
8646 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
8647 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8648 (decode_coding_ccl, decode_coding_charset): Pay attention to
8649 coding->charbuf_used.
8650 (get_translation): New function.
8651 (produce_chars): New arguments translation_table and last_block.
8652 Translate characters here. Return number of carryover chars.
8653 Change caller.
8654 (produce_composition): New argument pos. Change caller.
8655 Adjust for the change of annotation data format.
8656 (produce_charset, produce_annotation): Likewise.
8657 (decode_coding, encode_coding): Don't call translate_chars.
8658 (consume_chars): New arg translation_table. Change caller.
8659 (translate_chars): Delete.
8660 (syms_of_coding): Make translation-table's number of extra slots 2.
8661
8662 2008-02-01 Kenichi Handa <handa@m17n.org>
8663
8664 * search.c (simple_search): Fix setting this_pos_byte in backward
8665 search.
8666
8667 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
8668 byte sequence.
8669 (detect_coding_ccl): Fix setting of the variable valids.
8670
8671 2008-02-01 Kenichi Handa <handa@m17n.org>
8672
8673 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
8674
8675 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
8676
8677 * editfns.c (Ftranslate_region_internal): Rename from
8678 Ftranslate_region. Accept a char-table in TABLE.
8679 (syms_of_editfns): Defsubr Stranslate_region_internal.
8680
8681 * xfaces.c (set_lface_from_font_name): If a font is specified for
8682 a frame, generate a fontset from the font.
8683 (build_scalable_font_name): If the scalable font is requested for
8684 a specific size, don't change that size.
8685 (try_font_list): Try a scalable font also in the case that a
8686 pattern string is specified.
8687
8688 2008-02-01 Kenichi Handa <handa@m17n.org>
8689
8690 * xfaces.c (Fface_font): New optional arg CHARACTER.
8691
8692 2008-02-01 Kenichi Handa <handa@m17n.org>
8693
8694 * charset.h (CHARSET_OFFSET): New macro.
8695
8696 2008-02-01 Kenichi Handa <handa@m17n.org>
8697
8698 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
8699
8700 * fontset.c (fontset_face): Handle the case that repertory is a
8701 char-table.
8702 (find_font_encoding): Return nil for unknown encoding.
8703 (Fset_fontset_font): Ignore a font of unknown encoding.
8704
8705 2008-02-01 Kenichi Handa <handa@m17n.org>
8706
8707 * keymap.c (describe_vector): Handle default value of a char table.
8708
8709 * fontset.c (fontset_face): Handle fallback fonts correctly.
8710 (Ffontset_info): Return infomation about fallback fonts.
8711
8712 2008-02-01 Kenichi Handa <handa@m17n.org>
8713
8714 * fontset.c (FONTSET_DEFAULT): New macro.
8715 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
8716 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
8717 the case that it is nil.
8718 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
8719 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
8720
8721 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
8722 subset or superset.
8723
8724 2008-02-01 Kenichi Handa <handa@m17n.org>
8725
8726 * emacs.c (main): Call init_charset after syms_of_XXX.
8727
8728 * charset.c (Vcharset_map_directory): Delete.
8729 (Vcharset_map_path): New variable.
8730 (load_charset_map_from_file): Use Vcharset_map_path instead.
8731 (init_charset): Initialize Vcharset_map_path.
8732 (syms_of_charset): Delete declaration of "charset-map-directory",
8733 add declaration of "charset-map-path".
8734
8735 2008-02-01 Kenichi Handa <handa@m17n.org>
8736
8737 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
8738 ASCII only string.
8739
8740 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
8741
8742 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
8743 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
8744
8745 2008-02-01 Kenichi Handa <handa@m17n.org>
8746
8747 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
8748
8749 * coding.c (QCmnemonic, QCdefalut_char)
8750 (QCdecode_translation_table, QCencode_translation_table)
8751 (QCpost_read_conversion, QCpre_write_conversion): New variables.
8752 (get_translation_table): Return a list of translation tables if
8753 necessary.
8754 (decode_coding): Call get_translation_table with ENCODEP 0.
8755 (char_encodable_p): If translation_table is non-nil, always call
8756 translate_char.
8757 (Fdefine_coding_system_internal): Accept list of translation
8758 tables as :encode-translation-table and :decode-translation-table.
8759 (Fcoding_system_put): New function.
8760 (syms_of_coding): Declare new symbols. Defsubr
8761 Scoding_system_put.
8762 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
8763 typically JISX0212.
8764
8765 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
8766 when the charset is superset type.
8767
8768 * character.c (translate_char): Accept list of translation tables.
8769
8770 2008-02-01 Kenichi Handa <handa@m17n.org>
8771
8772 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
8773 (CODING_ATTR_TRANS_TBL): New macro.
8774
8775 * coding.c (get_translation_table): New function.
8776 (translate_chars): Fix the bug of skipping annotation data.
8777 (decode_coding, encode_coding): Utilize get_translation_table.
8778 (char_encodable_p, Funencodable_char_position): Translate char if
8779 necessary.
8780 (Ffind_coding_systems_region_internal)
8781 (Fcheck_coding_systems_region): Setup translation table for encode
8782 in a coding system attribute vector in advance.
8783 (Fdefine_coding_system_internal): Allow a symbol as translation
8784 table. For shift-jis type coding system, allow 4th charset.
8785
8786 2008-02-01 Kenichi Handa <handa@m17n.org>
8787
8788 * coding.c (decode_coding_sjis): Check the first byte rigidly.
8789
8790 * xdisp.c (get_next_display_element): Pass -1 as POS to
8791 FACE_FOR_CHAR if displaying a C-string.
8792
8793 2008-02-01 Kenichi Handa <handa@m17n.org>
8794
8795 * composite.c (get_composition_id): Handle xoff and yoff in a
8796 composition rule.
8797
8798 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
8799 (struct composition): New member lbearing and rbearing.
8800
8801 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
8802 (x_get_glyph_overhangs): Handle a composition glyph.
8803 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
8804
8805 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
8806 composition glyph.
8807
8808 2008-02-01 Kenichi Handa <handa@m17n.org>
8809
8810 * print.c: Include charset.h.
8811 (Vprint_charset_text_property): New variable.
8812 (Qdefault): Extern it.
8813 (PRINT_STRING_NON_CHARSET_FOUND)
8814 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
8815 (print_check_string_result): New variable.
8816 (print_check_string_charset_prop): New function.
8817 (print_prune_charset_plist): New variable.
8818 (print_prune_string_charset): New function.
8819 (print_object): Call print_prune_string_charset if
8820 Vprint_charset_text_property is not t.
8821 (print_interval): Print nothing if itnerval->plist is nil.
8822 (syms_of_print): Declare Vprint_charset_text_property as a lisp
8823 variable. Init and staticpro print_prune_charset_plist.
8824
8825 2008-02-01 Kenichi Handa <handa@m17n.org>
8826
8827 * fontset.c (new_fontset_from_font_name): Use the specified font
8828 for all characters in the new fontset.
8829
8830 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
8831 OBJECT args.
8832
8833 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
8834 OBJECT args for composition too.
8835
8836 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
8837 OBJECT args.
8838
8839 2008-02-01 Kenichi Handa <handa@m17n.org>
8840
8841 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
8842
8843 * fontset.c (reorder_font_vector): Adjust for the change of
8844 FONT_DEF format.
8845 (fontset_face): New arg id. Change caller.
8846 (face_for_char): New args pos and object.
8847 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
8848 (fs_query_fontset): Check NAME by Fassoc too.
8849 (Fset_fontset_font): Allow non-XLFD font name.
8850 (Ffontset_info): Adjust for the change of FONT_DEF format.
8851
8852 * fontset.h (face_for_char): Adjust prototype.
8853
8854 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
8855 (append_space, extend_face_to_end_of_line)
8856 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
8857 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
8858
8859 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
8860 POS and OBJECT args.
8861
8862 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
8863 POS and OBJECT args.
8864
8865 2008-02-01 Jason Rumney <jasonr@gnu.org>
8866
8867 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
8868 of GlobalAlloc'ed memory.
8869
8870 2008-02-01 Kenichi Handa <handa@m17n.org>
8871
8872 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
8873
8874 * charset.h (charset_table_used): Delete extern.
8875
8876 * charset.c (charset_table_used): Make it static.
8877 (map_charset_chars): Fix args to c_function with.
8878
8879 * chartab.c (map_sub_char_table_for_charset): Fix args to
8880 c_function with.
8881
8882 * coding.h (enum coding_result_code): Delete
8883 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
8884
8885 * coding.c (Qinsufficient_source, Qinconsistent_eol)
8886 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
8887 (Vlast_code_conversion_error): New variables.
8888 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
8889 (ONE_MORE_BYTE): Record error if any instead of signaling an
8890 error. If non-ASCII multibyte char is found, return the negative
8891 value of the code. All callers changed to check it.
8892 (ONE_MORE_BYTE_NO_CHECK): Likewise.
8893 (record_conversion_result): New function. Change all codes setting
8894 coding->result to call this function.
8895 (detect_coding_utf_8, decode_coding_utf_8)
8896 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
8897 Don't use the local variable incomplete.
8898 (emacs_mule_char): Change the second arg to `const'.
8899 (decode_coding): Fix of flushing out unprocessed data.
8900 (make_conversion_work_buffer): Fix making of a work buffer.
8901 (decode_coding_object): Return coding->dst_object.
8902
8903 * fontset.c (set_fontset_font): Fix args.
8904
8905 * lisp.h (CHARACTERBITS): Define as 22.
8906
8907 * process.c (send_process): Be sure to set coding->src_multibyte.
8908
8909 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
8910
8911 2008-02-01 Kenichi Handa <handa@m17n.org>
8912
8913 * xdisp.c (handle_auto_composed_prop): Give limit to
8914 Fnext_single_char_property_change.
8915
8916 2008-02-01 Kenichi Handa <handa@m17n.org>
8917
8918 * composite.c (syms_of_composite): Don't make the composition hash
8919 table weak.
8920
8921 * fontset.c (Fset_fontset_font): Fix docstring.
8922
8923 * lisp.h (detect_coding_system): Adjust prototype.
8924
8925 * fileio.c (kill_workbuf_unwind): Delete this function.
8926 (Finsert_file_contents): Adjust the call of detect_coding_system.
8927 Get conversion_buffer by code_conversion_save. Use the macor
8928 CODING_MAY_REQUIRE_DECODING. After decoding, update
8929 coding_system.
8930
8931 * coding.h (make_conversion_work_buffer): Delete extern.
8932 (code_conversion_save): Extern it.
8933
8934 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
8935 (CODING_GET_INFO): Delete argument eol_type. Change callers.
8936 (decode_coding_utf_8): Don't do eol converion.
8937 (detect_coding_utf_16): Check coding->src_chars, not
8938 coding->src_bytes. Add heuristics for those that have no signature.
8939 (decode_coding_emacs_mule, decode_coding_iso_2022)
8940 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
8941 Don't do eol converion.
8942 (adjust_coding_eol_type): Return a new coding system.
8943 (detect_coding): Don't detect eol. Fix for utf-16 detection.
8944 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
8945 each change.
8946 (decode_coding): Pay attention to undo_list. Do eol convesion for
8947 all types of coding-systems (if necessary).
8948 (Vcode_conversion_work_buf_list): Delete it.
8949 (Vcode_conversion_reused_workbuf): Rename from
8950 Vcode_conversion_reused_work_buf.
8951 (Vcode_conversion_workbuf_name): New variable.
8952 (reused_workbuf_in_use): New variable.
8953 (make_conversion_work_buffer): Delete the arg DEPTH.
8954 (code_conversion_restore): Change argument to cons.
8955 (code_conversion_save): Delete the argument BUFFER. Change callers.
8956 (detect_coding_system): New argument src_chars. Change callers.
8957 Fix for utf-16 detection.
8958 (init_coding_once): Don't use ISO_carriage_return.
8959 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
8960 reused_workbuf_in_use.
8961
8962 2008-02-01 Kenichi Handa <handa@m17n.org>
8963
8964 * keymap.c (store_in_keymap): Pay attention to the case that idx
8965 is a cons specifying a character range.
8966
8967 2008-02-01 Kenichi Handa <handa@m17n.org>
8968
8969 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
8970 HANDLED_RECOMPUTE_PROPS.
8971
8972 * coding.c (Fdefine_coding_system_internal): Fix checking of
8973 ascii compatibility.
8974
8975 2008-02-01 Kenichi Handa <handa@m17n.org>
8976
8977 * charset.c (find_charsets_in_text): Delete unused locale variable.
8978 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
8979
8980 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
8981 Resync charset_list to Vemacs_mule_charset_list.
8982
8983 * keymap.c (store_in_keymap): Pay attention to the case that idx
8984 is a cons specifying a character range.
8985
8986 2008-02-01 Kenichi Handa <handa@m17n.org>
8987
8988 * composite.c (update_compositions): Bind inhibit-read-only, etc
8989 to t before calling remove-list-of-text-properties.
8990
8991 * print.c (print_object): Always print ASCII chars as is.
8992
8993 2008-02-01 Kenichi Handa <handa@m17n.org>
8994
8995 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
8996
8997 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
8998 is a char table.
8999
9000 2008-02-01 Kenichi Handa <handa@m17n.org>
9001
9002 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
9003
9004 2008-02-01 Kenichi Handa <handa@m17n.org>
9005
9006 * xfaces.c (set_lface_from_font_name): Fix for the case that
9007 FONTNAME is not fontset name.
9008
9009 2008-02-01 Kenichi Handa <handa@m17n.org>
9010
9011 * fns.c (base64_encode_1): Fix previous change.
9012
9013 2008-02-01 Kenichi Handa <handa@m17n.org>
9014
9015 * fontset.c (set_fontset_font): New function.
9016 (Fset_fontset_font): If a font is specified for a charset, use
9017 map_charset_chars to store the font spec in a fontset.
9018
9019 2008-02-01 Kenichi Handa <handa@m17n.org>
9020
9021 * fontset.c (fontset_face): Create a fallback fontset on demand.
9022 (make_fontset): Don't create a fallback fontset here.
9023 (free_face_fontset): Free a fallback fontset (if any) too.
9024 (n_auto_fontsets): Delete this variable.
9025 (auto_fontset_alist): New variable.
9026 (new_fontset_from_font_name): Check auto_fontset_alist.
9027 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
9028 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
9029 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
9030 Defsubr Sfontset_list_all.
9031
9032 2008-02-01 Kenichi Handa <handa@m17n.org>
9033
9034 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
9035
9036 2008-02-01 Kenichi Handa <handa@m17n.org>
9037
9038 * fontset.c (Fnew_fontset): Check NAME more rigidly.
9039
9040 2008-02-01 Kenichi Handa <handa@m17n.org>
9041
9042 * editfns.c (Fgoto_char): Fix docstring.
9043
9044 2008-02-01 Kenichi Handa <handa@m17n.org>
9045
9046 * insdel.c (insert_from_gap): Adjust intervals correctly.
9047
9048 2008-02-01 Jason Rumney <jasonr@gnu.org>
9049
9050 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
9051 (pfnGetFontUnicodeRanges): New dynamically loaded function.
9052 (w32_initialize): Try to load it.
9053 (x_get_font_repertory): Use it if available.
9054 (w32_encode_char): Add shortcut for unicode output.
9055
9056 * w32fns.c (w32_load_system_font): Default charset to -1.
9057 (x_to_w32_charset): Match all fonts for unicode.
9058 (w32_to_x_charset): New parameter matching. Don't return partial
9059 or wildcard charsets.
9060 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
9061 (w32_codepage_for_font): Return CP_UNICODE for unicode.
9062 (w32_to_x_font): Match charset to real charset.
9063 (enum_font_cb2): Always list unicode versions.
9064
9065 * makefile.w32-in (temacs): Increase EMHEAP.
9066
9067 2008-02-01 Jason Rumney <jasonr@gnu.org>
9068
9069 * w32term.c (w32_encode_char): New charset parameter.
9070 font_info.encoding becomes encoding_type.
9071 (x_get_font_repertory): New function. Warning: stub only!
9072 (x_new_font): Return quickly if font already set.
9073 (x_new_fontset): fontsetname parameter is Lisp_Object.
9074 Use new fs_query_fontset. Try new_fontset_from_font_name.
9075 Use fontset_name for return value.
9076
9077 * w32term.h: Declare x_get_font_repertory.
9078
9079 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
9080 place of find_charset_in_text. Use encode_coding_object in place
9081 of encode_coding.
9082 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
9083 decode_coding.
9084
9085 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
9086 of x_new_fontset.
9087 (w32_load_system_font): Initialize charset as unicode.
9088 font_info.encoding becomes encoding_type.
9089 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
9090 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
9091 (syms_of_w32fns): Set get_font_repertory_func.
9092
9093 * w32console.c: Include character.h. Use terminal_encode_buffer
9094 from term.c.
9095 (write_glyphs): Use new version of encode_terminal_code. Use
9096 encode_coding_object in place of encode_coding.
9097
9098 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
9099 encoding becomes encoding_type.
9100
9101 * term.c (terminal_encode_buffer): Make externally visible.
9102
9103 * makefile.w32-in: Add character.h dependancies.
9104 (character.o, chartab.o): New targets.
9105
9106 2008-02-01 Kenichi Handa <handa@m17n.org>
9107
9108 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
9109 CODING_ID_EOL_TYPE.
9110
9111 2008-02-01 Andreas Schwab <schwab@suse.de>
9112
9113 * coding.c (produce_chars): Revert last change.
9114
9115 2008-02-01 Kenichi Handa <handa@m17n.org>
9116
9117 * charset.h (charset_unicode): Extern it.
9118
9119 * charset.c (string_xstring_p): Check by (C >= 0x100).
9120 (find_charsets_in_text): Change format of the arc CHARSETS. New
9121 arg MULTIBYTE.
9122 (Ffind_charset_region, Ffind_charset_string): Adjust for the
9123 change of find_charsets_in_text.
9124 (Fsplit_char): Fix doc. Never return unknown.
9125
9126 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
9127
9128 * coding.c (Fdefine_coding_system_alias): Update
9129 Vcoding_system_list.
9130
9131 * fontset.c (load_font_get_repertory): Pay attention to the case
9132 that ENCODING of a font is specified by a char-table.
9133
9134 * xterm.c (x_get_font_repertory): Handle the case that the
9135 encoding of font is other than Unicode.
9136
9137 2008-02-01 Kenichi Handa <handa@m17n.org>
9138
9139 * term.c (encode_terminal_code): Don't handle glyph-table. Check
9140 if a character is encodable by the terminal coding system. If
9141 not, produces proper number of `?'s. Update
9142 terminal_encode_buffer and terminal_encode_buf_size if necessary.
9143 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
9144
9145 2008-02-01 Kenichi Handa <handa@m17n.org>
9146
9147 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
9148 variables.
9149 (encode_terminal_code): Change argument. Encode multiple
9150 characters at once. Store the result of encoding in
9151 terminal_encode_buffer.
9152 (write_glyphs, insert_glyphs): Adjust for the change of
9153 encode_terminal_code.
9154 (term_init): Initialize terminal_encode_buffer and
9155 terminal_encode_buf_size.
9156
9157 * coding.c (consume_chars): If coding->src_object is nil, don't
9158 check annotation.
9159
9160 2008-02-01 Kenichi Handa <handa@m17n.org>
9161
9162 * character.c (char_string): Use ASCII_CHAR_P instead of
9163 SINGLE_BYTE_CHAR_P.
9164
9165 2008-02-01 Kenichi Handa <handa@m17n.org>
9166
9167 * xdisp.c (handle_auto_composed_prop): Check if the last
9168 characters of auto-composed region is newly composed with the
9169 following characters.
9170 (handle_composition_prop): Fix checking of point being inside
9171 composition.
9172
9173 2008-02-01 Kenichi Handa <handa@m17n.org>
9174
9175 * fns.c (concat): Don't change multibyteness of the result by
9176 concatenating an 8-bit character.
9177
9178 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
9179 multibyteness of the result when newelt is an 8-bit character.
9180
9181 2008-02-01 Dave Love <fx@gnu.org>
9182
9183 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
9184 EMACS_INT.
9185
9186 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
9187
9188 * xfaces.c (face_numeric_value): Declare dim size_t.
9189 (Finternal_lisp_face_equal_p): Remove unused f.
9190
9191 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
9192 (MATRIX_ROW): Remove unused vars.
9193 (draw_glyphs, x_insert_glyphs, fast_find_position)
9194 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
9195 byte/char counts.
9196
9197 * regex.c (regex_compile): Remove unused var.
9198
9199 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
9200
9201 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
9202 (Faccessible_keymaps, where_is_internal): Remove unused vars.
9203
9204 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
9205
9206 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
9207
9208 * fileio.c (Fwrite_region): Remove unused var.
9209
9210 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
9211 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
9212
9213 * composite.c (Fremove_list_of_text_properties): Declare.
9214
9215 * coding.c (inhibit_pre_post_conversion): Remove (unused).
9216 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
9217 (coding_inherit_eol_type): Remove unused attrs.
9218 (detect_coding): Cast arg of detect_eol.
9219
9220 * charset.c (syms_of_charset): Remove unused var p.
9221 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
9222 byte/char counts.
9223
9224 * casetab.c (set_case_table): Remove unused var.
9225
9226 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
9227 unused vars.
9228
9229 2008-02-01 Dave Love <fx@gnu.org>
9230
9231 * xterm.c (x_bitmap_mask): Declare.
9232
9233 2008-02-01 Dave Love <fx@gnu.org>
9234
9235 * xterm.c (x_term_init): Fix type error.
9236
9237 * lisp.h: Add Funibyte_char_to_multibyte.
9238
9239 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
9240 (Fset_coding_system_priority): Doc fix.
9241
9242 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
9243
9244 * indent.c (check_composition): Make start and end EMACS_INT.
9245
9246 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
9247
9248 * xdisp.c (handle_composition_prop, check_point_in_composition):
9249 Make buffer positions EMACS_INT.
9250
9251 * composite.c (find_composition, run_composition_function)
9252 (update_compositions, Ffind_composition_internal): Make buffer
9253 positions EMACS_INT.
9254
9255 * composite.h (find_composition, update_compositions): Make
9256 position args EMACS_INT.
9257
9258 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
9259
9260 * intervals.c (get_property_and_range):
9261 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
9262
9263 * unexalpha.c: Don't include varargs.h.
9264
9265 2008-02-01 Dave Love <fx@gnu.org>
9266
9267 * coding.h (ENCODE_UTF_8): New.
9268
9269 * Makefile.in (gtkutil.o): Depend on coding.h.
9270
9271 * coding.c (Fset_coding_system_priority): Doc fix.
9272
9273 2008-02-01 Kenichi Handa <handa@m17n.org>
9274
9275 * fileio.c (Finsert_file_contents): Call setup_coding_system in
9276 the case of auto saving.
9277
9278 2008-02-01 Andreas Schwab <schwab@suse.de>
9279
9280 * chartab.c (map_char_table, map_char_table_for_charset): Protect
9281 `range' from GC.
9282
9283 2008-02-01 Kenichi Handa <handa@m17n.org>
9284
9285 * coding.c (decode_coding_sjis): Check bytes more rigidly.
9286
9287 2008-02-01 Kenichi Handa <handa@m17n.org>
9288
9289 * fileio.c (choose_write_coding_system): Return a decided coding system.
9290 (Fwrite_region): Set Vlast_coding_system_used to the return value
9291 of choose_write_coding_system.
9292
9293 2008-02-01 Kenichi Handa <handa@m17n.org>
9294
9295 * charset.c (Fset_charset_priority): Pay attention to duplicated
9296 arguments.
9297
9298 * coding.c (QCcategory): New variable.
9299 (syms_of_coding): Defsym it. Set all elements of
9300 Vcoding_category_table and their symbol values.
9301 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
9302 coding-category-XXX, and coding-category-list.
9303 (Fdefine_coding_system_internal): Add category in the plist.
9304
9305 2008-02-01 Kenichi Handa <handa@m17n.org>
9306
9307 * callproc.c (Fcall_process): Handle carryover correctly.
9308
9309 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
9310 (raw_text_coding_system): Check NILP (coding_system).
9311 (coding_inherit_eol_type): Check NILP (coding_system) and
9312 NILP (parent).
9313 (consume_chars): Fix for the case of raw-text.
9314
9315 * process.c (read_process_output): Handle carryover correctly.
9316
9317 2008-02-01 Dave Love <fx@gnu.org>
9318
9319 * regex.c (re_search_2): Fix last change.
9320
9321 2008-02-01 Kenichi Handa <handa@m17n.org>
9322
9323 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
9324 target_multibyte. Even in a unibyte case, return a converted
9325 multibyte char.
9326 (GET_CHAR_AFTER): New macro.
9327 (PATFETCH): Translate via multibyte char.
9328 (HANDLE_UNIBYTE_RANGE): Delete this macro.
9329 (SETUP_MULTIBYTE_RANGE): New macro.
9330 (regex_compile): Setup compiled code so that its multibyteness
9331 matches that of a target. Fix the handling of "[X-YZ]" using
9332 SETUP_MULTIBYTE_RANGE.
9333 (analyse_first) <charset>: For filling fastmap for all multibyte
9334 characters, don't check by BASE_LEADING_CODE_P.
9335 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
9336 the same as RE_MULTIBYTE_P (bufp) now.
9337 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
9338 (TARGET_CHAR_AND_LENGTH): Delete this macro.
9339 (TRANSLATE_VIA_MULTIBYTE): New macro.
9340 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
9341 It is the same as RE_MULTIBYTE_P (bufp) now.
9342 <exactn>: Translate via multibyte.
9343 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
9344 translate it.
9345 <charset, charset_not>: Fetch a character by
9346 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
9347 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
9348 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
9349 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
9350 by GET_CHAR_AFTER.
9351 (bcmp_translate): Likewise.
9352
9353 * search.c (compile_pattern): Check the member target_multibyte,
9354 not the member multibyte of buf.
9355
9356 * lread.c (read1): While reading a string, set force_singlebyte
9357 and force_multibyte correctly.
9358
9359 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
9360 up of unibyte_to_multibyte_table.
9361
9362 2008-02-01 Kenichi Handa <handa@m17n.org>
9363
9364 * coding.c (setup_coding_system): If coding has
9365 post-read-conversion or pre-write-conversion, set
9366 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
9367 respectively.
9368 (decode_coding_gap): Run post-read-conversion if any.
9369
9370 * fileio.c (Finsert_file_contents): Even if we read into a
9371 unibyte buffer, check if we must decode the result or not.
9372
9373 2008-02-01 Kenichi Handa <handa@m17n.org>
9374
9375 * coding.c (make_conversion_work_buffer): Change the work buffer
9376 name to the same one as that of Emacs 21.
9377
9378 2008-02-01 Kenichi Handa <handa@m17n.org>
9379
9380 * coding.h (make_conversion_work_buffer): Adjust prototype.
9381 (code_conversion_restore): Don't extern it.
9382
9383 * coding.c (detected_mask): Delete unused variable.
9384 (decode_coding_iso_2022): Pay attention to the byte sequence of
9385 CTEXT extended segment, and retain those bytes as is.
9386 (decode_coding_ccl): Delete unused variable `valids'.
9387 (setup_coding_system): Delete unused variable `category'.
9388 (consume_chars): Delete unused variable `category'. Make it work
9389 for non-multibyte case.
9390 (make_conversion_work_buffer): Change argument.
9391 (saved_coding): Delete unused variable.
9392 (code_conversion_restore): Don't check saved_coding->destination.
9393 (code_conversion_save): New function.
9394 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
9395 instead of record_unwind_protect.
9396 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
9397 (detect_coding_system): Delete unused variable `mask'.
9398 (Fdefine_coding_system_internal): Delete unused vaiable id.
9399
9400 * fileio.c (kill_workbuf_unwind): New function.
9401 (Finsert_file_contents): On replacing, call
9402 make_conversion_work_buffer with correct args, and call
9403 record_unwind_protect with the first arg kill_workbuf_unwind.
9404
9405 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
9406
9407 2008-02-01 Kenichi Handa <handa@m17n.org>
9408
9409 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
9410 (fontset_add): Fix for the case that TO is less than TO1.
9411 (Ffontset_info): Don't use fallback fontset on checking the
9412 default fontset.
9413 (dump_fontset): New function for debugging.
9414
9415 * coding.c (Fdefine_coding_system_internal): Fix for the case that
9416 coding_type is Qcharset.
9417
9418 2008-02-01 Kenichi Handa <handa@m17n.org>
9419
9420 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
9421 (map_char_table): Don't inherit the value from the parent on
9422 initializing VAL. Adjust for the above change.
9423
9424 2008-02-01 Kenichi Handa <handa@m17n.org>
9425
9426 * coding.c (Qsignature, Qendian): Delete these variables.
9427 (syms_of_coding): Don't initialize them.
9428 (CATEGORY_MASK_UTF_16_AUTO): New macro.
9429 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
9430 detect_info->found.
9431 (decode_coding_utf_16): Don't detect BOM here.
9432 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
9433 is NOT utf_16_without_bom.
9434 (setup_coding_system): For a coding system of type utf-16, check
9435 if the attribute :endian is Qbig or not (not nil or not), and set
9436 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
9437 (detect_coding): If coding type is utf-16 and BOM detection is
9438 required, detect it.
9439 (Fdefine_coding_system_internal): For a coding system of type
9440 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
9441
9442 2008-02-01 Kenichi Handa <handa@m17n.org>
9443
9444 * coding.c (coding_set_source): Fix for the case that the current
9445 buffer is different from coding->src_object.
9446 (decode_coding_object): Don't use the conversion work buffer if
9447 DST_OBJECT is a buffer.
9448
9449 2008-02-01 Dave Love <fx@gnu.org>
9450
9451 * lread.c (read_emacs_mule_char) [len==2]: Index
9452 emacs_mule_charset correctly.
9453
9454 2008-02-01 Dave Love <fx@gnu.org>
9455
9456 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
9457 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
9458 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
9459 treated specially.)
9460 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
9461 (detected_mask): Remove Big5 bits.
9462
9463 2008-02-01 Kenichi Handa <handa@m17n.org>
9464
9465 The following changes are to make the font rescaling facility
9466 compatible with Emacs 21.
9467
9468 * xfaces.c (Vface_font_rescale_alist): Rename from
9469 Vface_resizing_fonts.
9470 (struct font_name): Rename member resizing_ratio to rescale_ratio.
9471 (font_rescale_ratio): Rename from font_resizing_ratio.
9472 (split_font_name): Set font->rescale_ratio.
9473 (better_font_p): Pay attention to font->rescale_ratio.
9474 (build_scalable_font_name): Likewise. Change RESX, and RESY
9475 fields.
9476 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
9477
9478 2008-02-01 Kenichi Handa <handa@m17n.org>
9479
9480 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
9481 (Qutf_16_le): Remove these variables.
9482 (syms_of_coding): Don't DEFSYM them.
9483 (decode_coding_utf_16): Fix handling of BOM.
9484 (encode_coding_utf_16): Fix handling of BOM.
9485
9486 2008-02-01 Kenichi Handa <handa@m17n.org>
9487
9488 * fileio.c (Finsert_file_contents): On replacing, before decoding
9489 the file into the work buffer, set point of the work buffer to the end.
9490
9491 2008-02-01 Dave Love <fx@gnu.org>
9492
9493 * coding.c (Fcheck_coding_systems_region): Fix type errors.
9494
9495 2008-02-01 Dave Love <fx@gnu.org>
9496
9497 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
9498 and fix C types.
9499
9500 2008-02-01 Kenichi Handa <handa@m17n.org>
9501
9502 * xdisp.c (SKIP_GLYPHS): New macro.
9503 (set_cursor_from_row): Pay attention to string display properties.
9504
9505 * category.c (copy_category_entry): Fix for the case that RANGE
9506 is an integer.
9507
9508 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
9509
9510 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
9511
9512 2008-02-01 Kenichi Handa <handa@m17n.org>
9513
9514 * charset.c (Fcharset_id_internal): New function.
9515 (syms_of_charset): Defsubr it.
9516
9517 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
9518 with the last arg charset_list acquired from coding.
9519 (Fdefine_coding_system_internal): For ccl-based coding system, fix
9520 the attribute coding_attr_ccl_valids.
9521
9522 * coding.h (enum define_coding_ccl_arg_index): Set the first
9523 member coding_arg_ccl_decoder to coding_arg_max.
9524
9525 * ccl.h (ccl_driver): Adjust prototype.
9526
9527 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
9528 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
9529 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
9530 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
9531 last arg Qnil.
9532
9533 2008-02-01 Kenichi Handa <handa@m17n.org>
9534
9535 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
9536 call encode_char.
9537
9538 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
9539
9540 2008-02-01 Dave Love <fx@gnu.org>
9541
9542 * composite.c (syms_of_composite): Make composition_hash_table weak.
9543
9544 2008-02-01 Kenichi Handa <handa@m17n.org>
9545
9546 * dispextern.h (check_face_attributes, generate_ascii_font_name)
9547 (font_name_registry): Don't extern them.
9548 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
9549
9550 * fontset.h (Qfontset): Don't extern it.
9551 (new_fontset_from_font_name): Extern it.
9552
9553 * fontset.c: Give 8 extra slots to fontset objects.
9554 (Qfontset_info): New variable.
9555 (syms_of_fontset): Defsym it.
9556 (FONTSET_FALLBACK): New macro.
9557 (fontset_face): Try also the default fontset.
9558 (make_fontset): Realize a fallback fontset from the default fontset.
9559 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
9560 using split_font_name_into_vector and build_font_name_from_vector.
9561 (Fset_fontset_font): Access the elements of font_spec by enum
9562 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
9563 name by using split_font_name_into_vector.
9564 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
9565 generate a proper font name from the fontset name. Update
9566 Vfontset_alias_alist.
9567 (n_auto_fontsets): New variable.
9568 (new_fontset_from_font_name): New function.
9569 (Ffont_info): Store the information about fonts generated from the
9570 default fontset in the first extra slot of the returned char-table.
9571
9572 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
9573 (font_name_registry): Delete function.
9574 (split_font_name_into_vector): New function.
9575 (build_font_name_from_vector): New function.
9576 (font_list): The argument REGISTRY is now a list of registry names.
9577 (choose_face_font): If we are choosing an ASCII font, and ATTRS
9578 specifies an explicit font name, return the name as is. Make a
9579 list of registy names.
9580
9581 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
9582 of x_new_fontset.
9583 (Fx_create_frame): Don't call x_new_fontset here. Just use
9584 x_list_fonts to check the existence of fonts.
9585
9586 * xterm.h (x_new_fontset): Adjust prototype.
9587
9588 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
9589 string. Use new_fontset_from_font_name to create a fontset from a
9590 font name.
9591
9592 2008-02-01 Kenichi Handa <handa@m17n.org>
9593
9594 * syntax.c (Vfind_word_boundary_function_table): New name for
9595 Vnext_word_boundary_function_table.
9596 (find-word-boundary-function-table): New name for
9597 next-word-boundary-function-table.
9598
9599 2008-02-01 Dave Love <fx@gnu.org>
9600
9601 * Makefile.in: Fix some dependencies.
9602
9603 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
9604 set it to nil before returning.
9605
9606 * composite.c (update_compositions): Fix type error.
9607
9608 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
9609
9610 2008-02-01 Kenichi Handa <handa@m17n.org>
9611
9612 * xterm.c (x_new_font): Optimize for the case that the font is
9613 already set for the frame.
9614
9615 2008-02-01 Kenichi Handa <handa@m17n.org>
9616
9617 * chartab.c (char_table_ascii): Check if the char table contents
9618 is sub-char-table or not.
9619 (char_table_set, char_table_set_range): Fix argument to
9620 char_table_ascii.
9621
9622 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
9623 (detect_coding_utf_8, detect_coding_utf_16)
9624 (detect_coding_emacs_mule, detect_coding_iso_2022)
9625 (detect_coding_sjis, detect_coding_big5)
9626 (detect_coding_ccl, detect_coding_charset): Change argument MASK
9627 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
9628 sequence is valid in this coding system. Change callers.
9629 (MAX_ANNOTATION_LENGTH): New macro.
9630 (ADD_ANNOTATION_DATA): New macro.
9631 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
9632 ADD_ANNOTATION_DATA. Change the format of annotation data.
9633 (ADD_CHARSET_DATA): New macro.
9634 (emacs_mule_char): New argument ID. Change callers.
9635 (decode_coding_emacs_mule, decode_coding_iso_2022)
9636 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
9637 Produce charset annotation data in coding->charbuf.
9638 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
9639 to charset annotation data in coding->charbuf.
9640 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
9641 coding->common_flags if the coding system is iso-2022 based and
9642 uses designation.
9643 (produce_composition): Adjust for the new annotation data format.
9644 (produce_charset): New function.
9645 (produce_annotation): Handle charset annotation.
9646 (handle_composition_annotation, handle_charset_annotation): New
9647 functions.
9648 (consume_chars): Handle charset annotation. Utilize the above two
9649 functions.
9650 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
9651 buffer, get the deleted text as a string and set
9652 coding->src_object to that string.
9653 (detect_coding, detect_coding_system): Use the new struct
9654 coding_detection_info.
9655
9656 * coding.h (struct coding_detection_info): New structure.
9657 (struct coding_system): Adjust prototype of the member `detector'.
9658 (CODING_ANNOTATE_CHARSET_MASK): New macro.
9659
9660 2008-02-01 Kenichi Handa <handa@m17n.org>
9661
9662 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
9663
9664 2008-02-01 Dave Love <fx@gnu.org>
9665
9666 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
9667 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
9668 to new local and nullify apropos_accumulate before returning.
9669 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
9670
9671 2008-02-01 Kenichi Handa <handa@m17n.org>
9672
9673 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
9674 correctly.
9675
9676 2008-02-01 Dave Love <fx@gnu.org>
9677
9678 * fns.c (Flanginfo): Call synchronize_system_time_locale.
9679
9680 2008-02-01 Kenichi Handa <handa@m17n.org>
9681
9682 The following changes are to make character composition happen
9683 automatically on displaying.
9684
9685 * Makefile.in (lisp, shortlisp): Add composite.elc.
9686
9687 * composite.h (Qauto_composed, Vauto_composition_function)
9688 (Qauto_composition_function): Extern them.
9689
9690 * composite.c (Vcomposition_function_table)
9691 (Qcomposition_function_table): Delete variables.
9692 (Qauto_composed, Vauto_composition_function)
9693 (Qauto_composition_function): New variables.
9694 (run_composition_function): Don't call
9695 compose-chars-after-function.
9696 (update_compositions): Clear `auto-composed' text property.
9697 (compose_chars_in_text): Delete this function.
9698 (syms_of_composite): Staticpro Qauto_composed and
9699 Qauto_composition_function. Declare Vauto_composition_function as
9700 a Lisp variable.
9701
9702 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
9703
9704 * xdisp.c (it_props): Add an entry for Qauto_composed.
9705 (handle_auto_composed_prop): New function.
9706
9707 * xselect.c (selection_data_to_lisp_data): Don't call
9708 compose_chars_in_text.
9709
9710 2008-02-01 Dave Love <fx@gnu.org>
9711
9712 * keyboard.c (read_char): Modify checking around use of
9713 Vkeyboard_translate_table.
9714
9715 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
9716 and fix C types.
9717
9718 2008-02-01 Kenichi Handa <handa@m17n.org>
9719
9720 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
9721 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9722 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
9723 the case that the last byte is '\r' correctly.
9724 (decode_coding): Flush out the unprocessed data correctly.
9725 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
9726
9727 2008-02-01 Dave Love <fx@gnu.org>
9728
9729 * xterm.c (XTread_socket): Fix changes for defined keysyms.
9730 Add XK_ISO... case.
9731 (xaw_scroll_callback): Revert last change.
9732
9733 2008-02-01 Kenichi Handa <handa@m17n.org>
9734
9735 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
9736
9737 2008-02-01 Kenichi Handa <handa@m17n.org>
9738
9739 * xfaces.c (Vface_resizing_fonts): New variable.
9740 (struct font_name): New member `resizing_ratio'.
9741 (font_resizing_ratio): New function.
9742 (split_font_name): Set font->resizing_ratio.
9743 (better_font_p): Pay attention to font->resizing_ratio.
9744 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
9745 RESX, and RESY fields.
9746 (try_alternative_families): Try scalable fonts if
9747 Vscalable_fonts_allowed is not Qt.
9748 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
9749
9750 2008-02-01 Dave Love <fx@gnu.org>
9751
9752 * xterm.c (xaw_scroll_callback): Cast correctly.
9753
9754 2008-02-01 Dave Love <fx@gnu.org>
9755
9756 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
9757 (lispy_kana_keys): Comment out.
9758 (make_lispy_event) [XK_kana_A]: Comment out.
9759
9760 * xterm.c (xaw_scroll_callback): Cast call_data.
9761 (XTread_socket): Deal with ASCII keysyms.
9762 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
9763
9764 2008-02-01 Dave Love <fx@gnu.org>
9765
9766 * xterm.c (Vx_keysym_table): New.
9767 (syms_of_xterm): Initialize it.
9768 (XTread_socket): Use it.
9769 From head: Eliminate incorrect optimization that tried to avoid
9770 decoding the output of X*LookupString.
9771 (x_get_font_repertory): Delete charset declaration.
9772
9773 2008-02-01 Kenichi Handa <handa@m17n.org>
9774
9775 * coding.c (detect_coding_charset): If only ASCII bytes are found,
9776 return 0.
9777 (Fdefine_coding_system_internal): Setup
9778 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
9779
9780 2008-02-01 Dave Love <fx@gnu.org>
9781
9782 * coding.c (Fcheck_coding_system): Doc fix.
9783
9784 * editfns.c (Finsert_byte): Return a proper value.
9785
9786 2008-02-01 Kenichi Handa <handa@m17n.org>
9787
9788 * coding.c (decode_coding): Fix args to translate_chars. Pay
9789 attention to Vstandard_translation_table_for_decode.
9790 (encode_coding): Fix args to translate_chars. Pay attention to
9791 Vstandard_translation_table_for_encode.
9792
9793 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
9794 SINGLE_BYTE_CHAR_P.
9795
9796 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
9797 not by SINGLE_BYTE_CHAR_P.
9798
9799 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
9800 SINGLE_BYTE_CHAR_P.
9801
9802 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
9803 SINGLE_BYTE_CHAR_P.
9804
9805 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
9806 by SINGLE_BYTE_CHAR_P.
9807
9808 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
9809 SINGLE_BYTE_CHAR_P.
9810
9811 2008-02-01 Dave Love <fx@gnu.org>
9812
9813 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
9814
9815 2008-02-01 Dave Love <fx@gnu.org>
9816
9817 * fns.c (Flanginfo): Fix typo.
9818
9819 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
9820
9821 2008-02-01 Kenichi Handa <handa@m17n.org>
9822
9823 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
9824 (detect_coding_emacs_mule, detect_coding_iso_2022)
9825 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
9826 incomplete byte sequence. Don't update *mask when correctly detected.
9827 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
9828 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
9829 (detect_coding, detect_coding_system): Adjust for the changes above.
9830
9831 2008-02-01 Kenichi Handa <handa@m17n.org>
9832
9833 * character.c (char_string): Rename from
9834 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
9835 (string_char): Rename from string_char.
9836
9837 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
9838 if C is greater than MAX_3_BYTE_CHAR.
9839 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
9840 string_char instead of string_char_with_unification.
9841
9842 2008-02-01 Dave Love <fx@gnu.org>
9843
9844 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
9845
9846 2008-02-01 Kenichi Handa <handa@m17n.org>
9847
9848 * keymap.c (push_key_description): Pay attention to force_multibyte.
9849
9850 * regex.c (re_search_2): Fix for the case of unibyte buffer.
9851
9852 2008-02-01 Dave Love <fx@gnu.org>
9853
9854 * charset.c (define_charset_internal): Rename `supprementary'.
9855
9856 * Makefile.in (lisp, shortlisp): Remove latin-N.
9857
9858 2008-02-01 Dave Love <fx@gnu.org>
9859
9860 * xfns.c (x_window, x_window): Use use_xim.
9861
9862 * xterm.c (use_xim): Initialize.
9863 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
9864 (x_term_init): Maybe set use_xim.
9865
9866 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
9867
9868 2008-02-01 Kenichi Handa <handa@m17n.org>
9869
9870 * search.c (search_buffer): Fix case-fold-search of multibyte
9871 characters.
9872 (boyer_moore): Rename the last argument to char_high_bits.
9873
9874 2008-02-01 Kenichi Handa <handa@m17n.org>
9875
9876 * xdisp.c (display_string): Fix for the case of zero width glyph.
9877
9878 * xfns.c (x_set_font): Change the error message of the case that
9879 x_new_fontset returns Qt.
9880
9881 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
9882 (Finternal_set_lisp_face_attribute): Use signal_error for the
9883 error of invalid fontset.
9884
9885 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
9886 fontset, return Qt.
9887
9888 2008-02-01 Dave Love <fx@gnu.org>
9889
9890 * unexelf.c (unexec): Make .got handling not SGI-specific.
9891
9892 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
9893
9894 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
9895
9896 * keyboard.c (read_key_sequence): Fix type error.
9897
9898 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
9899 type error.
9900
9901 * fontset.c (fontset_add): Return Lisp_Object.
9902
9903 2008-02-01 Dave Love <fx@gnu.org>
9904
9905 * charset.h (charset_ordered_list_tick): Declare extern.
9906
9907 2008-02-01 Kenichi Handa <handa@m17n.org>
9908
9909 The following changes (and some of 2008-02-01 changes of mine) are
9910 for handling syntax, category, and case conversion for unibyte
9911 characters by converting them to multibyte on the fly. With these
9912 changes, we don't have to setup syntax and case tables for unibyte
9913 characters in each language environment.
9914
9915 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
9916 multibyte if necessary.
9917
9918 * bytecode.c (Fbyte_code): Likewise.
9919
9920 * character.h (LEADING_CODE_LATIN_1_MIN)
9921 (LEADING_CODE_LATIN_1_MAX): New macros.
9922 (unibyte_to_multibyte_table): Extern it.
9923 (unibyte_char_to_multibyte): New macro.
9924 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
9925 (CHAR_LEADING_CODE): New macro.
9926 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
9927
9928 * character.c (unibyte_to_multibyte_table): New variable.
9929 (unibyte_char_to_multibyte): Move to character.h and define as macro.
9930 (multibyte_char_to_unibyte): If C is an eight-bit character,
9931 convert it to the corresponding byte value.
9932
9933 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
9934 not 1, singals an error. Update the elements of
9935 unibyte_to_multibyte_table.
9936 (init_charset_once): Initialize unibyte_to_multibyte_table.
9937 (syms_of_charset): Define the charset `iso-8859-1'.
9938
9939 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
9940 as is without converting it to unibyte. In a unibyte buffer,
9941 convert C to multibyte before checking the syntax.
9942
9943 * lisp.h (unibyte_char_to_multibyte): Delete extern.
9944
9945 * minibuf.c (Fminibuffer_complete_word): Use the macro
9946 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
9947
9948 * regex.h (struct re_pattern_buffer): New member target_multibyte.
9949
9950 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
9951 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
9952 that is zero, convert an eight-bit char to multibyte.
9953 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
9954 non-emacs case.
9955 (PATFETCH): Convert an eight-bit char to multibyte.
9956 (HANDLE_UNIBYTE_RANGE): New macro.
9957 (regex_compile): Setup the compiled pattern for multibyte chars
9958 even if the given regex string is unibyte. Use PATFETCH_RAW
9959 instead of PATFETCH in many places. To handle `charset'
9960 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
9961 only for ASCII chars.
9962 (analyse_first) <exactn>: Simplify because the compiled pattern
9963 is multibyte.
9964 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
9965 <charset>: Use CHAR_LEADING_CODE to get leading codes.
9966 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
9967 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
9968 multibyte always 1.
9969 (re_search_2): In emacs, set the locale variable multibyte to 1,
9970 otherwise to 0. New local variable target_multibyte. Check it
9971 to decide the multibyteness of STR1 and STR2. If
9972 target_multibyte is zero, convert unibyte chars to multibyte
9973 before translating and checking fastmap.
9974 (TARGET_CHAR_AND_LENGTH): New macro.
9975 (re_match_2_internal): In emacs, set the locale variable multibyte
9976 to 1, otherwise to 0. New local variable target_multibyte. Check
9977 it to decide the multibyteness of STR1 and STR2. Use
9978 TARGET_CHAR_AND_LENGTH to fetch a character from D.
9979 <charset, charset_not>: If multibyte is nonzero, check fastmap
9980 only for ASCII chars. Call bcmp_translate with
9981 target_multibyte, not with multibyte.
9982 <begline>: Declare the local variable C as `unsigned'.
9983 (bcmp_translate): Change the last arg name to target_multibyte.
9984
9985 * search.c (compile_pattern_1): Don't adjust the multibyteness of
9986 the regexp pattern and the matching target. Set cp->buf.multibyte
9987 to the multibyteness of the regexp pattern. Set
9988 cp->but.target_multibyte to the multibyteness of the matching target.
9989 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
9990 FETCH_STRING_CHAR_ADVANCE.
9991 (Freplace_match): Convert unibyte chars to multibyte.
9992
9993 * syntax.c (char_quoted, back_comment, scan_words)
9994 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
9995 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
9996 unibyte chars to multibyte.
9997 (skip_chars): Delete the arg syntaxp, and move the code for
9998 handling syntaxes to skip_syntaxes. Change callers.
9999 Fix the case that the multibyteness of STRING and the current
10000 buffer doesn't match.
10001 (skip_syntaxes): New function.
10002 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
10003 SINGLE_BYTE_CHAR_P.
10004
10005 2008-02-01 Kenichi Handa <handa@m17n.org>
10006
10007 * xfaces.c (QCfontset): New variable.
10008 (LFACE_FONTSET): New macro.
10009 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
10010 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
10011 (Finternal_set_lisp_face_attribute)
10012 (Finternal_get_lisp_face_attribute): Handle QCfontset.
10013 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
10014 check also LFACE_FONTSET_INDEX.
10015 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
10016 attrs[LFACE_FONT_INDEX].
10017 (syms_of_xfaces): Intern and staticpro QCfontset.
10018
10019 * dispextern.h (enum lface_attribute_index): New member
10020 LFACE_FONTSET_INDEX.
10021
10022 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
10023
10024 2008-02-01 Kenichi Handa <handa@m17n.org>
10025
10026 * coding.c (coding_set_destination): Fix coding->destination for
10027 the case converting a region.
10028 (encode_coding_utf_8): Encode eight-bit chars as single byte.
10029 (encode_coding_object): Fix coding->dst_pos and
10030 coding->dst_pos_byte for the case converting a region.
10031
10032 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
10033
10034 * character.h (BYTE8_STRING): New macro.
10035
10036 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
10037
10038 2008-02-01 Kenichi Handa <handa@m17n.org>
10039
10040 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
10041 characters by octal form.
10042
10043 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
10044
10045 * buffer.h (_fetch_multibyte_char_len): Delete extern.
10046 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
10047 _fetch_multibyte_char_len.
10048 (FETCH_CHAR_AS_MULTIBYTE): New macro.
10049
10050 * casetab.c (set_canon, set_identity, shuffle): Simplify.
10051
10052 * casefiddle.c (casify_object): Simplify. Handle the case that
10053 the case conversion change the byte length.
10054 (casify_region): Likewise.
10055
10056 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
10057
10058 * character.c (_fetch_multibyte_char_len): Delet this variable.
10059 (syms_of_character): Setup Vprintable_chars.
10060
10061 * editfns.c (Fchar_equal): Fix for the unibyte case.
10062 (Finsert_byte): New function.
10063 (syms_of_editfns): Defsubr it.
10064
10065 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
10066 of direct code 0x3ffff.
10067
10068 * search.c (Freplace_match): Fix for the unibyte case.
10069
10070 2008-02-01 Kenichi Handa <handa@m17n.org>
10071
10072 * lread.c (safe_to_load_p): Fix the logic.
10073
10074 * syntax.c (scan_words): Don't treat characters belonging to
10075 different scripts as constituting a word.
10076
10077 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10078
10079 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
10080
10081 * emacs.c (main): In the case of --unibyte, instead of aborting on
10082 finding non-empty buffer, make it unibyte.
10083
10084 2008-02-01 Kenichi Handa <handa@m17n.org>
10085
10086 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
10087 to create a fontset.
10088
10089 2008-02-01 Dave Love <fx@gnu.org>
10090
10091 * character.c (Funibyte_char_to_multibyte): Doc fix.
10092
10093 * xfns.c [HAVE_STDLIB_H]: Fix last change.
10094
10095 2008-02-01 Kenichi Handa <handa@m17n.org>
10096
10097 * fontset.c (fontset_add): Make the type `int'.
10098 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
10099
10100 * character.c (unibyte_char_to_multibyte)
10101 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
10102 charset_unibyte, not charset_primary.
10103
10104 * charset.h (charset_unibyte): Extern it instead of charset_primary.
10105
10106 * charset.c (charset_unibyte): Rename from charset_primary.
10107 (Funibyte_charset): Rename from Fprimary_charset.
10108 (Fset_unibyte_charset): Rename from Fset_primary_charset.
10109 (syms_of_charset): Adjust for the above changes.
10110
10111 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
10112 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
10113 it->multibyte_p is zero.
10114
10115 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
10116 Delete extern.
10117
10118 2008-02-01 Kenichi Handa <handa@m17n.org>
10119
10120 * coding.c (Fdefine_coding_system_internal): Fix category setting
10121 for a coding system of type iso-2022.
10122
10123 2008-02-01 Kenichi Handa <handa@m17n.org>
10124
10125 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
10126
10127 2008-02-01 Kenichi Handa <handa@m17n.org>
10128
10129 * syntax.c (Vnext_word_boundary_function_table): New variable.
10130 (next-word-boundary-function-table): Declare it as a Lisp variable
10131 in syms_of_syntax.
10132 (scan_words): Call functions in Vnext_word_boundary_function_table
10133 if any.
10134
10135 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
10136
10137 * fontset.c (fs_load_font): If fontp->charset is not negative,
10138 return fontp without setting its members.
10139
10140 2008-02-01 Dave Love <fx@gnu.org>
10141
10142 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
10143
10144 * m/sparc.h (HAVE_ALLOCA): Delete.
10145
10146 * s/irix6-5.h: Don't include strings.h.
10147 (bcopy, bzero, bcmp): Don't undef.
10148
10149 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
10150
10151 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
10152 (TIOCSIGSEND): Don't test IRIX6.
10153 (bcopy, bzero, bcmp): Define conditionally.
10154
10155 2008-02-01 Kenichi Handa <handa@m17n.org>
10156
10157 * buffer.c (Qas, Qmake, Qto): New variables.
10158 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
10159 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
10160
10161 * callproc.c (Fcall_process): Don't call insert_1_both directly if
10162 we are inserting a process output into a multibyte buffer.
10163
10164 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
10165 multibyte_char_to_unibyte.
10166
10167 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
10168 by the primary charset, make it eight-bit char.
10169 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
10170
10171 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
10172 (charset_8_bit__control, charset_8_bit_graphic)
10173 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
10174 (define_charset_internal): New function.
10175 (syms_of_charset): Call define_charset_internal for pre-defined
10176 charsets.
10177
10178 * charset.h (charset_8_bit): Extern it.
10179
10180 * coding.c (make_conversion_work_buffer): Adjust for the change
10181 of Fset_buffer_multibyte.
10182 (encode_coding_raw_text): Increment p0 in the loop.
10183
10184 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
10185
10186 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
10187 for the change of Fset_buffer_multibyte.
10188
10189 * fns.c (Fstring_to_multibyte): New function.
10190 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
10191
10192 2008-02-01 Dave Love <fx@gnu.org>
10193
10194 * xfns.c (x_put_x_image): Declare args.
10195
10196 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
10197 (try_font_list): Declare an arg.
10198
10199 * xdisp.c (message2_nolog, set_message): Declare an arg.
10200
10201 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
10202
10203 * syntax.c (scan_sexps_forward): Declare an arg.
10204
10205 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
10206 Declare an arg.
10207
10208 * lisp.h (Fnew_fontset): Declare.
10209
10210 * keymap.c (push_key_description): Call CHARACTERP correctly.
10211
10212 * fontset.c (fontset_add): Declare args. Call make_number correctly.
10213 (face_for_char): Delete unused vars.
10214 (Fset_fontset_font): Doc fix. Delete unused vars.
10215
10216 * doc.c (Fsubstitute_command_keys): Delete unused vars.
10217
10218 * composite.c (update_compositions): Declare arg.
10219
10220 * cm.c (calccost, cmgoto): Declare args.
10221
10222 * charset.c: Remove `emacs' conditional. Doc fixes.
10223 (map_char_table_for_charset): Declare.
10224
10225 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
10226
10227 * ccl.c: Remove `emacs' conditional.
10228
10229 2008-02-01 Kenichi Handa <handa@m17n.org>
10230
10231 The following changes are to allow specifying multiple font
10232 patterns for a character range (specified by script or charset).
10233
10234 * Makefile.in (abbrev.o): Depend on syntax.h.
10235 (xfaces.o): Depend on charset.h.
10236
10237 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
10238 SINGLE_BYTE_CHAR_P.
10239
10240 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
10241
10242 * character.h (Vchar_script_table): Extern it.
10243
10244 * character.c (Vscript_alist): Delete.
10245 (Vchar_script_table, Qchar_script_table): New variable.
10246 (syms_of_character): Declare Vchar_script_table as a lisp variable
10247 and initialize it.
10248
10249 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
10250 have property char-table-extra-slots, make no extra slot.
10251
10252 * dispextern.h (struct face): Delete member `charset'.
10253 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
10254 SINGLE_BYTE_CHAR_P.
10255 (choose_face_font, lookup_non_ascii_face, font_name_registry):
10256 Add prototypes.
10257 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
10258 (generate_ascii_font_name): Rename from generate_ascii_font.
10259
10260 * fontset.h (get_font_repertory_func): New prototype.
10261 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
10262 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
10263
10264 * fontset.c (Qprepend, Qappend): New variables.
10265 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
10266 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
10267 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
10268 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
10269 (fontset_ref_and_range, fontset_add, reorder_font_vector)
10270 (load_font_get_repertory): New functions.
10271 (fontset_set): Delete.
10272 (fontset_face): New arg FACE. Return face ID, not face.
10273 Complete re-write to handle new fontset structure. Change caller.
10274 (free_face_fontset): Use ASET istead of AREF (X) = Y.
10275 (face_for_char): Don't call lookup_face.
10276 (make_fontset_for_ascii_face): New arg FACE.
10277 (fs_load_font): New arg CHARSET_ID. Don't check
10278 Vfont_encoding_alist here.
10279 (find_font_encoding): New function.
10280 (list_fontsets): Use STRINGP, not ! NILP.
10281 (accumulate_script_ranges): New function.
10282 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
10283 re-written to handle new fontset structure.
10284 (Ffontset_font): Return a copy of element.
10285 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
10286 docstring of font-encoding-alist.
10287
10288 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
10289 (Fset_fotset_font): Fix arguments to 5.
10290
10291 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
10292
10293 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
10294 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10295 (highlight_trailing_whitespace): Adjust for the change of
10296 lookup_named_face.
10297
10298 * xfaces.c: Include charset.h.
10299 (load_face_font): Delete argument C. Change caller.
10300 (generate_ascii_font_name): Rename from generate_ascii_font.
10301 (font_name_registry): New function.
10302 (cache_face): Store ascii faces before non-ascii faces in buckets.
10303 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
10304 Lookup only ascii faces.
10305 (lookup_non_ascii_face): New function.
10306 (lookup_named_face): Delete argument C. Change caller.
10307 (lookup_derived_face): Delete argument C. Change caller.
10308 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
10309 a string, just call font_list with it.
10310 (choose_face_font): Delete arguments FACE and C. New arg
10311 FONT_SPEC. Change caller.
10312 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
10313 Change caller.
10314 (realize_non_ascii_face): New function.
10315 (realize_x_face): Call load_face_font here.
10316 (realize_tty_face): Delete argument C. Change caller.
10317 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
10318 get a face ID.
10319 (dump_realized_face): Don't print charset of FACE.
10320
10321 * xfns.c (x_set_font): Always call x_new_fontset and
10322 store_frame_parameter.
10323 (Fx_create_frame): Call x_new_fontset, not x_new_font.
10324 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
10325
10326 * xterm.h (x_get_font_repertory): Extern it.
10327
10328 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
10329 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
10330 it->multibyte_p is zero.
10331 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10332 (x_new_fontset): If FONTSETNAME doesn't match any existing
10333 fontsets, create a new one.
10334 (x_get_font_repertory): New function.
10335
10336 2008-02-01 Kenichi Handa <handa@m17n.org>
10337
10338 * coding.c (Ffind_coding_systems_region_internal): Detect an
10339 ASCII only string correctly.
10340
10341 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
10342 version is 0.
10343
10344 2008-02-01 Kenichi Handa <handa@m17n.org>
10345
10346 * lread.c: Include "coding.h".
10347 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
10348 (load_each_byte, unread_char): New variables.
10349 (readchar_backlog): Delete.
10350 (readchar): Return a character unless load_each_byte is nonzero.
10351 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
10352 cons. If unread_char is not -1, simply return it.
10353 (unreadchar): Handle the case that readcharfun is
10354 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
10355 (read_multibyte): Delete.
10356 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
10357 (read_emacs_mule_char): New functions.
10358 (Fload): Even if the file doesn't have the extention ".elc", if
10359 safe_to_load_p returns a positive version number, assume that the
10360 file contains bytecompiled code. If the version is less than 22,
10361 load the file while decoding multibyte sequences by emacs-mule.
10362 (readevalloop): Don't use readchar_backlog.
10363 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
10364 (Fread_from_string): Pay attention to the case that STREAM is a cons.
10365 (read_escape): Delete the arg BYTEREP.
10366 (read1): Set load_each_byte to 1 temporarily while handling
10367 #@NUMBER. Don't call read_multibyte.
10368 (read_vector): Call Fread with a cons. If readcharfun is
10369 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
10370 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
10371 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
10372 and Qload_force_doc_strings.
10373
10374 2008-02-01 Kenichi Handa <handa@m17n.org>
10375
10376 * xdisp.c (face_before_or_after_it_pos): Call
10377 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
10378
10379 2008-02-01 Kenichi Handa <handa@m17n.org>
10380
10381 * character.h (TRAILING_CODE_P): New macro.
10382 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
10383 (string_char_with_unification): Fix prototype.
10384 (Vscript_alist): Extern it.
10385
10386 * character.c (Vscript_alist): New variable.
10387 (string_char_with_unification, str_as_unibyte)
10388 (string_escape_byte8): Add `const' to local variables.
10389 (syms_of_character): Declare script-alist as a Lisp variable.
10390
10391 * charset.h (Vcharset_ordered_list): Extern it.
10392 (charset_ordered_list_tick): Extern it.
10393 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
10394 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
10395 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
10396 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
10397 (Funify_charset): Adjust for the change of Funify_charset.
10398
10399 * charset.c (charset_ordered_list_tick): New variable.
10400 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
10401 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
10402 deunify intead of unify a charset.
10403 (string_xstring_p): Add `const' to local variables.
10404 (find_charsets_in_text): Add `const' to arguemnts and local variables.
10405 (encode_char): Adjust for the change of Funify_charset. Fix
10406 detecting of invalid code.
10407 (Fset_charset_priority): Increment charset_ordered_list_tick.
10408 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
10409 and TO_CODE.
10410
10411 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
10412 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
10413 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
10414 (decode_coding_ccl, consume_chars)
10415 (Ffind_coding_systems_region_internal)
10416 (Fcheck_coding_systems_region): Add `const' to local variables.
10417
10418 * print.c (print_object): Use octal form for printing the
10419 contents of a bool vector.
10420
10421 2008-02-01 Dave Love <fx@gnu.org>
10422
10423 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
10424 <version == 20>: Refuse to load.
10425
10426 2008-02-01 Dave Love <fx@gnu.org>
10427
10428 * fns.c: Move coding.h.
10429 (Qcodeset, Qdays, Qmonths): New.
10430 (concat): Use CHARACTERP instead of INTERGERP.
10431 (Flocale_codeset): Delete.
10432 (Flanginfo): New function.
10433 (syms_of_fns): Change accordingly.
10434
10435 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
10436
10437 2008-02-01 Dave Love <fx@gnu.org>
10438
10439 * casetab.c (init_casetab_once, init_casetab_once): Fix
10440 CHAR_TABLE_SET call.
10441
10442 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
10443
10444 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
10445
10446 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
10447 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
10448 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
10449
10450 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
10451
10452 * coding.c (ENCODE_DESIGNATION, decode_eol)
10453 (make_conversion_work_buffer, code_conversion_restore)
10454 (Fdefine_coding_system_internal): Convert Lisp types.
10455 (code_conversion_restore): Use EQ, not ==.
10456 (Fencode_coding_string): Fix code_convert_string call.
10457
10458 * coding.h (code_convert_region): Fix prototype.
10459
10460 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
10461
10462 * fontset.c (fontset_ref, fontset_set, fs_load_font)
10463 (Ffontset_info): Convert Lisp types.
10464
10465 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
10466
10467 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
10468
10469 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
10470
10471 * chartab.c: Include "...h", not <...h> in some cases.
10472
10473 * callproc.c (Fcall_process): Remove unused variables.
10474
10475 2008-02-01 Dave Love <fx@gnu.org>
10476
10477 * coding.c (Fset_coding_system_priority): Allow null arg list.
10478
10479 2008-02-01 Dave Love <fx@gnu.org>
10480
10481 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10482 (Fself_insert_and_exit): Use CHARACTERP.
10483
10484 * callproc.c (Fcall_process): Remove unused vars.
10485
10486 * xterm.c (XTread_socket): Add extra dead keysyms.
10487
10488 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
10489
10490 * dispextern.h: Remove prototypes for redraw_frame,
10491 redraw_garbaged_frames.
10492
10493 * cmds.c (Fself_insert_command): Use CHARACTERP.
10494
10495 * chartab.c (make_sub_char_table): Remove unused var.
10496 (Fset_char_table_default, Fmap_char_table): Doc fix.
10497
10498 * keymap.c (access_keymap): Remove generic char code.
10499 (push_key_description): Use CHARACTERP.
10500
10501 2008-02-01 Dave Love <fx@gnu.org>
10502
10503 * charset.c: Doc fixes.
10504 (Funify_charset): Extra checking.
10505
10506 2008-02-01 Dave Love <fx@gnu.org>
10507
10508 * lread.c: Remove some unused variables.
10509 (safe_to_load_p): If safe, return the magic number version byte.
10510 (Fload): Maybe use load-with-code-conversion.
10511
10512 2008-02-01 Kenichi Handa <handa@m17n.org>
10513
10514 * category.c (Fmodify_category_entry): Don't modify the contents
10515 of category_set for characters out of the range. Avoid
10516 unnecessary modification.
10517
10518 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
10519 Vchar_unify_table. The default value of the table is now nil.
10520
10521 * character.c (syms_of_character): Setup Vchar_width_table for
10522 eight-bit-control and raw-byte chars.
10523
10524 * charset.h (enum define_charset_arg_index): Delete
10525 charset_arg_parents and add charset_arg_subset and
10526 charset_arg_superset.
10527 (enum charset_attr_index): Delete charset_parents and add
10528 charset_subset and charset_superset.
10529 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
10530 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
10531 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
10532 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
10533 (CHARSET_SUPERSET): New macros.
10534 (charset_work): Extern it.
10535 (ENCODE_CHAR): Use charset_work.
10536 (CHAR_CHARSET_P): Adjust for the change of encoder format.
10537 (map_charset_chars): Extern it.
10538
10539 * charset.c (load_charset_map): Set the default value of encoder
10540 and deunifier char-tables to nil.
10541 (map_charset_chars): Change argument. Change callers. Use
10542 map_char_table_for_charset instead of map_char_table.
10543 (Fmap_charset_chars): New optional args from_code and to_code.
10544 (Fdefine_charset_internal): Adjust for the change of
10545 `define-charset' (:parents -> :subset or :superset).
10546 (charset_work): New variable.
10547 (encode_char, syms_of_charset): Adjust for the change of
10548 Fdefine_charset_internal.
10549 (Ffind_charset_string): Setup the vector `charsets' correctly.
10550
10551 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
10552 the previous change.
10553 (char_table_ref_and_range): Adjust for the above change.
10554 (map_sub_char_table_for_charset): New function.
10555 (map_char_table_for_charset): New function.
10556
10557 * keymap.c (describe_vector): Handle a char-table directly here.
10558 (describe_char_table): Delete.
10559
10560 * lisp.h (map_charset_chars): Delete.
10561
10562 2008-02-01 Dave Love <fx@gnu.org>
10563
10564 * fns.c (count_combining): Comment out (unused).
10565 (Flocale_codeset): New.
10566 (syms_of_fns): Defsubr it.
10567
10568 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
10569 (size_t): Remove.
10570
10571 2008-02-01 Dave Love <fx@gnu.org>
10572
10573 * Makefile.in (chartab.o): Depend on charset.h.
10574
10575 2008-02-01 Kenichi Handa <handa@m17n.org>
10576
10577 * character.c (syms_of_character): Set the default value of
10578 Vprintable_chars to Qnil.
10579
10580 2008-02-01 Dave Love <fx@gnu.org>
10581
10582 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
10583
10584 2008-02-01 Kenichi Handa <handa@m17n.org>
10585
10586 * charset.c (load_charset_map): Handle the case that from < to
10587 correctly.
10588
10589 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
10590 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
10591 Pay attention to raw-8-bit chars.
10592
10593 2008-02-01 Kenichi Handa <handa@m17n.org>
10594
10595 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
10596 It is not bytecompiled now.
10597
10598 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
10599 (charset_jisx0208): New variables.
10600 (Fdefine_charset_internal): Setup them if appropriate.
10601 (init_charset_once): Initialize them to -1.
10602
10603 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
10604 (charset_jisx0208): Extern them.
10605
10606 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
10607 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
10608 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
10609 (setup_iso_safe_charsets): Fix arguments to Fassq.
10610 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
10611 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
10612 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
10613 (encode_coding_iso_2022): Change the 1st arg to
10614 ENCODE_ISO_CHARACTER to a variable.
10615
10616 2008-02-01 Kenichi Handa <handa@m17n.org>
10617
10618 * charset.h (enum define_charset_arg_index): New enums
10619 charset_arg_min_code and charset_arg_max_code.
10620 (struct charset): New member char_index_offset.
10621
10622 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
10623 Take charset->char_index_offset into account.
10624 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
10625 args[charset_arg_max_code]. Setup charset.char_index_offset.
10626 (syms_of_charset): Fix args to Fdefine_charset_internal.
10627
10628 2008-02-01 Dave Love <fx@gnu.org>
10629
10630 * coding.c (decode_coding_utf_8): Reject overlong sequences.
10631
10632 2008-02-01 Dave Love <fx@gnu.org>
10633
10634 * coding.c: Doc fixes.
10635 (Fcoding_system_aliases): Fix return value.
10636 (Qmac): Remove (duplicated) definition.
10637
10638 2008-02-01 Dave Love <fx@gnu.org>
10639
10640 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
10641 functions.
10642
10643 * character.c (Fstring): Doc fix.
10644
10645 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
10646
10647 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
10648 ids.
10649 (font-encoding-alist): Doc fix.
10650
10651 2008-02-01 Dave Love <fx@gnu.org>
10652
10653 * term.c (costs_set): Declare static, non-initialized for pcc.
10654 (encode_terminal_code): Remove unused var.
10655
10656 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
10657 for K&R.
10658
10659 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
10660
10661 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
10662 (suffixes): Move out of make_subsidiaries for K&R.
10663
10664 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
10665
10666 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
10667
10668 2008-02-01 Dave Love <fx@gnu.org>
10669
10670 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
10671
10672 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
10673
10674 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
10675
10676 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
10677
10678 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
10679
10680 2008-02-01 Kenichi Handa <handa@m17n.org>
10681
10682 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
10683 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
10684
10685 2008-02-01 Kenichi Handa <handa@m17n.org>
10686
10687 * coding.c (decode_coding_charset): Adjust for the change of
10688 Fdefine_coding_system_internal.
10689 (Fdefine_coding_system_internal): For a coding system of
10690 `charset' type, store a list of charset IDs in
10691 `charset_attr_charset_valids' element of coding attributes.
10692
10693 2008-02-01 Kenichi Handa <handa@m17n.org>
10694
10695 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
10696 (emacs_mule_char): New arg src. Delete arg `composition'. Change
10697 caller. Handle 2-byte and 3-byte charsets correctly.
10698 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
10699 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
10700 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
10701 (DECODE_EMACS_MULE_21_COMPOSITION): Call
10702 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
10703 sequence.
10704 (decode_coding_emacs_mule): Handle composition correctly. Rewind
10705 `src' and `consumed_chars' correctly before calling emacs_mule_char.
10706 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
10707 and alt&rule composition.
10708 (decode_coding_iso_2022): Handle composition correctly.
10709 (init_coding_once): Setup emacs_mule_bytes for private charsets.
10710
10711 * charset.c (Fdefine_charset_internal): Fix bug for the case of
10712 re-defining a charset. If the charset has :emacs-mule-id, setup
10713 emacs_mule_bytes.
10714 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
10715
10716 2008-02-01 Kenichi Handa <handa@m17n.org>
10717
10718 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
10719 (encode_coding_big5, encode_coding_charset): If coding requires safe
10720 encoding, produce a character specified by
10721 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
10722
10723 2008-02-01 Dave Love <fx@gnu.org>
10724
10725 * xterm.c (XSetIMValues): Declare.
10726
10727 * process.c: Conditionally include sys/wait.h, pty.h.
10728
10729 * print.c (print_object): Fix print format for 64-bit systems.
10730
10731 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
10732
10733 * buffer.c (emacs_strerror): Declare.
10734
10735 * fontset.c (Fclear_face_cache): Declare.
10736 (accumulate_font_info): Comment-out (unused).
10737 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
10738 variables.
10739
10740 * character.h (string_escape_byte8): Declare.
10741
10742 * charset.c (load_charset_map, load_charset_map_from_file): Remove
10743 unused vars.
10744 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
10745 (Fmap_charset_chars): Doc fix.
10746
10747 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
10748 (Fset_coding_system_priority, Fset_coding_system_priority)
10749 (Fdefine_coding_system_internal): Doc fix.
10750
10751 2008-02-01 Dave Love <fx@gnu.org>
10752
10753 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
10754
10755 2008-02-01 Kenichi Handa <handa@m17n.org>
10756
10757 * character.c (string_escape_byte8): Make multibyte string with
10758 correct size.
10759
10760 * charset.c (Fmake_char): Delete unnecessary code.
10761
10762 2008-02-01 Kenichi Handa <handa@m17n.org>
10763
10764 * xfns.c (x_encode_text): Allocate coding.destination here, and
10765 call encode_coding_object with dst_object Qnil.
10766
10767 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
10768 multibyte form correctly.
10769
10770 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
10771 against Vfont_encoding_alist.
10772
10773 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
10774 handling of charset list.
10775 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
10776 (decode_coding_object): Move point to coding->dst_pos before
10777 calling post-read-conversion function.
10778 (encode_coding_object): Give correct arguments to
10779 pre-write-conversion. Ignore the return value of
10780 pre-write-conversion function. Pay attention to the case that
10781 pre-write-conversion changes the current buffer. If dst_object is
10782 Qt, even if coding->src_bytes is zero, allocate at least one byte
10783 to coding->destination.
10784
10785 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
10786
10787 * charset.c (Fmake_char): Make it more backward compatible.
10788 (Fmap_charset_chars): Fix docstring.
10789
10790 2008-02-01 Dave Love <fx@gnu.org>
10791
10792 * coding.c: Doc fixes.
10793 (Fdefine_coding_system_alias): Use names, not symbols, in
10794 coding-system-alist.
10795
10796 2008-02-01 Kenichi Handa <handa@m17n.org>
10797
10798 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
10799 of calling free_realized_face.
10800
10801 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
10802
10803 * charset.c (read_hex): Don't treat SPC as a comment starter.
10804 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
10805 (Fdecode_char): Fix typo.
10806
10807 2008-02-01 Kenichi Handa <handa@m17n.org>
10808
10809 * charset.h (struct charset): New member `code_space_mask'.
10810
10811 * coding.c (coding_set_source): Delete the local variable beg_byte.
10812 (encode_coding_charset, Fdefine_coding_system_internal):
10813 Delete the local variable charset.
10814 (Fdefine_coding_system_internal): Setup
10815 attrs[coding_attr_charset_valids] correctly.
10816
10817 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
10818 member to check if CODE is valid or not.
10819 (Fdefine_charset_internal): Initialize `code_space_mask' member.
10820 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
10821 is within the range of charset->min_code and carset->max_code.
10822
10823 2008-02-01 Dave Love <fx@gnu.org>
10824
10825 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
10826
10827 * dispextern.h (generate_ascii_font): Fix return type.
10828
10829 * xfaces.c (generate_ascii_font): Fix arg declaration.
10830
10831 * coding.c (coding_inherit_eol_type)
10832 (Fset_terminal_coding_system_internal)
10833 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
10834
10835 2008-02-01 Kenichi Handa <handa@m17n.org>
10836
10837 * coding.c (decode_coding_charset, encode_coding_charset): Handle
10838 multiple charsets correctly.
10839
10840 2008-02-01 Kenichi Handa <handa@m17n.org>
10841
10842 * search.c (boyer_moore): Fix handling of mulitbyte character
10843 translation.
10844
10845 * xdisp.c (display_mode_element): When the variable `elt' is
10846 changed, update `this' and `lisp_string'.
10847
10848 2008-02-01 Kenichi Handa <handa@m17n.org>
10849
10850 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
10851
10852 * callproc.c (Fcall_process): Be sure to give the current buffer
10853 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
10854
10855 * charset.c (struct charset_map_entries): New struct.
10856 (load_charset_map): Rename from parse_charset_map. New args
10857 entries and n_entries. Change caller.
10858 (load_charset_map_from_file): Rename from load_charset_map.
10859 Change caller. New arg control_flag. Call load_charset_map at
10860 the tail.
10861 (load_charset_map_from_vector): New function.
10862 (Fdefine_charset_internal): Setup charset.compact_codes_p.
10863 (encode_char): If the charset is compact, change a character index
10864 to a code point.
10865
10866 * coding.c (coding_alloc_by_making_gap): Check the case that the
10867 source and destination are the same correctly.
10868 (decode_coding_raw_text): Set coding->consumed_char and
10869 coding->consumed to 0.
10870 (produce_chars): If coding->chars_at_source is nonzero, update
10871 coding->consumed_char and coding->consumed before calling
10872 alloc_destination.
10873 (Fdefine_coding_system_alias): Register ALIAS in
10874 Vcoding_system_alist.
10875 (syms_of_coding): Define `no-convesion' coding system at the tail.
10876
10877 * fileio.c (Finsert_file_contents): Set coding_system instead of
10878 val. If the current buffer is multibyte, always call
10879 decode_coding_gap.
10880
10881 * xfaces.c (try_font_list): Give higher priority to fontset's
10882 family than face's family.
10883
10884 2008-02-01 Kenichi Handa <handa@m17n.org>
10885
10886 * callproc.c (Fcall_process): Be sure to give the current buffer
10887 to decode_coding_c_string.
10888
10889 * xfaces.c (try_font_list): Give a family specified in a fontset
10890 higher priority than a family specified in a face.
10891
10892 2008-02-01 Kenichi Handa <handa@m17n.org>
10893
10894 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
10895 Fix arguments to insert_from_buffer.
10896
10897 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
10898
10899 2008-02-01 Kenichi Handa <handa@m17n.org>
10900
10901 * coding.c (produce_chars): Set the variable `multibytep' correctly.
10902 (decode_coding_gap): Set coding->dst_multibyte correctly.
10903
10904 2008-02-01 Kenichi Handa <handa@m17n.org>
10905
10906 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
10907 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
10908 (encode_coding_utf_16): Substitute coding->default_char for
10909 non-Unicode characters.
10910 (decode_coding): Don't call record_insert here.
10911 (setup_coding_system): Initialize `surrogate' of
10912 coding->spec.utf_16 to 0.
10913 (EMIT_ONE_BYTE): Fix for multibyte case.
10914
10915 * insdel.c (insert_from_gap): Call record_insert.
10916
10917 2008-02-01 Kenichi Handa <handa@m17n.org>
10918
10919 * casefiddle.c (casify_region): Fix multibyte case.
10920
10921 * character.c (c_string_width): Add return type `int'.
10922 (char_string_with_unification): Delete arg ADVANCED.
10923
10924 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
10925 (CHAR_STRING): Adjust for the change of char_string_with_unification.
10926 (CHAR_STRING_ADVANCE): Make it do-while statement.
10927
10928 * chartab.c (sub_char_table_set_range): Optimize for the case
10929 DEPTH == 3. Add workaround code for a GCC optimization bug.
10930
10931 * charset.c (parse_charset_map): Remove an unused variable.
10932
10933 * coding.c: Delete unused variables.
10934
10935 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
10936 earlier. If inserted is zero and the coding system doesn't
10937 require flushing, don't call decode_coding_gap.
10938
10939 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
10940
10941 2008-02-01 Kenichi Handa <handa@m17n.org>
10942
10943 The following changes are for using Unicode as an internal
10944 character model, and use UTF-8 format for buffer/string
10945 representation.
10946
10947 * .gdbinit (xchartable): Adjust for the change of char table structure.
10948 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
10949
10950 * Makefile.in (obj): Add character.o and chartab.o.
10951 (lisp, shortlisp): Remove utf-8.elc.
10952 (*.o): For many files, change dependency on charset.h to
10953 character.h, and add dependency on character.h.
10954 (character.o, chartab.o): New targets.
10955
10956 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
10957 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
10958 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
10959 of "charset.h".
10960
10961 * dired.c, filelock.c: Include "character.h".
10962
10963 * alloc.c: Include "character.h" instead of "charset.h".
10964 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
10965 (syms_of_alloc): Remove defsubr for Smake_char_table.
10966
10967 * buffer.c: Include "character.h" instead of "charset.h", don't
10968 include "coding.h".
10969 (Fset_buffer_multibyte): Adjust for UTF-8.
10970
10971 * buffer.h: EXFUN Fbuffer_live_p.
10972
10973 * callproc.c: Include "character.h" instead of "charset.h".
10974 (Fcall_process): Big change for the new code-conversion APIs.
10975
10976 * casetab.c: Include "character.h" instead of "charset.h".
10977 (set_canon, set_identity, shuffle): Adjust for the new
10978 map_char_table spec.
10979 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
10980 accessing the char table structure.
10981
10982 * chartab.c: New file that implements char table.
10983
10984 * category.c: Include "character.h".
10985 (copy_category_entry): New function.
10986 (copy_category_table): Call map_char_table and copy_category_entry.
10987 (Fmake_category_table): Initialize all top-vel slots.
10988 (char_category_set): New function.
10989 (modify_lower_category_set): Delete.
10990 (Fmodify_category_entry): Call char_table_ref_and_range.
10991
10992 * category.h (CATEGORY_SET): Just call char_category_set.
10993
10994 * ccl.c: Include "character.h".
10995 (Qccl, Qcclp): New variables.
10996 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
10997 it's less than 256.
10998 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
10999 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
11000 and DST type.
11001 (ccl_driver): Change types of argument, adjust code accordingly.
11002 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
11003 ccl_driver.
11004 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
11005
11006 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
11007 New members src_multibyte, dst_multibyte, consumed, and produced.
11008 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
11009 (CODING_SPEC_CCL_PROGRAM): New macro.
11010 (ccl_driver): Update prototype.
11011 (Qccl, Qcclp, Fccl_program_p): Extern them.
11012 (CHECK_CCL_PROGRAM): New macro.
11013
11014 * character.c, character.h, chartab.c: New files.
11015
11016 * charset.c: Mostly re-written. Move character and multibyte sequence
11017 handling codes to character.c.
11018
11019 * charset.h: Mostly re-written. Move character and multibyte sequence
11020 handling codes to character.h.
11021
11022 * coding.c, coding.h: Mostly re-written.
11023
11024 * composite.c: Include "character.h" instead of "charset.h".
11025 (CHAR_WIDTH): Move to character.h.
11026 (HASH_KEY, HASH_VALUE): Delete.
11027
11028 * composite.h (enum composition_method): Change order of enumeration
11029 symbols.
11030
11031 * data.c: Include "character.h" instead of "charset.h".
11032 (Faref): Call CHAR_TABLE_REF for a char table.
11033 (Faset): Call CHAR_TABLE_SET for a char table.
11034
11035 * dispextern.h (free_realized_face, check_face_attribytes)
11036 (generate_ascii_font): Extern them.
11037 (free_realized_multibyte_face): Delete extern.
11038
11039 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
11040 table structure.
11041
11042 * editfns.c: Include "character.h" instead of "charset.h".
11043 (Fchar_to_string): Always call CHAR_STRING.
11044
11045 * emacs.c (main): Call init_charset_once, init_charset,
11046 syms_of_chartab, and syms_of_character.
11047
11048 * fileio.c: Include "character.h" instead of "charset.h".
11049 (Finsert_file_contents): Big change for the new code-conversion API.
11050 (choose_write_coding_system, Fwrite_region): Likewise.
11051 (build_annotations_2): Delete.
11052 (e_write): Big change for the new code-conversion API.
11053
11054 * fns.c: Include "character.h" instead of "charset.h".
11055 (copy_sub_char_table): Move to chartab.c.
11056 (Fcopy_sequence): Call copy_char_table for a char table.
11057 (concat): Delete codes calling count_multibyte.
11058 (string_char_to_byte, string_byte_to_char): Adjust for the new
11059 multibyte form.
11060 (internal_equal): Adjust for the change of char table structure.
11061 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
11062 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
11063 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
11064 (char_table_translate, optimize_sub_char_table)
11065 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
11066 chartab.c.
11067 (char_table_ref_and_index): Delete.
11068 (HASH_KEY, HASH_VALUE): Move to lisp.h.
11069 (Fmd5): Call preferred_coding_system instead of accessing
11070 Vcoding_category_list. Adjust for the new code-conversion API.
11071 (syms_of_fns): Move defsubr for char table related functions to
11072 chartab.c.
11073
11074 * fontset.c: Mostly re-written.
11075
11076 * fontset.h (struct font_info): Change type of the member encoding_type.
11077 (enum FONT_SPEC_INDEX): New enum.
11078 (fontset_font_pattern, fs_load_font): Update prototype.
11079 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
11080
11081 * indent.c: Include "character.h" instead of "charset.h".
11082 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
11083
11084 * insdel.c: Include "character.h" instead of "charset.h".
11085 (copy_text): Don't refer to Vnonascii_translation_table.
11086 (insert_from_gap): New function.
11087
11088 * keyboard.c: Include "character.h" instead of "charset.h".
11089 (command_loop_1): Never call direct_output_forward_char before
11090 a non-ASCII character.
11091 (read_char): If Vkeyboard_translate_table is a char table, always
11092 translate a character.
11093
11094 * keymap.c: Include "character.h".
11095 (store_in_keymap): Handle the case that IDX is a cons.
11096 (Fdefine_key): Handle the case that KEY is a cons and the car part
11097 is also a cons (range).
11098 (push_key_description): Adjust for the new character code.
11099 (describe_vector): Call describe_char_table for a char table.
11100 (describe_char_table): New function.
11101
11102 * keymap.h (describe_char_table): Extern it.
11103
11104 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
11105 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
11106 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
11107 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
11108 Delete.
11109 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
11110 structure.
11111 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
11112 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
11113 (CHARTAB_SIZE_BITS_3): New macros.
11114 (chartab_size): Extern it.
11115 (struct Lisp_Char_Table): Re-design.
11116 (struct Lisp_Sub_Char_Table): New structure.
11117 (HASH_KEY, HASH_VALUE): Move from fns.c.
11118 (CHARACTERBITS): Define as 22.
11119 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
11120 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
11121 (GC_SUB_CHAR_TABLE_P): New macro.
11122 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
11123 (code_convert_string_norecord): Deleted extern.
11124 (init_character_once, syms_of_character, init_charset)
11125 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
11126
11127 * lread.c: Include "character.h".
11128 (read_multibyte): New arg NBYTES.
11129 (read_escape): Change the meaning of returned *BYTEREP.
11130 (to_multibyte): Delete.
11131 (read1): Adjust the handling of char table and string.
11132
11133 * print.c: Include "character.h" instead of "charset.h".
11134 (print_string): Convert 8-bit raw bytes to octal form by
11135 string_escape_byte8.
11136 (print_object): Adjust for the new multibyte form. Print 8-bit
11137 raw bytes always in octal form. Handle sub char table correctly.
11138
11139 * process.c: Include "character.h" instead of "charset.h".
11140 (read_process_output, send_process): Adjust for the new
11141 code-conversion API.
11142
11143 * puresize.h (BASE_PURESIZE): Increase.
11144
11145 * regex.c: Include "character.h" instead of "charset.h".
11146 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
11147 (regex_compile): Accept a range whose starting and ending
11148 character have different leading bytes.
11149 (analyse_first): Adjust for the above change.
11150
11151 * search.c: Include "character.h" instead of "charset.h".
11152 (search_buffer, boyer_moore): Adjust for the new multibyte form.
11153 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
11154
11155 * syntax.c: Include "character.h" instead of "charset.h".
11156 (syntax_parent_lookup): Delete.
11157 (Fmodify_syntax_entry): Accept a cons as CHAR.
11158 (skip_chars): Adjust for the new multibyte form.
11159 (init_syntax_once): Call char_table_set_range instead of directly
11160 accessing the structure of a char table.
11161
11162 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
11163 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
11164 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
11165 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
11166
11167 * term.c: Include "buffer.h" and "character.h".
11168 (encode_terminal_code, write_glyphs): Adjust for the new
11169 code-conversion API.
11170 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
11171
11172 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
11173
11174 * xdisp.c: Include "character.h".
11175 (get_next_display_element): Adjust for the new multibyte form.
11176 (disp_char_vector): Adjust for the new char table structure.
11177 (decode_mode_spec_coding): Adjust for the new structure of
11178 coding system.
11179 (decode_mode_spec): Adjust for the new code-conversion API.
11180
11181 * xfaces.c: Include "character.h" instead of "charset.h".
11182 (load_face_font): Adjust for the change of choose_face_font and
11183 FS_LOAD_FONT.
11184 (generate_ascii_font): New function.
11185 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
11186 (set_font_frame_param): Adjust for the change of choose_face_font.
11187 (free_realized_face): Make it public.
11188 (free_realized_faces_for_fontset): Rename from
11189 free_realized_multibyte_face. Free also faces realized for ASCII.
11190 (choose_face_font): Change arguments. Adjust for the change of
11191 fontset_font_pattern and FS_LOAD_FONT.
11192
11193 * xfns.c: Include "character.h".
11194 (x_encode_text): Adjust for the new code-conversion API.
11195
11196 * xselect.c: Don't include "charset.h".
11197 (selection_data_to_lisp_data): Adjust for the new code conversion API.
11198
11199 * xterm.c: Include "character.h".
11200 (x_encode_char): New argument CHARSET. Change caller.
11201 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
11202 Call ENCODE_CHAR instead of SPLIT_CHAR.
11203 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
11204 CHAR_WIDTH instead of CHARSET_WIDTH.
11205 (XTread_socket): Adjust for the new code-conversion API.
11206 (x_new_font): Adjust for the change of FS_LOAD_FONT.
11207 (x_load_font): Adjust for the change of struct font.
11208
11209 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
11210
11211 * xfaces.c (face_at_buffer_position): Remove unused vars.
11212
11213 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11214
11215 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
11216 Fix overflow checking.
11217
11218 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11219
11220 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
11221 Cancel previous change.
11222
11223 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
11224
11225 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
11226 ccl->eight_bit_control. Fix check for buffer overflow.
11227 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
11228 (ccl_driver): Initialize extra_bytes to 0.
11229
11230 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
11231
11232 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
11233 return it ORed with ctrl_modifier.
11234
11235 2008-01-29 Miles Bader <miles@gnu.org>
11236
11237 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
11238
11239 2008-01-28 Jason Rumney <jasonr@gnu.org>
11240
11241 * w32.c (stat): Don't double check for networked drive.
11242
11243 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
11244
11245 * window.c (run_window_configuration_change_hook): New function.
11246 Code extracted from set_window_buffer. Set the selected frame.
11247 (set_window_buffer): Use it.
11248 * window.h (run_window_configuration_change_hook): Declare.
11249 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
11250
11251 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
11252
11253 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
11254
11255 * Makefile.in: Remove references to unused macros.
11256
11257 2008-01-26 Eli Zaretskii <eliz@gnu.org>
11258
11259 * w32.c (g_b_init_get_sid_sub_authority)
11260 (g_b_init_get_sid_sub_authority_count): New static variables.
11261 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
11262 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
11263 (init_user_info): Use them to retrieve uid and gid.
11264 Use 500/513, the Windows defaults, as Administrator's uid/gid.
11265 (fstat): Use pw_uid and pw_gid from the_passwd structure for
11266 st_uid and st_gid of the file.
11267
11268 2008-01-26 Jason Rumney <jasonr@gnu.org>
11269
11270 * w32.c (logon_network_drive): New function.
11271 (stat): Use it.
11272
11273 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
11274
11275 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
11276 invisible text covered with an ellipsis.
11277
11278 2008-01-25 Richard Stallman <rms@gnu.org>
11279
11280 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
11281 jump back to beginning. Move some other initializations after that.
11282 (Qwindow_text_change_functions, Vwindow_text_change_functions):
11283 New variables.
11284 (syms_of_xdisp): Init them.
11285
11286 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
11287
11288 * buffer.c (reset_buffer_local_variables):
11289 Implement `permanent-local-hook'.
11290 (Qpermanent_local_hook): New variable.
11291 (syms_of_buffer): Init and staticpro it.
11292
11293 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
11294
11295 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
11296
11297 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
11298
11299 * fns.c (Fclrhash): Return TABLE.
11300
11301 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11302
11303 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
11304 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
11305 is set even without positional changes.
11306 (x_scroll_bar_clear): Set bar->redraw_needed_p.
11307
11308 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
11309
11310 2008-01-23 Jason Rumney <jasonr@gnu.org>
11311
11312 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
11313
11314 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
11315 the unicode range available in MULE by locale-coding-system.
11316 Improve dbcs lead byte detection. Set event timestamp and modifiers
11317 earlier.
11318
11319 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11320
11321 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
11322 [MAC_OSX] (init_mac_osx_environment): Initialize it.
11323 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
11324 when used on child processes.
11325
11326 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
11327
11328 * dbusbind.c (Fdbus_method_return_internal): Rename from
11329 Fdbus_method_return.
11330 (Fdbus_unregister_object): Move to dbus.el.
11331 (Fdbus_call_method, Fdbus_method_return_internal)
11332 (Fdbus_send_signal): Improve debug messages.
11333
11334 2008-01-20 Martin Rudalics <rudalics@gmx.at>
11335
11336 * undo.c (undo_inhibit_record_point): New variable.
11337 (syms_of_undo): Initialize it.
11338 (record_point): Don't record point when undo_inhibit_record_point
11339 is set.
11340
11341 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
11342
11343 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
11344
11345 * xdisp.c (Qauto_hscroll_mode): New var.
11346 (syms_of_xdisp): Initialize it.
11347 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
11348 window's buffer.
11349 (hscroll_windows): Don't check automatic_hscrolling_p here.
11350
11351 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
11352 vscroll if we're setting window-buffer to the value it already has.
11353
11354 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
11355
11356 * m/intel386.h: Remove references to XENIX.
11357
11358 2008-01-17 Andreas Schwab <schwab@suse.de>
11359
11360 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
11361 instead of HAVE_X86_64_LIB64_DIR.
11362 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
11363
11364 2008-01-17 Glenn Morris <rgm@gnu.org>
11365
11366 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
11367 to HAVE_X86_64_LIB64_DIR.
11368
11369 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
11370
11371 * s/irix3-3.h:
11372 * s/irix4-0.h:
11373 * s/386-ix.h:
11374 * s/domain.h:
11375 * s/hpux9-x11r4.h:
11376 * s/hpux9shxr4.h: Remove files for systems no longer supported.
11377
11378 * sysdep.c: Remove code containing references to symbols defined
11379 by unsupported systems.
11380
11381 2008-01-16 Glenn Morris <rgm@gnu.org>
11382
11383 * coding.c (select-safe-coding-system-function): Doc fix.
11384
11385 2008-01-15 Glenn Morris <rgm@gnu.org>
11386
11387 * config.in: Revert 2008-01-13 change: this is a generated file.
11388
11389 2008-01-13 Tom Tromey <tromey@redhat.com>
11390
11391 * lisp.h: Fix typo.
11392
11393 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
11394
11395 * m/sequent-ptx.h:
11396 * m/sequent.h:
11397 * s/ptx.h:
11398 * s/ptx4-2.h:
11399 * s/ptx4.h: Remove files for systems no longer supported.
11400
11401 * callproc.c (Fcall_process): Fix previous change.
11402
11403 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
11404
11405 * unexsunos4.c: Remove file, system not supported anymore.
11406
11407 * m/mips.h:
11408 * m/intel386.h:
11409 * callproc.c:
11410 * config.in:
11411 * ecrt0.c:
11412 * emacs.c:
11413 * fileio.c:
11414 * frame.c:
11415 * getpagesize.h:
11416 * keyboard.c:
11417 * lread.c:
11418 * process.c:
11419 * puresize.h:
11420 * sysdep.c:
11421 * systty.h:
11422 * syswait.h:
11423 * unexec.c:
11424 * xdisp.c:
11425 * alloc.c: Remove code containing references to symbols defined by
11426 unsupported systems.
11427
11428 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
11429
11430 * coding.c (detect_coding_mask): Fix previous change.
11431
11432 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
11433
11434 * coding.c (detect_coding_iso2022): New arg
11435 latin_extra_code_state. Allow Latin extra codes only
11436 when *latin_extra_code_state is nonzero.
11437 (detect_coding_mask): If there is a NULL byte, detect the encoding
11438 as UTF-16 or binary. If Latin extra codes exist, detect the
11439 encoding as ISO-2022 only when there's no other proper encoding is
11440 found.
11441
11442 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11443
11444 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
11445 #ifdef MAC_OS.
11446
11447 2008-01-08 Richard Stallman <rms@gnu.org>
11448
11449 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
11450
11451 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
11452
11453 * keyboard.c (parse_menu_item): Don't enclose key bindings on
11454 menu bar in parentheses.
11455
11456 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
11457
11458 * m/7300.h:
11459 * m/acorn.h:
11460 * m/alliant-2800.h:
11461 * m/alliant.h:
11462 * m/alliant1.h:
11463 * m/alliant4.h:
11464 * m/altos.h:
11465 * m/amdahl.h:
11466 * m/apollo.h:
11467 * m/att3b.h:
11468 * m/aviion-intel.h:
11469 * m/aviion.h:
11470 * m/celerity.h:
11471 * m/clipper.h:
11472 * m/cnvrgnt.h:
11473 * m/convex.h:
11474 * m/cydra5.h:
11475 * m/delta88k.h:
11476 * m/dpx2.h:
11477 * m/dual.h:
11478 * m/elxsi.h:
11479 * m/f301.h:
11480 * m/gould-np1.h:
11481 * m/gould.h:
11482 * m/i860.h:
11483 * m/ibmps2-aix.h:
11484 * m/ibmrt-aix.h:
11485 * m/ibmrt.h:
11486 * m/irist.h:
11487 * m/is386.h:
11488 * m/isi-ov.h:
11489 * m/mega68.h:
11490 * m/mg1.h:
11491 * m/news-r6.h:
11492 * m/news-risc.h:
11493 * m/news.h:
11494 * m/nh3000.h:
11495 * m/nh4000.h:
11496 * m/ns16000.h:
11497 * m/ns32000.h:
11498 * m/nu.h:
11499 * m/orion.h:
11500 * m/orion105.h:
11501 * m/paragon.h:
11502 * m/pfa50.h:
11503 * m/plexus.h:
11504 * m/pyramid.h:
11505 * m/pyrmips.h:
11506 * m/sh3el.h:
11507 * m/sps7.h:
11508 * m/sr2k.h:
11509 * m/stride.h:
11510 * m/sun1.h:
11511 * m/sun2.h:
11512 * m/sun3-68881.h:
11513 * m/sun3-fpa.h:
11514 * m/sun3-soft.h:
11515 * m/sun3.h:
11516 * m/sun386.h:
11517 * m/symmetry.h:
11518 * m/tad68k.h:
11519 * m/tahoe.h:
11520 * m/targon31.h:
11521 * m/tek4300.h:
11522 * m/tekxd88.h:
11523 * m/tower32.h:
11524 * m/tower32v3.h:
11525 * m/ustation.h:
11526 * m/wicat.h:
11527 * m/xps100.h:
11528 * s/cxux.h:
11529 * s/cxux7.h:
11530 * s/dgux.h:
11531 * s/dgux4.h:
11532 * s/dgux5-4-3.h:
11533 * s/dgux5-4r2.h:
11534 * s/esix.h:
11535 * s/esix5r4.h:
11536 * s/hiuxmpp.h:
11537 * s/hiuxwe2.h:
11538 * s/iris3-5.h:
11539 * s/iris3-6.h:
11540 * s/isc2-2.h:
11541 * s/isc3-0.h:
11542 * s/isc4-0.h:
11543 * s/isc4-1.h:
11544 * s/newsos5.h:
11545 * s/newsos6.h:
11546 * s/osf1.h:
11547 * s/osf5-0.h:
11548 * s/riscix1-1.h:
11549 * s/riscix12.h:
11550 * s/sco4.h:
11551 * s/sco5.h:
11552 * s/sunos4-0.h:
11553 * s/sunos4-1.h:
11554 * s/sunos413.h:
11555 * s/sunos4shr.h:
11556 * s/umax.h:
11557 * s/unipl5-2.h:
11558 * s/xenix.h:
11559 * cxux-crt0.s:
11560 * unexapollo.c:
11561 * unexconvex.c:
11562 * unexenix.c:
11563 * unexsni.c: Remove files for systems no longer supported.
11564
11565 * m/intel386.h: Remove references to unsupported systems.
11566
11567 * w32.c (get_emacs_configuration): Remove reference to i860.
11568
11569 * sysdep.c: Remove dead code.
11570
11571 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
11572
11573 * s/rtu.h:
11574 * m/masscomp.h: Remove files. Platform is obsolete.
11575
11576 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
11577
11578 * dbusbind.c (Fdbus_method_return): New function.
11579 (xd_read_message): Add the serial number to the event.
11580 (Fdbus_register_method): Activate the function.
11581
11582 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
11583
11584 * keyboard.c (read_key_sequence): Fix typo.
11585
11586 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
11587
11588 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
11589 (xd_signature, xd_append_arg): Handle element type detection for
11590 empty arrays.
11591 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
11592 SDATA () calls; this must be solved more general.
11593 (Fdbus_register_signal): Use SBYTES instead of strlen.
11594
11595 2008-01-03 Magnus Henoch <magnus@zemdatav>
11596
11597 * dbusbind.c (xd_append_arg): Use unsigned char instead of
11598 unsigned int for byte values (necessary for big-endian platform).
11599 (Fdbus_call_method): Handle the case of no returned arguments.
11600
11601 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
11602
11603 * dbusbind.c (xd_read_message): Use non-static input_event struct.
11604
11605 2007-12-31 Magnus Henoch <mange@freemail.hu>
11606
11607 * dbusbind.c (xd_signature): Signature of variant is just "v".
11608
11609 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
11610
11611 * dbusbind.c: Fix several errors and compiler warnings.
11612 Reported by Tom Tromey <tromey@redhat.com>.
11613 (XD_ERROR, XD_DEBUG_MESSAGE)
11614 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
11615 (xd_append_arg): Part for basic D-Bus types rewitten.
11616 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
11617 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
11618 appropriate.
11619 (xd_read_message): Return Qnil. Don't signal an error; it is not
11620 useful during event reading.
11621 (Fdbus_register_signal): Signal an error if the check for
11622 FUNCTIONP fails.
11623 (Fdbus_register_method): New function. The implementation is not
11624 complete, the call of the function signals an error therefore.
11625 (Fdbus_unregister_object): New function, renamed from
11626 Fdbus_unregister_signal. The initial check signals an error, if
11627 the object is not well formed.
11628
11629 2007-12-30 Richard Stallman <rms@gnu.org>
11630
11631 * textprop.c (get_char_property_and_overlay):
11632 Signal error if POSITION is out of range in a buffer.
11633
11634 2007-12-29 Martin Rudalics <rudalics@gmx.at>
11635
11636 * w32fns.c (Fx_create_frame): Make copy of frame parameters
11637 because the original parameters are in pure storage now.
11638
11639 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11640
11641 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
11642
11643 2007-12-22 Eli Zaretskii <eliz@gnu.org>
11644
11645 * callint.c (syms_of_callint) <command-history>: Add reference to
11646 history-length in the doc string.
11647
11648 2007-12-17 Jason Rumney <jasonr@gnu.org>
11649
11650 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
11651 before passing as wParam.
11652
11653 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
11654
11655 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
11656 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
11657 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
11658 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
11659 as number.
11660 (Fdbus_call_method): Fix docstring.
11661
11662 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
11663
11664 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
11665 New macros.
11666 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
11667 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
11668 Simplify.
11669 (xd_signature): New function.
11670 (xd_append_arg): Compute also signatures. Major rewrite.
11671 (xd_retrieve_arg): Make debug messages friendly.
11672 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
11673 Check for signatures of arguments.
11674
11675 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
11676
11677 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
11678 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
11679 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
11680 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
11681 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
11682 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
11683 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
11684 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
11685 (xd_retrieve_value): Remove. Functionality included in ...
11686 (xd_append_arg): New function.
11687 (Fdbus_call_method, Fdbus_send_signal): Apply it.
11688
11689 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
11690
11691 * dbusbind.c (top): Include <stdio.h>.
11692 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
11693 dbus_message_new_method_call and dbus_message_new_signal.
11694 (Fdbus_register_signal): Rename unique_name to uname.
11695 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
11696 non-existing unique name. Fix typos in matching rule. Return an
11697 object which is useful in Fdbus_unregister_signal.
11698 (Fdbus_unregister_signal): Reimplementation, in order to remove
11699 only the corresponding entry.
11700 (Vdbus_registered_functions_table): Change the order of entries.
11701 Apply these changes in xd_read_message and Fdbus_register_signal.
11702
11703 2007-12-16 Andreas Schwab <schwab@suse.de>
11704
11705 * fileio.c (Finsert_file_contents): Fix overflow check to not
11706 depend on undefined integer overflow.
11707
11708 2007-12-14 Jason Rumney <jasonr@gnu.org>
11709
11710 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
11711 for characters above 127.
11712
11713 2007-12-13 Jason Rumney <jasonr@gnu.org>
11714
11715 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
11716 before dereferencing array.
11717 (lookup_vk_code): Remove zero comparison.
11718
11719 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
11720
11721 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
11722 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
11723 Use `unsigned int' instead of `uint'.
11724 (xd_read_message, Fdbus_register_signal): Split expressions into
11725 multiple lines before operators "&&" and "||", according to the
11726 GNU Coding Standards.
11727
11728 2007-12-14 Eli Zaretskii <eliz@gnu.org>
11729
11730 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
11731
11732 2007-12-12 Juri Linkov <juri@jurta.org>
11733
11734 * buffer.c (Frename_buffer): In interactive spec replace
11735 `read-buffer' with `read-string' that uses `buffer-name-history'
11736 as history, and the current buffer's name as default.
11737
11738 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
11739
11740 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
11741 manipulating the backtrace manually.
11742 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
11743 (struct backtrace, backtrace_list): Remove.
11744 (command_loop_1): Remove dead var `no_direct'.
11745
11746 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
11747 preserve non-built-in buffer-local variables.
11748 (Fkill_all_local_variables): Don't re-create&re-set permanent
11749 buffer-local variables.
11750
11751 2007-12-09 Juri Linkov <juri@jurta.org>
11752
11753 * buffer.c (Frename_buffer): Change interactive spec from "s" to
11754 Lisp code that uses `read-buffer' with current buffer as default.
11755
11756 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
11757
11758 * dbusbind.c (xd_read_message): Generate an event for every
11759 registered handler. There might be several handlers registered
11760 for the same signal.
11761 (Fdbus_register_signal): Don't overwrite a registration for the
11762 same signal. Add a new registration if handlers are different.
11763 (Vdbus_registered_functions_table): Rework doc string.
11764
11765 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
11766
11767 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
11768 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
11769 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
11770 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
11771 Unify argument lists.
11772 (xd_read_message, Fdbus_register_signal): Reorder and extend event
11773 arguments and hash table keys. Use unique name for service.
11774 (Fdbus_unregister_signal): Remove checks.
11775 (Vdbus_registered_functions_table): Fix doc string.
11776
11777 2007-12-05 Magnus Henoch <mange@freemail.hu>
11778
11779 * process.c (make_process): Initialize pty_flag to 0.
11780
11781 2007-12-05 Jason Rumney <jasonr@gnu.org>
11782
11783 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
11784 specified XBMs.
11785
11786 2007-12-05 Richard Stallman <rms@gnu.org>
11787
11788 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
11789
11790 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11791
11792 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
11793 New variable.
11794 (mac_try_close_socket) [MAC_OSX]: New function.
11795 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
11796 Update cfsockets_for_select. Replace invalid CFRunLoop source.
11797
11798 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
11799 Use mac_try_close_socket.
11800
11801 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11802
11803 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
11804 reloc_base.
11805 (copy_dysymtab): Compute relocation base here.
11806 (rebase_reloc_address) [__ppc64__]: New function.
11807 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
11808 changed.
11809
11810 2007-12-05 Jason Rumney <jasonr@gnu.org>
11811
11812 * w32proc.c (sys_spawnve): Quote args with wildcards.
11813
11814 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11815
11816 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
11817 __objc_* sections.
11818 (unrelocate) [_LP64]: Set relocation base to address of data segment.
11819
11820 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
11821
11822 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
11823 Move check for Vdbus_registered_functions_table to
11824 xd_read_queued_messages.
11825 (xd_read_queued_messages): Protect xd_read_message calls by
11826 internal_condition_case_1.
11827
11828 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
11829
11830 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
11831 Qdbus_system_bus and Qdbus_session_bus, respectively.
11832 (Vdbus_intern_symbols): Remove.
11833 (Vdbus_registered_functions_table): New hash table.
11834 (XD_SYMBOL_INTERN_SYMBOL): Remove.
11835 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
11836 Rewrite in order to manage registered functions by hash table
11837 Vdbus_registered_functions_table.
11838
11839 2007-12-03 Jan Djärv <jan.h.d@swipnet.se>
11840
11841 * xterm.c: Update URL to Window Manager Specification in comment.
11842
11843 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
11844
11845 * config.in (HAVE_DBUS): Add.
11846
11847 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
11848 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
11849 (obj): Add $(DBUS_OBJ).
11850 (LIBES): Add $(DBUS_LIBS).
11851 (dbusbind.o): New target.
11852
11853 * dbusbind.c: New file.
11854
11855 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
11856
11857 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
11858 (Qdbus_event): New Lisp symbol.
11859 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
11860 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
11861 (keys_of_keyboard ): Define dbus-event.
11862
11863 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
11864
11865 2007-12-01 Richard Stallman <rms@gnu.org>
11866
11867 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
11868
11869 2007-11-30 Jason Rumney <jasonr@gnu.org>
11870
11871 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
11872 (w32con_reset_terminal_modes): Clear screen buffer.
11873 (w32_face_attributes): Don't use color indexes that are out of range.
11874 Only reverse the default colors.
11875
11876 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
11877 WINDOWSNT.
11878
11879 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
11880
11881 2007-11-29 Jason Rumney <jasonr@gnu.org>
11882
11883 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
11884 (w32_face_attributes): Use Vtty_defined_color_alist to determine
11885 if the terminal colors are initialized.
11886 (unspecified_fg, unspecified_bg): Remove unused declarations.
11887
11888 2007-11-29 Andreas Schwab <schwab@suse.de>
11889
11890 * keyboard.c (apply_modifiers): Fix typo.
11891
11892 2007-11-29 Richard Stallman <rms@gnu.org>
11893
11894 * keymap.c (Fcurrent_local_map): Doc fix.
11895
11896 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
11897
11898 * s/gnu-kfreebsd.h: New file.
11899
11900 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
11901
11902 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
11903 Don't cast redundantly.
11904
11905 * keyboard.c (KEY_TO_CHAR): New macro.
11906 (parse_modifiers, apply_modifiers): Accept integer arguments.
11907 (read_key_sequence): Use them to unify the "shift->unshift" mapping
11908 for chars and symbol keys.
11909 After doing such remapping, apply function-key-map again.
11910
11911 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
11912
11913 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
11914 compiled anymore.
11915
11916 2007-11-26 Andreas Schwab <schwab@suse.de>
11917
11918 * process.c (list_processes_1): Fix indentation level of the
11919 command column.
11920
11921 2007-11-23 Andreas Schwab <schwab@suse.de>
11922
11923 * editfns.c (Fformat): Handle %c specially since it requires the
11924 argument to be of type int.
11925
11926 2007-11-23 Markus Triska <markus.triska@gmx.at>
11927
11928 * emacs.c (main): Call init_editfns before init_process, since
11929 init_process sets Vprocess_connection_type depending on OS release.
11930
11931 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
11932
11933 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
11934 (find_symbol_value): Use do_symval_forwarding.
11935
11936 * data.c (set_internal): Set the value in the `cons-cell' (for
11937 Buffer_Local_values) not only for frame-local variables.
11938
11939 2007-11-22 Andreas Schwab <schwab@suse.de>
11940
11941 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
11942 values to sprintf.
11943 * keymap.c (Fsingle_key_description): Likewise.
11944 * print.c (print_object): Likewise.
11945
11946 2007-11-22 Jan Djärv <jan.h.d@swipnet.se>
11947
11948 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
11949 file for image is nil.
11950
11951 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
11952
11953 * term.c: Include stdarg.h.
11954 (fatal): Implement using varargs.
11955 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
11956
11957 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
11958
11959 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
11960 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
11961 Update call to buffer_slot_type_mismatch.
11962 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
11963 (buffer_slot_type_mismatch): Update.
11964 * buffer.c (buffer_local_types): Remove.
11965 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
11966 (defvar_per_buffer): Set the type in the buffer_objfwd.
11967
11968 2007-11-21 Jason Rumney <jasonr@gnu.org>
11969
11970 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
11971 CreateFileMapping returns NULL on failure.
11972
11973 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
11974
11975 * search.c (Fset_match_data): Remove the `evaporate' feature.
11976 (unwind_set_match_data): Don't use the `evaporate' feature.
11977
11978 2007-11-21 Jason Rumney <jasonr@gnu.org>
11979
11980 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
11981
11982 * w32console.c (w32con_write_glyphs): Remove unused variables.
11983
11984 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
11985
11986 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
11987
11988 * s/darwin.h (MULTI_KBOARD): Remove.
11989
11990 * macfns.c (x_create_tip_frame, Fx_create_frame)
11991 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
11992
11993 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
11994
11995 * buffer.c (Fbuffer_local_value): Remove redundant test.
11996 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
11997 than in `current-buffer' to match the comment.
11998 Do the swap using swap_in_global_binding.
11999
12000 * data.c (store_symval_forwarding, set_internal):
12001 * eval.c (specbind): Remove dead code.
12002
12003 * coding.c (detect_coding, Fupdate_coding_systems_internal):
12004 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
12005 Since we do not want to see internal Lisp_*fwd objects here.
12006
12007 2007-11-18 Jan Djärv <jan.h.d@swipnet.se>
12008
12009 * sysdep.c (init_system_name): Use getaddrinfo if available.
12010
12011 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
12012 (x_scroll_bar_note_movement): start, end, with, height in struct
12013 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
12014
12015 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
12016
12017 * puresize.h (BASE_PURESIZE): Increase to 1190000.
12018
12019 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
12020
12021 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
12022 This undoes Richard's change of 14-Oct-2002.
12023
12024 * alloc.c (allocate_other_vector):
12025 * lisp.h (allocate_other_vector): Remove.
12026
12027 * window.c (struct save_window_data): Move non-lisp data to the end
12028 and make it `int' rather than Lisp_Object.
12029 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
12030 Done wrap/unwrap integer values.
12031 (Fset_window_configuration, compare_window_configurations):
12032 Update use of fields to their new types.
12033
12034 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
12035 Turn integer fields into `int'. Merge x_window_low and x_window_high.
12036 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
12037 (SET_SCROLL_BAR_X_WINDOW): Remove.
12038 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
12039 Access the new x_window field directly.
12040 * xterm.c (x_scroll_bar_create): Use a pseudovector.
12041 Don't wrap/unwrap integers into Lisp_Objects.
12042 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
12043 (x_scroll_bar_report_motion):
12044 Don't wrap/unwrap integers into Lisp_Objects.
12045 (x_term_init): Use SDATA.
12046 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
12047 (x_scroll_bar_set_handle, x_scroll_bar_remove)
12048 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
12049 (x_scroll_bar_report_motion, x_scroll_bar_clear):
12050 * xfns.c (x_set_background_color):
12051 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
12052 Access the new x_window field directly.
12053
12054 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
12055 (allocate_pseudovector): Make non-static.
12056
12057 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
12058 (allocate_pseudovector): Declare.
12059 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
12060
12061 2007-11-15 Andreas Schwab <schwab@suse.de>
12062
12063 * editfns.c (Fformat): Correctly format EMACS_INT values.
12064 Also take precision into account when formatting an integer.
12065
12066 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
12067
12068 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
12069
12070 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
12071 (syms_of_keyboard): Defsubr it.
12072
12073 * data.c (swap_in_global_binding): Fix longstanding bug where
12074 store_symval_forwarding was not called with the right second argument,
12075 thus causing objfwd-ing from being dropped.
12076
12077 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
12078
12079 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
12080 (Fx_display_pixel_height, Fx_display_planes)
12081 (Fx_display_color_cells, Fx_server_max_request_size)
12082 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12083 (Fx_display_visual_class, Fx_display_save_under):
12084 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
12085 (Fx_display_pixel_height, Fx_display_planes)
12086 (Fx_display_color_cells, Fx_server_max_request_size)
12087 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
12088 (Fx_display_mm_height, Fx_display_mm_width)
12089 (Fx_display_backing_store, Fx_display_visual_class)
12090 (Fw32_select_font, Fx_display_save_under):
12091 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
12092 (Fx_display_pixel_height, Fx_display_planes)
12093 (Fx_display_color_cells, Fx_server_max_request_size)
12094 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12095 (Fx_display_save_under): Fix typos in docstrings.
12096
12097 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
12098
12099 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
12100 corresponding to deleted entries; they are an implementation detail.
12101 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
12102 Remove variables.
12103 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
12104 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
12105 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
12106 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
12107 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
12108 (Fw32_define_rgb_color, Fw32_load_color_file)
12109 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
12110 Fix typos in docstrings.
12111 (Fx_server_version): Reflow docstring.
12112 (Fw32_shell_execute): Doc fixes.
12113
12114 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
12115
12116 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
12117 if w32_parse_hot_key returned nil.
12118
12119 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
12120
12121 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
12122
12123 2007-11-09 Jason Rumney <jasonr@gnu.org>
12124
12125 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
12126
12127 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
12128
12129 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
12130 Remove W32_SCROLL_BAR_CLICK_EVENT.
12131
12132 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
12133 Add MULTIMEDIA_KEY_EVENT.
12134
12135 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
12136 (lispy_multimedia_keys) [WINDOWSNT]: New array.
12137 (make_lispy_event) [WINDOWSNT]: Use it to translate
12138 MULTIMEDIA_KEY_EVENT.
12139
12140 * w32term.h (WM_APPCOMMAND): Define if not already.
12141 (GET_APPCOMMAND_LPARAM): Likewise.
12142
12143 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
12144 WM_APPCOMMAND.
12145
12146 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
12147 (syms_of_w32fns): Export and initialize it.
12148 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
12149
12150 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
12151
12152 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
12153 twice.
12154
12155 * xdisp.c (handle_face_prop): Fix last change.
12156
12157 2007-11-09 Richard Stallman <rms@gnu.org>
12158
12159 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
12160 not just for after-strings and before-strings.
12161 Call face_for_overlay_string and pass the overlay to it.
12162 (handle_display_prop): Determine whether property came from an overlay.
12163 Pass OVERLAY arg to handle_single_display_spec.
12164 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
12165 (load_overlay_strings): Fill in it->string_overlays.
12166 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
12167
12168 * xfaces.c (face_for_overlay_string): Function renamed from
12169 face_at_buffer_position_no_overlays, and add arg OVERLAY.
12170
12171 * dispextern.h (struct it): New elt string_overlays.
12172 New elt from_overlay, also in stack.
12173 Rearrange a few elements.
12174 (face_for_overlay_string): Decl renamed from
12175 face_at_buffer_position_no_overlays, and add argument.
12176
12177 2007-11-09 Richard Stallman <rms@gnu.org>
12178
12179 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
12180 to get the base face for an overlay string.
12181
12182 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
12183
12184 * xfaces.c (face_at_buffer_position_no_overlays): New function.
12185
12186 * xdisp.c (handle_stop): Move some code out of loop.
12187
12188 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12189
12190 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
12191 Fix conversion from Lisp object to ATSUFontID.
12192
12193 2007-11-09 Jason Rumney <jasonr@gnu.org>
12194
12195 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
12196
12197 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12198
12199 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
12200 Don't assume regions are aligned to page boundary.
12201 (print_load_command_name): Add LC_UUID if defined.
12202
12203 2007-11-09 Richard Stallman <rms@gnu.org>
12204
12205 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
12206
12207 2007-11-07 Jason Rumney <jasonr@gnu.org>
12208
12209 * s/windows95.h: Remove.
12210
12211 2007-11-06 Jan Djärv <jan.h.d@swipnet.se>
12212
12213 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
12214 abort with a message on unhandled store_type values.
12215
12216 2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
12217
12218 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
12219 Remove HAVE_X11R5 and HAVE_X11R4.
12220
12221 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
12222
12223 * Makefile.in: Remove references to sunfns.c and sunfns.o.
12224
12225 2007-11-01 Johan Bockgård <bojohan@gnu.org>
12226
12227 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
12228 Don't set s->stippled_p here, since it has already been set by
12229 x_set_glyph_string_gc from x_draw_glyph_string.
12230
12231 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
12232
12233 * sunfns.c: Remove file.
12234
12235 * m/sun386.h:
12236 * m/sun2.h:
12237 * m/sparc.h: Remove Sun windows code.
12238
12239 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
12240
12241 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
12242 (init_keyboard): Set current_kboard's window-system to nil.
12243 (tty_read_avail_input): Typo.
12244 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
12245
12246 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
12247
12248 * s/usg5-4.h:
12249 * s/usg5-3.h:
12250 * s/ptx.h:
12251 * m/is386.h:
12252 * m/ibmps2-aix.h:
12253 * Makefile.in: Remove all mentions of X10.
12254
12255 * dispnew.c (syms_of_display): Don't mention version 10.
12256
12257 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
12258
12259 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
12260 ($(BLD)/abbrev.$(O)): Remove.
12261
12262 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
12263
12264 Rewrite abbrev.c in Elisp.
12265 * image.c (Qcount): Don't declare as extern.
12266 (syms_of_image): Initialize and staticpro `Qcount'.
12267 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
12268 * emacs.c (main): Don't call syms_of_abbrev.
12269 * Makefile.in (obj): Remove abbrev.o.
12270 (abbrev.o): Remove.
12271 * abbrev.c: Remove.
12272
12273 2007-10-26 Martin Rudalics <rudalics@gmx.at>
12274
12275 * window.c (window_min_size_2): Don't count header-line.
12276
12277 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
12278
12279 * frame.h (struct frame): Move all bit fields after the first bit
12280 field to take advantage of the available space. Group all the
12281 chars together to reduce wasted space due to padding.
12282
12283 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
12284
12285 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
12286
12287 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
12288 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
12289 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
12290 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
12291 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
12292 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
12293 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
12294 (last_marked, mark_object_loop_halt): Make static.
12295
12296 * frame.c (syms_of_frame) <delete-frame-functions>:
12297 Fix typo in docstring.
12298
12299 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
12300
12301 * w32.c (init_environment): Fix tiny memory leak.
12302 (w32_get_resource): Remove unused variable `ok'.
12303
12304 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
12305
12306 Make `window-system' into a keyboard-local variable (rather than
12307 frame-local as done originally by multi-tty).
12308
12309 * keyboard.h (struct kboard): Add Vwindow_system.
12310 * keyboard.c (init_kboard): Set a default for Vwindow_system.
12311 (mark_kboards): Mark Vwindow_system.
12312
12313 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
12314 (init_display): Don't set the obsolete `window-system' frame-param.
12315
12316 * xterm.c (x_term_init):
12317 * w32term.c (w32_create_terminal):
12318 * term.c (init_tty): Set Vwindow_system.
12319 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
12320 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
12321
12322 * xfns.c (Fx_create_frame, x_create_tip_frame):
12323 * w32fns.c (Fx_create_frame, x_create_tip_frame):
12324 * macfns.c (Fx_create_frame):
12325 Don't set the obsolete `window-system' frame-param.
12326
12327 * frame.h (Qwindow_system): Remove.
12328 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
12329 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
12330
12331 2007-10-24 Richard Stallman <rms@gnu.org>
12332
12333 * frame.c (x_figure_window_size): For fullscreen case,
12334 set USPosition | PPosition without clobbering rest of window_prompting.
12335
12336 * keyboard.c (Fcurrent_idle_time): Doc fix.
12337
12338 * print.c (Fwith_output_to_temp_buffer): Doc fix.
12339
12340 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
12341
12342 * process.c (unwind_request_sigio): Only define if __ultrix__.
12343
12344 * callproc.c (child_setup): Remove spurious *.
12345
12346 * lisp.h (Fget_text_property): Declare.
12347 (have_menus_p): Declare it here rather than in sys-dep header files.
12348 * macterm.h (have_menus_p):
12349 * msdos.h (have_menus_p):
12350 * xterm.h (have_menus_p): Remove.
12351
12352 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
12353 (Fmake_variable_frame_local): Just check the variable's const-ness
12354 rather than checking nil or t.
12355
12356 2007-10-22 Jason Rumney <jasonr@gnu.org>
12357
12358 * w32fns.c: Include math.h.
12359 (w32_abort): Declaration moved to nt/config.nt.
12360
12361 * s/ms-w32.h (HAVE_STDLIB_H): Define.
12362 (abort): Redefinition moved to nt/config.nt.
12363
12364 * m/windowsnt.h: Remove.
12365
12366 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
12367
12368 * emacs.c (Fdump_emacs): Fix typo in message.
12369 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
12370 <installation-directory>: Reflow docstring.
12371
12372 2007-10-22 Juri Linkov <juri@jurta.org>
12373
12374 * minibuf.c: Allow minibuffer default to be a list of default values.
12375 With empty input use the first element of this list as returned default.
12376 (string_to_object)
12377 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
12378 (read_minibuf): If defalt is cons, set histstring to its car.
12379 (Fread_string): If default_value is cons, set val to its car.
12380 (Fread_buffer): If def is cons, use its car.
12381 (Fcompleting_read): If defalt is cons, set val to its car.
12382
12383 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
12384
12385 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
12386
12387 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
12388
12389 * doc.c (Fdocumentation): Check for advice in all cases.
12390
12391 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
12392
12393 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
12394
12395 2007-10-19 Richard Stallman <rms@gnu.org>
12396
12397 * doc.c (Fdocumentation): Check for and handle an advised function.
12398
12399 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
12400
12401 * process.c (Fset_process_filter): Doc fix.
12402
12403 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
12404
12405 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
12406 which caused key-translation-map to applied repeatedly (thus breaking
12407 double-mode).
12408
12409 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
12410
12411 * xselect.c (x_own_selection, x_handle_selection_clear)
12412 (x_clear_frame_selections):
12413 * w32menu.c (list_of_panes, list_of_items):
12414 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
12415 * textprop.c (validate_plist, interval_has_all_properties)
12416 (interval_has_some_properties, interval_has_some_properties_list)
12417 (add_properties, text_property_list):
12418 * process.c (Fget_buffer_process, list_processes_1, status_notify):
12419 * minibuf.c (Fassoc_string):
12420 * macselect.c (x_own_selection, x_clear_frame_selections)
12421 (Fx_disown_selection_internal):
12422 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
12423 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
12424
12425 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
12426
12427 * process.c: Link to libs for calling res_init() if available.
12428 (Fmake_network_process): Call res_init() before getaddrinfo or
12429 gethostbyname, if possible.
12430
12431 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
12432
12433 * lread.c (read1): Set pvectype for char_tables.
12434
12435 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
12436 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
12437 Add type checks.
12438 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
12439
12440 * alloc.c (free_misc): Use XMISCTYPE.
12441 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
12442
12443 2007-10-17 Glenn Morris <rgm@gnu.org>
12444
12445 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
12446 (syms_of_minibuf): Add Qcompletion_ignore_case.
12447 * dired.c (Qcompletion_ignore_case): Change to external.
12448 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
12449 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
12450 (Fread_file_name): Use it rather than intern'ing.
12451
12452 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
12453 (Fread_coding_system): Ignore case of user input.
12454
12455 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12456
12457 * xdisp.c (handle_display_prop): Ignore display specs after
12458 replacing one when string text is being replaced.
12459 (handle_single_display_spec): Pretend as if characters with display
12460 property haven't been consumed only when buffer text is being replaced.
12461
12462 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
12463
12464 * xfns.c (Fx_create_frame, Fx_display_list):
12465 * window.c (window_fixed_size_p, enlarge_window)
12466 (shrink_window_lowest_first):
12467 * macterm.c (init_font_name_table):
12468 * macfns.c (Fx_create_frame, Fx_display_list):
12469 * lread.c (close_load_descs):
12470 * keyboard.c (read_char_x_menu_prompt):
12471 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
12472 * coding.c (code_convert_region_unwind): Test the type of an object
12473 rather than just !NILP before extracting data from it.
12474
12475 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
12476
12477 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
12478 (XMISCANY): New macro.
12479 (XMISCTYPE): Use it.
12480 (struct Lisp_Misc_Any): New type.
12481 (union Lisp_Misc): Use it.
12482 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
12483 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
12484 (find_symbol_value, set_internal, default_value, Fset_default)
12485 (Fmake_variable_buffer_local, Fmake_local_variable)
12486 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
12487 (Flocal_variable_if_set_p, Fvariable_binding_locus):
12488 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
12489 * alloc.c (allocate_buffer): Set the size and tag.
12490 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
12491 Use XMISCANY.
12492 (die): Follow the GNU convention for error messages.
12493 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
12494 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
12495 tag any more.
12496 (set_buffer_internal_1):
12497 * frame.c (store_frame_param):
12498 * eval.c (specbind):
12499 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
12500
12501 * doc.c (Fsnarf_documentation): Simplify.
12502
12503 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
12504
12505 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
12506 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
12507
12508 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
12509
12510 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
12511
12512 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
12513
12514 * eval.c (do_autoload): Don't save autoloads.
12515
12516 * data.c (Ffset): Save autoload of the function being set.
12517
12518 2007-10-07 John Paul Wallington <jpw@pobox.com>
12519
12520 * xfns.c (x_create_tip_frame): Set the `display-type' frame
12521 parameter before setting up faces.
12522
12523 2007-10-13 Eli Zaretskii <eliz@gnu.org>
12524
12525 * ccl.c (Fregister_code_conversion_map):
12526 * keyboard.c (append_tool_bar_item): Reformat last change.
12527
12528 * lisp.h (eabs): Rename from `abs'. All callers changed.
12529
12530 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
12531
12532 * buffer.c (add_overlay_mod_hooklist):
12533 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
12534 * fontset.c (make_fontset):
12535 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
12536 (append_tool_bar_item):
12537 * macmenu.c (grow_menu_items):
12538 * w32menu.c (grow_menu_items):
12539 * xmenu.c (grow_menu_items): Use larger_vector.
12540
12541 2007-10-13 Eli Zaretskii <eliz@gnu.org>
12542
12543 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
12544 selected frame'' on MSDOS).
12545
12546 2007-10-12 Martin Rudalics <rudalics@gmx.at>
12547
12548 * frame.c (Qexplicit_name): New variable.
12549 (x_report_frame_params): Report it in parameter alist.
12550 (syms_of_frame): Intern and staticpro it.
12551
12552 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
12553
12554 * macfns.c (x_create_tip_frame): Set terminal for frame.
12555
12556 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
12557
12558 * frame.c (Qenvironment): Remove.
12559 (syms_of_frame) <Qenvironment>: Don't initialize.
12560 (Fdelete_frame): Don't treat the `environment' param specially.
12561 * frame.h (Qenvironment): Don't declare.
12562 * callproc.c (set_initial_environment): Don't set unused frame param.
12563
12564 * frame.c (Fframe_with_environment): Remove.
12565 (syms_of_frame) <Sframe_with_environment>: Don't declare.
12566
12567 * lisp.h (Fframe_with_environment): Don't declare.
12568
12569 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
12570
12571 * indent.c (indent_tabs_mode, last_known_column)
12572 (last_known_column_modified): Make static.
12573 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
12574
12575 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
12576
12577 * puresize.h (BASE_PURESIZE): Increase to 1170000.
12578
12579 2007-10-09 Jason Rumney <jasonr@gnu.org>
12580
12581 * w32term.c (x_set_window_size): Disable code that attempts to tell
12582 Lisp code about a size change before it actually happens.
12583
12584 2007-10-09 Richard Stallman <rms@gnu.org>
12585
12586 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
12587 return HANDLED_RETURN.
12588
12589 2007-10-08 Martin Rudalics <rudalics@gmx.at>
12590
12591 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
12592 when there's an unread command event.
12593
12594 * frame.c (focus_follows_mouse): Move here from frame.el to allow
12595 window autoselection act appropriately when leaving selected frame.
12596 (syms_of_frame): Initialize focus_follows_mouse.
12597 * frame.h (focus_follows_mouse): Extern it.
12598 * macterm.c (XTread_socket): When focus_follows_mouse is nil
12599 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
12600 * msdos.c (dos_rawgetc): Likewise.
12601 * w32term.c (w32_read_socket): Likewise.
12602 * xterm.c (handle_one_xevent): Likewise.
12603 * xdisp.c (syms_of_xdisp): In doc-string of
12604 mouse-autoselect-window mention focus-follows-mouse.
12605
12606 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12607
12608 * macterm.c (mac_load_query_font): Fix missing return value.
12609 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
12610 Add BLOCK_INPUT.
12611
12612 2007-10-08 Richard Stallman <rms@gnu.org>
12613
12614 * xdisp.c (get_window_cursor_type): Implement documented behavior
12615 for cursor-in-non-selected-windows = t.
12616
12617 2007-10-08 Jason Rumney <jasonr@gnu.org>
12618
12619 * w32.c (w32_get_resource): Always close registry keys.
12620
12621 2007-10-08 Jason Rumney <jasonr@gnu.org>
12622
12623 * makefile.w32-in (LIBS): Add COMCTL32.
12624
12625 * w32fns.c (globals_of_w32fns): Init common controls.
12626
12627 2007-10-08 Richard Stallman <rms@gnu.org>
12628
12629 * image.c (our_memory_buffer): Rename from omfib_buffer.
12630
12631 2007-10-08 Richard Stallman <rms@gnu.org>
12632
12633 * buffer.c (Foverlays_at): Doc fix.
12634
12635 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
12636
12637 * fns.c (Fplist_put): Preserve uneven tail data.
12638
12639 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
12640
12641 * termhooks.h (enum event_kind): Remove trailing comma.
12642
12643 * frame.h (enum): Remove trailing comma.
12644
12645 2007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
12646
12647 * w32proc.c (delete_child): Don't terminate threads of zombies.
12648
12649 2007-10-08 Martin Rudalics <rudalics@gmx.at>
12650
12651 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
12652
12653 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
12654 last-repeatable-command.
12655 (init_kboard): Initialize Vlast_repeatable_command.
12656 (command_loop_1): Set it to real_this_command unless that was
12657 bound to an input event.
12658 (mark_kboards): Mark it.
12659
12660 2007-10-08 Richard Stallman <rms@gnu.org>
12661
12662 * eval.c (condition-case): Doc fix.
12663
12664 2007-10-08 Masatake YAMATO <jet@gyve.org>
12665
12666 * xfaces.c (tty_supports_face_attributes_p): Fix code
12667 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
12668 was copied and not edited.
12669
12670 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
12671
12672 Add new `input-decode-map' keymap and use it for terminal
12673 escape sequences.
12674 * keyboard.h (struct kboard): Add Vinput_decode_map.
12675 Remove Vlocal_key_translation_map.
12676 * keyboard.c (read_key_sequence): Add support for input-decode-map.
12677 (init_kboard): Init input-decode-map.
12678 Replace local-key-translation-map back with key-translation-map.
12679 (syms_of_keyboard): Declare input-decode-map.
12680 Remove local-key-translation-map. Update docstrings.
12681 (mark_kboards): Mark Vinput_decode_map.
12682 Don't mark Vlocal_key_translation_map.
12683 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
12684 Replace local-key-translation-map back with key-translation-map.
12685 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
12686 Bind in input-decode-map rather than function-key-map.
12687
12688 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
12689 This was made redundant by the previous introduction of XSETPVECTYPE.
12690
12691 2007-10-09 Richard Stallman <rms@gnu.org>
12692
12693 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
12694
12695 2007-09-29 Richard Stallman <rms@gnu.org>
12696
12697 * eval.c (internal_condition_case_2, internal_condition_case_1)
12698 (internal_condition_case): Reenable abort if x_catching_errors ()
12699 to see if that really happens and why.
12700
12701 2007-10-06 Andreas Schwab <schwab@suse.de>
12702
12703 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
12704
12705 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
12706
12707 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
12708
12709 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
12710
12711 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
12712
12713 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
12714
12715 * window.h (struct window):
12716 * window.c (struct save_window_data, struct saved_window):
12717 * termhooks.h (struct terminal):
12718 * process.h (struct Lisp_Process):
12719 * frame.h (struct frame):
12720 * buffer.h (struct buffer):
12721 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
12722 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
12723 The size field of (pseudo)vectors is now unsigned.
12724 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
12725
12726 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
12727 Turn `count' into an integer.
12728
12729 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
12730 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
12731 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
12732 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
12733 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
12734
12735 * alloc.c (allocate_pseudovector): New fun.
12736 (ALLOCATE_PSEUDOVECTOR): New macro.
12737 (allocate_window, allocate_terminal, allocate_frame)
12738 (allocate_process): Use it.
12739 (mark_vectorlike): New function.
12740 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
12741 (mark_terminals): Use it.
12742 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
12743 (Fmake_byte_code): Use XSETPVECTYPE.
12744
12745 * frame.c (Fframe_parameters): Minor simplification.
12746
12747 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
12748
12749 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
12750
12751 * buffer.c (Fget_buffer_create, init_buffer_once):
12752 * lread.c (defsubr):
12753 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
12754
12755 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
12756 defined differently in the m/*.h files.
12757 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
12758 (XSETPVECTYPE): New macro.
12759 (XSETPSEUDOVECTOR): Use it.
12760
12761 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
12762 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
12763
12764 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
12765 * lread.c (defvar_per_buffer):
12766 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
12767
12768 * window.c (candidate_window_p): Only consider as visible frames that
12769 are on the same terminal.
12770
12771 * m/ibms390x.h (MARKBIT): Remove unused macro.
12772
12773 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
12774
12775 * lread.c (Fload): Fix typo in docstring.
12776
12777 2007-10-01 Michaël Cadilhac <michael@cadilhac.name>
12778
12779 * floatfns.c (Fexpt): Manually check for overflows, so that a power
12780 of a non-zero value can't yield zero.
12781
12782 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
12783
12784 * term.c (term_clear_mouse_face, term_mouse_highlight)
12785 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
12786
12787 * print.c (safe_debug_print): Use XHASH.
12788
12789 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
12790 Lisp elements such as tags.
12791 (XHASH): New macro.
12792 (EQ): Use it.
12793 (SREF, SSET, STRING_COPYIN): Use SDATA.
12794 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
12795
12796 * alloc.c (mark_terminal): Remove left-over declaration.
12797 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
12798 (allocate_vectorlike): Remove type argument. Adjust callers.
12799 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
12800 Only handle the one remaining MEM_TYPE_VECTORLIKE.
12801
12802 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
12803 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
12804 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
12805 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
12806 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
12807 Use them.
12808
12809 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
12810 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
12811 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
12812
12813 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
12814
12815 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
12816 loaded by default.
12817
12818 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
12819
12820 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
12821 on this tty.
12822 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
12823
12824 * term.c (mouse_face_window): Rename from Qmouse_face_window.
12825 Update all users.
12826 (handle_one_term_event): Use Gpm_DrawPointer.
12827 (Fgpm_mouse_start): Rename from Fterm_open_connection.
12828 Signal errors instead of returning nil. Always return nil.
12829 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
12830 Make it a noop if gpm-mouse was not activated.
12831 (syms_of_term): Update names.
12832
12833 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
12834
12835 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
12836 (init_sys_modes): Check that gpm_tty is the current tty.
12837
12838 * alloc.c (allocate_terminal): Set the vector size to only count the
12839 lisp fields. Initialize those to nil.
12840 (mark_object): Don't treat terminals specially.
12841 (mark_terminal): Remove.
12842 (mark_terminals): Use mark_object instead.
12843
12844 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
12845 the GC to the beginning.
12846
12847 * indent.h:
12848 * indent.c: Use EMACS_INT for ints coming from Elisp data.
12849
12850 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
12851
12852 2007-09-25 Jason Rumney <jasonr@gnu.org>
12853
12854 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
12855
12856 * w32console.c (create_w32cons_output): Remove.
12857
12858 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
12859
12860 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
12861 (reset_sys_modes): Use reset_terminal_modes_hook.
12862
12863 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
12864
12865 * eval.c (do_autoload): Don't output any message.
12866
12867 2007-09-24 Juri Linkov <juri@jurta.org>
12868
12869 * emacs.c (standard_args): Change priority of "--no-splash"
12870 from 40 to 3. Add "--no-desktop" with the same priority.
12871
12872 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
12873
12874 * alloc.c (gc_sweep): Check cons cell mark bits word by word
12875 and optimize the case where they are all 1.
12876
12877 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
12878
12879 * lisp.h (abs): Define if not defined.
12880 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
12881 Don't define `abs', since it's defined in lisp.h.
12882
12883 2007-09-22 Eli Zaretskii <eliz@gnu.org>
12884
12885 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
12886 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
12887 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
12888 (init_tty): Use DEV_TTY instead of "/dev/tty".
12889 [WINDOWSNT]: No need to protect from NAME arg being null.
12890
12891 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
12892
12893 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
12894 up the tty state.
12895
12896 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
12897
12898 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
12899 (gpm_tty): Change its type.
12900 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
12901 (gpm_tty): Change its type and initialize it.
12902 (Fterm_open_connection): Check the frame is indeed a tty.
12903 Use the new gpm_tty.
12904 (Fterm_close_connection): Use the new gpm_tty.
12905 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
12906 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
12907
12908 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
12909
12910 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
12911 underline_color, to draw strike-through.
12912
12913 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
12914
12915 * lisp.h (allocate_terminal): Declare.
12916
12917 * window.c (candidate_window_p): Consider frames that are being placed
12918 by the user as somewhere between visible and iconified.
12919 (window_loop): Prefer windows on the current frame.
12920 (Fselect_window): Move the use of select-frame to the beginning so we
12921 can just delegate all the work (it'll call us back anyway).
12922
12923 * frame.c (Qdisplay_environment_variable):
12924 * frame.h (Qdisplay_environment_variable): Delete.
12925
12926 * .gdbinit (xbacktrace): Print the arg's address rather than the value
12927 of the first arg, since that value may be a union.
12928
12929 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
12930 parameter rather than Qdisplay_environment_variable. If all else
12931 fails, look for DISPLAY in initial-environment.
12932
12933 2007-09-21 Glenn Morris <rgm@gnu.org>
12934
12935 * Makefile.in (emacstool): Remove target.
12936 (lisp, shortlisp): Remove termdev.elc.
12937
12938 2007-09-21 Markus Triska <markus.triska@gmx.at>
12939
12940 * xterm.c (x_delete_display): Compile session management conditionally.
12941
12942 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
12943
12944 * callproc.c (getenv_internal_1): New function.
12945 (getenv_internal): Use it.
12946 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
12947
12948 * terminal.c (get_terminal): Don't accept ints to represent terminals.
12949 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
12950 (Fset_terminal_parameter): Work with dead terminals as well.
12951 (Fmodify_terminal_parameters): Remove.
12952
12953 * terminal.c (get_terminal): Handle terminals.
12954 Make sure the terminal returned is live.
12955 (create_terminal): Use allocate_terminal.
12956 (mark_terminals): Move to alloc.c.
12957 (delete_terminal): Use terminal->name as liveness status.
12958 NULL out fields after freeing their contents.
12959 Don't deallocate the object.
12960 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
12961 rather than an int.
12962 (Fterminal_live_p): Accept non-integer arguments.
12963 (Fterminal_list): Return terminal objects rather than an ints.
12964
12965 * alloc.c (enum mem_type): New member for `terminal' objects.
12966 (allocate_terminal): New function.
12967 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
12968 Handle terminals.
12969 (mark_terminal): New fun.
12970 (mark_terminals): Move from terminal.c.
12971
12972 * term.c (get_tty_terminal): Don't treat output_initial specially.
12973 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
12974 (delete_tty): Use terminal->name as liveness status.
12975
12976 * termhooks.h (struct terminal): Make it into a pseudovector.
12977 Remove `deleted' replaced by checking `name's nullness.
12978
12979 * print.c (print_object): Handle terminals.
12980
12981 * lisp.h (enum pvec_type): New `terminal' pseudovector.
12982 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
12983
12984 * frame.c (make_terminal_frame):
12985 * keyboard.c (tty_read_avail_input):
12986 * w32term.c (x_delete_terminal):
12987 * xfns.c (Fx_create_frame, x_create_tip_frame):
12988 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
12989
12990 2007-09-20 Glenn Morris <rgm@gnu.org>
12991
12992 * process.c (Fmake_network_process): Doc fix.
12993
12994 2007-09-19 Jason Rumney <jasonr@gnu.org>
12995
12996 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
12997
12998 2007-09-19 Michaël Cadilhac <michael@cadilhac.name>
12999
13000 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
13001 Fix a C warning regarding variable constness.
13002
13003 * xterm.c (handle_one_xevent): Fix a C warning.
13004
13005 2007-09-18 Jason Rumney <jasonr@gnu.org>
13006
13007 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
13008
13009 2007-09-17 Jan Djärv <jan.h.d@swipnet.se>
13010
13011 * gtkutil.c (gdpy_def): New variable.
13012 (xg_initialize): Initialize gdpy_def.
13013 (xg_display_close): If no other display exists, set gdpy_def to a
13014 new connection.
13015
13016 2007-09-16 Jan Djärv <jan.h.d@swipnet.se>
13017
13018 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
13019 when we have no file name for the icon.
13020 (xg_tool_bar_expose_callback): Remove.
13021 (xg_create_tool_bar): Don't connect expose signal to
13022 xg_tool_bar_expose_callback.
13023 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
13024
13025 2007-09-16 Andreas Schwab <schwab@suse.de>
13026
13027 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
13028 values instead of zapping them.
13029
13030 2007-09-14 Glenn Morris <rgm@gnu.org>
13031
13032 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
13033 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
13034 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
13035 scope and rename to omfib_buffer for clarity.
13036 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
13037
13038 2007-09-14 Kenichi Handa <handa@m17n.org>
13039
13040 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
13041
13042 2007-09-13 Jason Rumney <jasonr@gnu.org>
13043
13044 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
13045
13046 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
13047
13048 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
13049 (mac_term_init): Call here instead, passing rif.
13050
13051 2007-09-13 Glenn Morris <rgm@gnu.org>
13052
13053 * s/hpux.h: No longer define `static' as nothing.
13054
13055 2007-09-13 Johan Bockgård <bojohan@gnu.org>
13056
13057 * callint.c (Fcall_interactively): Remove unused var `fun'.
13058
13059 2007-09-12 Romain Francoise <romain@orebokech.com>
13060
13061 * window.c (prefer_window_split_horizontally, display_buffer):
13062 Revert 2007-09-08 change.
13063
13064 2007-09-12 Glenn Morris <rgm@gnu.org>
13065
13066 * alloca.c: Remove file.
13067 * Makefile.in (alloca): Do not undef.
13068 (allocaobj, alloca.o): Remove.
13069 (otherobj): Remove allocaobj.
13070 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
13071 * regex.c (C_ALLOCA): Remove all references and code that was only
13072 used when this was defined.
13073 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
13074 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
13075 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
13076
13077 * Makefile.in (SOURCES, unlock, relock): Delete.
13078
13079 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
13080 (menu_grab_callback): All uses changed.
13081
13082 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
13083 (x_reply_selection_request): All uses changed.
13084
13085 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
13086
13087 * lread.c (load_warn_old_style_backquotes): Change message to look
13088 better when it appears in the middle of byte-compiler messages.
13089
13090 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
13091
13092 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
13093
13094 * xterm.c (x_create_terminal): Add comment.
13095
13096 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
13097
13098 2007-09-10 Richard Stallman <rms@gnu.org>
13099
13100 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
13101
13102 2007-09-10 Michaël Cadilhac <michael@cadilhac.name>
13103
13104 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
13105 (DEFUN): Document `intspec', use it instead of `prompt'.
13106
13107 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
13108
13109 * data.c (Finteractive_form): If the interactive specification starts
13110 with a `(', use it as a Lisp form.
13111
13112 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
13113 name and file modes.
13114
13115 * callint.c (Fcall_interactively): Comment fixes.
13116
13117 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
13118
13119 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
13120 and compiled functions.
13121
13122 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
13123
13124 * window.c (prefer_window_split_horizontally): New variable.
13125 (display_buffer): Consider splitting window horizontally depending
13126 on prefer_window_split_horizontally.
13127
13128 2007-09-08 Eli Zaretskii <eliz@gnu.org>
13129
13130 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
13131
13132 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
13133
13134 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
13135
13136 * frame.c (x_set_frame_parameters): Check number is positive before
13137 using XFASTINT.
13138
13139 * window.c (freeze_window_start): Don't presume selected_window holds
13140 a window object.
13141 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
13142
13143 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
13144
13145 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
13146
13147 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
13148
13149 * window.c (Vsplit_window_preferred_function): New var.
13150 (Fdisplay_buffer): Use it.
13151 (syms_of_window): Export, and initialize it.
13152
13153 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
13154
13155 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
13156
13157 2007-09-06 Glenn Morris <rgm@gnu.org>
13158
13159 * gtkutil.c (menu_grab_callback) <cnt>:
13160 * xselect.c (x_reply_selection_request) <cnt>: Move static
13161 variable to file scope.
13162
13163 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
13164
13165 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
13166 consistent values of selected_frame and selected_window.
13167
13168 2007-09-04 Jason Rumney <jasonr@gnu.org>
13169
13170 * w32console.c (initialize_w32_display): Zero unused hooks.
13171
13172 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
13173
13174 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
13175 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
13176
13177 2007-09-04 Jason Rumney <jasonr@gnu.org>
13178
13179 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
13180 in w32console.c. Set up input. Remove XXX comments that have been
13181 confirmed as correct.
13182
13183 * s/ms-w32.h (MULTI_KBOARD): Define.
13184
13185 * w32console.c (one_and_only_w32cons): Remove.
13186 (initialize_w32_display): Take terminal argument.
13187
13188 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
13189 initialize_w32_display.
13190 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
13191
13192 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
13193
13194 * keyboard.c (discard_mouse_events): Discard it.
13195 (make_lispy_event): Translate it to a lisp event.
13196 (lispy_wheel_names): Add wheel-left and right events.
13197 (syms_of_keyboard): Enlarge wheel_syms.
13198
13199 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
13200 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
13201
13202 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
13203
13204 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
13205 from WM_MOUSEHWHEEL.
13206 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
13207
13208 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
13209 terminal.
13210
13211 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
13212 keyboard for the terminal.
13213
13214 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
13215
13216 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
13217 (Vresume_tty_hook): Rename from Vresume_tty_functions.
13218 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
13219 and resume-tty-function to resume-tty-hook.
13220 (Fsuspend_tty, Fresume_tty): Use new names.
13221
13222 2007-09-02 Jan Djärv <jan.h.d@swipnet.se>
13223
13224 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
13225 if it starts with "n:".
13226
13227 2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
13228
13229 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
13230
13231 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
13232
13233 * frame.h:
13234 * frame.c (Qterm_environment_variable): Remove.
13235 (syms_of_frame): Don't init and staticpro it.
13236
13237 * callproc.c (getenv_internal): Remove special case for $TERM.
13238
13239 * callproc.c (Vinitial_environment): New variable.
13240 (set_initial_environment): Initialize it.
13241 (syms_of_callproc): Declare it.
13242 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
13243 TERM under which a process runs is never related to the TERM in which
13244 Emacs is running.
13245
13246 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
13247
13248 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
13249 * s/darwin.h: ... do it here.
13250
13251 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
13252
13253 * lisp.h (set_initial_environment): Rename from set_global_environment.
13254
13255 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
13256 removed by mistake on the multi-tty branch.
13257
13258 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
13259 (Fmodify_frame_parameters): Return a value.
13260
13261 * image.c (png_load): Comment-out var only used in commented-out code.
13262
13263 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
13264 before passing it to mark_object.
13265
13266 * xfaces.c (internal_resolve_face_name): Return a value.
13267 (internal_resolve_face_name, resolve_face_name_error): Comment out.
13268
13269 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
13270 (x_icon): Comment-out var only used in commented-out code.
13271
13272 2007-08-29 Romain Francoise <romain@orebokech.com>
13273
13274 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
13275 QUIT hasn't been provided.
13276
13277 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
13278
13279 * callproc.c (child_setup, getenv_internal): Use the
13280 display-environment-variable and term-environment-variable frame params.
13281 (set_initial_environment): Initialise Vprocess_environment.
13282
13283 * config.in: Disable multi-keyboard support on a mac.
13284
13285 * frame.c (Qterm_environment_variable)
13286 (Qdisplay_environment_variable): New variables.
13287 (syms_of_frame): Intern and staticpro them.
13288 (Fmake_terminal_frame): Disable output method test.
13289
13290 * frame.h: Declare them here.
13291
13292 * macfns.c (x_set_mouse_color): Get rif from the frame.
13293 (x_set_tool_bar_lines): Don't use updating_frame.
13294 (mac_window): Add 2 new parameters for consistency with other systems.
13295 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
13296 frame parameters following what is done in X11 and w32. Don't use
13297 FRAME_MAC_DISPLAY_INFO.
13298 (Fx_open_connection, start_hourglass): Remove window-system check.
13299 (x_create_tip_frame): Get the keyboard from the terminal.
13300
13301 * macmenu.c: Reorder includes.
13302 (Fx_popup_menu): Use terminal specific mouse_position_hook.
13303
13304 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
13305 terminal parameter.
13306 (x_clear_frame): Add a frame parameter.
13307 (note_mouse_movement): Get rif from the frame.
13308 (mac_term_init): Initialize the terminal.
13309 (mac_initialize): Make static and move terminal initialization ...
13310 (mac_create_terminal): ... to this new function.
13311
13312 * macterm.h (struct mac_display_info): Add terminal.
13313 (mac_initialize): Delete declaration.
13314
13315 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
13316
13317 * sysdep.c: Comment out text after #endif.
13318
13319 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
13320 is defined. Better initialize ttys in windows. Use terminal
13321 specific mouse_position_hook.
13322
13323 * termhooks.h (union display_info): Add mac_display_info.
13324
13325 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
13326 Set the default minibuffer frame, window_system and the rest of the
13327 frame parameters following what is done in X11.
13328
13329 * w32term.c (w32_initialize): Make static.
13330
13331 * xselect.c (x_handle_selection_clear): Only access
13332 terminal->kboard when MULTI_KBOARD is defined.
13333
13334 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
13335 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
13336
13337 2007-08-29 Jason Rumney <jasonr@gnu.org>
13338
13339 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
13340 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
13341
13342 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
13343 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
13344
13345 * keyboard.c (restore_kboard_configuration): Only define when
13346 MULTI_KBOARD defined.
13347
13348 * makefile.w32-in: Update dependancies from Makefile.in.
13349 (OBJ1): Add terminal.$(O)
13350
13351 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
13352 Don't define function body.
13353 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
13354
13355 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
13356
13357 * w32.c (request_sigio, unrequest_sigio): Remove.
13358
13359 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
13360 (w32con_clear_frame, w32con_clear_end_of_line)
13361 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
13362 (w32con_delete_glyphs, w32con_set_terminal_window)
13363 (scroll_line, w32_sys_ring_bell): Add frame arg.
13364 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
13365 Add terminal arg.
13366 (PICK_FRAME): Remove.
13367 (w32con_write_glyphs): Use frame specific terminal coding.
13368 (one_and_only_w32cons): New global variable.
13369 (initialize_w32_display): Use it for storing hooks.
13370 (create_w32cons_output): New function.
13371
13372 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
13373 arg a frame.
13374
13375 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
13376 Set window_system.
13377 (x_set_tool_bar_lines): Don't use updating_frame.
13378 (Fx_create_frame): Set terminal and ref count.
13379 (Fx_open_connection): Remove window-system check.
13380
13381 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
13382
13383 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
13384 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
13385 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
13386 Add frame arg.
13387 (x_delete_terminal, w32_create_terminal): New functions.
13388 (w32_term_init): Create a terminal.
13389 (w32_initialize): Move terminal specific initialization to
13390 w32_create_terminal.
13391
13392 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
13393 (w32_clear_rect, w32_clear_area): Use background from frame.
13394 (w32_display_info): Add terminal.
13395 (w32_sys_ring_bell, x_delete_display): Declare here.
13396
13397 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
13398
13399 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
13400
13401 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
13402
13403 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
13404 Fix get_named_tty calls for the controlling tty.
13405
13406 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
13407
13408 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
13409
13410 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
13411
13412 * term.c (tty_insert_glyphs): Add missing first parameter.
13413
13414 2007-08-29 Károly Lőrentey <karoly@lorentey.hu>
13415
13416 * buffer.c (Fbuffer_list, Fbury_buffer):
13417 Take frame->buried_buffer_list into account.
13418
13419 * cm.c (current_tty): New variable, for cmputc().
13420 (cmputc): Use it.
13421 (cmcheckmagic): Add tty parameter, look up terminal streams there.
13422 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
13423 (cmgoto): Add tty parameter. Pass it on to calccost().
13424 Use emacs_tputs() instead of tputs().
13425
13426 * cm.h (emacs_tputs): New macro to set current_tty, and then call
13427 tputs().
13428 (current_tty): New variable, for cmputc().
13429 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
13430
13431 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
13432 (internal_condition_case, internal_condition_case_1)
13433 (internal_condition_case_2): Don't abort when x_catching_errors.
13434
13435 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
13436 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
13437 prevent crashes caused by bogus longjmps in read_char.
13438
13439 * keymap.h (Fset_keymap_parent): Add EXFUN.
13440
13441 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
13442 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
13443 Remove redundant definition.
13444
13445 * macfns.c (x_set_mouse_color, x_make_gc):
13446 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13447
13448 * w32term.c (x_free_frame_resources):
13449 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13450 (w32_initialize): Use the accessor macros for terminal characteristics.
13451
13452 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
13453 Use the accessor macros for terminal characteristics.
13454 * msdos.c (internal_terminal_init): Use the accessor macros for
13455 terminal characteristics.
13456 (ScreenVisualBell, internal_terminal_init):
13457 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13458
13459 * termopts.h (no_redraw_on_reenter): Declare.
13460
13461 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
13462 (mark_terminals, mark_ttys): Declare.
13463 (Fgarbage_collect): Call them.
13464 (mark_object): Mark buried_buffer_list.
13465
13466 * prefix-args.c: Include stdlib.h for exit.
13467
13468 * syssignal.h: Add comment.
13469
13470 * indent.c: Include stdio.h.
13471
13472 * window.h (Vinitial_window_system): Declare.
13473 (Vwindow_system): Delete declaration.
13474
13475 * fontset.c (Finternal_char_font): Use FRAME_RIF.
13476
13477 * image.c (lookup_image): Don't initialize `c' until the xasserts
13478 have been run.
13479
13480 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
13481 FRAME_FOREGROUND_PIXEL.
13482
13483 * print.c (print_preprocess): Don't lose print_depth levels while
13484 iterating.
13485
13486 * widget.c (update_from_various_frame_slots):
13487 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13488
13489 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
13490 frames.
13491 (window_internal_height): Remove bogus make_number call.
13492 (init_window_once): Call make_terminal_frame with two zero parameters.
13493
13494 * fileio.c (Fread_file_name): Update comment.
13495
13496 * callint.c (Fcall_interactively):
13497 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
13498 Make sure it is correctly unwound.
13499
13500 * xsmfns.c (x_session_close): New function.
13501
13502 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
13503 Delete declarations.
13504
13505 * xterm.h: Remove declaration for x_fully_uncatch_errors.
13506 (x_output): Remove background_pixel and foreground_pixel fields.
13507 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
13508 (x_delete_device, x_session_close): Declare.
13509
13510 * lread.c: Include setjmp.h. Update declaration of `read_char'.
13511 (read_filtered_event): Call `read_char' with a local
13512 `wrong_kboard_jmpbuf'.
13513
13514 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
13515 Don't call single_kboard_state. Use FRAME_RIF.
13516
13517 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
13518 systems.
13519
13520 * lisp.h (set_process_environment): Rename to `set_global_environment'.
13521 (Fframe_with_environment, Fset_input_meta_mode)
13522 (Fset_quit_char): EXFUN.
13523 (x_create_device, tty_output, terminal, tty_display_info): Declare.
13524 (init_sys_modes, reset_sys_modes): Update prototypes.
13525 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
13526
13527 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
13528 Vlocal_key_translation_map, and Vkeyboard_translate_table.
13529 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
13530 Delete declarations.
13531 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
13532 (temporarily_switch_to_single_kboard, tty_read_avail_input):
13533 New declarations.
13534
13535 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
13536 already does that during init_display(). Call syms_of_keymap
13537 before syms_of_keyboard. Call `syms_of_terminal'.
13538 Call set_initial_environment, not set_process_environment.
13539 (shut_down_emacs): Call reset_all_sys_modes() instead of
13540 reset_sys_modes().
13541
13542 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
13543 (internal_resolve_face_name, resolve_face_name_error): New functions.
13544 (resolve_face_name): Protect against loops and errors thrown by Fget.
13545 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
13546 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
13547
13548 * scroll.c: Replace CURTTY() with local variables throughout the
13549 file (where applicable).
13550 (calculate_scrolling, calculate_direct_scrolling)
13551 (scrolling_1, scroll_cost): Use the accessor macros for terminal
13552 characteristics.
13553
13554 * keymap.c (Vfunction_key_map): Remove.
13555 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
13556 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
13557 (Vkey_translation_map): Remove.
13558 (syms_of_keymap): Remove DEFVAR for key-translation-map.
13559 (Fdescribe_buffer_bindings)
13560 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
13561 Update for terminal-local key-translation-map.
13562
13563 * Makefile.in (callproc.o): Update dependencies.
13564 (lisp, shortlisp): Add termdev.elc.
13565 (obj): Add terminal.o.
13566 (terminal.o): Add dependencies.
13567 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
13568 (data.o, fns.o): Add termhooks.h dependency.
13569 (SOME_MACHINE_LISP): Add dnd.elc.
13570 (minibuf.o): Fix typo.
13571 Update dependencies.
13572
13573 * data.c (do_symval_forwarding, store_symval_forwarding)
13574 (find_symbol_value): Use the selected frame's keyboard, not
13575 current_kboard.
13576
13577 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
13578 Vwindow_system.
13579
13580 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
13581 Fmenu_bar_open.
13582 (syms_of_xmenu): Update defsubr.
13583 (mouse_position_for_popup, Fx_popup_menu)
13584 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
13585 (set_frame_menubar, free_frame_menubar)
13586 (create_and_show_popup_menu, xmenu_show, )
13587 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
13588 an X frame.
13589
13590 * xselect.c (x_own_selection): Abort if not an X frame.
13591 (some_frame_on_display): Check if it is an X frame.
13592 (x_handle_selection_clear): Deal with MULTI_KBOARD.
13593
13594 * coding.c: Include frame.h and termhooks.h.
13595 (terminal_coding, keyboard_coding): Delete.
13596 (Fset_terminal_coding_system_internal)
13597 (Fset_keyboard_coding_system_internal)
13598 (Fkeyboard_coding_system)
13599 (Fterminal_coding_system): Add a terminal parameter.
13600 Get terminal_coding from the terminal.
13601 (init_coding_once): Don't call setup_coding_system here.
13602
13603 * dispextern.h (set_scroll_region, turn_off_insert)
13604 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
13605 (tty_clear_end_of_line, tty_setup_colors)
13606 (delete_tty, updating_frame)
13607 (produce_special_glyphs, produce_glyphs, write_glyphs)
13608 (insert_glyphs): Remove.
13609 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
13610 (tty_turn_off_highlight, get_tty_size): Add declaration.
13611 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
13612
13613 * frame.h (enum output_method): Add output_initial.
13614 (struct x_output): Delete.
13615 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
13616 Access foreground_pixel and background_pixel directly from the frame.
13617 (tty_display): Delete.
13618 (struct frame): Add buried_buffer_list, foreground_pixel,
13619 background_pixel and terminal. Delete kboard.
13620 (union output_data): Add tty.
13621 (FRAME_KBOARD): Get the kboard from the terminal.
13622 (FRAME_INITIAL_P): New macro.
13623 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
13624 (Qterm_environment_variable, Qdisplay_environment_variable)
13625 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
13626 New declarations.
13627
13628 * termchar.h (tty_output, tty_display_info): New structures.
13629 (tty_list): Declare.
13630 (FRAME_TTY, CURTTY): New macros.
13631 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
13632 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
13633 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
13634 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
13635
13636 * callproc.c: Include frame.h and termhooks.h, for terminal
13637 parameters.
13638 (add_env): New function.
13639 (child_setup): Use it.
13640 (child_setup, getenv_internal): Handle the new Vprocess_environment.
13641 (getenv_internal): Fix get_terminal_param call.
13642 (Fgetenv_internal, egetenv): Update doc.
13643 (syms_of_callproc): Initialize Vprocess_environment to nil.
13644 Register and initialize them. Remove obsolete defvars. Update doc
13645 strings.
13646 (child_setup): Handle Vlocal_environment_variables.
13647 (getenv_internal): Add terminal parameter.
13648 Handle Vlocal_environment_variables.
13649 (Fgetenv_internal): Add terminal parameter.
13650 (child_setup, getenv_internal, Fgetenv_internal): Store the local
13651 environment in a frame (not terminal) parameter. Update doc strings.
13652 (set_initial_environment): Rename from set_global_environment.
13653 Store Emacs environment in initial frame parameter.
13654
13655 * xdisp.c (redisplay_internal): Update references to
13656 `previous_terminal_frame'.
13657 (display_mode_line, Fformat_mode_line): Replace calls to
13658 `push_frame_kboard' with `push_kboard'.
13659 (get_glyph_string_clip_rects): Add extra parentheses and
13660 braces to prevent compiler warnings.
13661 (calc_pixel_width_or_height): Add xassert to check that the
13662 frame is alive. Don't call `lookup_image' on a termcap frame.
13663 (message2_nolog, message3_nolog, redisplay_internal)
13664 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
13665 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
13666 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
13667 (Fx_display_pixel_width, Fx_display_pixel_height)
13668 (Fx_display_planes, Fx_display_color_cells)
13669 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
13670 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
13671 (Fx_display_backing_store, Fx_display_visual_class)
13672 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
13673 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
13674
13675 * xfns.c (x_set_foreground_color x_set_background_color)
13676 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
13677 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13678 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
13679 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
13680 terminal that is being deleted.
13681 (Fx_create_frame): Use `store_frame_param' to set `window-system'
13682 frame parameter, and make sure it overrides any user-supplied setting.
13683 (Fx_close_connection, Fx_synchronize): Unify argument names with
13684 the rest of the DEFUNs.
13685
13686 * dispnew.c (Fsend_string_to_terminal): Update call to
13687 `get_tty_terminal'.
13688 (Fredraw_frame, Fsend_string_to_terminal)
13689 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
13690 FRAME_TERMCAP_P and FRAME_TTY.
13691 (window_change_signal): Don't believe width/height values that are
13692 impossibly small.
13693 (Vinitial_window_system): Rename from Vwindow_system.
13694 (termscript, Wcm, rif): Delete.
13695
13696 * termhooks.h (struct terminal): New struct containing the
13697 previously global text display hooks and new members NAME,
13698 DELETED and PARAM_ALIST.
13699 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
13700 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
13701 (FRAME_RIF): New macros.
13702 (get_terminal_param, get_device): New declarations.
13703 (termscript): Delete declaration.
13704
13705 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
13706 (XTflash, x_free_frame_resources, x_scroll_bar_create)
13707 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
13708 FRAME_FOREGROUND_PIXEL.
13709 (x_fully_uncatch_errors): Disable definition.
13710 (x_scroll_bar_expose): Fix reference to foreground pixel.
13711 (XTread_socket): Disable loop on all X displays.
13712 (x_delete_terminal): Don't set terminal->deleted and let
13713 delete_terminal delete the frames on the terminal.
13714 (x_delete_display): Doc update to reflect changes in
13715 delete_terminal.
13716 (x_display_info) <terminal>: Move member earlier in the struct.
13717 (deleting_tty): Remove old variable.
13718 (Fsuspend_tty): Call clear_tty_hooks.
13719 (Fresume_tty, init_tty): Call set_tty_hooks.
13720 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
13721 errors on X frames.
13722 (x_catch_errors_unwind): Abort if x_error_message is NULL.
13723 (handle_one_xevent): Initialize `f' to NULL.
13724 (x_delete_terminal, x_create_terminal): New functions.
13725 (XTset_terminal_modes, XTreset_terminal_modes)
13726 (XTread_socket, x_connection_closed, x_term_init)
13727 (x_term_init, x_delete_display): Add terminal parameter.
13728 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
13729 X connections.
13730
13731 * frame.c: Include termchar.h.
13732 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
13733 (Qwindow_system, Qenvironment, Qterm_environment_variable)
13734 (Qdisplay_environment_variable): New vars.
13735 (Fframep): Deal with output_initial.
13736 (Fframe-live-p): Doc fix.
13737 (Fwindow-system): New function.
13738 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
13739 (make_terminal_frame): Don't create frames on a terminal that is
13740 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
13741 (store_frame_param): Check for found_for_frame before calling XFRAME.
13742 (Fmake_terminal_frame): Handle NULL tty names correctly.
13743 (syms_of_frame): Enhance doc string of `default-frame-alist'.
13744 (Fdelete_frame): Remove unused variable `count'. Don't allow other
13745 frames to refer to a deleted frame in their 'environment parameter.
13746 (Fframe_with_environment): New function.
13747 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
13748 (get_future_frame_param): New function.
13749 (Fmake_terminal_frame): Use it.
13750 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
13751
13752 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
13753 * sysdep.c (reset_sys_modes): Update for renames.
13754
13755 * keyboard.c (tty_read_avail_input): New function.
13756 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
13757 (syms_of_keyboard): Defsubr them.
13758 (Fset_input_meta_mode, Fset_quit_char): New functions.
13759 (Fset_input_mode): Split to above functions.
13760 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
13761 parameter. Use it in call to `read_char'.
13762 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
13763 Set wrong_kboard_jmpbuf correctly in recursive calls.
13764 Use current_kboard to access Vkeyboard_translate_table.
13765 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
13766 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
13767 Update longjmp invocations. Remember the original current_kboard,
13768 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
13769 changes it. Comment out unnecessary calls to
13770 `record_single_kboard_state' and `any_kboard_state'.
13771 Update recursive calls.
13772 (wrong_kboard_jmpbuf): Remove global variable.
13773 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
13774 Handle deleted interrupted_kboards correctly; that is a legal
13775 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
13776 and read_char calls. Abort if interrupted_kboard died in read_char.
13777 (any_kboard_state, single_kboard_state)
13778 (push_frame_kboard): Remove function.
13779 (pop_kboard): Switch out of single_kboard mode if the kboard has
13780 been deleted. Remove unused variable. Help debugging by not
13781 changing current_kboard unnecessarily. Set current_kboard to the
13782 kboard of the selected frame when the stored kboard object has
13783 been deleted before pop_kboard.
13784 (temporarily_switch_to_single_kboard): Change first parameter to a
13785 frame pointer. Throw an error when caller wants to change kboards
13786 while in single_kboard mode. Don't push_kboard if we weren't in
13787 single kboard state. Don't pop_kboard if we popped into any
13788 kboard state.
13789 (restore_kboard_configuration): Abort if pop_kboard changed the
13790 kboard in single_kboard mode. Call pop_kboard only after setting
13791 up single_kboard mode.
13792 (Frecursive_edit): Switch to single_kboard mode only in nested
13793 command loops.
13794 (cmd_error, command_loop, command_loop_1, timer_check):
13795 Comment out unnecessary call to `any_kboard_state' and
13796 `record_single_kboard_state'.
13797 (delete_kboard): Exit single_kboard mode if we have just deleted
13798 that kboard. Use FRAME_KBOARD.
13799 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
13800 `fatal_error_signal'.
13801 (record_single_kboard_state): Don't push_kboard if we weren't in
13802 single kboard state. Don't pop_kboard if we popped into any
13803 kboard state.
13804 (push_frame_kboard): Rename to push_kboard.
13805 (kbd_buffer_get_event): Use FRAME_TERMINAL.
13806 (read_avail_input): Read input from all terminals.
13807 (mark_kboards): Also mark Vkeyboard_translate_table.
13808 (kbd_buffer_store_event_hold): Simplify condition.
13809 (read_key_sequence): Reinitialize fkey and keytran at each replay.
13810 (Vkeyboard_translate_table): Move to struct kboard.
13811 (init_kboard): Initialize Vkeyboard_translate_table.
13812 (syms_of_keyboard): Use DEFVAR_KBOARD to define
13813 Vkeyboard_translate_table. Update doc strings. Update docs of
13814 local-function-key-map and function-key-map.
13815
13816 * terminal.c: New file.
13817
13818 * term.c: Include errno.h.
13819 (Vring_bell_function, device_list, initial_device)
13820 (next_device_id, ring_bell, update_begin, update_end)
13821 (set_terminal_window, cursor_to, raw_cursor_to)
13822 (clear_to_end, clear_frame, clear_end_of_line)
13823 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
13824 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
13825 (syms_of_term): Move their initialization to terminal.c.
13826 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
13827 (Ftty_display_color_cells)
13828 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
13829 (clear_tty_hooks, set_tty_hooks)
13830 (init_tty, maybe_fatal): New functions.
13831 (Ftty_type): Return nil if terminal is not on a tty instead of
13832 throwing an error. Doc update.
13833 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
13834 Doc update. Initialize new subrs and variables.
13835 (delete_tty): Use terminal->deleted.
13836 (tty_set_terminal_modes): Rename from set_terminal_modes.
13837 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
13838 (set_scroll_region): Rename to `tty_set_scroll_region'.
13839 (turn_on_insert): Rename to `tty_turn_on_insert'.
13840 (turn_off_insert): Rename to `tty_turn_off_insert'.
13841 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
13842 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
13843 (toggle_highligh): Rename to `tty_toggle_highlight'.
13844 (background_highlight): Rename to `tty_background_highlight'.
13845 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
13846 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
13847 (tty_set_scroll_region, tty_background_highlight)
13848 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
13849 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
13850 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
13851 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
13852 Add static modifier.
13853 (tty_reset_terminal_modes, tty_set_terminal_window)
13854 (tty_set_scroll_region, tty_background_highlight)
13855 (tty_highlight_if_desired, tty_cursor_to)
13856 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
13857 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
13858 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
13859 renames.
13860
13861 2007-08-28 Jan Djärv <jan.h.d@swipnet.se>
13862
13863 * keyboard.c: Qrtl is new.
13864 (parse_tool_bar_item): Handle :rtl keyword.
13865 (syms_of_keyboard): Intern :rtl keyword.
13866
13867 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
13868
13869 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
13870 so no Lisp code is executed.
13871 (file_for_image, find_rtl_image): New functions.
13872 (xg_get_image_for_pixmap): Use file_for_image.
13873 (update_frame_tool_bar): If direction is RTL, use RTL image if
13874 defined. Use Gtk stock images if defined.
13875
13876 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13877
13878 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
13879 for nonexistent or zero-width glyph in composition glyph.
13880
13881 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
13882
13883 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
13884
13885 * xdisp.c (Finvisible_p): New function.
13886 (syms_of_xdisp): defsubr it.
13887
13888 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
13889
13890 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
13891 Doc fixes.
13892
13893 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13894
13895 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
13896
13897 2007-08-24 Martin Rudalics <rudalics@gmx.at>
13898
13899 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
13900 whether decoding has modified buffer contents.
13901
13902 2007-08-24 Jason Rumney <jasonr@gnu.org>
13903
13904 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
13905 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
13906 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
13907 (init_svg_functions) [HAVE_NTGUI]: New function.
13908 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
13909 (svg_load_image): Use them.
13910 (svg_load_image) [HAVE_NTGUI]: Implement background.
13911
13912 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13913
13914 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
13915 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
13916 (LIBX): Remove @RSVG_LIBS@.
13917 (LIBES): Add $(RSVG_LIBS).
13918
13919 * image.c (svg_load_image): Blend with specified background if exists.
13920 Use IMAGE_BACKGROUND. Add Mac OS Support.
13921
13922 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
13923 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
13924 Remove macros.
13925 [MAC_OSX] (socket_callback): Do nothing.
13926 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
13927 ReceiveNextEvent.
13928 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
13929 socket_callback.
13930 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
13931
13932 2007-08-22 Glenn Morris <rgm@gnu.org>
13933
13934 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
13935
13936 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
13937
13938 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
13939
13940 * image.c: Add support for SVG images. Some additional comments
13941 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
13942 (svg_image_p): New function to test for SVG image.
13943 (svg_load): New function to load SVG image.
13944 (svg_load_image): New function, helper for svg_load.
13945 (Qsvg): New Lisp_object.
13946 (svg_keyword_index): New enum.
13947 (svg_format): New static `image_keyword' struct.
13948 (svg_type): New static `image_type' struct.
13949 (librsvg/rsvg.h): Include it.
13950
13951 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
13952
13953 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
13954
13955 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
13956
13957 * lread.c (Qold_style_backquotes): New var.
13958 (syms_of_lread): Init and staticpro it.
13959 (load_warn_old_style_backquotes): New fun.
13960 (Fload): Use them to warn about old style backquotes.
13961 (end_of_file_error, Fload): Remove unused vars.
13962
13963 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
13964
13965 * lread.c (Vold_style_backquotes): New var.
13966 (syms_of_lread): Init and export it to Elisp.
13967 (read1): Set it when we find an old-style (back)quote.
13968
13969 2007-08-22 Jason Rumney <jasonr@gnu.org>
13970
13971 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
13972
13973 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
13974
13975 * puresize.h (BASE_PURESIZE): Increase to 1140000.
13976
13977 2007-08-19 Richard Stallman <rms@gnu.org>
13978
13979 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
13980
13981 2007-08-19 Andreas Schwab <schwab@suse.de>
13982
13983 * alloc.c (pure): Round PURESIZE up.
13984
13985 2007-08-17 Jan Djärv <jan.h.d@swipnet.se>
13986
13987 * xterm.c (handle_one_xevent): Remove check that mouse click is in
13988 active frame.
13989
13990 2007-08-16 Richard Stallman <rms@gnu.org>
13991
13992 * eval.c (Fcommandp): Add parens to clarify.
13993
13994 * minibuf.c (Fall_completions): Use enum for type of table.
13995
13996 * emacs.c (USAGE2): Improve text.
13997
13998 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
13999
14000 * term.c (tty_default_color_capabilities): Declare static
14001 variables in file scope, to avoid HPUX compiler problem.
14002
14003 2007-08-13 Jan Djärv <jan.h.d@swipnet.se>
14004
14005 * gtkutil.c (update_frame_tool_bar): Use -1 as index
14006 to gtk_toolbar_insert.
14007
14008 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
14009
14010 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
14011
14012 * insdel.c (reset_var_on_error): New fun.
14013 (signal_before_change, signal_after_change):
14014 Use it to reset (after|before)-change-functions to nil in case of error.
14015 Bind inhibit-modification-hooks to t.
14016 Don't bind (after|before)-change-functions to nil while they run.
14017
14018 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14019
14020 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
14021 filling pixmap with stippled background.
14022
14023 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14024
14025 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
14026 Don't use invisible frame as parent window for repositioning.
14027
14028 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
14029
14030 * print.c (new_backquote_output): Rename from old_backquote_output.
14031 (print): Inverse its logic (according to its name) so as to match the
14032 behavior of new_backquote_flag in lread.c.
14033
14034 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14035
14036 * gmalloc.c (posix_memalign): New function.
14037
14038 * macterm.c (frame_highlight, frame_unhighlight): Don't call
14039 ActivateControl/DeactivateControl here.
14040 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
14041 frame-notice-user-settings is non-nil.
14042 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
14043 for kEventParamFMFontStyle.
14044 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
14045 mac_pass_command_to_system and mac_pass_control_to_system here.
14046 (XTread_socket): Call ActivateControl/DeactivateControl here.
14047 (XTread_socket) [TARGET_API_MAC_CARBON]:
14048 Check mac_pass_command_to_system and mac_pass_control_to_system here.
14049 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
14050 for window repositioning.
14051
14052 2007-08-08 Glenn Morris <rgm@gnu.org>
14053
14054 * Replace `iff' in doc-strings and comments.
14055
14056 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
14057
14058 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
14059
14060 2007-08-07 Martin Rudalics <rudalics@gmx.at>
14061
14062 * fileio.c (Finsert_file_contents): Run format-decode and
14063 after_insert_file_functions on entire buffer when REPLACE is
14064 non-nil and inhibit modification_hooks and point_motion_hooks.
14065 For consistency, run after_insert_file_functions iff something
14066 got inserted. Move signal_after_change and update_compositions
14067 after code running after_insert_file_functions. Make sure that
14068 undo_list doesn't record intermediate steps of the decoding process.
14069
14070 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14071
14072 * emacs.c (main)
14073 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
14074 Call malloc_enable_thread on interactive startup.
14075
14076 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
14077 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
14078 [USE_PTHREAD]: Conditionalize with it.
14079 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
14080 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
14081 New functions.
14082
14083 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
14084
14085 * xdisp.c (redisplay_window): When restoring original buffer
14086 position, make sure it is still valid.
14087
14088 * image.c (png_load): Ignore png-supplied background color.
14089
14090 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14091
14092 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
14093 Use kCFAbsoluteTimeIntervalSince1970.
14094
14095 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
14096 New variable.
14097 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
14098 event loop should be quit.
14099 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
14100 Quit dialog event loop if quit_dialog_event_loop is set.
14101
14102 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
14103 (Selection): New typedef. Use instead of ScrapRef.
14104 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
14105 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
14106 (mac_clear_selection): Rename from clear_scrap.
14107 (get_flavor_type_from_symbol): New argument SEL and subsume function of
14108 scrap_has_target_type. All uses changed.
14109 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
14110 (mac_selection_has_target_p): New functions.
14111 (mac_put_selection_value): Rename from put_scrap_string.
14112 (mac_get_selection_value): Rename from get_scrap_string.
14113 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
14114 (put_scrap_private_timestamp, scrap_has_target_type)
14115 (get_scrap_private_timestamp): Remove functions.
14116 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
14117 (x_own_selection, x_get_local_selection):
14118 Use mac_valid_selection_value_p.
14119 (x_own_selection): Don't use put_scrap_private_timestamp.
14120 Record OWNERSHIP-INFO into Vselection_alist instead.
14121 (x_get_local_selection): Don't check type if request is local.
14122 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
14123 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
14124
14125 2007-08-04 Jan Djärv <jan.h.d@swipnet.se>
14126
14127 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
14128 add comment explaining why.
14129
14130 2007-08-03 Richard Stallman <rms@gnu.org>
14131
14132 * fileio.c (Fvisited_file_modtime): Use make_time.
14133
14134 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
14135
14136 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
14137 build.
14138
14139 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
14140
14141 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
14142
14143 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
14144
14145 * puresize.h (BASE_PURESIZE): Increase to 1130000.
14146
14147 2007-07-30 Richard Stallman <rms@gnu.org>
14148
14149 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
14150
14151 2007-07-29 Jan Djärv <jan.h.d@swipnet.se>
14152
14153 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
14154
14155 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
14156
14157 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
14158 remote default-directory.
14159
14160 * buffer.c (mode-line-format): Update doc string.
14161
14162 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14163
14164 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
14165 scroll bar gap.
14166 (x_scroll_bar_create): Set bar->fringe_extended_p.
14167 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
14168 on frame edge. Check fringe background extension. Don't clear
14169 extended fringe background area.
14170
14171 * w32term.h (struct scroll_bar): New member fringe_extended_p.
14172 (w32_fill_area): Enclose multiple statements with do ... while (0).
14173
14174 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
14175 Extend fringe background to scroll bar gap.
14176 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
14177 Set bar->fringe_extended_p.
14178 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
14179 Put leftmost/rightmost scroll bars on frame edge. Check fringe
14180 background extension. Don't clear extended fringe background area.
14181
14182 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
14183 New member fringe_extended_p.
14184
14185 2007-07-25 Glenn Morris <rgm@gnu.org>
14186
14187 * Relicense all FSF files to GPLv3 or later.
14188
14189 * COPYING: Switch to GPLv3.
14190
14191 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
14192
14193 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
14194
14195 * data.c (Finteractive_form): Check for the presence of an
14196 `interactive-form' symbol property more thoroughly.
14197
14198 * data.c (Finteractive_form): Use an `interactive-form' property if
14199 present, analogous to the function-documentation property.
14200
14201 2007-07-24 Jason Rumney <jasonr@gnu.org>
14202
14203 * w32fns.c (x_real_positions): Get real position from OS instead of
14204 calculating it.
14205
14206 2007-07-23 Jason Rumney <jasonr@gnu.org>
14207
14208 * filelock.c (current_lock_owner): Allow for @ sign in username.
14209
14210 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
14211
14212 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
14213 remote default-directory.
14214
14215 * buffer.c (mode-line-format): Describe above case in doc string.
14216
14217 2007-07-20 Eli Zaretskii <eliz@gnu.org>
14218
14219 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
14220 Define if not defined.
14221
14222 2007-07-18 Jason Rumney <jasonr@gnu.org>
14223
14224 * w32proc.c (w32_executable_type): Handle 64 bit executables.
14225
14226 2007-07-18 Richard Stallman <rms@gnu.org>
14227
14228 * data.c (Fsetq_default): Doc fix.
14229
14230 * eval.c (Fsetq): Doc fix.
14231
14232 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
14233
14234 * coding.c (Ffind_operation_coding_system):
14235 * eval.c (For, Fand): Doc fixes.
14236 Reported by Johan Bockgård.
14237
14238 2007-07-18 Jan Djärv <jan.h.d@swipnet.se>
14239
14240 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
14241
14242 * xterm.h: Declare x_ewmh_activate_frame.
14243
14244 * xterm.c (x_ewmh_activate_frame): New function.
14245 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
14246
14247 2007-07-17 Martin Rudalics <rudalics@gmx.at>
14248
14249 * window.c (Fdisplay_buffer): If largest or LRU window is the
14250 only window, split it even if it is not eligible for splitting.
14251 This restores the original behavior broken by the 2007-07-15
14252 change.
14253
14254 2007-07-17 Glenn Morris <rgm@gnu.org>
14255
14256 * abbrev.c (abbrev_check_chars): New function.
14257 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
14258 Call abbrev_check_chars to check abbrev characters are word
14259 constituents. Doc fix.
14260
14261 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
14262
14263 * process.c (Fstart_process, Fmake_network_process)
14264 (read_process_output): Fix up last changes.
14265
14266 2007-07-16 Eli Zaretskii <eliz@gnu.org>
14267
14268 * makefile.w32-in (clean): Don't delete *~.
14269
14270 2007-07-16 Andreas Schwab <schwab@suse.de>
14271
14272 * window.c (Fdisplay_buffer): Use NILP.
14273 (Fset_window_scroll_bars): Likewise.
14274
14275 2007-07-15 Martin Rudalics <rudalics@gmx.at>
14276
14277 * window.c (window_min_size_2): New function.
14278 (window_min_size_1, size_window, Fdisplay_buffer)
14279 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
14280 windows without mode- or header-lines when window-min-height is
14281 too small.
14282 (size_window): Reset nodelete_p after testing it, following an
14283 earlier note by Kim F. Storm.
14284 (display_buffer): Do not set split_height_threshold to twice the
14285 value of window_min_height to avoid changing the value of a
14286 customizable variable. Rather explicitly check whether the
14287 height of the window that shall be splitted is at least as large
14288 as split_height_threshold.
14289 (Fwindow_full_width_p): New defun.
14290 (syms_of_window): Defsubr it.
14291
14292 * window.h: Add EXFUN for Fwindow_full_width_p.
14293
14294 2007-07-14 Jason Rumney <jasonr@gnu.org>
14295
14296 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
14297
14298 2007-07-14 Richard Stallman <rms@gnu.org>
14299
14300 * eval.c (maybe_call_debugger): New function.
14301 (find_handler_clause): Use maybe_call_debugger.
14302 Call it when the handler says `debug'.
14303 Eliminate DEBUGGER_VALUE_PTR.
14304 (Fsignal): Eliminate debugger_value.
14305 (Qdebug): New variable.
14306 (syms_of_eval): Initialize it.
14307
14308 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
14309
14310 * eval.c (Fprogn):
14311 * keyboard.c (Ftrack_mouse):
14312 * print.c (Fwith_output_to_temp_buffer):
14313 * window.c (Fsave_window_excursion): Doc fix.
14314
14315 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
14316
14317 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
14318
14319 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
14320
14321 * process.h (struct Lisp_Process): Turn slots infd, outfd,
14322 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
14323 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
14324 read_output_delay, and read_output_skip from Lisp_Objects to ints.
14325 Remove unused encoding_carryover.
14326 * process.c: Adjust all functions accordingly.
14327
14328 2007-07-12 Richard Stallman <rms@gnu.org>
14329
14330 * term.c: Include unistd.h only if HAVE_UNISTD_H.
14331
14332 2007-07-11 Jason Rumney <jasonr@gnu.org>
14333
14334 * makefile.w32-in (LIBS): Include OLE32.
14335
14336 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
14337 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
14338
14339 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
14340
14341 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
14342 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
14343 from a Lisp_Object into a bare pointer.
14344 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
14345 Adjust the code correspondingly.
14346
14347 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
14348
14349 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
14350 (term_show_mouse_face): Remove unused var `j'.
14351 (handle_one_term_event): Remove unused vars `i' and `j'.
14352 Don't cast return value of ttyname since it's not necessary.
14353
14354 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
14355
14356 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
14357 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
14358
14359 * fns.c (map_char_table): Use an array of int for `indices' rather than
14360 an array of Lisp_Objects (which are only ever integers anyway).
14361 (Fmap_char_table): Update caller.
14362 * lisp.h: Update prototype.
14363 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
14364 * fontset.c (Ffontset_info):
14365 * casetab.c (set_case_table): Update callers.
14366
14367 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
14368
14369 * keymap.c (struct accessible_keymaps_data)
14370 (struct where_is_internal_data): New structures.
14371 (accessible_keymaps_1, where_is_internal_1): Use them to change
14372 interface to adhere to the one used by map_keymap.
14373 (Faccessible_keymaps, where_is_internal): Use map_keymap.
14374 (accessible_keymaps_char_table, where_is_internal_2): Remove.
14375
14376 * keymap.h (map_keymap_function_t): More informative prototype.
14377
14378 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
14379
14380 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
14381 (looking_at_1): Don't change search_regs and last_thing_searched
14382 if `inhibit-changing-match-data' is non-nil.
14383 (string_match_1, search_buffer, set_search_regs): Likewise.
14384 (syms_of_search): Add Lisp level definition for
14385 `inhibit-changing-match-data' and set it to nil.
14386 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
14387 start and end of the match, instead of using values in search_regs.
14388
14389 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
14390
14391 * minibuf.c (Fcompleting_read): New value `confirm-only'
14392 for `require-match'.
14393
14394 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
14395
14396 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
14397 part of the 2007-06-27 change to syms_of_fileio.
14398
14399 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14400
14401 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
14402 Check WINDOWP before using XWINDOW. Consolidate return statements.
14403
14404 2007-06-27 Richard Stallman <rms@gnu.org>
14405
14406 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
14407
14408 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
14409
14410 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
14411
14412 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14413
14414 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
14415 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
14416 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
14417 (_free_internal, memalign): Use them.
14418 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
14419 Initialize to PTHREAD_MUTEX_INITIALIZER.
14420 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
14421 (morecore_nolock): Rename from morecore. All uses changed.
14422 Use only nolock versions of internal allocation functions.
14423 (_malloc_internal_nolock, _realloc_internal_nolock)
14424 (_free_internal_nolock): New functions created from
14425 _malloc_internal, _realloc_internal, and _free_internal.
14426 (_malloc_internal, _realloc_internal, _free_internal): Use them.
14427 Copy hook value to automatic variable before its use.
14428 (memalign): Copy hook value to automatic variable before its use.
14429
14430 2007-06-26 Kenichi Handa <handa@m17n.org>
14431
14432 * coding.c (Ffind_operation_coding_system): Docstring improved.
14433 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
14434
14435 2007-06-25 David Kastrup <dak@gnu.org>
14436
14437 * keymap.c (Fcurrent_active_maps): Add `position' argument.
14438 (Fwhere_is_internal): Adjust call to `current-active-maps' to
14439 cater for additional parameter.
14440
14441 * keymap.h: Adjust number of parameters to `current-active-maps'.
14442
14443 * doc.c (Fsubstitute_command_keys): Adjust call of
14444 `current-active-maps'.
14445
14446 2007-06-25 David Kastrup <dak@gnu.org>
14447
14448 * callint.c (Fcall_interactively): Make the parsing of interactive
14449 specs somewhat more readable.
14450
14451 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14452
14453 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
14454 to scroll bar gap also when bitmap fills fringe. Draw only foreground
14455 if extended background has already been filled.
14456
14457 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14458
14459 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
14460 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
14461
14462 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
14463 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
14464 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
14465 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
14466 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
14467 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
14468 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
14469 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
14470 Run timers during dialog popup.
14471 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
14472
14473 2007-06-21 Jason Rumney <jasonr@gnu.org>
14474
14475 * image.c (convert_mono_to_color_image): Swap fore and background.
14476
14477 2007-06-20 Jason Rumney <jasonr@gnu.org>
14478
14479 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
14480 (w32_free_bdf_font): Unmap memory not handle.
14481
14482 2007-06-20 Sam Steingold <sds@gnu.org>
14483
14484 * gmalloc.c (__morecore): Fix the declaration to comply with the
14485 definition.
14486
14487 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
14488
14489 * w32term.c (w32_delete_display): Remove leftover declaration.
14490 (w32_define_cursor, w32_initialize): Make static.
14491
14492 * w32.c (_wsa_errlist): Fix typo in error message.
14493 (init_environment): Ignore any environment variable from the
14494 registry having a null value.
14495
14496 2007-06-20 Glenn Morris <rgm@gnu.org>
14497
14498 * Makefile.in (LIBGIF): Default to -lgif.
14499
14500 2007-06-17 Jason Rumney <jasonr@gnu.org>
14501
14502 * w32menu.c (add_menu_item): Don't use multibyte string functions on
14503 unicode strings.
14504
14505 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
14506
14507 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
14508 Fix typo in docstring.
14509
14510 2007-06-16 Eli Zaretskii <eliz@gnu.org>
14511
14512 * w32menu.c (add_menu_item): Escape `&' characters in menu items
14513 and their keybindings.
14514
14515 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
14516
14517 * composite.c (update_compositions): Fix last fix.
14518
14519 2007-06-14 Jason Rumney <jasonr@gnu.org>
14520
14521 * w32.c (get_process_times_fn): New function pointer.
14522 (globals_of_w32): Intialize it if present in kernel32.dll.
14523 (w32_get_internal_run_time): New function.
14524
14525 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
14526
14527 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
14528
14529 * composite.c (update_compositions): Check the validness of
14530 compositions.
14531
14532 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14533
14534 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
14535 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
14536
14537 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
14538 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
14539
14540 * macgui.h (USE_MAC_TOOLBAR): New define.
14541
14542 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
14543 Return immediately unless popup is activated.
14544
14545 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
14546 background to scroll bar gap.
14547 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
14548 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
14549 scroll bars on frame edge. Check fringe background extension.
14550 Don't clear extended fringe background area.
14551 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
14552 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
14553 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
14554 [USE_MAC_TOOLBAR]: New macros.
14555 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
14556 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
14557 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
14558 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
14559 [USE_MAC_TOOLBAR]: New functions.
14560 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
14561 manually if previous repositioning has failed.
14562 (mac_handle_keyboard_event): Use precomputed event kind.
14563 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
14564 as tool bar item click. Handle mouse movement over tool bar items.
14565
14566 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
14567 toolbar_win_gravity.
14568 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
14569 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
14570 Add externs.
14571
14572 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
14573 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
14574
14575 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
14576
14577 * image.c (search_image_cache): Remove unused variable.
14578
14579 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
14580
14581 * xfns.c, xmenu.c: Link to xaw3d if available.
14582
14583 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14584
14585 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
14586 frame_foreground and frame_background.
14587
14588 * image.c (lookup_image): Save frame foreground and background colors.
14589 (search_image_cache): Check if saved and current frame colors match.
14590
14591 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
14592
14593 * regex.c (regex_compile): Remove the `regnum' counter.
14594 Use bufp->re_nsub instead. Add support for \(?N:RE\).
14595
14596 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
14597
14598 * term.c: Include intervals.h to declare Fget_text_property.
14599
14600 2007-06-10 Jason Rumney <jasonr@gnu.org>
14601
14602 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
14603
14604 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
14605
14606 * callint.c (Fcall_interactively):
14607 * editfns.c (Fdelete_and_extract_region):
14608 * fileio.c (Fread_file_name):
14609 * fns.c (Fmapconcat):
14610 * keyboard.c (cmd_error_internal):
14611 * keymap.c (Fkey_description):
14612 * lread.c (openp):
14613 * minibuf.c (read_minibuf):
14614 * search.c (wordify):
14615 * sunfns.c (sel_read):
14616 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
14617 * xfns.c (x_default_scroll_bar_color_parameter):
14618 * xmenu.c (menu_help_callback):
14619 * xselect.c (Fx_get_atom_name):
14620 * xterm.c (x_term_init): Use empty_unibyte_string.
14621
14622 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
14623
14624 * alloc.c (init_strings): Initialize canonical empty strings.
14625 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
14626 canonical empty string when the requested size is 0.
14627
14628 * emacs.c (empty_unibyte_string): Rename from empty_string.
14629 (empty_multibyte_string): New canonical empty string.
14630 (syms_of_emacs): Don't initialize empty_string.
14631
14632 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
14633 string, if appropriate.
14634 (empty_unibyte_string, empty_multibyte_string): New externs.
14635 (empty_string): Remove extern.
14636
14637 * lread.c (syms_of_lread): Use empty_unibyte_string.
14638
14639 2007-06-07 Jason Rumney <jasonr@gnu.org>
14640
14641 * s/ms-w32.h: Don't define HAVE_TZNAME.
14642
14643 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
14644
14645 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14646
14647 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
14648
14649 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
14650 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
14651
14652 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
14653 Don't call next handler.
14654 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
14655 Remove argument. Install handler to application.
14656 (set_frame_menubar): Don't change deep_p.
14657 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
14658 FRAME_OUTER_TO_INNER_DIFF_Y.
14659 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
14660 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
14661 [HAVE_DIALOGS]: New macros.
14662 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
14663 Use them.
14664 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
14665
14666 * macselect.c [MAC_OSX] (install_service_handler): Rename from
14667 init_service_handler. All callers changed. Return OSStatus value.
14668
14669 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
14670 All callers changed so as not to call SetPortWindowPort.
14671 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
14672 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
14673 mac_draw_string_common.
14674 (mac_draw_image_string_qd): Likewise.
14675 (mac_draw_string_common): Use them. Add INLINE.
14676 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
14677 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
14678 GetGlobalMouse.
14679 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
14680 and FRAME_OUTER_TO_INNER_DIFF_Y.
14681 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
14682 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
14683 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
14684 repositioning window to mac_handle_window_event.
14685 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
14686 saving window location to mac_handle_window_event
14687 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
14688 (install_menu_target_item_handler): Remove argument in extern.
14689 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
14690 Also accept command events.
14691 (do_keystroke): New function created from XTread_socket.
14692 (init_command_handler): Remove functions.
14693 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
14694 and save window location by kEventWindowShowing and kEventWindowHiding
14695 handlers here. Don't call next handler for window state change and
14696 focus events.
14697 (mac_handle_application_event, mac_handle_keyboard_event)
14698 [TARGET_API_MAC_CARBON]: New functions.
14699 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
14700 kEventWindowShowing and kEventWindowHiding events. Move installation
14701 of mouse, font, text input and menu target item handlers to
14702 install_application_handler.
14703 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
14704 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
14705 New function.
14706 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
14707 Register it.
14708 (XTread_socket) [TARGET_API_MAC_CARBON]:
14709 Consolidate SendEventToEventTarget calls.
14710 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
14711 Move application activation handler to mac_handle_application_event.
14712 Move keyboard handler to mac_handle_keyboard_event.
14713 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
14714 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
14715 init_command_handler. Call install_application_handler.
14716
14717 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
14718 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
14719
14720 2007-06-07 Glenn Morris <rgm@gnu.org>
14721
14722 * emacs.c (main): Use `emacs-copyright' in --version output.
14723
14724 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
14725
14726 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
14727
14728 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14729
14730 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
14731
14732 * macgui.h: Replace WindowPtr with WindowRef.
14733
14734 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
14735 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
14736 Replace ControlHandle with ControlRef.
14737 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
14738
14739 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
14740 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
14741 Replace ControlHandle with ControlRef.
14742 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
14743 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
14744
14745 * macterm.h (struct scroll_bar): Rename member control_handle_low
14746 and control_handle_high to control_ref_low and control_ref_high.
14747 All uses changed.
14748 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
14749 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
14750 respectively. All uses changed.
14751 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
14752 (install_window_handler, remove_window_handler): Replace WindowPtr
14753 with WindowRef in externs.
14754
14755 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
14756
14757 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
14758
14759 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
14760
14761 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
14762
14763 * frame.c (Fmouse_position, Fmouse_pixel_position):
14764 Condition on HAVE_GPM too.
14765
14766 * term.c (term_mouse_highlight): Remove unused variables.
14767 (Fterm_open_connection): Set gpm_zerobased to 1.
14768 (term_mouse_movement, term_mouse_click, handle_one_term_event):
14769 Use zero based co-ordinates.
14770 (handle_one_term_event): Report a drag as mouse movement too.
14771
14772 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
14773
14774 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
14775
14776 * image.c (search_image_cache): New function. Require background
14777 color match if background color is unspecified in the image spec.
14778 (uncache_image, lookup_image): Use it.
14779
14780 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
14781
14782 * window.c (Fshrink_window): Reflow docstring.
14783
14784 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
14785
14786 * Version 22.1 released.
14787
14788 2007-06-01 Richard Stallman <rms@gnu.org>
14789
14790 * xfns.c (x_encode_text): Add GCPRO.
14791
14792 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14793
14794 * xfns.c (x_set_name_internal): Save encoded name before
14795 x_encode_text in case string data is relocated.
14796
14797 2007-05-31 Richard Stallman <rms@gnu.org>
14798
14799 * buffer.c (syms_of_buffer): Doc fix.
14800
14801 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
14802
14803 * sysdep.c (init_sys_modes): Add rather than replace with
14804 O_NONBLOCK.
14805
14806 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
14807 term_mouse_moveto.
14808
14809 * termhooks.h (term_mouse_moveto): New extern.
14810
14811 * term.c (mouse_face_window): Rename...
14812 (Qmouse_face_window): ...to this.
14813 (term_show_mouse_face, term_clear_mouse_face)
14814 (term_mouse_highlight): Use Qmouse_face_window.
14815 (term_mouse_moveto): New function.
14816 (term_mouse_position): Make it work.
14817 (syms_of_term): Uncomment assignment to mouse_position_hook.
14818 Staticpro Qmouse_face_window.
14819
14820 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14821
14822 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
14823 around current_column call.
14824
14825 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
14826
14827 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
14828 * xdisp.c (next_element_from_buffer):
14829 * window.c (delete_window):
14830 * term.c (term_mouse_highlight):
14831 * msdos.c (getdefdir):
14832 * macterm.c (mac_create_bitmap_from_bitmap_data)
14833 (init_font_name_table):
14834 * fns.c (Fsxhash):
14835 * data.c (Fmake_local_variable):
14836 * ccl.c (ccl_driver): Likewise.
14837
14838 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14839
14840 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
14841 Call mac_wakeup_from_rne on window size change.
14842
14843 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
14844
14845 * image.c (uncache_image): Fix typo.
14846
14847 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
14848
14849 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
14850
14851 2007-05-22 Richard Stallman <rms@gnu.org>
14852
14853 * xterm.c (x_connection_closed): Remove NO_RETURN.
14854
14855 2007-05-22 Martin Rudalics <rudalics@gmx.at>
14856
14857 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
14858
14859 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
14860
14861 * image.c (uncache_image): New function.
14862 (Fimage_refresh): New function.
14863
14864 2007-05-20 Jan Djärv <jan.h.d@swipnet.se>
14865
14866 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
14867
14868 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
14869
14870 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
14871 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
14872
14873 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
14874
14875 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
14876 conditional on [HAVE_GPM_H].
14877
14878 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
14879
14880 * syntax.c (skip_chars): Update syntax-table only after we checked that
14881 the new location is valid.
14882
14883 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14884
14885 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
14886 mac_get_window_bounds.
14887
14888 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
14889
14890 * Makefile.in (LIBGPM): Allow it to be set from configure.
14891 If set then link Emacs with it.
14892
14893 * config.in: Regenerate.
14894
14895 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
14896 New externs.
14897
14898 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
14899 Include gpm.h.
14900 (handle_one_term_event, term_gpm): New externs.
14901
14902 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
14903 and allow it to be interrupted by SIGIO.
14904
14905 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
14906 (wait_reading_process_output): Wait on gpm_fd too.
14907 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
14908 (add_gpm_wait_descriptor_called_flag): New variable.
14909 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
14910
14911 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
14912 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
14913 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
14914 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
14915 (make_lispy_event): Add case GPM_CLICK_EVENT.
14916 (read_avail_input): Handle mouse input.
14917
14918 * term.c (write_glyphs_with_face): New function.
14919 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
14920 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
14921 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
14922 (mouse_face_face_id, term_gpm, pos_x, pos_y)
14923 (last_mouse_x, last_mouse_y): New variables.
14924 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
14925 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
14926 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
14927 (Fterm_close_connection): New functions.
14928 (term_init): Initialise mouse_face_window.
14929
14930 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
14931
14932 * xdisp.c (redisplay_window): If first window line is a
14933 continuation line, recompute the new window start instead of
14934 recentering.
14935
14936 2007-05-18 Glenn Morris <rgm@gnu.org>
14937
14938 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
14939 Suggested by Alfred M. Szmidt <ams@gnu.org>.
14940
14941 2007-05-17 Glenn Morris <rgm@gnu.org>
14942
14943 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
14944
14945 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14946
14947 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
14948 dead key repeat and up events.
14949
14950 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
14951
14952 * image.c (pbm_load): Check image size for monochrome pbm.
14953
14954 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
14955
14956 * xterm.c (XTread_socket): Revert last change.
14957
14958 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
14959
14960 * image.c (pbm_load): Correctly check image size for greyscale pbm.
14961
14962 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
14963
14964 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
14965
14966 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
14967 mixup (YAILOM).
14968
14969 2007-05-07 Andreas Schwab <schwab@suse.de>
14970
14971 * keymap.c (Flookup_key): Fix typo in last change.
14972
14973 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
14974
14975 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
14976 mapping for unibyte strings.
14977
14978 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14979
14980 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
14981 (Fx_popup_dialog) [MAC_OSX]: Likewise.
14982
14983 2007-04-29 Richard Stallman <rms@gnu.org>
14984
14985 * insdel.c (replace_range): For undo, record insertion first.
14986
14987 2007-04-29 Andreas Schwab <schwab@suse.de>
14988
14989 * lisp.h (VECSIZE): Use OFFSETOF.
14990
14991 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14992
14993 * xdisp.c (try_window_reusing_current_matrix): Fix number of
14994 disabled lines.
14995
14996 2007-04-28 Richard Stallman <rms@gnu.org>
14997
14998 * lread.c (read_escape): In a string, \s is always space.
14999
15000 2007-04-27 Jan Djärv <jan.h.d@swipnet.se>
15001
15002 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
15003
15004 * gtkutil.c (xg_update_menubar, create_menus): Create empty
15005 submenu for menu bar items.
15006
15007 See ChangeLog.10 for earlier changes.
15008
15009 ;; Local Variables:
15010 ;; coding: utf-8
15011 ;; add-log-time-zone-rule: t
15012 ;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
15013 ;; End:
15014
15015 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
15016
15017 This file is part of GNU Emacs.
15018
15019 GNU Emacs is free software: you can redistribute it and/or modify
15020 it under the terms of the GNU General Public License as published by
15021 the Free Software Foundation, either version 3 of the License, or
15022 (at your option) any later version.
15023
15024 GNU Emacs is distributed in the hope that it will be useful,
15025 but WITHOUT ANY WARRANTY; without even the implied warranty of
15026 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15027 GNU General Public License for more details.
15028
15029 You should have received a copy of the GNU General Public License
15030 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
15031
15032 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40