Don't declare `translation-table-for-input' obsolete.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
aa82edfd
CY
12009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2
3 * atimer.c (run_timers): Update pending_atimers.
4
2d283c7c
CY
52009-02-06 Chong Yidong <cyd@stupidchicken.com>
6
eb306cab
CY
7 * image.c (svg_load_image): Fix last change.
8
2d283c7c
CY
9 * xfns.c (Fx_create_frame): Signal an error if no font is
10 found (Bug#2147).
11
4d8e170e
JB
122009-02-05 Juanma Barranquero <lekktu@gmail.com>
13
14 * character.c (syms_of_character) <script-representative-chars>:
15 Fix typo in docstring.
16
c96169a0
AR
172009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
18
19 * nsmenu.m (pop_down_menu): New function.
20 (ns_popup_dialog): Call it on unwind.
21 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
22 call timer_check() (Bug#2154).
23 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
24 handling_signal is set.
25 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
26
27 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
28
29 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
30
31 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
32
33 * keyboard.c (poll_for_input_1, handle_async_input): Set
34 handling_signal under HAVE_NS.
35
aacd8ba1
GM
362009-02-04 Glenn Morris <rgm@gnu.org>
37
38 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
39
4cb75c4b
KH
402009-02-04 Kenichi Handa <handa@m17n.org>
41
42 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
43
44 * charset.c (Fchar_charset): New optional arg restriction.
45
46 * coding.h (coding_system_charset_list): Extern it.
47
48 * coding.c (coding_system_charset_list): New function.
49
50 * composite.c: Include coding.h and termhooks.h.
51 (composition_gstring_p): Fix for the terminal case.
52 (composition_gstring_width): Likewise.
53 (fill_gstring_body): Likewise.
54 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
55 the frame.
56 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
57 is within a composition.
58 (Fcomposition_get_gstring): Fix the the terminal case.
59
60 * term.c (encode_terminal_code): Fix handling of composition.
61 (produce_composite_glyph): For static composition, get pixel_width
62 from struct composition.
63
826ba17e
AS
642009-02-02 Andreas Schwab <schwab@suse.de>
65
66 * unexelf.c (unexec): Handle unaligned bss offset.
67
8ad093db
AR
682009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
69
70 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
71 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 72
8ad093db
AR
73 * keyboard.c (handle_interrupt): Don't call
74 quit_throw_to_read_char() under NS.
d0a76a6e 75
8ad093db
AR
76 * blockinput.h: Remove NS-specific code.
77
4d18a7a2
DN
782009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
79
db878925
DN
80 * dispnew.c (window_change_signal): Don't try to get the size of a
81 suspended tty frame.
82 * term.c (Fresume_tty): Resize if the size has changed while the
83 tty was suspended.
84
4d18a7a2
DN
85 * alloc.c (mark_stack): Properly conditionalize previous change.
86
8984df7c
JB
872009-01-30 Juanma Barranquero <lekktu@gmail.com>
88
89 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
90 * w32term.c (w32_read_socket) [SYNC_INPUT]:
91 Remove; this code is not used on Windows.
92
75f4f1ac
EZ
932009-01-30 Eli Zaretskii <eliz@gnu.org>
94
95 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
96 EOLs that also has stray ^M characters.
97
07a1e794
JB
982009-01-30 Juanma Barranquero <lekktu@gmail.com>
99
100 * atimer.c (run_timers, alarm_signal_handler):
101 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
102 * w32inevt.c (w32_console_read_socket):
103 * w32term.c (w32_read_socket):
104 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
105
a8b11cc9
CY
1062009-01-30 Chong Yidong <cyd@stupidchicken.com>
107
108 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
109 Initialize it as a relative filename pattern.
110 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
111 (Fcall_process_region): Simplify temp file creation using
112 temporary-file-directory.
113
c279587b
EZ
1142009-01-29 Eli Zaretskii <eliz@gnu.org>
115
116 * msdos.c: Rename pending_signals to msdos_pending_signals.
117 (sig_suspender, sigprocmask): Adjust.
118
a8fe3242
CY
1192009-01-29 Chong Yidong <cyd@stupidchicken.com>
120
121 * keyboard.c (pending_signals): New var.
122 (poll_for_input, input_available_signal, init_keyboard): Set it.
123 (process_pending_signals): New function.
124
125 * lisp.h (QUIT): Check pending_signals instead of
126 interrupt_input_pending. Use process_pending_signals.
127
128 * atimer.c (run_timers, alarm_signal_handler): Update
129 pending_signals.
130
131 * process.c (wait_reading_process_output): Use
132 process_pending_signals.
133
134 * sysdep.c (emacs_write): Use process_pending_signals.
135
136 * xterm.c (XTread_socket): Update pending_signals.
137
138 * w32term.c (w32_read_socket): Update pending_signals.
139
140 * w32inevt.c (w32_console_read_socket): Update pending_signals.
141
6570a1c4
KH
1422009-01-29 Kenichi Handa <handa@m17n.org>
143
144 * xftfont.c (xftfont_has_char): New function.
145 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
146
d72a4afa
AR
1472009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
148
149 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
150 under GNUstep.
151 (ns_query_color): New declaration.
152
153 * nsterm.m (ns_confirm_quit): New variable.
154 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
155 (EmacsApp-applicationShouldTerminate:): Use it.
156 (EmacsPrefsController): Let user set it.
157 (ns_query_color): New function.
158 (ns_defined_color): Use it.
159 (ns_initialize): Drop.
160 (ns_term_init): Add two lines from ns_initialize(), and set
161 input_interrupt_mode to nil.
162
163 * image.c (svg_load_image): Don't right-shift background RGB when
164 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
165
9fe78804
KH
1662009-01-28 Kenichi Handa <handa@m17n.org>
167
168 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
169 (fontset_get_font_group): Remember that no font-group is specified
170 for C.
9fe78804 171
fa57de36
CY
1722009-01-27 Chong Yidong <cyd@stupidchicken.com>
173
930600e9
CY
174 * fns.c (concat): Check for string overflow (bug#1787).
175
fa57de36
CY
176 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
177 Quadruple undo limits (bug#1501).
178
7179ce7b
KH
1792009-01-27 Kenichi Handa <handa@m17n.org>
180
181 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
182 directly use GT_Get_Char_index.
183
184 * xftfont.c (struct xftfont_info): New member `index'.
185
186 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
187 (Ffontset_font): Adjusted for the change of fontset entry.
188
5be8fcc0
CY
1892009-01-26 Kenichi Handa <handa@m17n.org>
190
191 * fontset.c (fontset_find_font): Fix handling of non-cons return
192 value of fontset_get_font_group.
193 (fontset_font): Revert last change.
194
19ae3e61
JR
1952009-01-26 Jason Rumney <jasonr@gnu.org>
196
197 * w32font.c (w32font_list_internal): Return quickly if registry is
198 unknown. Simplify final return.
199 (add_font_entity_to_list): Break complex logic down into more
200 manageable chunks. Move unknown registry check to
201 w32font_list_internal.
202
8612b71a
AR
2032009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
204
205 Changes to remove Feval calls from GUI under NS.
206
d8038940
JB
207 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
208 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
209 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
210
211 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
212 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
213 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
214 instead of NON_ASCII_KEYSTROKE_EVENT.
215 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
216 (EmacsApp-applicationShouldTerminate:): Query user.
217 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
218 instead of Feval.
219
220 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
221
222 * keyboard.c (kbd_buffer_get_event): Check for it.
223 (keys_of_keyboard): Define lispy keys for
224 ns-put/unput-working-text.
225
226 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
227 versions.
228 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
229
6288ae55
CY
2302009-01-25 Chong Yidong <cyd@stupidchicken.com>
231
232 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 233 setting current_buffer directly. (Bug#2044)
6288ae55 234
289e7f8f
CY
2352009-01-24 Chong Yidong <cyd@stupidchicken.com>
236
5ce87308 237 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 238 any work. (Bug#1952, bug#1990).
5ce87308 239
64cc3cf6 240 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 241
b3243e6f
AR
2422009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
243
244 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
245 (ns_no_defaults): New declaration.
246 (main): Use it.
e0d2e69a 247
d900b2af 248 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 249
d900b2af 250 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 251
d900b2af
AR
252 * nsterm.m (ns_no_defaults): New variable.
253 (ns_initialize): Don't read defaults when ns_no_defaults.
254 (EmacsView-readSelectionFromPasteboard:)
255 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 256 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
257 (ns_dumpglyphs_stretch): New function.
258 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 259 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 260
e0d2e69a
AR
261 * nsimage.m (setPixmapData:): Set to ignore image DPI.
262
3ac71f5d
CY
2632009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
264
265 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
266 call for Sparc64.
267
3fe53a83
AR
2682009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
269
270 * nsfns.m:
271 * nsgui.h:
272 * nsmenu.m:
273 * nsselect.m:
274 * nsterm.h:
275 * nsterm.m: Remove '23' comments that indicated code added during
276 update from emacs-20 -> emacs-23.
277
10f87c6f 2782009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
279
280 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 281 ns_alternate_modifier. (Bug#1217)
a3b53a85 282
c7cef62d
AR
283 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
284 Display all shortcuts, including those w/o super modifier.
285
575fb8bd
AR
286 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
287
918b848b
CY
2882009-01-22 Chong Yidong <cyd@stupidchicken.com>
289
290 * fileio.c (Vwrite_region_post_annotation_function)
291 (Vwrite_region_annotation_buffers): New vars.
292 (build_annotations_unwind): Just reset
293 Vwrite_region_annotation_buffers.
294 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
295 Call write-region-post-annotation-function.
296 (build_annotations): Add to Vwrite_region_annotation_buffers if
297 buffer changes.
298
a39e2539
AR
2992009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
300
301 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
302 Tiger.
303 * nsfns.m (ns_do_applescript): Conditionalize
304 typeUTF16ExternalRepresentation on Tiger.
305
35ed44db
AR
3062009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
307
308 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
309
cbe0b5bf
AR
3102009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
311
312 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 313
6049d3a0
AR
314 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
315
316 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
317 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
318 handle Ctrl-tab. (Bug#1841)
319 (ns_get_color): Use unsigned long long for scanned hex string value.
320 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 321 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 322 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 323 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 324 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 325 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 326 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 327
d3810c21 328 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 329 DPI. (Bug#1316)
d3810c21
AR
330 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
331 values in onTiger section.
4c7077c3 332
e301e634
CY
3332009-01-19 Chong Yidong <cyd@stupidchicken.com>
334
7f82490b
CY
335 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
336 Check return value of font_spec_from_name.
64cc3cf6 337 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
338
339 * font.c (font_spec_from_name): Return Qnil if font name could not
340 be parsed.
341 (font_parse_name): Treat a `?' character as part of an XLFD.
342
e301e634
CY
343 * fns.c (Fsubstring): Doc fix.
344
1c0db158
KH
3452009-01-19 Kenichi Handa <handa@m17n.org>
346
347 * ftfont.c (ftfont_lookup_cache): Check the return value of
348 FcFontList.
349 (ftfont_list): Likewise.
350
acf20901
JB
3512009-01-18 Juanma Barranquero <lekktu@gmail.com>
352
fff4e459
JB
353 * dbusbind.c (Fdbus_register_signal):
354 * process.c (conv_sockaddr_to_lisp):
355 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
356
acf20901
JB
357 * callproc.c (Fgetenv_internal): Doc fix.
358
e7abcdfb
CY
3592009-01-16 Chong Yidong <cyd@stupidchicken.com>
360
361 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
362 it is not even used.
363
b60861e6
GM
3642009-01-16 Glenn Morris <rgm@gnu.org>
365
366 * font.c (Ffont_variation_glyphs): Silence compiler.
367
8db52afe
JB
3682009-01-15 Juanma Barranquero <lekktu@gmail.com>
369
370 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
371 Reported by David Robinow <drobinow@gmail.com>.
372
4cddb209
KH
3732009-01-15 Kenichi Handa <handa@m17n.org>
374
375 * coding.c (detect_coding_system): Fix handling of
376 null_byte_found.
377
f247f67b
JR
3782009-01-14 Jason Rumney <jasonr@gnu.org>
379
380 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 381 never a fontset. (Bug#1562)
f247f67b 382
f56a4450
KH
3832009-01-14 Kenichi Handa <handa@m17n.org>
384
385 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 386 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 387
4e99855e
CY
3882009-01-13 Chong Yidong <cyd@stupidchicken.com>
389
390 * font.c (font_clear_prop): If clearing the family, clear the font
391 width index too.
392
fff4e459 393 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 394
24f01470
JB
3952009-01-12 Juanma Barranquero <lekktu@gmail.com>
396
397 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
398 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
399 functions, use sizeof.
400
a41240a3
MR
4012009-01-12 Martin Rudalics <rudalics@gmx.at>
402
403 * keyboard.c (read_char): Fix case where last_nonmenu_event
404 returned a bad value with submenus. (Bug#447)
405
944636b8
CY
4062009-01-12 Chong Yidong <cyd@stupidchicken.com>
407
408 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
409 family, clear the font width index too.
410
0dad7c6f
JR
4112009-01-11 Jason Rumney <jasonr@gnu.org>
412
413 * keyboard.c (cmd_error_internal): Exit when errors occur before
414 frame creation and not in daemon mode. (Bug#1836)
415
7c2363af
CY
4162009-01-10 Chong Yidong <cyd@stupidchicken.com>
417
418 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
419 of a display vector, backtrack.
420 (try_window_reusing_current_matrix): Check glyph type before
421 referencing charpos member.
422
97b1b294
EZ
4232009-01-10 Eli Zaretskii <eliz@gnu.org>
424
425 Fix Bug #876:
426
427 * coding.c (inhibit_null_byte_detection): New variable.
428 (detect_coding, detect_coding_system): Don't pay attention to null
429 bytes if inhibit_null_byte_detection is non-zero.
430 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
431 document.
432 <inhibit-iso-escape-detection>: Doc fix.
433
4624b6e3
JR
4342009-01-09 Jason Rumney <jasonr@gnu.org>
435
436 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 437 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
438 Only report Unicode Plane 2 fonts as unicode-sip.
439
323b840c
CY
4402009-01-09 Chong Yidong <cyd@stupidchicken.com>
441
442 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
443 version moved to faces.el.
444
445 * font.c (Ffont_family_list): Return a list of strings, not
446 symbols.
447
eba7400d
MR
4482009-01-09 Martin Rudalics <rudalics@gmx.at>
449
450 * frame.c (x_set_frame_parameters): Remember requested value for
451 fullscreen before it's reset by the parameter handler.
452
4b09796d
GM
4532009-01-09 Glenn Morris <rgm@gnu.org>
454
455 * keyboard.c (last_command_char): For clarity, rename to...
456 (last_command-event): ... and update all users.
457 (last_input_char): For clarity, rename to...
458 (last_input_event): ... and update all users.
459 (last-command-char, last-input-char): Move to subr.el as aliases.
460 * cmds.c, commands.h: Update for last_command_char rename.
461
14ccea62
CY
4622009-01-08 Chong Yidong <cyd@stupidchicken.com>
463
464 * font.c (font_open_for_lface): Handle unspecified height
465 attribute.
466
5f004711
JR
4672009-01-08 Jason Rumney <jasonr@gnu.org>
468
469 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
470 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
471 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
472 Don't declare.
fff4e459 473 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
474 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
475
b71f6f73
KH
4762009-01-07 Kenichi Handa <handa@m17n.org>
477
50b06221 478 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 479 remember the coding system used for decoding in
50b06221
KH
480 coding_system (Bug#1039).
481
b71f6f73 482 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 483 breaking the loop. (Bug#870)
b71f6f73
KH
484 (decode_coding_utf_16, decode_coding_emacs_mule)
485 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
486 (decode_coding_charset): Likewise.
487
56f668f7
MR
4882009-01-05 Martin Rudalics <rudalics@gmx.at>
489
490 * frame.c (x_set_frame_parameters): Make sure height (width) get
491 applied when fullwidth (fullheight) is set. (Bug#1522)
492
5da9424d
JB
4932009-01-04 Juanma Barranquero <lekktu@gmail.com>
494
495 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
496 (utc_base): Declare as ULONGLONG, not long double.
497 (convert_time_raw): Delete.
498 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
499 (initialize_utc_base): New function.
500 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
501 (convert_from_time_t): Use initialize_utc_base; compute result with
502 64-bit arithmetic.
503 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
504
c4605e09
EZ
5052009-01-03 Eli Zaretskii <eliz@gnu.org>
506
9acef61c 507 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
508 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
509 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
510 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
511 [!subprocesses]: Define.
512 (syms_of_process) [!subprocesses]: Intern and staticpro them.
513 (Flist_system_processes, Fsystem_process_attributes)
514 [!subprocesses]: Call list_system_processes and
515 system_process_attributes instead of returning Qnil.
516
9acef61c
JB
517 * dosfns.c (system_process_attributes, list_system_processes):
518 New functions.
c4605e09
EZ
519
520 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
521
522 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
523 Don't use the default (no-op) implementation.
524
8b7d0a16
JR
5252009-01-03 Jason Rumney <jasonr@gnu.org>
526
a6d46bc1
JR
527 * keyboard.c (parse_modifiers_uncached): Wheel events are
528 clicks (bug#687).
529
8b7d0a16
JR
530 * w32term.c (x_query_colors, x_query_color): New functions.
531
532 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
533 (svg_load_image): Cast returned pointers from dynamically loaded
534 functions. Eliminate W32 specific code.
535
bfe11752
DN
5362009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
537
89e2438a
DN
538 * nsfns.m (x_set_foreground_color, x_set_background_color)
539 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
540 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
541 x_ prefix instead of ns_. Update references.
542 (syms_of_nsfns): Add a FIXME comment.
543
544 * nsterm.m (x_set_cursor_type): New prototype.
545 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
546
bfe11752
DN
547 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
548 for Solaris instead of incorrectly providing Qutime and Qcutime.
549
031da700
EZ
5502009-01-02 Eli Zaretskii <eliz@gnu.org>
551
552 * w32.c (process_times): Compute sum of utime and stime.
553 (system_process_attributes): Add Qtime to the alist.
554
555 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
556 and add them to the alist.
557
558 * process.c (top level) <Qtime, Qctime>: New variables.
559 (syms_of_process): staticpro them.
560 (Fsystem_process_attributes): Add their documentation to the doc
561 string.
562
563 * process.h: Declare Qtime and Qctime.
564
df23bf08
JR
5652009-01-02 Jason Rumney <jasonr@gnu.org>
566
9acef61c 567 * image.c (Qgobject): New symbol.
df23bf08
JR
568 (syms_of_image): Initialize it.
569 (init_svg_functions): Load some functions from gobject library.
570
5bbdf7aa
DN
5712009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
572
573 * frame.c (make_terminal_frame): Remove redundant code and useless
574 block.
575
63136da6
AS
5762009-01-01 Andreas Schwab <schwab@suse.de>
577
578 * process.c (conv_sockaddr_to_lisp): Add workaround for
579 getsockname bug on BSD.
580
9ef69046
CY
5812009-01-01 Chong Yidong <cyd@stupidchicken.com>
582
d6fafbe0
CY
583 * xfns.c (x_create_tip_frame): Set border width of the X window.
584
9ef69046
CY
585 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
586 message.
587
f9c34147
JR
5882009-01-01 Jason Rumney <jasonr@gnu.org>
589
9acef61c 590 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
591 Don't block input, as per earlier xterm.c changes.
592
f5497e45
AR
5932008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
594
595 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
596 (ns_appkit_version_int): New function.
597 (x-server-version): Use ns_appkit_version_int and follow 21+
598 convention of returning 3 integers.
599
c19cab20
KH
6002008-12-30 Kenichi Handa <handa@m17n.org>
601
602 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
603 (CHAR_SURROGATE_PAIR_P): New macro.
604
605 * font.h (struct font_driver): New member get_variation_glyphs.
606
9acef61c 607 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
608 (Ffont_variation_glyphs): New function.
609 (syms_of_font): Defsubr it.
610
611 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
612 ftfont_variation_glyphs.
613 (setup_otf_gstring): New function.
614 (ftfont_drive_otf): Use it.
615 (ftfont_shape_by_flt): Handle variation selector.
616 (ftfont_variation_glyphs): New function.
617
28cd591f
MR
6182008-12-30 Martin Rudalics <rudalics@gmx.at>
619
620 * frame.c (Vemacs_iconified): Remove.
621
7f714baf
JR
6222008-12-30 Jason Rumney <jasonr@gnu.org>
623
624 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 625 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 626
9d2d22ab
CY
6272008-12-30 Chong Yidong <cyd@stupidchicken.com>
628
629 * indent.c (Fvertical_motion): Don't advance iterator if we have
630 reseated to the desired position.
631
632 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
633 checking for pos match.
634
545312c2
KH
6352008-12-30 Kenichi Handa <handa@m17n.org>
636
1ede3eb6
KH
637 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
638 just get the low 8-bit of the code.
639
545312c2
KH
640 * font.c (font_intern_prop): Validate str as multibyte.
641
bd7bbf29
DN
6422008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
643
31e0750e
DN
644 * dispextern.h (struct face): Move lface and hash from the middle
645 of bitfields.
646
bd7bbf29
DN
647 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
648
b5672e7c
DN
6492008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
650
651 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
652 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
653 instead of intervals.h.
654
d704470f
AS
6552008-12-26 Andreas Schwab <schwab@suse.de>
656
657 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
658 cons.
659
54b33868
MR
6602008-12-26 Martin Rudalics <rudalics@gmx.at>
661
662 * textprop.c (Qminibuffer_prompt): New variable.
663 (syms_of_textprop): Initialize it.
664 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
665 in minibuffer-prompt face. (Bug#1662)
666
40b615d6
JR
6672008-12-25 Jason Rumney <jasonr@gnu.org>
668
669 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
670
baae5c2d
JR
6712008-12-24 Jason Rumney <jasonr@gnu.org>
672
673 * ralloc.c (r_alloc_reset_variable): New function.
674
675 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 676 record of what points where. (Bug#716)
baae5c2d 677
a9051c88
DN
6782008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
679
680 * minibuf.c (read_minibuf): Follow the non-interactive case when
681 running as a daemon, before detaching.
682
8b146312
AS
6832008-12-22 Andreas Schwab <schwab@suse.de>
684
685 * buffer.c (init_buffer): Use realloc instead of xrealloc.
686 * gtkutil.c (free_widget_value): Use xfree instead of free.
687
56f2de10
MR
6882008-12-22 Martin Rudalics <rudalics@gmx.at>
689
690 * frame.c (delete_frame): New function derived from
691 Fdelete_frame to handle Qnoelisp value for FORCE argument.
692 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
693 (Fdelete_frame): Call delete_frame. Remove line from doc-string
694 saying that FORCE non-nil doesn't run `delete-frame-functions'.
695 * frame.h: Extern delete_frame.
696 * window.c (window_loop):
697 * terminal.c (delete_terminal):
698 * xterm.c (x_connection_closed):
699 * xfns.c (Fx_hide_tip):
9acef61c 700 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 701
1fc200d6
JR
7022008-12-21 Jason Rumney <jasonr@gnu.org>
703
704 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
705 when character maps to .notdef character.
706
5e252df2
SM
7072008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
708
709 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
710
99b72cc4
JR
7112008-12-20 Jason Rumney <jasonr@gnu.org>
712
713 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 714 a graphical frame on Windows. (Bug#1325)
99b72cc4 715
acc49a52
JD
7162008-12-20 Jan Djärv <jan.h.d@swipnet.se>
717
718 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
719
6ea15123
CY
7202008-12-20 Chong Yidong <cyd@stupidchicken.com>
721
722 * minibuf.c (Fread_buffer): Doc fix.
723
b2dab6c8
JR
7242008-12-20 Jason Rumney <jasonr@gnu.org>
725
54ea0c87 726 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 727 server name in UNC paths. (Bug#719)
54ea0c87 728
b2dab6c8 729 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 730 charbuf. (Bug#1035)
b2dab6c8 731
6d1921be
DN
7322008-12-19 Daniel Engeler <engeler@gmail.com>
733
734 * sysdep.c (serial_configure): Fix typo.
735
53934c98
DN
7362008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
737
738 * sysdep.c: Include alloca.h.
f4f634e8
DN
739 (system_process_attributes): Add implementation for Solaris.
740
741 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 742
06e111a6
DN
7432008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
744
745 Reorganize implementation of Flist_system_processes and
746 Fsystem_process_attributes. No functional changes.
747 * process.c: Don't #include pwd.h, grp.h and limits.h.
748 (Flist_system_processes): Just call list_system_processes.
749 (Fsystem_process_attributes): Just call system_process_attributes.
750 (procfs_list_system_processes, time_from_jiffies)
751 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
752 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
753
754 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
755 (list_system_processes): Rename from
756 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
757 Provide a do nothing implementation.
758 (system_process_attributes): Rename from
759 procfs_list_system_processes.
760 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 761 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
762
763 * w32.c (list_system_processes): Rename from
764 w32_list_system_processes.
765 (system_process_attributes): Rename from
766 w32_system_process_attributes.
767
768 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
769
770 * process.h (w32_list_system_processes)
771 (w32_system_process_attributes): Remove.
772 (list_system_processes, system_process_attributes): New
773 prototypes.
774
6a705b23
KH
7752008-12-19 Kenichi Handa <handa@m17n.org>
776
777 * xfont.c (xfont_decode_coding_xlfd): New function.
778 (xfont_encode_coding_xlfd): New function.
779 (xfont_list_pattern): Decode XLFD by iso-8859-1.
780 (xfont_list): Decode and encode XLFD by iso-8859-1.
781 (xfont_match): Likewise.
782 (xfont_list_family): Likewise.
783 (xfont_open): Likewise.
784
d66c0241 785 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
786 names are utf-8.
787
d66c0241 788 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
789 names are utf-8.
790
5a130941
JD
7912008-12-18 Jan Djärv <jan.h.d@swipnet.se>
792
793 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
794 changed.
bfd20325
JD
795 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
796 clicked on a detached tool bar button.
5a130941 797
fd95644b
DN
7982008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
799
800 * emacs.c (main): Print and error and exit when no data is read
801 from the pipe.
802
e6eee6ae
JR
8032008-12-17 Jason Rumney <jasonr@gnu.org>
804
805 * w32font.c (w32font_has_char): Always return -1.
806
a35dd56b
KH
8072008-12-16 Kenichi Handa <handa@m17n.org>
808
809 * font.c (font_open_entity): Fix previous change.
810
0e3635c2
DN
8112008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
812
813 * process.c: Include <limits.h>.
814
d4835507 8152008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
816
817 * font.c (font_update_drivers): Fix mistake in reconstructing the
818 driver list.
819
8202008-12-16 Chong Yidong <cyd@stupidchicken.com>
821
822 * font.c (font_clear_cache): Fix format of font cache data.
823
e2cbc401
CY
8242008-12-15 Chong Yidong <cyd@stupidchicken.com>
825
826 * xftfont.c (xftfont_open): Free Xft font pattern if
827 XftFontOpenPattern fails.
828
829 * xterm.c (x_free_frame_resources): Remove extraneous call to
830 free_frame_faces.
831
b131d535
CY
8322008-12-13 Chong Yidong <cyd@stupidchicken.com>
833
834 * xterm.c (x_delete_display): Move xim_close_dpy call to
835 x_delete_terminal.
836 (x_delete_terminal): Call xim_close_dpy.
837
e6df5336
JR
8382008-12-13 Jason Rumney <jasonr@gnu.org>
839
840 * w32font.c (intern_font_name): New function.
841 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
842 (w32font_open_internal, Fx_select_font): Decode font name.
843 (fill_in_logfont, list_all_matching_fonts): Encode font name.
844
845 * w32font.h (intern_font_name): Declare new function.
846
847 * w32uniscribe.c (add_opentype_font_name_to_list):
848 Use intern_font_name.
849
20d68145
CY
8502008-12-13 Chong Yidong <cyd@stupidchicken.com>
851
9f2554de
CY
852 * frame.c (Fdelete_frame): Call free_font_driver_list.
853
3d9bec9a
CY
854 * font.c (free_font_driver_list): Implement missing function.
855
20d68145
CY
856 * w32term.c (w32_term_init): Don't initialize the image cache
857 here; it will be done in init_frame_faces.
858
859 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
860 (struct x_display_info): Remove unused member null_pixel. New
861 member xim_callback_data.
862
863 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
864 (xim_initialize): Save pointer to callback function data.
865 (xim_close_dpy): Free callback function data. Call XCloseIM,
866 reverting 2008-11-04 change by David Smith.
867 (x_term_init): Don't initialize the image cache here; it will be
868 done in init_frame_faces. Remove ancient "null_pixel" cruft.
869 (x_delete_display): Free x_dnd_atoms member.
870
96f9306b
KH
8712008-12-13 Kenichi Handa <handa@m17n.org>
872
6dec9044
JB
873 * font.c (font_rescale_ratio): Moved from xfaces.c.
874 Argument type changed. Handle a font-spec too.
96f9306b 875 (font_score): Check Vface_font_rescale_alist.
6dec9044 876 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
877
878 * xfaces.c (font_rescale_ratio): Moved to font.c.
879
8d5b4964
CY
8802008-12-13 Chong Yidong <cyd@stupidchicken.com>
881
882 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
883
e6df5336
JR
8842008-12-12 Jason Rumney <jasonr@gnu.org>
885
886 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
887 Vwindow_system_version to the real w32 major version.
888
97c6058a
DN
8892008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
890
891 * term.c (init_tty): Move setting the terminal name before the
892 potential user: maybe_fatal.
893
ec4e88d7
CY
8942008-12-11 Chong Yidong <cyd@stupidchicken.com>
895
d4835507
JB
896 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
897 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 898
b4233ec9
JR
8992008-12-11 Jason Rumney <jasonr@gnu.org>
900
8ec71e23 901 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 902 SYMBOL_CHARSET. (Bug#547)
8ec71e23 903
b4233ec9 904 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 905 size for surrogates. (Bug#1096, bug#872)
b4233ec9 906
011a0143
JB
9072008-12-11 Juanma Barranquero <lekktu@gmail.com>
908
909 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
910
3c309f34
JB
9112008-12-11 Juanma Barranquero <lekktu@gmail.com>
912
913 * process.c (Fsystem_process_attributes, syms_of_process):
914 Fix typo in name of Ssystem_process_attributes.
915 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
916
fedc6ab5
JB
9172008-12-11 Juanma Barranquero <lekktu@gmail.com>
918
919 * syntax.c (Fmodify_syntax_entry): Doc fix.
920
ba3de0e8
JB
9212008-12-10 Juanma Barranquero <lekktu@gmail.com>
922
923 * font.c (Ffont_spec): Move usage to end of docstring.
924
174f1c74
JR
9252008-12-10 Jason Rumney <jasonr@gnu.org>
926
927 * w32font.c (Qcham): New symbol.
928 (font_supported_scripts): Add cham, and comments for other new
929 scripts in bitfield from OpenType spec.
9d32f818
JR
930 (add_font_entity_to_list): Limit unicode-sip fonts to those that
931 contain characters beyond the bmp.
174f1c74 932
7b649478
KH
9332008-12-10 Kenichi Handa <handa@m17n.org>
934
935 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 936 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
937 Qunicode_sip.
938
2133e2d1
JB
9392008-12-10 Juanma Barranquero <lekktu@gmail.com>
940
941 * coding.c (QCdefault_char): Rename from QCdefalut_char.
942 (Fcoding_system_put): Use QCdefault_char.
943 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
944
9af886ee
CY
9452008-12-09 Chong Yidong <cyd@stupidchicken.com>
946
74d819eb
CY
947 * xftfont.c (syms_of_xftfont): Fix typo.
948
4ccfa1c0 949 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 950
7c19d3ae
DN
9512008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
952
953 * emacs.c (main): Close daemon_pipe on exec.
954
567826bb
CY
9552008-12-08 Chong Yidong <cyd@stupidchicken.com>
956
957 * termchar.h (struct tty): New members termcap_term_buffer and
958 termcap_strings_buffer.
959
960 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 961 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
962 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
963 All callers changed.
964 (init_tty): Store termcap data and string buffers in new struct
965 tty members termcap_term_buffer and termcap_strings_buffer.
966 (delete_tty): Free them.
4ccfa1c0 967 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 968
aa96c42b
SZ
9692008-12-07 Seiji Zenitani <zenitani@mac.com>
970
971 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 972 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 973
b7e1d896
CY
9742008-12-06 Chong Yidong <cyd@stupidchicken.com>
975
976 * coding.c (make_conversion_work_buffer): Disable buffer
977 modification hooks in the work buffer.
978
b5ec91a5
EZ
9792008-12-05 Eli Zaretskii <eliz@gnu.org>
980
981 * process.c (procfs_system_process_attributes): If `nread' has a
982 negative value, assign zero to it.
983
a5d2a52b
CY
9842008-12-05 Chong Yidong <cyd@stupidchicken.com>
985
68c5540b 986 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 987
7bf1bb21
KH
9882008-12-05 Kenichi Handa <handa@m17n.org>
989
990 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
991 second character is a combining character.
992
2fdc7d00
EZ
9932008-12-05 Eli Zaretskii <eliz@gnu.org>
994
995 * process.c (procfs_system_process_attributes): Don't use cmd,
996 cmdsize, and q without initializing them first.
997
bf6bfba8
JR
9982008-12-04 Jason Rumney <jasonr@gnu.org>
999
1000 * w32font.c (w32font_draw): Initialize orig_clip before getting
1001 it, and delete it when finished.
1002
a3b1a468
DN
10032008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
1004
1005 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
1006 case when running as a daemon before detaching.
1007
8b8be8eb
JB
10082008-12-03 Juanma Barranquero <lekktu@gmail.com>
1009
805f2638 1010 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 1011
b1bde622
KH
10122008-12-03 Kenichi Handa <handa@m17n.org>
1013
e500c47d
KH
1014 * font.c (font_at): Set `multibyte' at first.
1015
ca516334
KH
1016 * coding.c (decode_coding_charset): Check type of an element of
1017 vector VALIDS.
7bf1bb21 1018 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 1019
4ccfa1c0 1020 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
1021 (font_for_char): Likewise.
1022
1e5ecd37
CY
10232008-12-03 Chong Yidong <cyd@stupidchicken.com>
1024
d5b01609 1025 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
1026 (font_update_lface): Handle fonts with corrupted size specs,
1027 i.e. non-int and non-float.
d5b01609 1028
11e3a6e4 1029 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 1030 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 1031 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 1032
ab06788b
CY
1033 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
1034
1e5ecd37 1035 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 1036 underline_minimum_offset for underline position.
1e5ecd37 1037
63c125ab
DN
10382008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
1039
1040 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
1041
1042 * character.c (c_string_width): Specify the type for LEN.
1043
3a8406e1
KH
10442008-12-03 Kenichi Handa <handa@m17n.org>
1045
4ccfa1c0 1046 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 1047 (decode_coding_utf_8): Likewise.
4ccfa1c0 1048 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 1049 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 1050
651df7d9
CY
10512008-12-02 Chong Yidong <cyd@stupidchicken.com>
1052
1053 * keyboard.c (make_lispy_position): Only use PT if the selected
1054 window is current.
1055
1f625c6c
AS
10562008-12-02 Andreas Schwab <schwab@suse.de>
1057
f7741ce9
AS
1058 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
1059
1f625c6c
AS
1060 * doprnt.c (doprnt1): Fix size of charbuf.
1061
92bc2678
CY
10622008-12-02 Chong Yidong <cyd@stupidchicken.com>
1063
1064 * keyboard.c (timer_check): Revert last change.
1065
93b9e8cc
JB
10662008-12-02 Juanma Barranquero <lekktu@gmail.com>
1067
1068 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
1069
fd7a37d5
JB
10702008-12-01 Juanma Barranquero <lekktu@gmail.com>
1071
1072 * makefile.w32-in: Update dependencies.
1073 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
1074
c115043b
AS
10752008-12-01 Andreas Schwab <schwab@suse.de>
1076
1077 * font.c (register_font_driver): Use xmalloc.
1078 (font_put_frame_data): Likewise.
1079
f5668d2a
CY
10802008-12-01 Chong Yidong <cyd@stupidchicken.com>
1081
860d96be
CY
1082 * xfaces.c (realize_x_face): Make abort condition clearer.
1083
f5668d2a
CY
1084 * gtkutil.c (update_frame_tool_bar): Initialize variable.
1085
379c17e7
CY
10862008-11-30 Chong Yidong <cyd@stupidchicken.com>
1087
1088 * keyboard.c (timer_check): After a timer runs, ensure that the
1089 selected window's buffer is current.
1090
35f36d65
JB
10912008-11-30 Juanma Barranquero <lekktu@gmail.com>
1092
f952c61c
JB
1093 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1094 It was accidentally restored by the Unicode merge.
1095
35f36d65
JB
1096 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1097
b23077df
JB
10982008-11-29 Juanma Barranquero <lekktu@gmail.com>
1099
1100 * w32proc.c: Include "coding.h".
1101 (Fw32_short_file_name): Encode filename passed to Windows API.
1102 (Fw32_long_file_name): Encode filename passed to Windows API and
1103 decode back the result. (Bug#1433)
1104
b8ebe9dd
KH
11052008-11-29 Kenichi Handa <handa@m17n.org>
1106
8cc53f96
KH
1107 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1108 not before accessing it.
1109
b8ebe9dd
KH
1110 * charset.c (Fdefine_charset_internal): After calculating
1111 min_char, max_char, and fastmap, copy the charset structure again.
1112 (encode_char): Fix the previous change.
1113
59bc82c0
SZ
11142008-11-28 Seiji Zenitani <zenitani@mac.com>
1115
1116 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1117
1118 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1119
1120 * nsterm.m (x_set_frame_alpha): New function.
1121
32247e3d
EZ
11222008-11-27 Eli Zaretskii <eliz@gnu.org>
1123
1124 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1125
b003e5ff
JB
11262008-11-27 Juanma Barranquero <lekktu@gmail.com>
1127
1128 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1129 pointer to check_face_name.
1130
708550f5
KH
11312008-11-27 Kenichi Handa <handa@m17n.org>
1132
1133 * category.h (SET_CATEGORY_SET): Call set_category_set.
1134 (set_category_set): Extern it.
1135
1136 * category.c (hash_get_category_set): New function.
1137 (Fmodify_category_entry): Adjusted for the change of
1138 char_table_ref_and_range. Call hash_get_category_set to get a
1139 category set to store in the table.
1140
1141 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1142 Funify_charset.
1143
2ae37cf0 1144 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
1145 (DECODE_CHAR): Check if the decoder vector is ready.
1146 (ENCODE_CHAR): Check if the encoder char-table is ready.
1147 (maybe_unify_char): Extern it.
1148
1149 * charset.c (Vchar_unified_charset_table): Delete it.
1150 (inhibit_load_charset_map): New variable.
1151 (temp_charset_work): New variable.
1152 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1153 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1154 New macros.
1155 (load_charset_map): Meaning of control_flag changed. If
1156 inhibit_load_charset_map is nonzero, setup a table in
1157 temp_charset_work.
1158 (load_charset): New argument control_flag.
1159 (map_charset_for_dump): New function.
1160 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1161 map_charset_for_dump.
1162 (Fdefine_charset_internal): If the charset method is MAP, load
1163 mapping tables by calling load_charset.
1164 (Funify_charset): Don't load a mapping table but directly set
1165 Vchar_unify_table.
1166 (maybe_unify_char): New function.
1167 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1168 Handle the case of inhibit_load_charset_map being nonzero.
1169 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1170 Handle the case of inhibit_load_charset_map being nonzero.
1171 (Fclear_charset_maps): Just free temp_charset_work.
1172 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1173 variable.
1174
1175 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1176 change of char_table_ref_and_range.
1177 (char_table_ref_and_range): Change the meaning of argument FROM
1178 and TO. Now the caller must provide initial values for *FROM
1179 and *TO.
1180
1181 * fontset.c (fontset_add): Adjusted for the change of
1182 char_table_ref_and_range.
1183 (fontset_get_font_group): Likewise.
1184 (Ffontset_info): Likewise.
1185
1186 * keymap.c (describe_vector): Adjusted for the change of
1187 char_table_ref_and_range. For char-table, put boundary between
1188 non-ASCII and 8-bit characters.
1189
1190 * print.c (print_object): For bool-vector, delete unnecessary
1191 check of ASCII_BYTE_P.
1192
9196133b
JR
11932008-11-26 Jason Rumney <jasonr@gnu.org>
1194
1195 * w32font.c (w32font_open_internal): Don't include external
9acef61c 1196 leading in font height. (Bug#879)
9196133b 1197
9f688acf
GM
11982008-11-26 Glenn Morris <rgm@gnu.org>
1199
1200 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1201 redefinition with ifdef. (Bug#1383)
1202
90d19aff
AR
12032008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1204
1205 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1206
4ccfa1c0 12072008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
1208
1209 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1210 New EmacsView methods.
1211 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1212 Fixes bug #1048,1357,1414.
1213
12142008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1215
1216 Fix bug #1362.
1217 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1218 is not an indexed color.
1219 * nsterm.m (free_indexed_color): Add argument checking.
1220 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1221
e7d5ecb3
CY
12222008-11-24 Chong Yidong <cyd@stupidchicken.com>
1223
1224 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1225 Document confirm-after-completion value for
1226 minibuffer-completion-confirm.
1227
c285743c
JR
12282008-11-24 Jason Rumney <jasonr@gnu.org>
1229
1230 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1231 warning.
1232
b0857706
JR
12332008-11-23 Jason Rumney <jasonr@gnu.org>
1234
1235 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1236 restored before returning.
1237
1238 * w32font.c (check_face_name): New function.
1239 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1240 fonts. (Bug#642)
b0857706 1241
ee50ff07
MR
12422008-11-22 Martin Rudalics <rudalics@gmx.at>
1243
1244 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1245 confirm-nonexistent-file-or-buffer in doc-string.
1246
b8ff72fa
SM
12472008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1248
1249 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1250 Fix copy/paste typo. Add checks.
1251
cee53ed4
KH
12522008-11-21 Kenichi Handa <handa@m17n.org>
1253
1254 * coding.c (detect_coding_iso_2022): Reject invalid composition
1255 sequence.
1256 (DECODE_COMPOSITION_START): If the current source is the last
1257 block, and the current composition doesn't end, regard this
1258 sequence as invalid.
1259 (decode_coding_iso_2022): Handle invalid composition sequence.
1260
f6ef1e65
MR
12612008-11-20 Martin Rudalics <rudalics@gmx.at>
1262
1263 * window.c (coordinates_in_window): Don't return
1264 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1265 line when the window is not the rightmost one. (Bug#1372)
1266
e08b1705
MR
12672008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1268
1269 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1270
ad98e89f
EZ
12712008-11-15 Eli Zaretskii <eliz@gnu.org>
1272
1273 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1274 and bright_bg if noninteractive is non-zero.
1275
fb098a4b
CY
12762008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1277
1278 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1279 x_draw_glyph_string_background.
1280
1281 * w32term.c (x_draw_glyph_string): Likewise.
1282
ce952b6e
CY
12832008-11-15 Chong Yidong <cyd@stupidchicken.com>
1284
1285 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1286 the next glyph string once past the overhang width.
1287
1288 * nsterm.m (ns_draw_glyph_string): Likewise.
1289
1290 * w32term.c (x_draw_glyph_string): Likewise.
1291
26ea7079
CY
12922008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1293
1294 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1295 double file close.
1296
1c33c906
MR
12972008-11-14 Martin Rudalics <rudalics@gmx.at>
1298
1299 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1300 dedicated status of window before attempting to display another
1301 buffer in it.
1302
8fc29035
JB
13032008-11-14 Juanma Barranquero <lekktu@gmail.com>
1304
1305 * msdos.c (Fmsdos_long_file_names):
1306 (syms_of_msdos) <dos-unsupported-char-glyph>:
1307 * dosfns.c (Fint86): Fix typos in docstrings.
1308
55fb4286
EZ
13092008-11-14 Eli Zaretskii <eliz@gnu.org>
1310
1311 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1312
3fda0315
KY
13132008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1314
1315 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1316
7e849c17
CY
13172008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1318
1319 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1320
1321 * frame.h: Negative alpha means "don't touch".
1322
1323 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1324
1325 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1326
b9fd67bd
DN
13272008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1328
1329 * hftctl.c:
1330 * chpdef.h:
1331 * acldef.h: Remove files used only for systems no longer supported.
1332
1333 * Makefile.in: Fix .o alphabetical ordering.
1334 (hftctl.o): Remove dependency, file removed.
1335 (keymap.o, print.o): Depend on charset.h.
1336
d5998e03
KH
13372008-11-10 Kenichi Handa <handa@m17n.org>
1338
2ae37cf0 1339 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1340
be70e183
CY
13412008-11-08 Chong Yidong <cyd@stupidchicken.com>
1342
1343 * dired.c (file_name_completion): If completion_ignore_case is
1344 enabled, ignore case when checking completion-regexp-list.
1345
7cf94eac
EZ
13462008-11-08 Eli Zaretskii <eliz@gnu.org>
1347
1348 * vm-limit.c (get_lim_data): Fix last change.
1349
ee107a89
KH
13502008-11-08 Kenichi Handa <handa@m17n.org>
1351
1352 * character.c (Fget_byte): New function.
1353 (syms_of_character): Defsubr Fget_byte.
1354
5fd15622
CY
13552008-11-07 Chong Yidong <cyd@stupidchicken.com>
1356
1357 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1358 cursor position is valid after scrolling.
1359
13d62fad
JB
13602008-11-06 Juanma Barranquero <lekktu@gmail.com>
1361
1362 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1363
a1dd2936
GM
13642008-11-06 Glenn Morris <rgm@gnu.org>
1365
1366 * xterm.c (handle_one_xevent): Don't let popup menus cause
1367 mouse-autoselect-window related window switching. (Bug#1261)
1368
860cd236
CY
13692008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1370
1371 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1372
653a3150
AS
13732008-11-04 Andreas Schwab <schwab@suse.de>
1374
1375 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1376
870f5cac
CY
13772008-11-03 Chong Yidong <cyd@stupidchicken.com>
1378
1379 * xfns.c (Fx_wm_set_size_hint): New function.
1380
1e02f3cb
MR
13812008-11-03 Martin Rudalics <rudalics@gmx.at>
1382
1383 * textprop.c (Fprevious_single_char_property_change): Return 0
1384 when there's no change in a string. (Bug#1301)
1385
e630dfc6
MR
13862008-11-02 Martin Rudalics <rudalics@gmx.at>
1387
1388 * frame.c (do_switch_frame): New argument NORECORD passed to
1389 Fselect_window.
1390 (Fselect_frame): New argument NORECORD passed to
1391 do_switch_frame.
1392 (Fset_frame_selected_window): New argument NORECORD passed to
1393 Fselect_frame.
1394 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1395 in call of do_switch_frame.
1396 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1397 Handle NORECORD argument in call of Fselect_frame.
1398 * lisp.h (do_switch_frame, Fselect_frame)
1399 (Fset_frame_selected_window): Adjust declarations.
1400 * window.c (select_frame_norecord): New function.
1401 (run_window_configuration_change_hook): Use it and call
1402 Fselect_frame with NORECORD set.
1403 (Fselect_window): Pass NORECORD to Fselect_frame.
1404 (Fset_window_configuration): Handle NORECORD argument in call of
1405 do_switch_frame.
1406 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1407 Fset_frame_selected_window.
1408 * keyboard.c (command_loop_1): Handle NORECORD in call of
1409 Fselect_frame (currently ifdefd).
1410
9020b223
GM
14112008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1412
1413 * emacs.c (USAGE2): Untabify.
1414
793ffee8
SM
14152008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1416
1417 * composite.c (fill_gstring_header): Fix copy/paste typo.
1418
ab6d1131
MR
14192008-10-31 Martin Rudalics <rudalics@gmx.at>
1420
1421 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1422 (Fother_window): Rename argument and rewrite doc-string.
1423 (select_window_norecord): Fix return value. (Bug#1276)
1424
601a9cf1
JB
14252008-10-30 Juanma Barranquero <lekktu@gmail.com>
1426
1427 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1428 new frames overriding foreground for tooltips. Based on similar patch
1429 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1430
813b0652
CY
14312008-10-29 Chong Yidong <cyd@stupidchicken.com>
1432
1433 * emacs.c (Fdaemon_initialized): Initialize nfd.
1434
4414f58f
MR
14352008-10-29 Martin Rudalics <rudalics@gmx.at>
1436
1437 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1438 (Fwindow_text_height): Clarify doc-strings.
1439 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1440 doc-string of window-scroll-functions.
1441
ecdcaa09
RS
14422008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1443
1444 * category.c (syms_of_category): Fix typo in docstring.
1445
23fe745a
JB
14462008-10-28 Juanma Barranquero <lekktu@gmail.com>
1447
1448 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1449 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1450 Fix typos in docstrings.
1451
ff808935
DN
14522008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1453
1454 * emacs.c (daemon_pipe): Make non-static.
1455 (IS_DAEMON): Move definition ...
1456 * lisp.h (IS_DAEMON): ... here.
1457 (daemon_pipe): Declare.
1458 (is_daemon): Remove.
1459 * dispnew.c (init_display): Use IS_DAEMON.
1460
fc012771
SM
14612008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1462
1463 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1464 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1465
1466 * emacs.c (is_daemon): Remove.
1467 (main): Don't set is_daemon.
1468 (IS_DAEMON): New macro.
1469 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1470 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1471 parent exits.
1472 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1473
d8bdbe6f
CY
14742008-10-27 Chong Yidong <cyd@stupidchicken.com>
1475
d1a072bf
CY
1476 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1477 over-sized glyph, draw it with the default glyph width.
1478
e2e325aa
CY
1479 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1480 glyph, draw it with the default glyph width.
1481
1482 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1483 glyph, draw it with the default glyph width.
1484
d8bdbe6f
CY
1485 * xdisp.c (try_scrolling): When computing the distance from the
1486 scroll margin to PT, try moving some distance past the window
1487 bottom before giving up.
1488
7bfac547
MR
14892008-10-27 Martin Rudalics <rudalics@gmx.at>
1490
1491 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1492 (Fset_window_buffer): Explain in doc-string that a window can be
1493 "strongly" dedicated to its buffer.
1494
4ff029f6
DN
14952008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1496
1497 * emacs.c (daemon_name): New variable.
1498 (main): Deal with --daemon=SERVER_NAME.
1499 (Fdaemonp): Return a name if one was passed to --daemon.
1500
5790ef40
DN
15012008-10-26 Romain Francoise <romain@orebokech.com>
1502
f9bd0df9 1503 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1504 (main): Create a pipe before forking, make the parent exit only after
1505 the child has closed its end of the pipe. Move closing the
1506 descriptors ...
1507 (Fdaemon_initialized): ... here. New function.
1508
f5385255
SM
15092008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1510
4d632321
SM
1511 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1512 the previous unoptimized table.
1513
f5385255
SM
1514 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1515 the distinction between non-nil and non-t value of `dedicated'.
1516
6c56a0f3
CY
15172008-10-25 Chong Yidong <cyd@stupidchicken.com>
1518
1519 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1520 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1521
fec89261
MR
15222008-10-25 Martin Rudalics <rudalics@gmx.at>
1523
1524 * window.c (Fget_buffer_window, Fdelete_windows_on)
1525 (Freplace_buffer_in_windows): Make buffer argument optional and
1526 rename to buffer_or_name.
1527
34fcddd0
CY
15282008-10-24 Chong Yidong <cyd@stupidchicken.com>
1529
f5385255
SM
1530 * xdisp.c (handle_single_display_spec, handle_display_prop):
1531 Undo 2005-05-16 change.
34fcddd0
CY
1532 (handle_stop): Pop iterator if it's loaded with an empty string.
1533 (get_overlay_strings_1): Don't save iterator if it's loaded with
1534 an empty string (bug#1201).
1535
064766f2
KH
15362008-10-24 Kenichi Handa <handa@m17n.org>
1537
1538 * ftfont.c (ftfont_otf_features): Fix previous change.
1539 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1540 calling ftfont_otf_features.
1541
f9bd0df9 15422008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1543
1544 * font.c (font_match_p): Fix for the case that a vector of
1545 characters is in script-representative-chars.
1546
1dae9197
MA
15472008-10-24 Michael Albinus <michael.albinus@gmx.de>
1548
1549 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1550 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1551 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1552 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1553 macro. (Bug#1186).
1554
f9bd0df9 15552008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1556
1557 * s/sol2-10.h: New file.
1558
878a4584
JB
15592008-10-23 Juanma Barranquero <lekktu@gmail.com>
1560
1561 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1562 poor beast has survived 9+ years and the jump from xterm.c!).
1563
cd265ca6
MR
15642008-10-23 Martin Rudalics <rudalics@gmx.at>
1565
1566 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1567 Reword doc-string.
f5385255 1568 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1569
472a4dc9
JB
15702008-10-23 Juanma Barranquero <lekktu@gmail.com>
1571
1572 * character.c (syms_of_character) <script-representative-chars>:
1573 <unicode-category-table>: Doc fixes.
1574
159bd5a2
NF
15752008-10-23 Noah Friedman <friedman@splode.com>
1576
1577 * coding.c (make_conversion_work_buffer): Check that
1578 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1579 Fget_buffer_create.
1580
49f9c344
KH
15812008-10-23 Kenichi Handa <handa@m17n.org>
1582
1583 * font.c (font_add_log): Check the values of extra properties.
1584
12bb3111
MR
15852008-10-22 Martin Rudalics <rudalics@gmx.at>
1586
1587 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1588 Reword doc-string.
1589 (Fset_window_parameter): Use NILP.
1590 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1591 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1592
bbeb4e99
JB
15932008-10-22 Juanma Barranquero <lekktu@gmail.com>
1594
1595 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1596
15972008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1598
1599 * nsfns.m (ns_appkit_version): New function.
1600 (x-server-version): Use it.
1601 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1602 (x-server-vendor): Don't check_ns().
1603
1604 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1605
a9b555d3
JB
16062008-10-22 Juanma Barranquero <lekktu@gmail.com>
1607
1608 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1609 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1610
4626499f
KH
16112008-10-22 Kenichi Handa <handa@m17n.org>
1612
e3681952
KH
1613 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1614 scripts.
1615
4626499f
KH
1616 * category.c (word_boundary_p): Check scripts instead of charset.
1617 Handle nil value in word-separating-categories and
1618 word-combining-categories.
1619 (syms_of_category): Fix docstrings of word-separating-categories
1620 and word-combining-categories.
1621
1560f91a
EZ
16222008-10-21 Eli Zaretskii <eliz@gnu.org>
1623
1624 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1625 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1626
f4668441
MR
16272008-10-21 Martin Rudalics <rudalics@gmx.at>
1628
1629 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1630 Rename arg "buffer" to "buffer_or_name".
1631 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1632 it optional.
1633 (no_switch_window): Remove since the return value is not used.
a9b555d3 1634 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1635 Consider window as dedicated when Fwindow_dedicated_p returns a
1636 non-nil value.
1637 * lisp.h: Remove prototype for no_switch_window.
1638
fd75ddb2
JD
16392008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1640
1641 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1642 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1643
07295713
KH
16442008-10-21 Kenichi Handa <handa@m17n.org>
1645
1646 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1647 check Vlatin_extra_code_table.
1648
712adc82
EZ
16492008-10-20 Eli Zaretskii <eliz@gnu.org>
1650
1651 * fileio.c (Fset_file_modes): Doc fix.
1652
f549eb0b
MA
16532008-10-19 Michael Albinus <michael.albinus@gmx.de>
1654
1655 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1656 in arrays.
1657
aac0c6e3
MR
16582008-10-19 Martin Rudalics <rudalics@gmx.at>
1659
1660 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1661 Mention kill-buffer in doc-string.
1662 (Fset_window_buffer): Reinsert tem check removed in last commit.
1663 (Fenlarge_window, Fshrink_window): Have argument names and
1664 doc-string follow Elisp manual more closely.
1665
16662008-10-18 Eli Zaretskii <eliz@gnu.org>
1667
1668 * fileio.c (Fset_file_modes): Doc fix.
1669
16702008-10-18 Martin Rudalics <rudalics@gmx.at>
1671
1672 * window.c (Fwindow_width, Fset_window_start)
1673 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1674 (Fdelete_windows_on, Freplace_buffer_in_windows):
1675 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1676 (Fwindow_dedicated_p): Make window argument optional.
1677 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1678 (Fset_window_buffer): Respect any non-nil dedicated value for
1679 window. Rename "buffer" argument to "buffer_or_name".
1680
16812008-10-18 Ulrich Mueller <ulm@gentoo.org>
1682
1683 * m/sh3.h: New file, machine description for SuperH.
1684
16852008-10-17 Martin Rudalics <rudalics@gmx.at>
1686
1687 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1688
16892008-10-17 Kenichi Handa <handa@m17n.org>
1690
1691 * ftfont.c (ftfont_otf_features): Fix indexing
1692 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1693
16942008-10-16 Magnus Henoch <mange@freemail.hu>
1695
1696 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1697 (Fdbus_call_method_asynchronously): Ditto.
1698 This change makes C-h f display the argument list.
1699
17002008-10-16 Chong Yidong <cyd@stupidchicken.com>
1701
1702 * fileio.c (Fexpand_file_name): Doc fix.
1703
1704 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1705 of :foreground and :background equivalent to unspecified (20.x
1706 compatibility).
1707
17082008-10-15 Eli Zaretskii <eliz@gnu.org>
1709
1710 * buffer.c (syms_of_buffer): Doc fix.
1711
17122008-10-14 Kenichi Handa <handa@m17n.org>
1713
1714 * font.c (font_clear_prop): When clearing font width, clear the
1715 average width field too.
1716
17172008-10-12 Andreas Schwab <schwab@suse.de>
1718
1719 * ftfont.c (ftfont_shape_by_flt): Make static.
1720 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1721
1722 * font.c: Don't include <m17n-flt.h>.
1723
17242008-10-10 Eli Zaretskii <eliz@gnu.org>
1725
1726 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1727
17282008-10-09 Eli Zaretskii <eliz@gnu.org>
1729
1730 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1731 away code.
1732
17332008-10-09 Chong Yidong <cyd@stupidchicken.com>
1734
1735 * dispnew.c (update_text_area): Avoid looping due to large glyph
1736 overhangs (bug#1070).
1737
17382008-10-09 Kenichi Handa <handa@m17n.org>
1739
1740 * fontset.c (face_for_char): If face->fontset is negative, just
1741 return ascii_face.
1742
f5385255
SM
1743 * font.c (font_delete_unmatched): Fix previous change.
1744 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1745
17462008-10-09 Martin Rudalics <rudalics@gmx.at>
1747
1748 * frame.c (Fraise_frame): On text-only terminals select frame in
1749 order to make it visible. (Bug#1061)
1750
17512008-10-08 Chong Yidong <cyd@stupidchicken.com>
1752
1753 * fontset.c (fontset_find_font): Check frame validity.
1754
17552008-10-07 Chong Yidong <cyd@stupidchicken.com>
1756
a9b555d3 1757 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1758 (xg_display_close): Allow Emacs to close all displays (bug#985).
1759
17602008-10-06 Andreas Schwab <schwab@suse.de>
1761
f5385255 1762 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1763
17642008-10-06 Chong Yidong <cyd@stupidchicken.com>
1765
f5385255 1766 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1767
a9b555d3 1768 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1769
1770 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1771 during initialization.
1772
17732008-10-04 Eli Zaretskii <eliz@gnu.org>
1774
1775 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1776 whole thing on MSDOS frames as well as on a TTY.
1777
1778 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1779 well as for TTY.
1780 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1781 well as on a TTY.
1782
1783 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1784 as well as for TTY.
1785
1786 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1787
1788 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1789 MSDOS frames as well.
1790
17912008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1792
1793 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1794 correct arguments.
1795 * menu.c (find_and_return_menu_selection) Add cast.
1796
17972008-10-03 Glenn Morris <rgm@gnu.org>
1798
1799 * emacs.c (USAGE1): Add --daemon.
1800
18012008-10-02 Eli Zaretskii <eliz@gnu.org>
1802
1803 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1804 100, so it's in percents as advertised.
1805
18062008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1807
1808 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1809 (ns_output.current_cursor, ns_output.desired_cursor)
1810 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1811 (FRAME_NEW_CURSOR_COLOR): Remove.
1812
1813 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1814 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1815 enumeration (HOLLOW_BOX_CURSOR, etc.).
1816
1817 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1818 (draw_window_cursor): Simplify code.
f5385255
SM
1819 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1820 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1821 updates manually.
a9b555d3
JB
1822 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1823 Use core Emacs cursor types.
aac0c6e3 1824
b8ff72fa 1825 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1826
18272008-10-02 Martin Rudalics <rudalics@gmx.at>
1828
1829 * process.c (Faccept_process_output): Fix doc-string.
1830
18312008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1832
1833 * gmalloc.c (__sbrk): Also define for uClibc.
1834
1835 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1836 for uClibc.
1837
18382008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1839
1840 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1841 styles.
1842 (nsfont_open): Reenable the cache.
1843
18442008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1845
1846 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1847 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1848
18492008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1850
1851 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1852 a suspended terminal.
1853
18542008-09-30 Michael Albinus <michael.albinus@gmx.de>
1855
1856 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1857
18582008-09-30 Eli Zaretskii <eliz@gnu.org>
1859
1860 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1861
18622008-09-30 Chong Yidong <cyd@stupidchicken.com>
1863
1864 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1865 in a continued line coincides with a line beginning.
1866
18672008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1868
1869 * nsfont.m (nsfont_trait_distance): Fix bug.
1870 (nsfont_list): Return a list rather than a vector (syncs with Handa
1871 changes of 2008-05-14).
1872 (nsfont_open): Improve logging.
1873
18742008-09-29 Andreas Schwab <schwab@suse.de>
1875
1876 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1877
18782008-09-28 Martin Rudalics <rudalics@gmx.at>
1879
1880 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1881 name as char-resolve-modifiers.
1882 Reported by: Markus Triska <markus.triska@gmx.at>
1883
18842008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1885
1886 * dispnew.c (init_display): Return earlier when running as a daemon.
1887
18882008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1889
1890 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1891
18922008-09-27 Eli Zaretskii <eliz@gnu.org>
1893
1894 * composite.c (Fcomposition_get_gstring)
1895 (Fcompose_region_internal, Fcompose_string_internal)
1896 (Ffind_composition_internal): Doc fix.
1897 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1898 (syms_of_composite) <auto-composition-function>: Doc fix.
1899 (syms_of_composite) <composition-function-table>: Doc fix.
1900
19012008-09-25 Chong Yidong <cyd@stupidchicken.com>
1902
1903 * search.c (wordify): New argument for lax word-ends.
1904 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1905
19062008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1907
1908 * lisp.h (is_daemon): Declare.
1909 * dispnew.c (init_display): Do not try to initialize the terminal
1910 when running as a daemon.
1911
19122008-09-22 Chong Yidong <cyd@stupidchicken.com>
1913
1914 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1915 x_display_pixel_height.
1916
19172008-09-22 Martin Rudalics <rudalics@gmx.at>
1918
1919 * undo.c (record_point): Don't call Fundo_boundary for first
1920 change. (Bug#731)
1921
19222008-09-22 Juanma Barranquero <lekktu@gmail.com>
1923
1924 * emacs.c (Fdaemonp): Doc fix.
1925
19262008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1927
1928 * emacs.c (main): Place #ifdef in the proper place.
1929
19302008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1931
1932 * emacs.c (standard_args): Add --daemon.
1933 (main): Disconnect from the terminal when --daemon is passed.
1934 (is_daemon): New variable.
1935 (Fdaemonp): New function.
1936 (syms_of_emacs): Defsubr it.
1937
19382008-09-20 Chong Yidong <cyd@stupidchicken.com>
1939
1940 * xdisp.c (get_next_display_element): Handle string display
1941 correctly when checking for the end of a box run.
1942
19432008-09-20 Glenn Morris <rgm@gnu.org>
1944
1945 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1946 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1947 (Frename_file): Avoid copying to trash if a rename involves
1948 a delete. (Bug#964).
1949
19502008-09-20 Eli Zaretskii <eliz@gnu.org>
1951
1952 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1953 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1954 frames as well as termcap frames.
1955 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1956 get_named_tty.
1957
19582008-09-19 Eli Zaretskii <eliz@gnu.org>
1959
1960 * process.c (procfs_system_process_attributes): Fix cmdline in
1961 case /proc/PID/cmdline is empty.
1962
1963 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1964 x_display_pixel_height.
1965
19662008-09-19 Juanma Barranquero <lekktu@gmail.com>
1967
1968 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1969
1970 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1971 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1972
19732008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1974
1975 * dispextern.h (struct it): Move line_wrap away from the middle of
1976 bitfields. Move voffset in struct iterator_stack_entry after the
1977 bitfields. Move tab_width near after another short.
1978
19792008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1980
1981 * frame.h (struct frame): Move alpha from the middle of bitfields.
1982
1983 * window.h (struct window): Move frozen_window_start_p after the
1984 rest of the bitfields to reduce padding.
1985
19862008-09-18 Chong Yidong <cyd@stupidchicken.com>
1987
1988 * xterm.h (x_display_info): Remove `height' and `width' members.
1989
1990 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1991
1992 * w32term.h (w32_display_info): Remove `height', `width',
1993 `height_in', and `width_in' members.
1994
b8ff72fa
SM
1995 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1996 New functions.
aac0c6e3
MR
1997 (x_calc_absolute_position): Use them.
1998 (x_term_init): Omit removed `height' and `width' members.
1999
b8ff72fa
SM
2000 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2001 New functions.
aac0c6e3
MR
2002 (w32_read_socket, x_calc_absolute_position): Use them.
2003 (w32_initialize_display_info, w32_term_init): Omit removed members
2004 of w32_display_info.
2005
b8ff72fa
SM
2006 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
2007 New functions.
2008 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 2009
b8ff72fa
SM
2010 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2011 New functions.
aac0c6e3
MR
2012 (x_calc_absolute_position): Use them.
2013 (x_term_init): Omit removed `height' and `width' members.
2014
2015 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
2016 (compute_tip_xy):
2017 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
2018 * xmenu.c (menu_position_func): Use x_display_pixel_height and
2019 x_display_pixel_width.
2020
20212008-09-18 Kenichi Handa <handa@m17n.org>
2022
2023 * composite.c (fill_gstring_header): Don't check FROM and TO here.
2024 (composition_compute_stop_pos): Fix handling of static composition.
2025 (Fcomposition_get_gstring): Check FROM and TO at first.
2026
20272008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
2028
2029 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
2030 mixup (YAILOM).
2031
20322008-09-17 Chong Yidong <cyd@stupidchicken.com>
2033
2034 * indent.c (Fvertical_motion): Use position reported by iterator
2035 instead of PT for determining screen motion (bug#943).
2036
20372008-09-17 Romain Francoise <romain@orebokech.com>
2038
2039 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
2040
20412008-09-17 Kenichi Handa <handa@m17n.org>
2042
2043 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
2044
2045 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
2046 if necessary.
2047
20482008-09-16 Kenichi Handa <handa@m17n.org>
2049
2050 * coding.c (make_conversion_work_buffer): Avoid calling
2051 Fget_buffer_create if it is not necessary.
2052
20532008-09-15 Martin Rudalics <rudalics@gmx.at>
2054
2055 * window.c (Fselect_window): Don't update window_select_count and
2056 use_time when norecord is not nil.
2057
20582008-09-14 Kenichi Handa <handa@m17n.org>
2059
2060 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
2061 specpdl_ptr.
2062
20632008-09-12 Kenichi Handa <handa@m17n.org>
2064
2065 * indent.c (scan_for_column): Don't handle automatic composition
2066 if the current buffer is not associated with a window.
2067
2068 * composite.c (composition_reseat_it): If the current buffer is
2069 not associated with a window, ignore the automatic composition.
2070 (find_automatic_composition): Likewise.
2071
20722008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2073
2074 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
2075 (Fgpm_mouse_stop): Use it.
2076 * termhooks.h (close_gpm): Declare.
2077 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
2078 connection if Gpm_GetEvent fails.
2079
2080 * window.c (set_window_buffer): Always preserve current-buffer.
2081
20822008-09-12 Glenn Morris <rgm@gnu.org>
2083
2084 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
2085
20862008-09-11 Glenn Morris <rgm@gnu.org>
2087
2088 * charset.c (charset-map-path): Doc fix.
2089
20902008-09-10 Kenichi Handa <handa@m17n.org>
2091
2092 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2093
2094 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2095 compose a grapheme cluster with the preceding base glyph.
2096
2097 * composite.c (composition_compute_stop_pos): Fix previous change.
2098 Reset cmp_it->id to -1 at first.
2099
21002008-09-10 Glenn Morris <rgm@gnu.org>
2101
2102 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2103
21042008-09-09 Chong Yidong <cyd@stupidchicken.com>
2105
2106 * keyboard.c (read_key_sequence): Reapply translation maps when
2107 switching keyboards.
2108
21092008-09-09 Kenichi Handa <handa@m17n.org>
2110
2111 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2112 characters.
2113
2114 * composite.c (FORWARD_CHAR): Fix calculation
2115 of (POSITION).pos_byte.
2116 (composition_compute_stop_pos): Limit the search of composition to
2117 at most 500 characters ahead. If we reach the limit or find a
2118 newline, set cmp_it->ch to -2 and return 0.
2119 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2120
21212008-09-08 Kenichi Handa <handa@m17n.org>
2122
2123 * indent.c (Fvertical_motion): Be sure to set
2124 it_overshoot_expected if it.cmp_it.id is non-negative.
2125
21262008-09-07 Andreas Schwab <schwab@suse.de>
2127
2128 * callproc.c (Fcall_process): Don't hold references to string data
2129 across garbage collection. Move initialisation of new_argv down
2130 to avoid compiler bug.
2131
21322008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2133
2134 * process.c (Fsystem_process_attributes): Doc fix.
2135
21362008-09-07 Chong Yidong <cyd@stupidchicken.com>
2137
2138 * callproc.c (Fcall_process): Canonicalize current directory name.
2139
2140 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2141 iterator advances to the next line if the current line ends in a
2142 continued tab.
2143
21442008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2145
2146 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2147 member to point to cmp_from.
2148
2149 * xdisp.c: Doc fix for references to gidx data member.
2150
21512008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2152
2153 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2154
21552008-09-07 Kenichi Handa <handa@m17n.org>
2156
2157 * composite.c (FORWARD_CHAR): Check STOP after
2158 incrementing (POSITION).pos.
2159
21602008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2161
2162 * process.c (Fsystem_process_attributes): Doc fix.
2163
21642008-09-06 Chong Yidong <cyd@stupidchicken.com>
2165
2166 * keyboard.c (Ftop_level): Doc fix.
2167
21682008-09-06 Eli Zaretskii <eliz@gnu.org>
2169
2170 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2171 minibuffer, don't let lower part of menu invade the echo area.
2172
2173 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2174 "char *q" to access menu text and advance through it. Revert the
2175 change that displayed ">" instead of ASCII character 0x10.
2176
21772008-09-05 Eli Zaretskii <eliz@gnu.org>
2178
2179 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2180 toggle boxes and radio buttons on MS-DOS as well.
2181
21822008-09-05 Kenichi Handa <handa@m17n.org>
2183
2184 * composite.c (autocmp_chars): Check lookback count.
2185 (composition_compute_stop_pos): Set cmp_it->lookback.
2186 (composition_reseat_it): Check lookback count.
2187 (struct position_record): New struct.
2188 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2189 (find_automatic_composition): New function.
2190 (composition_adjust_point): Use find_automatic_composition.
2191
2192 * dispextern.h (struct composition_it): New member lookback.
2193
21942008-09-02 Chong Yidong <cyd@stupidchicken.com>
2195
2196 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2197 if moving by a single line.
2198
21992008-09-02 Andreas Schwab <schwab@suse.de>
2200
2201 * xterm.c (x_delete_display): Fix merge error.
2202
2203 * fileio.c (Fexpand_file_name): Remove unused variables.
2204
22052008-09-02 Eli Zaretskii <eliz@gnu.org>
2206
2207 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2208 storage on all platforms, not just on DOS_NT.
2209
22102008-09-02 Jason Rumney <jasonr@gnu.org>
2211
b8ff72fa
SM
2212 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2213 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
2214
22152008-09-01 Chong Yidong <cyd@stupidchicken.com>
2216
2217 * xfaces.c (Finternal_set_alternative_font_family_alist)
2218 (Finternal_set_alternative_font_registry_alist): Properly copy
2219 entire alist structure.
2220
22212008-09-01 Kenichi Handa <handa@m17n.org>
2222
d66c0241 2223 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 2224 representative chars of the script is a vector.
d66c0241
JB
2225 (ftfont_list): Handle the case where the representative chars of
2226 the script is a vector.
aac0c6e3
MR
2227
2228 * character.c (syms_of_character): Docstring of
2229 script-representative-chars fixed.
2230
22312008-08-31 Eli Zaretskii <eliz@gnu.org>
2232
2233 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2234 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2235 the menu. Allocate larger buffer for `text', to account for
2236 possible ^C characters.
2237
22382008-08-31 Martin Rudalics <rudalics@gmx.at>
2239
2240 * xdisp.c (prepare_menu_bars): Don't call
2241 Vwindow_size_change_functions with arg Qt.
2242
22432008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2244
2245 * font.h (font_range):
2246 * fileio.c (report_file_error):
2247 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2248
22492008-08-30 Glenn Morris <rgm@gnu.org>
2250
2251 * data.c (Fmake_variable_frame_local): Doc fix.
2252
2253 * frame.c (Fmodify_frame_parameters): Doc fix.
2254
22552008-08-30 Eli Zaretskii <eliz@gnu.org>
2256
2257 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2258 needed by GetTokenInformation.
2259 (w32_system_process_attributes): Check return values of all system
2260 APIs.
2261
2262 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2263 only when the state changes.
2264 (IT_update_begin, IT_update_end): Add termscript trace.
2265
2266 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2267 clipboard is unavailable. Set dst to NULL if it doesn't point to
2268 malloc'ed data.
2269 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2270 passing random values to xfree.
2271
2272 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2273 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2274
22752008-08-29 Jason Rumney <jasonr@gnu.org>
2276
2277 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2278
22792008-08-29 Eli Zaretskii <eliz@gnu.org>
2280
2281 * composite.c (fill_gstring_body): Avoid compiler warnings.
2282
2283 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2284 LGLYPH_SET_CODE to avoid compiler warnings.
2285
2ae37cf0 2286 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2287
2288 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2289
2290 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2291 LGLYPH_SET_CODE.
2292
22932008-08-29 Kenichi Handa <handa@m17n.org>
2294
2295 * fileio.c (report_file_error): Don't downcase the first character
2296 of errstring if it is still unibyte.
2297
22982008-08-29 Kenichi Handa <handa@m17n.org>
2299
2300 These changes are to re-implement the automatic composition so
2301 that it doesn't use text properties.
2302
2303 * Makefile.in (ftfont.o): Depend on composite.h.
2304 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2305
2306 * character.h (Vunicode_category_table): Extern it.
2307
2308 * character.c (Vunicode_category_table): New variable.
2309 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2310
2311 * chartab.c (optimize_sub_char_table): Perform more greedy
2312 optimization.
2313
b8ff72fa
SM
2314 * composite.h (enum composition_method):
2315 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2316 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2317 (Vcomposition_function_table): Extern it.
2318 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2319 (composition_gstring_put_cache, composition_gstring_from_id)
2320 (composition_gstring_p, composition_gstring_width)
2321 (composition_compute_stop_pos, composition_reseat_it)
2322 (composition_update_it, composition_adjust_point): Extern them.
2323 (Fcomposition_get_gstring): EXFUN it.
2324
d66c0241 2325 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2326 (Vcomposition_function_table)
2327 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2328 (gstring_hash_table, gstring_work, gstring_work_headers):
2329 New variables.
aac0c6e3
MR
2330 (gstring_lookup_cache, composition_gstring_put_cache)
2331 (composition_gstring_from_id, composition_gstring_p)
2332 (composition_gstring_width, fill_gstring_header)
2333 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2334 (composition_reseat_it, composition_update_it)
b8ff72fa 2335 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2336 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2337 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2338 Defsubr compostion_get_gstring.
2339
2340 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2341 cmp_id.
2342 (struct glyph_string): Delete the member gidx. New members
2343 cmp_id, cmp_from, and cmp_to.
2344 (enum it_method): Delete GET_FROM_COMPOSITION.
2345 (struct composition_it): New struct.
2346 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2347 Delete c, len, cmp_id, cmp_len in u.comp.
2348
2349 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2350 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2351 (enum lglyph_indices): Likewise.
b8ff72fa 2352 (font_range): Adjust extern.
aac0c6e3
MR
2353 (font_fill_lglyph_metrics): Extern it.
2354
2355 * font.c (QCf): New variable.
2356 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2357 (font_prepare_composition): Delete this function.
2358 (font_range): Type and arguments changed.
2359 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2360 (font_fill_lglyph_metrics): New function.
b8ff72fa 2361 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2362 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2363 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2364 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2365
2366 * fontset.h (font_for_char): Extern it.
2367
2368 * fontset.c (font_for_char): New function.
2369
2370 * ftfont.c: Include composite.h.
2371 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2372 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2373
2374 * indent.c: Include composite.h and dispextern.h.
2375 (check_composition): Delete this function.
2376 (scan_for_column): Handle composition by
2377 composition_compute_stop_pos, composition_reseat_it, and
2378 composition_update_it.
2379 (compute_motion): Likewise.
2380 (Fvertical_motion): Fix checking of composition.
2381
2382 * keyboard.c (adjust_point_for_property): Check composition by
2383 composition_adjust_point.
2384
b8ff72fa 2385 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2386 struct glyph_string.
2387
b8ff72fa
SM
2388 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2389 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2390 struct glyph.
2391 (produce_composite_glyph): Likewise.
2392
b8ff72fa
SM
2393 * w32term.c (x_draw_composite_glyph_string_foreground):
2394 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2395 (x_draw_glyph_string): Likewise.
2396
2397 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2398 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2399
2400 * xdisp.c: Include font.h.
2401 (it_props): Delete the entry for Qauto_composed.
2402 (init_iterator): Initialize it->cmp_it.id to -1.
2403 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2404 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2405 (handle_auto_composed_prop): Delete it.
2406 (handle_composition_prop): Handle only static composition.
2407 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2408 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2409 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2410 (pop_it): Likewise.
2411 (get_next_element): Delete next_element_from_composition.
2412 (CHAR_COMPOSED_P): New macro.
2413 (get_next_display_element): For automatic composition, get a face
2414 from the font in the glyph-string.
2415 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2416 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2417 (next_element_from_string): Check if the character at the current
2418 position is composed by CHAR_COMPOSED_P.
2419 (next_element_from_buffer): Likewise.
d66c0241
JB
2420 (next_element_from_composition): Adjust for the change of struct it.
2421 Update it->cmp_it.
b8ff72fa
SM
2422 (dump_glyph): Adjust for the change of struct glyph.
2423 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2424 it and struct glyph. Don't handle automatic composition here.
2425 (fill_gstring_glyph_string): New function.
2426 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2427 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2428 (BUILD_GSTRING_GLYPH_STRING): New macro.
2429 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2430 automatic composition.
b8ff72fa 2431 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2432 struct glyph.
b8ff72fa 2433 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2434
b8ff72fa 2435 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2436 the change of struct glyph_string.
2437 (x_draw_glyph_string): Likewise.
2438
24392008-08-29 Glenn Morris <rgm@gnu.org>
2440
2441 * buffer.c (word-wrap): Doc fix.
2442 * xdisp.c (truncate-partial-width-windows): Doc fix.
2443 Increase default to 50.
2444
24452008-08-29 Chong Yidong <cyd@stupidchicken.com>
2446
2447 * xdisp.c (update_tool_bar_unwind): New function.
2448 (update_tool_bar): Temporarily set selected frame before building
2449 tool-bar items.
2450
24512008-08-28 Michael Albinus <michael.albinus@gmx.de>
2452
2453 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2454 snprintf, respectively.
2455 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2456
24572008-08-28 Chong Yidong <cyd@stupidchicken.com>
2458
2459 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2460 LDFLAGS to GNUstep CC invocation.
2461
24622008-08-27 Chong Yidong <cyd@stupidchicken.com>
2463
2464 * indent.c (Fvertical_motion): Revert last change. Handle the
2465 general case where we are moving forward, and PT spans multiple
2466 screen lines.
2467
2468 * eval.c (find_handler_clause): Temporarily increase
2469 max-lisp-eval-depth while printing the backtrace buffer, to
2470 guarantee that help-mode code can run.
2471
24722008-08-27 Eli Zaretskii <eliz@gnu.org>
2473
2474 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2475 colors under -rv.
2476 (IT_set_frame_parameters): Don't swap foreground and background
2477 colors if `(reverse . t)' is present in the frame properties.
2478 (internal_terminal_init): Call init_frame_faces only for the
2479 initial frame.
2480
24812008-08-27 Andreas Schwab <schwab@suse.de>
2482
2483 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2484
24852008-08-27 Andreas Schwab <schwab@suse.de>
2486
2487 * search.c (search_buffer): Set char_base to zero only at the end.
2488
24892008-08-27 Kenichi Handa <handa@m17n.org>
2490
b8ff72fa 2491 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2492
24932008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2494
2495 * xterm.c (x_term_init): Temporarily hide the partially
2496 initialized terminal while calling vendor-specific-keysyms.
2497
24982008-08-26 Eli Zaretskii <eliz@gnu.org>
2499
2500 * msdos.c (internal_terminal_init): Most initializations done only
2501 once, especially initial_screen_colors[] and termscript open.
2502
25032008-08-26 Chong Yidong <cyd@stupidchicken.com>
2504
2505 * eval.c (Fcondition_case): Doc fix.
2506
2507 * widgetprv.h (EmacsFramePart): Change font member to the new font
2508 struct.
2509
2510 * widget.c: Include character.h and font.h for XSETFONT.
2511 (setup_frame_gcs): Compute X font id from font struct, just once.
2512
25132008-08-26 Eli Zaretskii <eliz@gnu.org>
2514
2515 * term.c (get_named_tty): Fix last change.
2516
25172008-08-26 Chong Yidong <cyd@stupidchicken.com>
2518
2519 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2520 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2521
25222008-08-25 Eli Zaretskii <eliz@gnu.org>
2523
2524 * frame.c (do_switch_frame): Mark previously displayed frame as
2525 obscured for FRAME_MSDOS_P frames as well.
2526
25272008-08-24 Eli Zaretskii <eliz@gnu.org>
2528
2529 * frame.c (make_terminal_frame): Initialize f->terminal,
2530 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2531 Set the top frame to newly created frame.
2532 (Fmake_terminal_frame): Reuse the_only_display_info.
2533
2534 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2535 estimating available memory.
2536
b97439ce 25372008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2538
2539 * nsterm.m (ns_draw_window_cursor): Don't call
2540 NSDisableScreenUpdates and NSEnableScreenUpdates on
2541 non-NS_IMPL_COCOA systems.
2542
25432008-08-23 Andreas Schwab <schwab@suse.de>
2544
2545 * process.c (procfs_system_process_attributes): Fix use of
2546 uninitialized variables.
2547
25482008-08-23 Eli Zaretskii <eliz@gnu.org>
2549
2550 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2551
2552 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2553 calling tty-set-up-initial-frame-faces.
2554
b8ff72fa
SM
2555 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2556 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2557
2558 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2559 addition to output_termcap.
2560
2561 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2562
2563 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2564 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2565 highlight.
2566
2567 * process.c [!subprocesses]: Define QCname.
2568 (syms_of_process): Intern and staticpro it.
2569
2570 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2571 Adjust for changes in encoding/decoding routines.
2572 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2573 encode_coding and decode_coding.
2574
b8ff72fa 2575 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2576
2577 * dosfns.c: Include frame.h before termhooks.h.
2578 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2579 variable termscript.
2580
2581 * s/msdos.h (USER_FULL_NAME): Define.
2582 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2583
2584 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2585 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2586 pw->pw_gecos.
2587
2588 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2589 SELECTED_FRAME as additional (1st) argument.
2590 (tty_read_avail_input): Handle output_msdos_raw in
2591 addition to output_termcap.
2592
2593 * msdos.c: Include frame.h before termhooks.h.
2594 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2595 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2596 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2597 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2598 (IT_set_terminal_modes, IT_reset_terminal_modes)
2599 (IT_set_frame_parameters): Use tty->termscript instead of a global
2600 variable termscript.
2601 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2602 global variable terminal_coding. Don't refer to
2603 Vnonascii_translation_table.
2604 (internal_terminal_init): Set Vwindow_system in current_kboard.
2605 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2606 Announce date and time of session start, if termscript is open.
2607 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2608 term.c:init_tty). Open termscript only of not already open.
2609 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2610 here instead of dos_ttraw. Don't initialize display if this is an
2611 initial tty. Don't set FRAME_FONT.
2612 (Vwindow_system_version): Bump to 23.
2613 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2614 is available, set up mouse_position_hook.
2615 (dos_ttraw, IT_set_terminal_modes): If called with initial
2616 terminal, do nothing.
2617 (IT_set_frame_parameters): Handle the Qtty_type frame
2618 parameter by calling internal_terminal_init.
2619 (dos_set_window_size, show_mouse_face)
2620 (clear_mouse_face, IT_note_mode_line_highlight)
2621 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2622 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2623 (initialize_msdos_display): New function.
2624 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2625 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2626 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2627 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2628 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2629 (request_sigio, unrequest_sigio): Don't define, now defined on
2630 sysdep.c.
2631 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2632
2633 * term.c [MSDOS]: Include msdos.h.
2634 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2635 conditional to DOS_NT. Allow only one call to this function in a
2636 session. Don't allocate a new struct tty_display_info; instead,
2637 reuse the_only_display_info. Call get_tty_size to get screen
2638 dimensions. Call init_baud_rate to set bad_rate.
2639 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2640 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2641 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2642 (get_tty_terminal, get_named_tty, Ftty_type)
2643 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2644 output_termcap.
b8ff72fa
SM
2645 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2646 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2647 only when subprocesses are supported.
aac0c6e3
MR
2648
2649 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2650 f->output_data.x.
2651 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2652 terminal devices.
2653
5582fbc7 2654 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2655 x_output.
2656 (FRAME_FONT): Use output_data.tty.
2657 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2658 (struct x_display_info): Rename from display_info. Update all users in
2659 msdos.c.
aac0c6e3 2660 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2661 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2662 (dos_ttraw): Update prototype.
2663
2664 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2665 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2666
26672008-08-23 Jason Rumney <jasonr@gnu.org>
2668
2669 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2670 (fn_TIFFSetDirectory): New library function used.
2671 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2672 (tiff_load): Use :index to select among multiple images. Set count
2673 property when multiple images exist.
2674 (gif_format): Use :index, not :image.
2675
26762008-08-23 Chong Yidong <cyd@stupidchicken.com>
2677
2678 * xdisp.c (try_scrolling): Check INT_MAX instead of
2679 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2680 to obtain INT_MAX.
2681
26822008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2683
2684 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2685
26862008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2687
2688 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2689 GNUstep library location.
2690
26912008-08-21 Chong Yidong <cyd@stupidchicken.com>
2692
2693 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2694 before using it.
2695
2696 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2697
26982008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2699
2700 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2701 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2702 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2703 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2704 (EmacsApp-cursor_blink_handler): Remove declaration.
2705 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2706 match 01 Feb 2008 changes in xterm.c.
2707 (ns_read_socket): Add cast to avoid warning.
2708 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2709 GNUstep.
2710
27112008-08-20 Chong Yidong <cyd@stupidchicken.com>
2712
2713 * xselect.c (x_get_foreign_selection): Return nil if desired
2714 selection could not be obtained, instead of signalling an error.
2715
27162008-08-20 David Reitter <david.reitter@gmail.com>
2717
2718 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2719 * nsterm.m: Remove ns-specific code for cursor blinking.
2720 (ns_draw_window_cursor): Clear cursor properly rather than
2721 redrawing the area. Respect width of bar cursors.
2722 These changes enable the use of generic blink-cursor-mode and
2723 generic cursor types in NS and support smooth cursor movements (do
2724 not blink off after command).
2725 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2726 Nextstep, too.
2727
27282008-08-19 Kenichi Handa <handa@m17n.org>
2729
2730 * font.c (Vfont_log_deferred): New variable.
2731 (font_add_log): Check Vfont_log_deferred.
2732 (font_deferred_log): New function.
2733
2734 * font.h (font_deferred_log): Extern it.
2735
2736 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2737 for sorting.
2738 (face_for_char): Use deferred log.
2739
27402008-08-18 Kenichi Handa <handa@m17n.org>
2741
2742 * fontset.c (face_for_char): Add font log.
2743
2744 * font.c (font_add_log): Add the font properties :script, :lang,
2745 and :otf in the log.
2746
27472008-08-17 Chong Yidong <cyd@stupidchicken.com>
2748
2749 * xdisp.c: Remove dead code.
2750 (handle_invisible_prop, next_overlay_string): Defer call to
2751 setup_for_ellipsis.
2752 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2753
27542008-08-15 Chong Yidong <cyd@stupidchicken.com>
2755
2756 * xfaces.c (lookup_derived_face): Properly handle possible zero
2757 return value of get_lface_attributes.
2758 (merge_faces): Don't tell lookup_derived_face to signal an error
2759 if face is not found.
2760
2761 * dired.c (Fdirectory_files): Doc fix.
2762
2763 * process.c (make_process): Initialize kill_without_query struct
2764 member.
2765
27662008-08-15 Eli Zaretskii <eliz@gnu.org>
2767
2768 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2769 Alternative calculation of totphys for Visual Studio 6.
2770
2771 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2772
2773 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2774 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2775 All users changed.
2776 (stat): Only root directory passed to GetDriveType. Allow RAM
2777 disk as well as local fixed disk when w32-get-true-file-attributes
2778 is set to `local'.
2779 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2780 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2781 (w32_cached_id, w32_add_to_cache): New functions.
2782 (get_name_and_id): Look account names in the cache before calling
2783 lookup_account_sid.
2784 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2785 New initialization flags.
2786 (globals_of_w32): Initialize them to zero.
2787 (w32_system_process_attributes): Use w32_cached_id and
2788 w32_add_to_cache.
2789
27902008-08-14 Lawrence Mitchell <wence@gmx.li>
2791
2792 * lread.c (Fread_char, Fread_char_exclusive): If no character
2793 event is read before timeout is reached, return nil, rather than
2794 converting to a number.
2795
27962008-08-14 Chong Yidong <cyd@stupidchicken.com>
2797
2798 * fns.c (use_dialog_box): Doc fix.
2799
2800 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2801 on OS X.
2802
28032008-08-13 Chong Yidong <cyd@stupidchicken.com>
2804
2805 * frame.c (Qns_parse_geometry): New var.
2806 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2807
28082008-08-11 Chong Yidong <cyd@stupidchicken.com>
2809
2810 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2811 space character in calculating tabs.
2812
28132008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2814
2815 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2816
28172008-08-10 Glenn Morris <rgm@gnu.org>
2818
2819 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2820 silence gcc "limited range of data type" warnings in some
2821 make_fixnum_or_float calls.
2822
28232008-08-09 Eli Zaretskii <eliz@gnu.org>
2824
2825 * w32.c (w32_system_process_attributes): If the process does not
2826 exist, return nil.
2827
2828 * w32.c: Include thelp32.h, psapi.h and coding.h.
2829 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2830 declarations.
2831 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2832 (Process32Next_Proc): New typedefs.
2833 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2834 (g_b_init_process32_next, g_b_init_open_thread_token)
2835 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2836 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2837 (g_b_init_get_process_working_set_size)
2838 (g_b_init_global_memory_status_ex): New static variables.
2839 (globals_of_w32): Initialize them.
2840 (create_toolhelp32_snapshot, process32_first, process32_next)
2841 (open_thread_token, impersonate_self, revert_to_self)
2842 (get_process_memory_info, get_process_working_set_size)
2843 (global_memory_status, global_memory_status_ex): New wrapper
2844 functions.
2845 (w32_list_system_processes, w32_system_process_attributes)
2846 (enable_privilege, restore_privilege, ltime, process_times):
2847 New functions.
2848 (convert_time_raw): New function.
2849 (convert_time): Remove conversion of FILETIME into time in 100
2850 nsec units, call convert_time_raw instead.
2851
2852 * process.h (w32_list_system_processes, w32_system_process_attributes):
2853 Add prototypes.
2854 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2855 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2856 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2857 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2858
2859 * process.c (Fsystem_process_attributes): Doc fix.
2860
28612008-08-08 Chong Yidong <cyd@stupidchicken.com>
2862
2863 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2864 a continued multi-char glyph; if so, advance to the actual glyph.
2865
28662008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2867
2868 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2869
2870 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2871 (.m.o): Use it.
2872 * config.in: Regenerate.
2873
28742008-08-07 Chong Yidong <cyd@stupidchicken.com>
2875
2876 * xdisp.c (redisplay_window): Revert last change.
2877 (try_window): Check bottom scroll margin too.
2878
28792008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2880
2881 * config.in: Regenerate.
2882
2883 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2884 -list-load-path-shadows'.
2885 (nsgui.h): Reduce number of things depending on it.
2886
28872008-08-06 Chong Yidong <cyd@stupidchicken.com>
2888
2889 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2890 instead of window-end which does the wrong thing at eob.
2891 (try_cursor_movement): Minor optimization.
2892 (redisplay_window): If scroll margin is defined, don't assume
2893 window doesn't need scrolling.
2894
28952008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2896
2897 * config.in: Regenerate.
2898
2899 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2900 (mostlyclean): Don't delete *.d under NS.
2901
2902 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2903
29042008-08-06 Kenichi Handa <handa@m17n.org>
2905
2906 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2907
29082008-08-06 Andreas Schwab <schwab@suse.de>
2909
2910 * config.in: Regenerate.
2911
29122008-08-05 Chong Yidong <cyd@stupidchicken.com>
2913
2914 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2915 forcing a window start.
2916
2917 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2918 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2919
29202008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2921
2922 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2923 argument.
2924
29252008-08-05 Juanma Barranquero <lekktu@gmail.com>
2926
2927 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2928 <scroll-down-aggressively, before-change-functions>:
2929 <after-change-functions>: Reflow docstrings.
2930
29312008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2932 Ken Raeburn <raeburn@gnu.org>
2933
2934 Dock menu customization, based on a patch by Ken Raeburn, plus some
2935 other fixes.
2936 * nsmenu.m (dockMenu): New variable.
2937 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2938
2939 * nsterm.h (dockMenu): Declare.
2940
2941 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2942 (ns_term_init): Initialize dockMenu.
2943 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2944 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2945 left.
2946
2947 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2948
29492008-08-04 Chong Yidong <cyd@stupidchicken.com>
2950
2951 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2952
2953 * config.in: Regenerate.
2954
29552008-08-04 Seiji Zenitani <zenitani@mac.com>
2956
2957 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2958
29592008-08-04 Chong Yidong <cyd@stupidchicken.com>
2960
2961 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2962
29632008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2964
2965 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2966
2967 * keyboard.h: Comment an #endif.
2968
2969 * lisp.h (have_menus_p): Adjust comment.
2970
2971 * menu.c (find_and_return_menu_selection): Fix comparison with
2972 client_data.
2973
2974 * nsmenu.m (popup_activated_flag): New variable.
2975 (popup_activated): New function.
2976 (menu-or-popup-active-p): New exported lisp definition.
2977 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2978 when popup done.
2979 (ns_popup_dialog): Set popup_activated_flag.
2980
2981 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2982 version for GNUstep (handled by conditional typedef in nsterm.m).
2983 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2984 in rgb.txt).
2985
2986 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2987
2988 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2989
2990 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2991
2992 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2993 shortcircuit if popup_activated like GTK and X toolkit.
2994
2995 * m/inter386.h: Change DARWIN to DARWIN_OS.
2996
2997 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2998 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2999 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
3000 comment on NO_SOCK_SIGIO.
3001
30022008-08-03 Chong Yidong <cyd@stupidchicken.com>
3003
3004 * nsterm.m (windowDidResize): Remove stopModal call.
3005
30062008-08-03 Andreas Schwab <schwab@suse.de>
3007
3008 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
3009 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
3010
30112008-08-02 Chong Yidong <cyd@stupidchicken.com>
3012
3013 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
3014 Don't use uninitialized pointer variable when using getrlimit.
3015
30162008-08-02 Jason Rumney <jasonr@gnu.org>
3017
3018 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
3019
30202008-08-02 Eli Zaretskii <eliz@gnu.org>
3021
3022 * alloc.c (NSTATICS): Bump to 0x640.
3023
3024 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
3025
3026 * lisp.h: Add prototype for directory_files_internal.
3027
3028 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
3029 New functions.
3030 (syms_of_process): Defsubr them. Add initializations for various
3031 Q* symbols used in procfs_system_process_attributes.
3032 (procfs_list_system_processes, procfs_system_process_attributes)
3033 [HAVE_PROCFS]: New functions.
3034 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
3035 (procfs_get_total_memory): New functions.
3036
30372008-08-01 Juanma Barranquero <lekktu@gmail.com>
3038
3039 * xfaces.c (Fx_load_color_file): Fix previous change;
3040 it is #ifdef WINDOWSNT, not WINDOWS_NT.
3041
30422008-08-01 Michael Albinus <michael.albinus@gmx.de>
3043
3044 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
3045
30462008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3047
3048 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
3049
30502008-08-01 Chong Yidong <cyd@stupidchicken.com>
3051
3052 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
3053
3054 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
3055 define NSApplicationDelegateReplySuccess.
3056 (EmacsView -converstationIdentifier): Use long instead of
3057 NSInteger for GNUstep, since it doesn't have NSInteger.
3058
3059 * xmenu.c: Revert last change.
3060
3061 * keyboard.h: Fix last change.
3062
30632008-08-01 Juanma Barranquero <lekktu@gmail.com>
3064
3065 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
3066 on Windows.
3067
30682008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3069
3070 Warning clearing and clean-up in NS port.
3071 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3072 Add prototypes.
3073 * nsgui.h (FACE_DEFAULT): Remove, unused.
3074 (XGCValues): Change colors to unsigned long.
3075 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
3076 nsterm.m.
3077 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
3078 (ns_list_fonts): Remove, unused.
3079 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
3080 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
3081 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
3082 (nsfont_draw): Compare face colors to 0, not nil.
3083 * nsmenu.m (struct widget_value): Drop unneeded declaration.
3084 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
3085 (-addSubmenuWithTitle:): Use NSMenuItem class.
3086 (ns_popup_menu): Use NO, not NULL, for enabled setting.
3087 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
3088 (ns_clip_to_row): Make gc arg a BOOL.
3089 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
3090 ns_clip_to_row() call.
3091 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3092 used). Cast FRAME_FONT assignments.
3093 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3094 (ns_string_to_lispmod): Change arg to const char.
3095 (ns_term_init): Use NSMenuItem class.
3096 (EmacsApp -openFile:): Move to different section of file.
3097 (EmacsApp -application:openFiles:): Don't return a value, call
3098 -replyToOpenOrPrint:.
3099 (EmacsView -keyDown:): Fix up cast.
3100 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3101 (EmacsView -menuDown:): Cast tag in call to
3102 find_and_call_menu_selection().
3103 (ns_list_fonts): Remove, unused.
3104 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3105 (ns_fontname_to_xlfd): Make static.
3106 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3107 Remove prototypes (now in keyboard.h).
3108 (next_menubar_widget_id): Remove, unused.
3109 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3110 Remove prototypes (now in keyboard.h).
3111 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3112
31132008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3114
3115 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3116 (floatfns.o): Depend on syssignal.h.
3117 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3118
3119 * systty.h: Fix previous change that removed BSD_TERMIOS.
3120 Add comments to #ifdefs.
3121
31222008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3123
3124 * w32fns.c (w32-load-color-file): Remove.
3125 (x-open-connection): Use renamed Fx_load_color_file.
3126 * xfaces.c (x-load-color-file): Add.
3127 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3128 Emacs.clr.
3129 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3130
31312008-07-31 Michael Albinus <michael.albinus@gmx.de>
3132
3133 * dbusbind.c (Fdbus_call_method_asynchronously)
3134 (Fdbus_method_error_internal): New defuns.
3135 (xd_read_message): Handle also reply messages.
3136 (Vdbus_registered_functions_table): Extend docstring.
3137
31382008-07-31 Juanma Barranquero <lekktu@gmail.com>
3139
3140 * keyboard.c (gobble_input): Fix previous change.
3141
31422008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3143
3144 * bitmaps/README:
3145 * xfns.c:
3146 * termcap.c:
3147 * term.c:
3148 * syswait.h:
3149 * systty.h:
3150 * systime.h:
3151 * syssignal.h:
3152 * sysdep.c:
3153 * process.h:
3154 * process.c:
3155 * print.c:
3156 * ndir.h:
3157 * lread.c:
3158 * keyboard.c:
3159 * getpagesize.h:
3160 * floatfns.c:
3161 * fileio.c:
3162 * emacs.c:
3163 * doc.c:
3164 * dispnew.c:
3165 * dired.c:
3166 * data.c:
3167 * callproc.c:
3168 * buffer.c:
3169 * README:
3170 * Makefile.in:
3171 * s/template.h:
3172 * s/msdos.h:
3173 * m/vax.h: Remove VMS support.
3174 * s/vms.h:
3175 * vlimit.h:
3176 * uaf.h:
3177 * temacs.opt:
3178 * param.h:
3179 * ioctl.h: Remove file.
3180
31812008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3182
3183 * s/ms-w32.h (MULTI_KBOARD): Remove.
3184 * xterm.c:
3185 * xselect.c:
3186 * xfns.c:
3187 * window.c:
3188 * w32term.c:
3189 * w32fns.c:
3190 * terminal.c:
3191 * termhooks.h:
3192 * term.c:
3193 * sysdep.c:
3194 * keyboard.h:
3195 * keyboard.c:
3196 * frame.h:
3197 * frame.c:
3198 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3199 * config.in: Regenerate.
3200
32012008-07-30 Jason Rumney <jasonr@gnu.org>
3202
3203 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3204
3205 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3206 (w32font_open_internal): Get unicode version of textmetrics.
3207 Don't enable or disable glyph indices here.
3208 (w32font_open): Disable use of glyph indices.
3209
3210 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3211
32122008-07-30 Chong Yidong <cyd@stupidchicken.com>
3213
3214 * minibuf.c (Vread_buffer_function): Doc fix.
3215
32162008-07-30 John Paul Wallington <jpw@pobox.com>
3217
3218 * minibuf.c (read_buffer_completion_ignore_case): New var.
3219 (Fread_buffer): Use it.
3220
32212008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3222
3223 * systty.h (sensemode): Remove empty #if. Remove reference to
3224 BSD_TERMIOS, unused.
3225
3226 * sysdep.c: Remove reference to DGUX.
3227 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3228
3229 * config.in: Regenerate.
3230
32312008-07-30 Jason Rumney <jasonr@gnu.org>
3232
3233 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3234
32352008-07-29 Jason Rumney <jasonr@gnu.org>
3236
3237 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3238 is populated.
3239 (uniscribe_encode_char): Always use uniscribe.
3240 Avoid using context if cache is populated.
3241
32422008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3243
3244 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3245 open menu.
3246
3247 * gtkutil.c (menu_nav_ended): Remove.
3248 (create_menus): Remove signal connect for menu_nav_ended.
3249
32502008-07-28 Chong Yidong <cyd@stupidchicken.com>
3251
3252 * xdisp.c (redisplay_window): Check return value of
3253 compute_window_start_on_continuation_line before forcing a window
3254 start.
3255
32562008-07-28 Jason Rumney <jasonr@gnu.org>
3257
3258 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3259
3260 * w32term.c (w32_enable_unicode_output, cleartype_active):
3261 Remove obsolete display options.
3262 (x_draw_glyph_string_background): Don't use old cleartype_active
3263 workaround.
3264 (w32_initialize): Remove cleartype_active initialization.
3265 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3266
32672008-07-28 Andreas Schwab <schwab@suse.de>
3268
3269 * lisp.h (init_weak_hash_tables, syms_of_font)
3270 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3271 (remove_hash_entry): Don't declare.
3272 * eval.c (maybe_call_debugger): Make static and move before use.
3273 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3274 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3275 * xterm.h (x_set_frame_alpha): Declare.
3276
32772008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3278
3279 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3280 (create_menus): Connect selection-done to menu_nav_ended.
3281
32822008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3283
3284 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3285 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3286 parameter with read of 'alpha' one.
3287 (Qns_frame_parameter): Remove.
5582fbc7 3288 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3289 (next-selection-coding-system, Vselection_coding_system)
3290 (Vnext_selection_coding_system): Drop.
3291
32922008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3293
3294 * nsfns.m (do-applescript, do_applescript): Rename to
3295 ns-do-applescript, ns_do_applescript, and move within file.
3296
32972008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3298
3299 Remove support for Mac Carbon.
3300 * mactoolbox.c:
3301 * macterm.h:
3302 * macterm.c:
3303 * macselect.c:
3304 * macmenu.c:
3305 * macgui.h:
3306 * macfns.c:
3307 * mac.c: Remove file.
3308 * s/darwin.h:
3309 * m/intel386.h:
3310 * xfaces.c:
3311 * xdisp.c:
3312 * window.c:
3313 * tparam.c:
3314 * termhooks.h:
3315 * termcap.c:
3316 * term.c:
3317 * syssignal.h:
3318 * sysselect.h:
3319 * sysdep.c:
3320 * process.c:
3321 * lread.c:
3322 * lisp.h:
3323 * keyboard.c:
3324 * image.c:
3325 * fringe.c:
3326 * frame.h:
3327 * frame.c:
3328 * fontset.c:
3329 * font.h:
3330 * font.c:
3331 * fns.c:
3332 * fileio.c:
3333 * emacs.c:
3334 * dispnew.c:
3335 * dispextern.h:
3336 * config.in:
3337 * atimer.c:
2ae37cf0 3338 * Makefile.in: Remove code for Carbon.
aac0c6e3 3339
f0131492 33402008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3341
3342 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3343
33442008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3345
3346 * macterm.h (kCGBitmapByteOrder32Host): New define for
3347 non-universal SDKs.
3348
3349 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3350 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3351
3352 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3353 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3354
33552008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3356
3357 * w32inevt.c: Include dispextern.h.
3358
33592008-07-26 Andreas Schwab <schwab@suse.de>
3360
3361 * print.c (print_object): Fix off-by-one in last change.
3362
33632008-07-25 Juanma Barranquero <lekktu@gmail.com>
3364
3365 * term.c (syms_of_term): Don't initialize default_orig_pair,
3366 default_set_foreground and default_set_background on Windows.
3367
33682008-07-25 Jason Rumney <jasonr@gnu.org>
3369
3370 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3371 ScriptItemize. Clean up return value checking. Remove unused
3372 variables.
3373 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3374 shaping engine.
3375
3376 * w32font.c (w32font_has_char): Handle the case where we can't
3377 determine the script for a character.
3378
33792008-07-25 Chong Yidong <cyd@stupidchicken.com>
3380
3381 * term.c (syms_of_term): Initialize default_orig_pair,
3382 default_set_foreground, and default_set_background.
3383
3384 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3385 clash (bug#86).
3386 (getloadavg): Callers changed.
3387
3388 * image.c (svg_load_image): Fix last change.
3389 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3390 image size is valid. Use g_object_unref instead of deprecated
3391 rsvg_handle_free to free rsvg handle.
3392 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3393
33942008-07-25 Jason Rumney <jasonr@gnu.org>
3395
3396 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3397 surrogates before looking up glyph index.
3398 (w32font_text_extents): Encode as surrogates if falling back to
3399 functions that need UTF-16 wide chars.
3400
3401 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3402 BMP as surrogates before looking up glyph index.
3403
34042008-07-25 Chong Yidong <cyd@stupidchicken.com>
3405
3406 * image.c (svg_load_image): Check for failure in return value of
3407 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3408
34092008-07-25 Jason Rumney <jasonr@gnu.org>
3410
3411 * w32font.c (Fx_select_font): Reverse sense of second arg.
3412
34132008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3414
3415 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3416 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3417
3418 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3419 (PURESIZE): Use it.
3420
34212008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3422
3423 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3424 * m/alpha.h (TEXT_END):
3425 * m/ibmrs6000.h (TEXT_END):
3426 * m/macppc.h (TEXT_END):
3427 * s/darwin.h (TEXT_END):
3428 * s/msdos.h (TEXT_END): Remove, unused.
3429 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3430 * s/cygwin.h: Remove comment.
3431
3432 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3433 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3434 * m/intel386.h (DOT_GLOBAL_START):
3435 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3436 (USG): Remove, file not used on USG platforms.
3437
3438 * Makefile.in (HAVE_X11): Remove empty #else.
3439
34402008-07-24 Andreas Schwab <schwab@suse.de>
3441
3442 * fileio.c (Finsert_file_contents): Properly adjust undo list
3443 after format conversion.
3444
34452008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3446
3447 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3448 (menu_nav_ended): Remove.
3449 (create_menus): Remove signal connect for menu_nav_ended.
3450 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3451 create_menus.
3452 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3453
34542008-07-23 Jason Rumney <jasonr@gnu.org>
3455
3456 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3457 with opened font.
3458 (w32font_open): Set font type to gdi.
3459
3460 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3461
34622008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3463
3464 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3465 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3466 defines it.
3467 * unexec.c (ADDR_CORRECT): Define unconditionally.
3468
3469 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3470
3471 * unexec.c: Remove code depending on !COFF and USG, the file is
3472 not used for such systems.
3473
3474 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3475 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3476 (LD_SWITCH_SYSTEM_1): Remove, update users.
3477
3478 * s/darwin.h (DATA_END):
3479 * m/intel386.h (DATA_END):
3480 * m/ibmrs6000.h (DATA_END):
3481 * m/alpha.h (DATA_END): Remove, unused.
3482
3483 * config.in: Regenerate.
3484 * s/ms-w32.h (subprocesses): Define unconditionally.
3485 * s/template.h (subprocesses): Update comment.
3486 * s/vms.h (subprocesses):
3487 * s/usg5-4.h (subprocesses):
3488 * s/hpux10-20.h (subprocesses):
3489 * s/gnu-linux.h (subprocesses):
3490 * s/cygwin.h (subprocesses):
3491 * s/bsd-common.h (subprocesses):
3492 * s/aix4-2.h (subprocesses):
3493 * s/darwin.h (subprocesses): Do not define, defined by default now.
3494
3495 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3496 Remove all references.
3497 (temacs): Add GNUstep specific ld flags.
3498
3499 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3500 similarly to what X does.
3501
35022008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3503
3504 * nsfns.m (x-list-fonts): Remove.
3505 (syms_of_nsfns): Drop the x-list-fonts declaration.
3506 * nsterm.m: Get rid of remaining "//" comments.
3507
35082008-07-22 Chong Yidong <cyd@stupidchicken.com>
3509
3510 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3511
3512 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3513 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3514 (Fns_own_selection_internal, Fx_disown_selection_internal)
3515 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3516
3517 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3518 ... */' style of docstrings. Doc fixes.
3519
35202008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3521
3522 * terminfo.c (UP, BC, PC): Undo previous change.
3523
3524 * nsfns.m: Rename ns prefixed functions/variables to the
3525 corresponding x versions. Update references.
3526
35272008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3528
3529 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3530
35312008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3532
3533 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3534 Remove forwarding functions.
3535 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3536 non-static.
3537 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3538 non-static.
3539 (ns_frame_parm_handlers): Use the new names.
3540 (syms_of_nsfns): Move to the end of file.
3541
3542 * nsterm.m (syms_of_nsterm): Move to the end of file.
3543
3544 * dispnew.c (init_display): Remove code for X10.
3545
35462008-07-22 Jason Rumney <jasonr@gnu.org>
3547
3548 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3549 bare drive.
3550
35512008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3552
3553 * nsterm.m (syms_of_nsterm): Remove debugging println.
3554
35552008-07-22 David Reitter <david.reitter@gmail.com>
3556
3557 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3558 Carbon implementation of the same functionality: execute arbitrary
3559 AppleScript code.
3560
35612008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3562
3563 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3564 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3565 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3566 (Fx_display_mm_height, Fx_display_mm_width)
3567 (Fx_display_backing_store, Fx_display_visual_class)
3568 (Fx_display_save_under, Fx_open_connection)
3569 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3570 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3571 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3572 (Fx_display_pixel_width, Fx_display_pixel_height)
3573 (Fx_display_usable_bounds, Fx_display_planes)
3574 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3575 ... */' style of docstrings.
3576
35772008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3578
3579 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3580 on this platform.
3581 (mips):
3582 * m/iris4d.h (mips): Do not define.
3583 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3584
3585 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3586
3587 * image.c:
3588 * nsfns.m:
3589 * nsselect.m:
3590 * nsterm.h:
3591 * nsterm.m: Rename ns prefixed functions/variables to the
3592 corresponding x versions. Update references.
3593
3594 * m/ibms390x.h (NO_REMAP): Do not undefine.
3595
3596 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3597
35982008-07-21 Chong Yidong <cyd@stupidchicken.com>
3599
3600 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3601 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3602 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3603 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3604 (Fns_display_mm_height, Fns_display_mm_width)
3605 (Fns_display_backing_store, Fns_display_visual_class)
3606 (Fns_display_save_under, Fns_open_connection)
3607 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3608 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3609 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3610 (Fns_display_pixel_width, Fns_display_pixel_height)
3611 (Fns_display_usable_bounds, Fx_display_planes)
3612 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3613
36142008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3615
3616 * print.c (print_object): Check print_depth before searching for
3617 circularities.
3618
36192008-07-21 Michael Albinus <michael.albinus@gmx.de>
3620
3621 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3622 only sprintf.
3623
36242008-07-21 Kenichi Handa <handa@m17n.org>
3625
3626 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3627
36282008-07-20 Andreas Schwab <schwab@suse.de>
3629
3630 * syntax.c (find_start_pos, find_start_value)
3631 (find_start_value_byte, find_start_begv, find_defun_start)
3632 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3633
36342008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3635
3636 * s/sol2-3.h: Insert contents of s/sol2.h.
3637 (LD_SWITCH_SYSTEM): Remove redundant definition.
3638 * s/sol2.h: Remove, unused.
3639
36402008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3641
3642 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3643
36442008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3645
3646 * Makefile.in (ns_appdir): Fix typo in find command.
3647
36482008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3649
3650 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3651
3652 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3653 added not supported anymore.
3654
3655 * s/usg5-4-2.h (LIBS_SYSTEM):
3656 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3657
3658 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3659 * s/lynxos.h (GETPGRP_NO_ARG):
3660 * s/hpux10-20.h (NO_SIOCTL_H):
3661 * s/gnu.h (GETPGRP_NO_ARG):
3662 * s/gnu-linux.h (NO_SIOCTL_H):
3663 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3664 * s/cygwin.h (GETPGRP_NO_ARG):
3665 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3666 (C_DEBUG_SWITCH): Remove duplicate definition.
3667
3668 * m/ibms390.h: Remove boilerplate comments.
3669
3670 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3671
3672 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3673 (wait_reading_process_output): Remove code for SunOS, platform not
3674 supported anymore. Use SOLARIS2 instead of sun.
3675
36762008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3677
3678 * font.c (font_open_by_name): Under NS, default lface height to zero.
3679 (font_open_for_lface): Under NS, set size based on frame fontsize.
3680 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3681 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3682
36832008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3684
3685 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3686 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3687 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3688 YES/NO.
3689 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3690 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3691 * Makefile.in (clean): Clear out build destination dir.
3692
36932008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3694
3695 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3696 xterm, xselect.
3697 * lisp.h: Remove declaration of hash_remove.
3698 * nsgui.h: Remove redefinitions of hash_remove.
3699 * fns.c (hash_remove): Rename to hash_remove_from_table.
3700
37012008-07-19 Seiji Zenitani <zenitani@mac.com>
3702
3703 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3704 strdup() the family UTF8String before modifying it.
3705
37062008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3707
3708 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3709 NS_FACE_BACKGROUND with 0 instead of nil.
3710 * nsfont.m (nsfont_draw): Same.
3711
37122008-07-19 Chong Yidong <cyd@stupidchicken.com>
3713
3714 * nsfns.m (ns_set_background_color): Fix crash.
3715
37162008-07-18 Chong Yidong <cyd@stupidchicken.com>
3717
3718 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3719
37202008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3721
3722 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3723
37242008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3725
3726 * gtkutil.c: Include <config.h> instead of "config.h".
3727
3728 * lisp.h (Foverlay_buffer): Add EXFUN.
3729
3730 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3731 child process to complete child_setup. Undo 2005-09-21 change.
3732
3733 * s/darwin.h: Mention setsid after vfork.
3734
37352008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3736
3737 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3738 Depend on macgui.h.
3739
3740 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3741 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3742
3743 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3744 and f19.
3745 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3746
3747 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3748 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3749 Remove enumerators.
3750
3751 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3752 Check if FACE_FROM_ID returns NULL.
3753
37542008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3755
3756 * w32inevt.c (change_frame_size): Remove extern declaration.
3757 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3758 change_frame_size.
3759
37602008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3761
3762 * getloadavg.c: Revert last change (2008-07-15).
3763
37642008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3765
3766 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3767 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3768 from configure.
3769
37702008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3771
3772 * s/sol2.h:
3773 * s/sol2-4.h: Reorganize conditionals.
3774
3775 * ecrt0.c: Remove code depending on m68000, not used anymore.
3776
3777 * fns.c (hash_remove): Make static.
3778 * lisp.h (hash_remove): Don't prototype.
3779
3780 * m/ibmrs6000.h:
3781 * m/ibms390x.h:
3782 * m/macppc.h: Remove boilerplate comments.
3783
3784 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3785 Solaris, which does not need them.
3786
3787 * m/vax.h: Remove comments about unsupported systems.
3788
3789 * s/darwin.h: Reorganize ifdefs.
3790
37912008-07-17 Andreas Schwab <schwab@suse.de>
3792
3793 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3794
37952008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3796
3797 Use SDATA. Follow coding convention of placing operators at
3798 beginning of next line rather than end of previous line, and placing
3799 spaces around infix operators.
3800
3801 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3802 in case it was defined already.
3803 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3804 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3805 ns_default.
3806 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3807 Lisp_Objects.
3808 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3809 (ns_defined_color, ns_color_to_lisp): Declare.
3810 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3811 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3812 it's accepted even with USE_LISP_UNION_TYPE.
3813 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3814 (update_frame_tool_bar): Remove apparently obsolete tests for
3815 non-integerness of f->tool_bar_lines.
3816 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3817 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3818 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3819 (nsfont_open): Don't confuse NULL for Qnil.
3820 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3821 * menu.h (find_and_call_menu_selection):
3822 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3823 (find_and_return_menu_selection): Always return something.
3824 * frame.h: Include dispextern.h for Display_Info.
3825 (display_x_get_resource): Declare.
3826
38272008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3828
3829 * syntax.c: Remove stdio.h include accidentally introduced in
3830 Emacs.app commit.
3831 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3832 NS_IMPL_COCOA.
3833 * keyboard.c (handle_async_input, input_available_signal): Remove
3834 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3835
38362008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3837
3838 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3839 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3840 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3841 Use SDATA.
3842
3843 * keymap.c: Remove all NS-specific code.
3844 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3845 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3846 where_is_preferred_modifier, return a different value depending on how
3847 preferred is the binding.
3848 (where_is_internal): Adjust accordingly.
3849 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3850 Adjust to new preferred_sequence_p.
3851 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3852 * keyboard.c (parse_solitary_modifier): Not static any more.
3853 * keyboard.h (parse_solitary_modifier): Declare.
3854
38552008-07-16 Andreas Schwab <schwab@suse.de>
3856
3857 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3858 of easymenu.
3859
38602008-07-16 Chong Yidong <cyd@stupidchicken.com>
3861
3862 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3863 that we don't move off the line.
3864
38652008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3866
3867 * keyboard.c (Qsuper): Remove.
3868 (parse_menu_item): Don't call where_is_internal specially for NS.
3869
38702008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3871
3872 * s/gnu-linux.h: Remove boilerplate comments.
3873
3874 * m/alpha.h (__ELF__): Consolidate conditions.
3875
3876 * m/m68k.h (linux): Use GNU_LINUX instead.
3877 Remove boilerplate comments.
3878
3879 * m/intel386.h: Undo refactoring from previous change.
3880 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3881 too, remove dead code.
3882 (linux): Use GNU_LINUX instead.
3883
38842008-07-16 Jason Rumney <jasonr@gnu.org>
3885
3886 * w32gui.h: Repeat 26 June changes lost by last change.
3887
38882008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3889
3890 * systty.h: Remove code for Aix on 386, unsupported platform.
3891
3892 * s/ms-w32.h: Remove boilerplate comments.
3893 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3894
3895 * s/gnu-linux.h (TERM): Remove support.
3896 (HAVE_SYSVIPC): Remove, unused.
3897 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3898 for this system.
3899
3900 * process.c: Remove support for IRIS, unused.
3901 Remove support for TERM, not relevant anymore.
3902
3903 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3904 used with the definition.
3905
3906 * s/aix4-2.h (static): Do not undef.
3907
3908 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3909 only used on Aix.
3910 (HAVE_SYSVIPC): Remove, unused.
3911
3912 * m/hp800.h (CANNOT_DUMP): Do not undef.
3913
3914 * m/alpha.h: Fix comment.
3915
3916 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3917 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3918 used by this configuration.
3919 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3920 * unexec.c: Remove code depending on HPUX and
3921 USG_SHARED_LIBRARIES, not used with this file. Remove code
3922 depending on IRIS, unused. Remove if 0-ed code.
3923
3924 * s/template.h: Remove comments about static.
3925
3926 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3927 Remove if 0-ed code.
3928 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3929 were the same as the default.
3930 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3931 Remove boilerplate comments.
3932 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3933 (HAVE_SYSVIPC): Remove, unused.
3934 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3935
3936 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3937 Remove boilerplate comments.
3938 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3939 Remove boilerplate comments.
3940 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3941 Remove boilerplate comments.
3942 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3943
3944 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3945 USG systems which do not use DATA_SEG_BITS.
3946 Refactor code. Remove boilerplate comments.
3947
3948 * m/ibms390.h:
3949 * m/m68k.h:
3950 * s/bsd-common.h:
3951 * s/cygwin.h:
3952 * s/darwin.h:
3953 * s/freebsd.h:
3954 * s/gnu.h:
3955 * s/msdos.h: Remove boilerplate comments.
3956
3957 * m/iris4d.h: Remove boilerplate comments and code for systems that
3958 do not use this file.
3959 (IRIS_4D): Remove, unused.
3960
3961 * m/mips.h: Remove boilerplate comments and code for systems that
3962 do not use this file.
3963 (SIGN_EXTEND_CHAR):
3964 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3965 * unexmips.c: Remove file, unused.
3966
3967 * editfns.c (Fuser_full_name): Replace the only use of
3968 USER_FULL_NAME with its value.
3969 * config.in: Regenerate.
3970
39712008-07-16 David Reitter <david.reitter@gmail.com>
3972
3973 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3974 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3975
39762008-07-16 Glenn Morris <rgm@gnu.org>
3977
3978 * emacs.c (system-type): Doc fix.
3979
39802008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3981
3982 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3983 If the cache doesn't work, let's fix it, rather than work around it.
3984
39852008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3986
3987 * Makefile.in: Correct additions for nsfont.o in last commit.
3988 * nsfont.m: New file (forgot last commit).
3989
39902008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3991
3992 * callproc.c (set_initial_environment): Initialize
3993 Vprocess_environment under CANNOT_DUMP (fixes crash when
3994 batch-compiling for bootstrap).
3995
39962008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3997 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3998
3999 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
4000 fix crash due to different init order.
4001
40022008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4003
4004 Changes and additions for NeXTstep windowing system (Cocoa and
4005 GNUstep) support.
4006
4007 * Makefile.in:
4008 * config.in: Support defines and build commands for NS port.
4009 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
4010 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
4011 * dispextern.h: Include nsgui.h and add needed typedefs under NS
4012 windowing.
4013 (struct face): Add synth_ital field.
4014 * dispnew.c: Include nsterm.h when compiling under NS windowing.
4015 (init_display): Initialize Vinitial_window_system to "ns" when so
4016 compiled.
4017 * emacs.c: Include GSConfig.h when compiling under GNUstep.
4018 (display_arg): Use under NS.
4019 (main): Under NS, allocate autorelease pool and handle command line
4020 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
4021 (standard_args): Add NS-specific args.
4022 (shut_down_emacs): Shut down NS terminal if compiled under NS.
4023 * font.c (DEFAULT_ENCODING): New variable.
4024 (font_find_for_lface): Use it.
4025 (syms_of_font): Load syms_of_nsfont under NS.
4026 * font.h: Declare nsfont_driver when compiled under NS.
4027 * fontset.c: When compiling under NS, include nsterm.h.
4028 (fontset_from_font): Autoconstruct fontset under NS.
4029 * frame.c (various): Under NS, include nsterm.h, add Qns window system
4030 symbol, document and use it.
4031 (do_switch_frame): When for_deletion under Cocoa, add
4032 Fraise_frame(Qnil).
4033 (x_set_frame_parameters): Ensure font attribute changes are picked up.
4034 (x_get_arg): Allow "yes" and "no" as boolean values.
4035 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
4036 Qright under Cocoa.
4037 (focus-follows-mouse): Default to 0 under NS.
4038 * frame.h (enum output_method): Add output_ns.
4039 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
4040 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
4041 (FRAME_WINDOW_P): NS-specific definition.
4042 * fringe.c (max_used_fringe_bitmap): Make public.
4043 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
4044 (getloadavg): Use NeXT code under descendant OS's.
4045 * image.c (includes and header section, x_create_bitmap_from_data)
4046 (x_create_bitmap_from_file, free_bitmap_record, image_background)
4047 (image_background_transparent, x_clear_image_1)
4048 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4049 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
4050 (x_to_xcolors, x_from_xcolors, x_disable_image)
4051 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
4052 other GUIs, including XPM support using code originally written for
4053 Carbon GUI.
4054 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
4055 using NS API.
4056 (image_ascent): Use font metrics macros instead of direct struct field
4057 access.
4058 * keyboard.c (includes): Add nsterm.h when compiling under NS.
4059 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
4060 Also, handle NS as GTK for menu bar purposes.
4061 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
4062 toolkit where they differ.
4063 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
4064 use cachelist, still needed under NS.
4065 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
4066 (struct widget_value): Define it here for menu.c.
4067 * keymap.c (includes): Include modifier internals.
4068 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
4069 NS.
4070 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
4071 support for preferring sequences using certain modifiers, specified by
4072 the FIRSTONLY argument.
4073 * lisp.h (hash_remove): Rename to avoid name clash when compiling
4074 under NS GNUstep implementation.
4075 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
4076 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
4077 * menu.c: Include nsterm.h under NS.
4078 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
4079 (free_menubar_widget_tree_value, update_submenu_strings)
4080 (find_and_call_menu_selection): Treat NS as X and NT.
4081 (find_and_return_menu_selection): New function, used for popup menus.
4082 * nsgui.h:
4083 * nsterm.h:
4084 * nsfns.m:
4085 * nsimage.m:
4086 * nsmenu.m:
4087 * nsselect.m:
4088 * nsterm.m: New files.
4089 * process.c (wait_reading_process_output): Under NS, call ns_select()
4090 instead of plain select().
4091 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4092 beginning of buffer.
4093 * sysselect.h (init_process): Rename when compiling under Cocoa to
4094 avoid name conflict.
4095 * termhooks.h (display_info): Add ns_display_info to union.
4096 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4097 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4098 COCOA environment.
4099 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4100 unexec() signature. (Note, this will dump, but the resulting file
4101 crashes; unexosx is used instead; keeping around for reference and
4102 possible aid in getting dump working under GNUstep.)
4103 * w32gui.h (button_type, widget_value): Remove definitions (now in
4104 keyboard.h).
4105 * window.c: Include nsterm.h when compiling under NS.
4106 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4107 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4108 other GUI windowing systems.
4109 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4110 GTK.
4111 (x_consider_frame_title): Under NS, set icon type and frame
4112 modified-state indicator; use ns_set_name_as_filename() when using
4113 formatted title.
4114 (update_window_cursor): Make public when compiling under NS.
4115 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4116 (hourglass_atimer, Vhourglass_delay
4117 * xfaces.c (header section, init_frame_faces, clear_font_table)
4118 (defined_color, unload_color, x_face_list_fonts)
4119 (prepare_face_for_display): Add NS support parallel to other GUIs.
4120 Emulate GCs like other non-X GUIs.
4121 (split_font_name): Don't lowercase font name under NS.
4122 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4123 under NS.
4124 * s/darwin.h: Add support for compilation under NS.
4125
41262008-07-15 Jason Rumney <jasonr@gnu.org>
4127
4128 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4129 (w32_show_hourglass): Rename from show_hourglass.
4130 (w32_hide_hourglass): Rename from hide_hourglass.
4131 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4132 (Vhourglass_delay): Declare extern.
4133 (hourglass_started): Remove.
4134
4135 * xdisp.c (Vhourglass_delay): Remove static.
4136 (hourglass_started, start_hourglass, cancel_hourglass):
4137 Don't include these versions on WINDOWSNT.
4138
41392008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4140
4141 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4142 variables (formerly in xfns.c).
4143 (show_hourglass, hide_hourglass): New prototypes (same).
4144 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4145 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4146 in xfns.c).
4147 (syms_of_xdisp): Declare/initialize display-hourglass,
4148 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4149 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4150 formerly in xfns.c.
4151 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4152 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4153 (start_hourglass, cancel_hourglass): Remove.
4154 (show_hourglass, hide_hourglass): Remove prototypes and static
4155 modifiers.
4156 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4157 hourglass_atimer, hourglass_shown_p declaration/initialization.
4158 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4159 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4160 (start_hourglass, cancel_hourglass): Remove.
4161 (show_hourglass, hide_hourglass): Remove prototypes and static
4162 modifiers.
4163 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4164 hourglass_atimer, hourglass_shown_p declaration/initialization.
4165 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4166 (DEFAULT_HOURGLASS_DELAY): Remove.
4167 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4168 hourglass_shown_p declaration/initialization.
4169
41702008-07-14 Jason Rumney <jasonr@gnu.org>
4171
4172 * w32fns.c (w32_get_arg): Remove wrapper function.
4173 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4174 directly.
4175 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4176
41772008-07-14 Kenichi Handa <handa@m17n.org>
4178
4179 * xfont.c (xfont_open): Add workaround for X's bug.
4180
41812008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4182
4183 * fontset.c: Include <stdio.h> unconditionally.
4184
41852008-07-13 Michael Albinus <michael.albinus@gmx.de>
4186
4187 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4188 for filtering.
4189
41902008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4191
4192 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4193
4194 * m/macppc.h:
4195 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4196
4197 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4198 (SPECIAL_EMACS_INT):
4199 * m/ia64.h (SPECIAL_EMACS_INT):
4200 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4201 * s/gnu.h (NLIST_STRUCT):
4202 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4203 * s/gnu-linux.h (LINUX):
4204 * s/msdos.h (HAVE_FACES):
4205 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4206
4207 * systty.h:
4208 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4209 anymore.
4210
42112008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4212
4213 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4214 always defined as int.
4215
4216 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4217 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4218 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4219 * s/freebsd.h (HAVE_WAIT_HEADER):
4220 * s/bsd-common.h (HAVE_UNION_WAIT):
4221 * s/aix4-2.h (HAVE_WAIT_HEADER):
4222 * m/mips.h (HAVE_UNION_WAIT):
4223 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4224 (COFF, static): Do not define, they are undefined later in the file.
4225
4226 * process.c (update_status): Don't use a union.
4227 (status_convert):
4228 (sigchld_handler): Use int instead of WAITTYPE.
4229
42302008-07-12 Chong Yidong <cyd@stupidchicken.com>
4231
4232 * indent.c (Fvertical_motion): Restore hscroll before moving to
4233 goal column.
4234
42352008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4236
4237 * lisp.h: Remove left over code.
4238
42392008-07-11 Andreas Schwab <schwab@suse.de>
4240
4241 * lisp.h: Fix logic in last change.
4242
4243 * menu.h: New file.
4244 * menu.c: Include it.
4245 * xmenu.c: Likewise.
4246 * Makefile.in: Update dependencies.
4247
42482008-07-11 Kenichi Handa <handa@m17n.org>
4249
4250 * fontset.c (fontset_from_font): Cancel the previous change.
4251
42522008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4253
4254 * lisp.h:
4255 * w32heap.c:
4256 * emacs.c:
4257 * alloc.c: Replace all references of NO_UNION_TYPE with
4258 USE_LISP_UNION_TYPE.
4259
4260 * m/xtensa.h (NO_UNION_TYPE):
4261 * m/vax.h (NO_UNION_TYPE):
4262 * m/template.h (NO_UNION_TYPE):
4263 * m/sparc.h (NO_UNION_TYPE):
4264 * m/mips.h (NO_UNION_TYPE):
4265 * m/macppc.h (NO_UNION_TYPE):
4266 * m/m68k.h (NO_UNION_TYPE):
4267 * m/iris4d.h (NO_UNION_TYPE):
4268 * m/intel386.h (NO_UNION_TYPE):
4269 * m/ibms390x.h (NO_UNION_TYPE):
4270 * m/ibms390.h (NO_UNION_TYPE):
4271 * m/ibmrs6000.h (NO_UNION_TYPE):
4272 * m/ia64.h (NO_UNION_TYPE):
4273 * m/hp800.h (NO_UNION_TYPE):
4274 * m/arm.h (NO_UNION_TYPE):
4275 * m/amdx86-64.h (NO_UNION_TYPE):
4276 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4277 defining it the same.
4278
42792008-07-10 Chong Yidong <cyd@stupidchicken.com>
4280
4281 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4282
42832008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4284
4285 * fileio.c:
4286 * sysdep.c
4287 * systty.h:
4288 * m/ibmrs6000.h:
4289 * m/iris4d.h:
4290 * s/aix4-2.h:
4291 * s/freebsd.h:
4292 * s/gnu-linux.h:
4293 * s/hpux10-20.h:
4294 * s/hpux11.h:
4295 * s/netbsd.h:
4296 * s/sol2-3.h:
4297 * s/sol2-4.h:
4298 * s/sol2.h:
4299 * s/usg5-4.h:
4300 * s/vms.h: Remove references to unused variables.
4301
43022008-07-10 Andreas Schwab <schwab@suse.de>
4303
4304 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4305 pattern before matching the generic family.
4306
43072008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4308
4309 * unexec.c:
4310 * s/vms.h:
4311 * s/usg5-4-2.h:
4312 * s/sol2-5.h:
4313 * s/freebsd.h:
4314 * s/darwin.h: Remove dead code.
4315
4316 * m/template.h:
4317 * m/sparc.h:
4318 * m/mips.h:
4319 * m/m68k.h:
4320 * m/iris4d.h:
4321 * m/intel386.h:
4322 * m/ibms390x.h:
4323 * m/ibms390.h:
4324 * m/ia64.h:
4325 * m/hp800.h:
4326 * m/arm.h:
4327 * m/amdx86-64.h: Remove dead code and references to unused
4328 and compiler defined symbols.
4329
4330 * unexmips.c:
4331 * unexelf.c: Remove references to desupported systems.
4332
4333 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4334
4335 * m/powermac.h: Remove boilerplate comments.
4336 (NO_REMAP): Remove unused definition.
4337
4338 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4339 define them.
4340
43412008-07-10 Kenichi Handa <handa@m17n.org>
4342
4343 * xfont.c (xfont_open): Log the reason of failure.
4344
43452008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4346
4347 * fontset.c (fontset_get_font_group):
4348 * font.c (font_check_otf): Specify argument types.
4349
43502008-07-09 Kenichi Handa <handa@m17n.org>
4351
4352 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4353 non-ASCII char is found.
4354
4355 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4356 (reorder_font_vector): Change the arg preferred_family to font.
4357 Prefer the spec matching with font.
4358 (fontset_get_font_group): New function.
4359 (fontset_find_font): Change the format of an element of a realized
4360 fontset. Use fontset_get_font_group.
4361 (fontset_font): Try the current fontset, the default fontset, the
4362 fallbacks of the current fontset, and the fallbacks of the default
4363 fontset in this order.
4364 (face_for_char): Delete the shortcut to use the current font.
4365 (fontset_from_font): Don't set fonts for Latin in the fontset.
4366
4367 * font.h (font_make_object, font_match_p): Adjust prototypes.
4368
4369 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4370
4371 * font.c (font_make_object): New arg entity and pixelsize.
4372 (font_check_otf_features, font_check_otf): New functions.
4373 (font_match_p): Check :lang, :script, and :otf properties.
4374
4375 * xfont.c (xfont_open): Adjust it for the change of
4376 font_make_object.
4377 (xfont_text_extents): Fix initial setting of metrics.
4378
4379 * ftfont.c (struct ftfont_info): New member index, delete member
4380 fc_charset_idx. Make the member order compatible with struct
4381 xftfont_info.
4382 (fc_charset_table): Change charset names to registry names.
4383 (ftfont_pattern_entity): Delete the args registry and
4384 fc_charset_idx. Change the value of :font-entity property
4385 to (FONTNAME . INDEX). Always set :registry property to
4386 `iso10646-1'.
4387 (struct ftfont_cache_data): New struct.
4388 (ftfont_lookup_cache): New arg for_face.
4389 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4390 (ftfont_driver): Set the member otf_capability.
4391 (ftfont_get_charset): Adjust it for the change of
4392 fc_charset_table.
4393 (OTF_TAG_SYM): New macro.
4394 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4395 for the change of fc_charset_table.
4396 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4397 ftfont_pattern_entity. Add FC_INDEX to objset.
4398 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4399 and ftfont_pattern_entity.
4400 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4401 font_make_object, struct ftfont_info.
4402 (ftfont_has_char): Use ftfont_get_fc_charset.
4403 (ftfont_otf_features, ftfont_otf_capability): New functions.
4404 (ftfont_shape): Use ftfont_get_otf.
4405 (ftfont_text_extents): Fix initial setting of metrics.
4406
4407 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4408 member order compatible with struct ftfont_info.
4409 (xftfont_open): Add FC_CHARSET to the pattern. Set
4410 xftfont_info->ft_size. Don't unlock the face. Check BDF
4411 properties if appropriate.
4412 (xftfont_close): Unlock the face.
4413 (xftfont_anchor_point, xftfont_shape): Deleted.
4414 (syms_of_xftfont): Don't set members anchor_point and shape of
4415 xftfont_driver.
4416
4417 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4418 font_make_object.
4419
4420 * w32font.c (w32font_open): Adjust it for the change of
4421 font_make_object.
4422 (w32font_open_internal): Don't set properties of font_object here.
4423
44242008-07-08 Chong Yidong <cyd@stupidchicken.com>
4425
4426 * macfns.c (x_create_tip_frame):
4427 * w32fns.c (x_create_tip_frame):
4428 * xfns.c (x_create_tip_frame): Pass parameter argument to
4429 face-set-after-frame-default.
4430
4431 * xfaces.c (Finternal_merge_in_global_face): Save merged
4432 attributes for the default face back into the face vector.
4433
44342008-07-08 Andreas Schwab <schwab@suse.de>
4435
4436 * fontset.h: Declare fontset_from_font. Don't declare
4437 new_fontset_from_font and fontset_from_font_name.
4438 * xterm.c: Include "fontset.h".
4439 * Makefile.in (xterm.o): Update dependencies.
4440
44412008-07-08 Glenn Morris <rgm@gnu.org>
4442
4443 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4444 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4445
44462008-07-07 Chong Yidong <cyd@stupidchicken.com>
4447
4448 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4449 (x_set_frame_parameters): Don't bind it.
4450
44512008-07-07 Juanma Barranquero <lekktu@gmail.com>
4452
4453 * w32fns.c (map_w32_filename): Declare extern.
4454
44552008-07-07 Jason Rumney <jasonr@gnu.org>
4456
4457 * w32term.c (WS_EX_LAYERED): Define if not already.
4458
44592008-07-06 Chong Yidong <cyd@stupidchicken.com>
4460
4461 * xfaces.c (set_font_frame_param): Don't try to set the font
4462 parameter if it is still unspecified in the lface.
4463
44642008-07-05 Chong Yidong <cyd@stupidchicken.com>
4465
4466 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4467 face if it didn't already exist.
4468
4469 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4470
44712008-07-05 Andreas Schwab <schwab@suse.de>
4472
4473 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4474
44752008-07-05 Chong Yidong <cyd@stupidchicken.com>
4476
4477 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4478 word-wrapping.
4479 (IT_DISPLAYING_WHITESPACE): New macro.
4480 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4481 when word-wrapping. Simplify word-wrapping logic. Use correct
4482 pixel positions when saving copies of the iterator.
4483 (display_line): Use proper wrap point if the last character on a
4484 line was preceded by whitespace.
4485
44862008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4487
4488 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4489
44902008-07-04 Kenichi Handa <handa@m17n.org>
4491
4492 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4493
4494 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4495
44962008-07-02 Jason Rumney <jasonr@gnu.org>
4497
4498 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4499 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4500
4501 * xdisp.c (next_element_from_display_vector): Move assignment out
4502 of if statement.
4503
45042008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4505
4506 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4507
4508 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4509 (syms_of_fileio): Initialize and export them.
4510 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4511
4512 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4513 (Fsystem_move_file_to_trash): New function.
4514 (syms_of_w32fns): Export it to lisp.
4515
45162008-07-01 Jason Rumney <jasonr@gnu.org>
4517
4518 * w32font.c (w32font_text_extents): Don't count overhang as part
4519 of width.
4520
45212008-06-30 Miles Bader <miles@gnu.org>
4522
4523 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4524 Add `avoid_cursor_p' field.
4525
4526 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4527 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4528 (append_glyph, append_composite_glyph, produce_image_glyph)
4529 (append_stretch_glyph): Initialize avoid_cursor_p.
4530 (get_it_property): Rename from `get_line_height_property'.
4531 (x_produce_glyphs): Use get_it_property.
4532 (handle_line_prefix, push_display_prop): New functions.
4533 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4534 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4535 New variables.
4536 (syms_of_xdisp): Initialize them.
4537
45382008-06-30 Kenichi Handa <handa@m17n.org>
4539
4540 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4541 XftDefaultSubstitute (they are called in XftFontMatch).
4542 (xftfont_open): Fix args to ftfont_font_format.
4543
4544 * ftfont.c (fc_charset_table): New member lang.
4545 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4546 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4547 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4548 (ftfont_open): Fix args to ftfont_font_format.
4549 (ftfont_font_format): New arg filename.
4550
45512008-06-30 Chong Yidong <cyd@stupidchicken.com>
4552
4553 * xfaces.c (Finternal_merge_in_global_face): If default face was
4554 modified, realize it again. Update the font face attribute.
4555
45562008-06-29 Jason Rumney <jasonr@gnu.org>
4557
4558 * w32term.c (x_set_frame_alpha): Fix logic.
4559
45602008-06-29 Kenichi Handa <handa@m17n.org>
4561
4562 * fontset.c (Finternal_char_font): Return font-object instead of
4563 font-name.
4564
4565 * composite.c (get_composition_id): Fix the width calculation for TAB.
4566
45672008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4568
4569 * indent.c (Fvertical_motion): Properly handle float column arg.
4570
45712008-06-28 Jason Rumney <jasonr@gnu.org>
4572
4573 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4574 (pfnSetLayeredWindowAttributes): New function pointer.
4575 (w32_initialize): Initialize it when supported.
4576 (x_set_frame_alpha): New function.
4577
4578 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4579 (w32_frame_parm_handlers): Set alpha handler.
4580
4581 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4582
45832008-06-27 Jason Rumney <jasonr@gnu.org>
4584
4585 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4586 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4587 (w32_to_x_charset, x_to_w32_charset)
4588 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4589 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4590 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4591 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4592 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4593 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4594 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4595 (Qw32_charset_unicode): Remove.
4596 (syms_of_w32fns): Update for above changes.
4597
4598 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4599 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4600 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4601 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4602 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4603 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4604 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4605 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4606 (syms_of_w32font): Update for above changes.
4607
46082008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4609
4610 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4611 removed #if.
4612 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4613
46142008-06-26 Juanma Barranquero <lekktu@gmail.com>
4615 Eli Zaretskii <eliz@gnu.org>
4616
4617 * makefile.w32-in (LOCAL_FLAGS):
4618 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4619
4620 * sysdep.c (_spawnlp, _getpid):
4621 Declare with explicit _cdecl instead of _CRTAPI1.
4622
4623 * editfns.c (Fget_internal_run_time):
4624 Check for WINDOWSNT with #ifdef, not #if.
4625
46262008-06-26 Jason Rumney <jasonr@gnu.org>
4627
4628 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4629
4630 * w32term.c (x_draw_glyph_string_foreground)
4631 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4632 Use FONT_HANDLE macro.
4633 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4634
4635 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4636 (uniscribe_encode_char): Use FONT_HANDLE macro.
4637
4638 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4639 (w32font_text_extents): Use precast w32_font.
4640 (w32font_close): Free cached metrics.
4641 (w32font_open_internal): Allocate space for name on stack.
4642
46432008-06-26 Chong Yidong <cyd@stupidchicken.com>
4644
4645 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4646
46472008-06-26 Jason Rumney <jasonr@gnu.org>
4648
4649 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4650 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4651
46522008-06-26 Juanma Barranquero <lekktu@gmail.com>
4653
4654 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4655
46562008-06-26 Jason Rumney <jasonr@gnu.org>
4657
4658 * w32bdf.c, w32bdf.h: Remove obsolete files.
4659
4660 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4661
4662 * w32gui.h: Don't include w32bdf.h.
4663 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4664 Remove obsolete font support.
4665
4666 * w32font.h (struct w32font_info): Remove compat_w32_font.
4667 Add hfont member.
4668 (FONT_COMPAT): Remove obsolete macro.
4669
4670 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4671 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4672 (w32font_open_internal): Remove compat code. Set new hfont member.
4673 (Fx_select_font): Use new hfont member.
4674
4675 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4676 (uniscribe_encode_char): Use new hfont member.
4677
4678 * w32term.c (x_draw_glyph_string_foreground)
4679 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4680 (x_draw_glyph_string): Use metrics in w32font_info.
4681
46822008-06-26 Kenichi Handa <handa@m17n.org>
4683
4684 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4685
46862008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4687
4688 * unexnext.c:
4689 * m/ews4800.h:
4690 * m/hp9000s300.h:
4691 * m/ibm370aix.h:
4692 * m/mips-siemens.h:
4693 * m/ncr386.h:
4694 * m/next.h:
4695 * m/pmax.h:
4696 * m/powerpcle.h:
4697 * m/tandem-s2.h:
4698 * s/386bsd.h:
4699 * s/bsd386.h:
4700 * s/bsd4-1.h:
4701 * s/bsd4-2.h:
4702 * s/bsdos2-1.h:
4703 * s/bsdos2.h:
4704 * s/bsdos3.h:
4705 * s/bsdos4.h:
4706 * s/nextstep.h:
4707 * s/ultrix4-3.h:
4708 * s/usg5-0.h:
4709 * s/usg5-2-2.h:
4710 * s/usg5-2.h:
4711 * s/usg5-4-3.h:
4712 * s/ux4800.h:
4713 * s/uxpds.h:
4714 * s/uxpv.h: Remove support for obsolete systems.
4715 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4716 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4717 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4718 Remove, insert contents in s/aix4-2.h.
4719 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4720 * s/bsd4-3.h: Rename to ...
4721 * s/bsd-common.h: ... this.
4722 * data.c:
4723 * doc.c:
4724 * ecrt0.c:
4725 * emacs.c:
4726 * fileio.c:
4727 * floatfns.c:
4728 * keyboard.c:
4729 * mem-limits.h:
4730 * print.c:
4731 * process.c:
4732 * sysdep.c:
4733 * syssignal.h:
4734 * systty.h:
4735 * syswait.h:
4736 * term.c:
4737 * unexec.c:
4738 * unexelf.c:
4739 * unexhp9k800.c:
4740 * m/hp800.h:
4741 * m/ibmrs6000.h:
4742 * m/mips.h:
4743 * m/vax.h:
4744 * s/darwin.h:
4745 * s/freebsd.h:
4746 * s/gnu.h:
4747 * s/ms-w32.h:
4748 * s/msdos.h:
4749 * s/netbsd.h:
4750 * s/template.h: Remove references to obsolete variables.
4751
4752 * Makefile.in: Add dependencies for all unexec files.
4753 (admindir): Remove unused variable.
4754 (UNEXEC_SRC): Remove references.
4755
47562008-06-25 Chong Yidong <cyd@stupidchicken.com>
4757
4758 * xfns.c (x_default_font_parameter): If Xft is available, first
4759 try Monospace-12 for the default font.
4760
47612008-06-25 Jason Rumney <jasonr@gnu.org>
4762
4763 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4764
47652008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4766
4767 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4768
4769 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4770
47712008-06-25 Juanma Barranquero <lekktu@gmail.com>
4772
4773 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4774 <scroll-conservatively>: Fix typo in docstring.
4775
4776 * xselect.c (Fx_send_client_event): Doc fix.
4777
47782008-06-25 Kenichi Handa <handa@m17n.org>
4779
4780 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4781
4782 * font.c (font_parse_fcname): Remove unused variables.
4783 (font_sort_entites): Delete the arg SPEC. Caller changed.
4784 Fix for the case of ! best_only.
4785 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4786
4787 * lisp.h (Fstring_to_unibyte): EXFUN it.
4788
4789 * character.h (str_to_unibyte): Extern it.
4790
4791 * character.c (str_to_unibyte): New function.
4792
4793 * fns.c (Fstring_to_unibyte): New function.
4794 (syms_of_fns): Defsubr it.
4795
47962008-06-24 Kenichi Handa <handa@m17n.org>
4797
4798 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4799 DPI too.
4800 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4801
48022008-06-24 Andreas Schwab <schwab@suse.de>
4803
4804 * Makefile.in (${lispsource}loaddefs.el): Rename from
4805 ../lisp/loaddefs.el.
4806 (bootstrap-clean): Do what distclean does but don't remove
4807 Makefile.
4808 (distclean): Depend on bootstrap-clean and remove Makefile.
4809
48102008-06-24 Chong Yidong <cyd@stupidchicken.com>
4811
4812 * buffer.h (struct buffer): New member word_wrap.
4813
4814 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4815 word-wrap.
4816 (init_buffer_once): Initialize them.
4817
4818 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4819 line_wrap enum possessing three possible values.
4820
4821 * termopts.h: Replace truncate_partial_width_windows with
4822 Vtruncate_partial_width_windows.
4823
4824 * dispnew.c (direct_output_for_insert): Avoid direct output when
4825 inserting a space with word wrap on.
4826
4827 * indent.c (compute_motion): Obey integer values of
4828 truncate-partial-width-windows.
4829
4830 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4831 replacing truncate_partial_width_windows.
4832 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4833 truncate only if the window width is below that integer.
4834 (start_display, resize_mini_window, produce_stretch_glyph)
4835 (display_string, move_it_in_display_line_to): Use line_wrap.
4836 (back_to_previous_visible_line_start, reseat_1): Reset
4837 string_from_display_prop_p.
4838 (display_line): Extend default face to end of line when wrapping.
4839
48402008-06-24 Kim F. Storm <storm@cua.dk>
4841
4842 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4843 to wrap continued lines at word boundaries.
4844
48452008-06-24 Jason Rumney <jasonr@gnu.org>
4846
4847 * font.c (Ffont_face_attributes): Multiply pixel size before point
4848 conversion to avoid multiplying rounding error.
4849
48502008-06-23 Jason Rumney <jasonr@gnu.org>
4851
4852 * w32term.c (x_draw_glyph_string_background)
4853 (x_draw_glyph_string): Remove old bdf font code.
4854
4855 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4856
48572008-06-22 Kenichi Handa <handa@m17n.org>
4858
4859 * font.c (font_find_for_lface): Try the adstyle specified in
4860 the property of LFACE_FONT of LFACE (if any).
4861
48622008-06-21 Seiji Zenitani <zenitani@mac.com>
4863 Ryo Yoshitake <ryo@shiftmode.net>
4864
4865 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4866
48672008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4868
4869 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4870 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4871 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4872 (witness-emacs): Remove.
4873 (lisp, shortlisp): Move loaddefs.el earlier.
4874 (mostlyclean): Forget about witness-emacs.
4875
48762008-06-22 Glenn Morris <rgm@gnu.org>
4877
4878 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4879 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4880
48812008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4882
4883 * Makefile.in (PRECOMP): Remove.
4884 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4885 (witness-emacs): Run `compile-first'.
4886 (.el.elc): Use the new compile-onefile target.
4887
48882008-06-21 Kenichi Handa <handa@m17n.org>
4889
4890 * xftfont.c (xftfont_open): Handle QCembolden only when
4891 FC_EMBOLDEN is defined.
4892
48932008-06-21 Andreas Schwab <schwab@suse.de>
4894
4895 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4896 (.el.elc): Likewise.
4897
48982008-06-21 Miles Bader <miles@gnu.org>
4899
4900 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4901 build dir, not the lisp source dir.
4902
49032008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4904
4905 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4906 (bootstrapclean): Remove.
4907 (.el.elc): New rule.
4908 (PRECOMP): New var.
4909 (../lisp/subdirs.el): Remove.
4910 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4911 (witness-emacs): New target.
4912 (mostlyclean): Remove witness-emacs as well.
4913 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4914 Add witness-emacs dependency.
4915
49162008-06-20 Chong Yidong <cyd@stupidchicken.com>
4917
4918 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4919 defined by the font.
4920
49212008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4922
4923 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4924 (bootstrap-clean): New target that keeps TAGS around.
4925 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4926 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4927
49282008-06-20 Jason Rumney <jasonr@gnu.org>
4929
4930 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4931 Remove obsolete font code.
4932
4933 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4934 to determine language support.
4935
49362008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4937
4938 * sysdep.c (cfsetspeed): New fun extracted from the code.
4939 (cfmakeraw): Move before first use.
4940
49412008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4942
4943 * sysdep.c (cfmakeraw): Provide fallback implementation.
4944 (serial_configure): Provide fallback implementation of cfsetspeed.
4945
49462008-06-20 Kenichi Handa <handa@m17n.org>
4947
4948 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4949 the pattern.
4950
4951 * fontset.c (fontset_from_font): Copy font_spec before changing
4952 the elements.
4953
4954 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4955
49562008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4957
4958 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4959 for explicit `font' parameters.
4960
4961 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4962
49632008-06-19 Kenichi Handa <handa@m17n.org>
4964
4965 * frame.c: Include <ctype.h>.
4966 (x_set_font_backend): Allow spacing characters in the X resource
4967 for FontBackend.
4968
49692008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4970
4971 * w32fns.c, xfns.c (Qfont_param): New var.
4972 (syms_of_w32fns): Initialize it.
4973 (x_default_font_parameter): Record explicit `font' into
4974 `font-parameter'.
4975
49762008-06-18 Kenichi Handa <handa@m17n.org>
4977
4978 * font.c (font_parse_xlfd): Fix previous change.
4979 (font_parse_fcname): Don't use :fc-unknown-spec.
4980 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4981 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4982 (font_add_log): Prepend the driver name to the resulting fonts.
4983
4984 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4985 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4986 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4987
4988 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4989 (QCembolden): New variables.
4990 (syms_of_xftfont): DEFSYM them.
4991 (xftfont_open): Call XftFontMatch. Don't trust the result of
4992 XftTextExtents8 if the pixel_size is less than 5.
4993
49942008-06-18 Andreas Schwab <schwab@suse.de>
4995
4996 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4997 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4998
49992008-06-18 Jason Rumney <jasonr@gnu.org>
5000
5001 * w32font.c (w32font_list, w32font_match): Add logging.
5002
5003 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
5004
50052008-06-17 Chong Yidong <cyd@stupidchicken.com>
5006
5007 * font.c (font_parse_fcname): Store divider characters for
5008 unknown-spec list. For known key symbols, intern using correct
5009 symbol name.
5010
50112008-06-17 Kenichi Handa <handa@m17n.org>
5012
5013 * xfaces.c (realize_default_face): If the frame is not on window
5014 system, set the fontset of face to nil.
5015
50162008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5017
5018 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
5019
50202008-06-16 Juanma Barranquero <lekktu@gmail.com>
5021
5022 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
5023 (build_font_name_from_vector): Delete externs.
5024
5025 * xfaces.c (struct font_name): Don't declare.
5026
50272008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
5028
5029 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
5030
50312008-06-16 Chong Yidong <cyd@stupidchicken.com>
5032
5033 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
5034
50352008-06-16 Juanma Barranquero <lekktu@gmail.com>
5036
5037 * font.c (Ffont_spec): Fix usage in docstring.
5038 (Ffont_face_attributes): Doc fix.
5039
50402008-06-16 Andreas Schwab <schwab@suse.de>
5041
5042 * font.c (Ffont_face_attributes): Fix definition.
5043
50442008-06-16 Jason Rumney <jasonr@gnu.org>
5045
5046 * font.h (font_style_symbolic_from_value): Remove.
5047
5048 * font.c (font_style_symbolic_from_value): Remove.
5049 (font_style_symbolic): Revert to pre 2008-06-13 version.
5050
5051 * w32font.c (w32_to_fc_weight): New function.
5052 (w32font_full_name, logfont_to_fcname): Use it.
5053
50542008-06-16 Kenichi Handa <handa@m17n.org>
5055
5056 * font.c (font_check_object): Delete it.
5057 (font_clear_cache): Check if a font-object is alive.
5058 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
5059 font-object to nil.
5060 (font_close_object): Don't check FONT_CLOSE_OBJECT.
5061 (font_at): Don't call font_check_object.
5062 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5063
50642008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
5065
5066 * puresize.h (BASE_PURESIZE): Increase to 1230000.
5067
50682008-06-16 Chong Yidong <cyd@stupidchicken.com>
5069
5070 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
5071
50722008-06-15 Chong Yidong <cyd@stupidchicken.com>
5073
5074 * font.c (font_parse_fcname): Only one decimal point.
5075 (font_unparse_fcname): Handle data in family and foundry indices
5076 as symbols, not strings.
5077 (font_unparse_gtkname, Ffont_face_attributes): New functions.
5078
5079 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
5080
5081 * font.h (font_unparse_gtkname): Add prototype.
5082
50832008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5084
5085 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
5086
50872008-06-15 Andreas Schwab <schwab@suse.de>
5088
5089 * font.c (font_update_drivers): Fix crash when no drivers match.
5090
50912008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5092
5093 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5094 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5095
50962008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5097
5098 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5099
51002008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5101
5102 * process.c (Fserial_process_configure, Fprocess_send_eof):
5103 Use EQ to compare Lisp_Objects.
5104
51052008-06-13 Jason Rumney <jasonr@gnu.org>
5106
5107 * w32fns.c (Fw32_select_font): Remove old font API function.
5108
5109 * w32font.c (logfont_to_fcname): New function.
5110 (Fx_select_font): New font dialog function compatible with
5111 GTK/fontconfig version.
5112
5113 * font.c (font_style_symbolic_from_value): New function.
5114 (font_style_symbolic): Use it.
5115
5116 * font.h (font_style_symbolic_from_value): Declare new function.
5117
51182008-06-13 Juanma Barranquero <lekktu@gmail.com>
5119
5120 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5121 <font-width-table>: Fix typos in docstrings.
5122
51232008-06-13 Daniel Engeler <engeler@gmail.com>
5124
5125 These changes add serial port access.
5126 * process.c: Add HAVE_SERIAL.
5127 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5128 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5129 (list_processes_1, select_wrapper, Fstop_process)
5130 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5131 (status_notify): Modify to handle serial processes.
5132 [HAVE_SERIAL] (Fserial_process_configure)
5133 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5134 New functions.
5135 * process.h (struct Lisp_Process): Add `type'.
5136 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5137 New functions.
5138 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5139 serial ports.
5140 (serial_open, serial_configure) New functions.
5141 * w32.h: Add FILE_SERIAL.
5142 (struct _child_process): Add ovl_read, ovl_write.
5143
51442008-06-13 Kenichi Handa <handa@m17n.org>
5145
5146 * dispextern.h (enum lface_attribute_index): New member
5147 LFACE_FOUNDRY_INDEX.
5148
5149 * font.c (font_score): Delete arg alternate_families. Check only
5150 weight, slant, width, and size. Ignore the difference of alias
5151 style symbols.
5152 (font_sort_entites): Adjust for the above change. Reflect the
5153 order of font-driver to scores.
5154 (font_list_entities): Don't check alternate_familes here.
5155 (font_clear_prop): Handle foundry.
5156 (font_update_lface): Don't parse "foundry-family" form here.
5157 Handle FONT_FOUNDRY_INDEX.
5158 (font_find_for_lface): Likewise. Handle alternate families here.
5159 If registry is nil, try iso8859-1 and ascii-0.
5160 (font_open_for_lface): Pay attention to size in ENTITY.
5161 (font_open_by_name): Simplify by calling font_load_for_lface.
5162 (free_font_driver_list): Delete it.
5163 (font_update_drivers): Preserve the order of backends.
5164 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5165 of font_score and font_sort_entites.
5166 (font_update_sort_order): Likewise.
5167
5168 * xfaces.c (LFACE_FOUNDRY): New macro.
5169 (check_lface_attrs): Check foundry.
5170 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5171 (merge_face_vectors): Check foundry.
5172 (merge_face_ref): Likewise.
5173 (Finternal_set_lisp_face_attribute): Likewise.
5174 (x_update_menu_appearance): Likewise.
5175 (Finternal_get_lisp_face_attribute): Likewise.
5176 (lface_hash): Likewise.
5177 (lface_same_font_attributes_p): Likewise.
5178 (x_supports_face_attributes_p): Likewise.
5179 (tty_supports_face_attributes_p): Likewise.
5180 (Finternal_set_alternative_font_family_alist): Intern strings.
5181 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5182 (realize_default_face): Set LFACE_FOUNDRY (lface).
5183
5184 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5185 font-driver at first.
5186
5187 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5188
51892008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5190
5191 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5192
51932008-06-12 Jim Meyering <meyering@redhat.com>
5194
5195 Make unexec_free handle NULL the same way free does.
5196 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5197
51982008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5199
5200 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5201 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5202 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5203 (WEAK_ALIAS): Simplify.
5204 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5205 when searching a unibyte buffer.
5206
52072008-06-12 Chong Yidong <cyd@stupidchicken.com>
5208
5209 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5210
52112008-06-12 Juanma Barranquero <lekktu@gmail.com>
5212
5213 * w32font.c: Include ctype.h.
5214
52152008-06-11 Jason Rumney <jasonr@gnu.org>
5216
5217 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5218 misreported as space.
5219 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5220 as aliases for registry iso10646-1.
5221
52222008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5223
5224 * buffer.c (clone_per_buffer_values): Skip `name'.
5225
52262008-06-11 Chong Yidong <cyd@stupidchicken.com>
5227
5228 * font.c (font_parse_fcname): Fix last change; accept decimal
5229 points in font size.
5230
52312008-06-10 Jason Rumney <jasonr@gnu.org>
5232
5233 * w32uniscribe.c (add_opentype_font_name_to_list):
5234 Skip non unicode fonts.
5235
52362008-06-10 Chong Yidong <cyd@stupidchicken.com>
5237
5238 * xfns.c (Fx_font_dialog): New function.
5239
5240 * gtkutil.c (xg_dialog_response_cb): Rename from
5241 xg_file_response_callback.
5242 (pop_down_dialog): Rename from pop_down_file_dialog.
5243 (xg_get_file_name): Callers changed.
5244 (xg_get_font_name): New function.
5245
5246 * gtkutil.h (xg_get_font_name): Insert prototype.
5247
52482008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5249
5250 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5251 x_underline_minimum_display_offset.
5252 (syms_of_xdisp): Declare it here rather than in xterm.c.
5253 * dispextern.h (underline_minimum_offset): Declare it.
5254 * w32term.c (x_draw_glyph_string): Use it.
5255 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5256 (syms_of_xterm): Don't declare it any more.
5257 (x_draw_glyph_string): Adjust to the new name.
5258
52592008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5260
5261 * xterm.c (x_underline_minimum_display_offset): New var.
5262 (x_draw_glyph_string): Use it.
5263 (syms_of_xterm): Declare it.
5264
52652008-06-10 Chong Yidong <cyd@stupidchicken.com>
5266
5267 * font.c (font_parse_fcname): Accept GTK-style font names too.
5268
52692008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5270
5271 * dired.c (file_name_completion): Don't return t if the match is exact
5272 but with different capitalization.
5273 * minibuf.c (Ftry_completion): Simplify.
5274
5275 * window.c (Vwindow_point_insertion_type): New var.
5276 (set_window_buffer): Use it.
5277 (syms_of_window): Init and export it to Lisp.
5278
52792008-06-10 Kenichi Handa <handa@m17n.org>
5280
5281 * font.h (font_intern_prop): Prototype adjusted.
5282
5283 * font.c (font_intern_prop): New arg force_symbol.
5284 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5285 Adjust for the change of font_intern_prop.
5286
5287 * ftfont.c (ftfont_pattern_entity):
5288 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5289 (w32_registry):
5290 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5291 the change of font_intern_prop.
5292
52932008-06-09 Juanma Barranquero <lekktu@gmail.com>
5294
5295 * w32menu.c (digest_single_submenu): Declare extern.
5296
52972008-06-09 Jason Rumney <jasonr@gnu.org>
5298
5299 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5300
5301 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5302 (parse_single_submenu): Remove.
5303 (digest_single_submenu): Remove.
5304 (syms_of_w32menu): Don't initialise variables that have moved
5305 to menu.c.
5306 (set_frame_menubar): Sync with version in xmenu.c.
5307 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5308
5309 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5310 Make static again.
5311
53122008-06-09 Jason Rumney <jasonr@gnu.org>
5313
5314 Changes to w32 files related to the move of common menu code
5315 to menu.c on 2008-06-08 by Chong Yidong.
5316
5317 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5318 defs to w32gui.h.
5319 (single_keymap_panes, push_menu_item, push_menu_pane):
5320 Make globally visible.
5321
5322 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5323 (local_free, malloc_widget_value, free_widget_value)
5324 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5325 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5326 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5327 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5328 (menu_items, menu_items_allocated, menu_items_used)
5329 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5330 (init_menu_items, finish_menu_items, discard_menu_items)
5331 (grow_menu_items, push_submenu_start, push_submenu_end)
5332 (push_left_right_boundary, push_menu_pane, push_menu_item)
5333 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5334 (free_menubar_widget_tree_value, parse_single_submenu)
5335 (update_submenu_strings): Remove functions.
5336 (xmalloc_widget_value): Remove and declare extern.
5337
5338 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5339 (OBJ1): Build it.
5340
5341 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5342 (local_heap, local_alloc, local_free, malloc_widget_value)
5343 (free_widget_value): Define here.
5344
53452008-06-09 Kenichi Handa <handa@m17n.org>
5346
5347 * font.h (Qascii_0): Extern it.
5348
5349 * font.c (Qascii_0): New variable.
5350 (syms_of_font): DEFSYM it.
5351 (font_open_by_name): If the registry "iso8859-1" fails, try also
5352 "ascii-0".
5353
5354 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5355
53562008-06-08 Kenichi Handa <handa@m17n.org>
5357
5358 * .gdbinit (xfont): New command.
5359
53602008-06-08 Andreas Schwab <schwab@suse.de>
5361
5362 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5363 * Makefile.in (menu.o): Update dependencies.
5364
5365 * Makefile.in (obj): Always add menu.o.
5366 * emacs.c (main): Always call syms_of_menu.
5367 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5368
53692008-06-08 Chong Yidong <cyd@stupidchicken.com>
5370
5371 * Makefile.in: Compile menu.c.
5372
5373 * lisp.h: Declare syms_of_menu.
5374
5375 * emacs.c (main): Call syms_of_menu.
5376
5377 * keyboard.h: Relocate platform-independent menu definitions from
5378 xmenu.c.
5379
5380 * menu.c: New file. Relocate platform-independent menu
5381 definitions from xmenu.c. Suggested by Adrian Robert.
5382
5383 * xmenu.c: Remove platform-independent menu definitions.
5384 (menu_items menu_items_inuse, menu_items_allocated)
5385 (menu_items_used, menu_items_n_panes)
5386 (menu_items_submenu_depth): Move to keyboard.h.
5387 (init_menu_items, finish_menu_items, unuse_menu_items)
5388 (discard_menu_items, restore_menu_items, save_menu_items)
5389 (grow_menu_items, push_submenu_start, push_submenu_end)
5390 (push_left_right_boundary, push_menu_pane, push_menu_item)
5391 (keymap_panes, single_keymap_panes, single_menu_item)
5392 (list_of_panes, list_of_items, find_and_call_menu_selection)
5393 (xmalloc_widget_value, free_menubar_widget_value_tree)
5394 (parse_single_submenu, digest_single_submenu)
5395 (update_submenu_strings): Move to menu.c.
5396
53972008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5398
5399 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5400
54012008-06-06 Miles Bader <miles@gnu.org>
5402
5403 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5404 face, not frame default.
5405
54062008-06-05 Martin Rudalics <rudalics@gmx.at>
5407
5408 * window.c (pop_up_windows, pop_up_frames)
5409 (display_buffer_reuse_frames, Vpop_up_frame_function)
5410 (Vdisplay_buffer_function, Veven_window_heights)
5411 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5412 (Vspecial_display_function, Vsame_window_buffer_names)
5413 (Vsame_window_regexps, split_height_threshold)
5414 (Vsplit_window_preferred_function): Move those vars to window.el.
5415 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5416 (Fdisplay_buffer): Move those functions to window.el.
5417 (syms_of_window): Remove corresponding declarations.
5418 (display_buffer): New function.
5419 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5420 * dispnew.c (Flast_nonminibuf_frame): New function.
5421 * buffer.c (Fpop_to_buffer): Move to window.el.
5422
54232008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5424
5425 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5426
54272008-06-05 Kenichi Handa <handa@m17n.org>
5428
5429 * coding.c (detect_coding): Fix previous change.
5430 (detect_coding_system): Likewise.
5431
54322008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5433
5434 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5435
5436 * keymap.c (Vminibuffer_local_filename_must_match_map):
5437 Rename from Vminibuffer_local_must_match_filename_map.
5438 (syms_of_keymap):
5439 * minibuf.c (Fcompleting_read): Adjust accordingly.
5440 * commands.h: Rename declaration as well.
5441
54422008-06-05 Kenichi Handa <handa@m17n.org>
5443
5444 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5445 family name.
5446 (Ffont_put): Likewise.
5447
5448 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5449 current font-spec.
5450
5451 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5452 is unspecified.
5453
5454 * xfaces.c (realize_x_face): If the font-related face attributes
5455 are the same as those of default face, realize a new fontset from
5456 default->fontset.
5457 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5458
54592008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5460
5461 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5462 (move_it_in_display_line): New wrapper.
5463
5464 * window.c (window_scroll_pixel_based_preserve_x)
5465 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5466 (window_scroll_pixel_based, window_scroll_line_based):
5467 Use them to preserve column positions.
5468 (syms_of_window): Initialize them.
5469
5470 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5471 (HPOS . VPOS) pair.
5472
5473 * dispextern.h (move_it_in_display_line): Declare.
5474
54752008-06-05 Juanma Barranquero <lekktu@gmail.com>
5476
5477 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5478 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5479 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5480
54812008-06-04 Juanma Barranquero <lekktu@gmail.com>
5482
5483 * window.c (Fset_window_parameter): Doc fix.
5484 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5485
54862008-06-04 Joakim Verona <joakim@verona.se>
5487
5488 * window.h (struct window): Add new member window_parameters.
5489
5490 * window.c (Fwindow_parameters, Fwindow_parameter)
5491 (Fset_window_parameter): New defuns.
5492 (syms_of_window): Defsubr the new defuns.
5493 (make_window): Initialize window_parameters to nil.
5494
54952008-06-04 John Paul Wallington <jpw@pobox.com>
5496
5497 * eval.c (Fdefmacro): Doc fix.
5498
54992008-06-04 Kenichi Handa <handa@m17n.org>
5500
5501 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5502 Be sure to call setup_coding_system when we find a proper coding system.
5503 (detect_coding_system): Fix handling of coding->head_ascii.
5504
55052008-06-03 Andreas Schwab <schwab@suse.de>
5506
5507 * font.c (font_prop_validate_spacing): Fix last change.
5508
55092008-06-03 Kenichi Handa <handa@m17n.org>
5510
5511 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5512 (font_parse_fcname): Fix handling of unknown key.
5513
5514 * xfont.c (xfont_list): Try an alias.
5515
5516 * charset.c (char_charset): Return NULL if the arg charset_list is
5517 specified and C doesn't belong to any of them.
5518
55192008-06-02 Chip Coldwell <coldwell@redhat.com>
5520
5521 * font.c (font_pixel_size): Don't take cdr of an integer.
5522
55232008-06-02 Jim Meyering <meyering@redhat.com>
5524
5525 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5526 * alloc.c (xfree): Return right away for a NULL arg.
5527 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5528 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5529 * mac.c (create_apple_event_from_event_ref): Likewise.
5530 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5531 Likewise.
5532 * doprnt.c (doprnt1): Likewise.
5533 * frame.c (frame): Likewise.
5534 * keyboard.c (wipe_kboard): Likewise.
5535 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5536 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5537 * term.c (tty_default_color_capabilities, maybe_fatal)
5538 (delete_tty): Likewise.
5539 * w16select.c (string): Likewise.
5540 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5541 * w32bdf.c (w32_free_bdf_font): Likewise.
5542 * w32fns.c (w32_unload_font): Likewise.
5543 * w32font.c (w32font_close): Likewise.
5544 * window.c (size_window): Likewise.
5545 * xselect.c (receive_incremental_selection): Likewise.
5546 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5547 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5548 * w32.c (stat): Likewise.
5549
5550 Remove useless if-before-free tests.
5551 * editfns.c (Fset_time_zone_rule): Likewise.
5552 * lread.c (nosuffix): Likewise.
5553 * ralloc.c (get_bloc): Likewise.
5554 * regex.c (reg_free): Likewise.
5555 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5556 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5557 * xsmfns.c (smc_save_yourself_CB): Likewise.
5558
55592008-06-02 Kenichi Handa <handa@m17n.org>
5560
5561 * font.c (font_find_for_lface): Handle float font size.
5562 (font_open_for_lface): Likewise.
5563
5564 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5565 comparing the properties.
5566
55672008-06-01 Jason Rumney <jasonr@gnu.org>
5568
5569 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5570 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5571 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5572 Don't add empty script list.
5573 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5574
55752008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5576
5577 * Makefile.in (dot, dotdot): Remove, update users.
5578 ".." has been used elsewhere in the file for a long time.
5579 (LIBXT_STATIC): Remove conditional based on unused variable.
5580
55812008-06-01 Miles Bader <miles@gnu.org>
5582
5583 * xfaces.c (Vface_remapping_alist): New variable.
5584 (syms_of_xfaces): Initialize it.
5585 (enum named_merge_point_kind): New type.
5586 (struct named_merge_point): Add `named_merge_point_kind' field.
5587 (push_named_merge_point): Make cycle detection respect different
5588 named-merge-point kinds.
5589 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5590 Remove face-name alias resolution.
5591 (lface_from_face_name): New definition using
5592 `lface_from_face_name_no_resolve'.
5593 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5594 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5595 (get_lface_attributes): New definition that layers face-remapping on
5596 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5597 (lookup_basic_face): New function.
5598 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5599 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5600 `get_lface_attributes'.
5601 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5602 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5603 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5604
5605 * xdisp.c (init_iterator): Pass base_face_id through
5606 `lookup_basic_face' when we actually use it as a face-id.
5607 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5608 DEFAULT_FACE_ID.
5609
5610 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5611 lookup the initial face-id.
5612
5613 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5614
56152008-06-01 Juanma Barranquero <lekktu@gmail.com>
5616
5617 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5618 (Fremove_text_properties): Fix typos in docstrings.
5619
56202008-05-31 Kenichi Handa <handa@m17n.org>
5621
5622 * font.c (font_list_entities): Fix the car part of data to be
5623 stored in the cache.
5624
5625 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5626
56272008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5628
5629 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5630 Add a `test' argument so another predicate than `equal' can be used.
5631 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5632 (map_char_table): Remove unused vars `c' and `i'.
5633 * lisp.h (Foptimize_char_table): Adjust declaration.
5634 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5635
56362008-05-30 Kenichi Handa <handa@m17n.org>
5637
5638 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5639 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5640 defined.
5641
56422008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5643
5644 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5645 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5646 frame-local settings for the same variable.
5647
56482008-05-30 Kenichi Handa <handa@m17n.org>
5649
5650 * fontset.c (Ffont_info): Move to font.c.
5651 (syms_of_fontset): Delete defsubr of Sfont_info.
5652
5653 * font.c (font_style_to_value, font_score): Delete casting of the
5654 args to xstcasecmp.
5655 (register_font_driver): Increment num_font_drivers only when
5656 registering the driver globally.
5657 (Ffont_info): Move from fontset.c. Handle a font object too.
5658 (syms_of_font): Defsubr Sfont_info.
5659
56602008-05-29 Kenichi Handa <handa@m17n.org>
5661
5662 * coding.h (enum define_coding_utf8_arg_index): New enum.
5663 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5664 coding_attr_utf_bom.
5665 (enum utf_bom_type): Rename from utf_16_bom_type.
5666 (struct utf_16_spec): Adjust for the above change.
5667 (struct coding_system): Add utf_8_bom in `spec' union.
5668
5669 * coding.c (CODING_UTF_8_BOM): New macro.
5670 (enum coding_category): Delete coding_category_utf_8, add
5671 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5672 coding_category_utf_8_sig.
5673 (CATEGORY_MASK_UTF_8): Delete it.
5674 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5675 (CATEGORY_MASK_UTF_8_SIG): New macros.
5676 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5677 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5678 CATEGORY_MASK_UTF_8_SIG.
5679 (CATEGORY_MASK_UTF_8): New macro.
5680 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5681 (detect_coding_utf_8): Check BOM.
5682 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5683 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5684 (encode_coding_utf_16): Likewise.
5685 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5686 (detect_coding, detect_coding_system): Handle utf-8-auto.
5687 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5688 (syms_of_coding): Fix setting up of Vcoding_category_table.
5689
56902008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5691
5692 * process.c (Faccept_process_output): If `millisec' is non-nil,
5693 `seconds' default to 0.
5694 (wait_reading_process_output): Also return non-nil if we read output
5695 from a non-running process.
5696
56972008-05-29 Jason Rumney <jasonr@gnu.org>
5698
5699 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5700 `raster' specified.
5701 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5702 in the uniscribe backend, but disallow any font that has no
5703 unicode subrange support.
5704
57052008-05-29 Juanma Barranquero <lekktu@gmail.com>
5706
5707 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5708 Fix typos in docstrings.
5709
57102008-05-29 Kenichi Handa <handa@m17n.org>
5711
5712 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5713 (Fx_family_fonts): Set frame correctly.
5714
57152008-05-28 Jason Rumney <jasonr@gnu.org>
5716
5717 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5718
57192008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5720
5721 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5722 calling build_annotations.
5723
57242008-05-28 Juanma Barranquero <lekktu@gmail.com>
5725
5726 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5727 (Fencode_coding_string):
5728 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5729 <latin-extra-code-table>: Fix typos in docstrings.
5730 (syms_of_coding) <coding-system-alist>: Doc fix.
5731 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5732
57332008-05-28 Kenichi Handa <handa@m17n.org>
5734
5735 * fontset.c (Ffont_info): Don't call font_close_object.
5736
5737 * font.c (font_parse_family_registry): Use Ffont_put to validate
5738 foundry and family.
5739 (font_delete_unmatched): Don't check spacing.
5740 (font_list_entities): Add spacing to the spec to list fonts.
5741
5742 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5743 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5744
5745 * coding.c (encode_coding_raw_text): Fix previous change.
5746 (encode_coding_object): When the dst_object is a buffer and is
5747 different from src_object, move gap to PT.
5748
57492008-05-27 Chong Yidong <cyd@stupidchicken.com>
5750
5751 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5752
57532008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5754
5755 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5756 all branches. Compute it differently.
5757
5758 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5759
57602008-05-27 Juanma Barranquero <lekktu@gmail.com>
5761
5762 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5763 into "else if () ... else ...".
5764
57652008-05-27 Jason Rumney <jasonr@gnu.org>
5766
5767 * w32font.c (w32font_open_internal): Determine if glyph indices
5768 are likely to work here.
5769
57702008-05-27 Chong Yidong <cyd@stupidchicken.com>
5771
5772 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5773 draw overlap glyphs with appropriate highlighting.
5774
57752008-05-27 Kenichi Handa <handa@m17n.org>
5776
5777 * xfont.c (xfont_open): Fix calculation of font->average_width.
5778
57792008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5780
5781 * casefiddle.c (casify_object): Try to guess better whether the
5782 argument is a byte or a char.
5783
57842008-05-26 Andreas Schwab <schwab@suse.de>
5785
5786 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5787 Always send multiples of format size.
5788
5789 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5790
57912008-05-26 Jason Rumney <jasonr@gnu.org>
5792
5793 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5794 (compute_metrics): Don't set failure if we just cleared the cache.
5795 (w32_weight_table): Remove unused variable.
5796 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5797 backwards compatibility.
5798
57992008-05-25 Kenichi Handa <handa@m17n.org>
5800
5801 * w32term.c (x_draw_glyph_string):
5802 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5803
5804 * xfaces.c: Delete unused function prototypes.
5805 (xstrlwr, font_frame): Delete them.
5806 (clear_face_cache): Delete unused variable.
5807
5808 * xftfont.c (xftfont_open): Delete unused variable.
5809 If underline_thickness is not 1, adjust underline_position.
5810
5811 * ftxfont.c (ftxfont_open): Delete unused variable.
5812
5813 * fontset.c (face_for_char): Optimize for the case of no charset
5814 property.
5815
5816 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5817 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5818 (otf_open, font_otf_capability, generate_otf_features)
5819 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5820 Comment out by surrounding "#if 0" and "#endif" for the moment.
5821 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5822 (syms_of_font): Codes for accessing above commented out.
5823
58242008-05-24 Eli Zaretskii <eliz@gnu.org>
5825
5826 * w32proc.c: Include dispextern.h.
5827
5828 * w32.c: Include dispextern.h.
5829
58302008-05-23 Juanma Barranquero <lekktu@gmail.com>
5831
5832 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5833 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5834 Fix typos in docstrings.
5835
58362008-05-23 Jason Rumney <jasonr@gnu.org>
5837
5838 * xsmfns.c: Remove includes that are already included by config.h.
5839
58402008-05-23 Kenichi Handa <handa@m17n.org>
5841
5842 * charset.c (Qemacs, charset_emacs): New variables.
5843 (char_charset): Fix for non-Unicode characters.
5844 (syms_of_charset): Define charset_emacs.
5845
5846 * w32term.c (x_draw_glyph_string): Be sure to update
5847 s->underline_thickness and s->underline_position. Be sure to draw
5848 underline within the current line area.
5849
5850 * xterm.c (x_draw_glyph_string): Be sure to update
5851 s->underline_thickness and s->underline_position. Be sure to draw
5852 underline within the current line area.
5853
5854 * fontset.c: Delete unused variables and add casting for char *
5855 throughout the file.
5856 (fontset_font): Try the fallback fonts of the current fontset
5857 before consulting the default fontset.
5858
5859 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5860
5861 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5862
58632008-05-22 Jason Rumney <jasonr@gnu.org>
5864
5865 * font.c: Don't include strings.h.
5866
5867 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5868
5869 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5870 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5871 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5872 to call xstrcasecmp.
5873
5874 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5875
5876 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5877
5878 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5879
5880 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5881
58822008-05-22 Kenichi Handa <handa@m17n.org>
5883
5884 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5885
5886 * font.c (font_prop_validate_style): Adjust for the format
5887 change of font_style_table.
5888
5889 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5890 two args.
5891
5892 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5893 two args.
5894
58952008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5896
5897 * minibuf.c (keys_of_minibuf): Delete.
5898 * lisp.h (keys_of_minibuf): Delete.
5899 * emacs.c (main): Don't call keys_of_minibuf.
5900
59012008-05-22 Kenichi Handa <handa@m17n.org>
5902
5903 * ftfont.c (ftfont_resolve_generic_family): Rename from
5904 ftfont_list_generic_family. Return a single family for each
5905 generic family.
5906 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5907 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5908 Call font_add_log.
5909 (ftfont_match): Call font_add_log.
5910
5911 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5912 (FONT_DEBUG): Define it.
5913 (font_add_log): Extern it.
5914 (font_assert): Rename from xassert.
5915
5916 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5917 (xfont_list_family): Call font_add_log.
5918 (xfont_match): Likewise.
5919 (memq_no_quit): Delete.
5920
5921 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5922 call of Ffont_xlfd_name.
5923
5924 * xfaces.c (struct table_entry, slant_table, weight_table)
5925 (swidth_table): Move to font.c.
5926
5927 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5928 xassert are changed to font_assert. Delete many unused variables.
5929 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5930 New variables.
5931 (struct table_entry): Move from xfaces.c and modified.
5932 (weight_table, slant_table, width_table): Move from xfaces.c and
5933 contents adjusted for the change of struct table_entry.
5934 (font_style_to_value, font_style_symbolic): Adjust for the
5935 format change of font_style_table.
5936 (font_parse_family_registry): Don't overwrite existing foundry and
5937 family of font_spec.
5938 (font_score): Fix calculation of diff for sizes.
5939 (font_sort_entites): Call font_add_log.
5940 (font_delete_unmatched): Return a newly created list.
5941 (font_list_entities): Fix previous change. Call font_add_log.
5942 (font_matching_entity, font_open_entity, font_close_entity):
5943 Call font_add_log.
5944 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5945 (Finternal_set_font_style_table): Delete.
5946 (BUILD_STYLE_TABLE): New macro.
5947 (build_style_table): New function.
5948 (Vfont_log, font_log_env_checked): New variables.
5949 (font_add_log): New function.
5950 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5951 Declare Lisp variables "font-weight-table", "font-slant-table",
5952 "font-width-table", and "font-log". Initialize font_style_table.
5953
59542008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5955
5956 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5957
59582008-05-21 Seiji Zenitani <zenitani@mac.com>
5959 Ryo Yoshitake <ryo@shiftmode.net>
5960
5961 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5962 (Vframe_alpha_lower_limit): New variable.
5963 (x_set_alpha): New function.
5964
5965 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5966
5967 * xfns.c (x-create-frame, Qalpha):
5968 Initialize the frame parameter `alpha'.
5969 * xterm.c (OPAQUE, OPACITY): New.
5970 (x_set_frame_alpha): New function.
5971 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5972
5973 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5974 * w32fns.c (w32_frame_parm_handlers): Likewise.
5975
59762008-05-20 Jason Rumney <jasonr@gnu.org>
5977
5978 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5979 truetype fonts to opentype list.
5980
59812008-05-20 Juanma Barranquero <lekktu@gmail.com>
5982
5983 * fontset.c (Ffontset_info): Doc fix.
5984 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5985 <ignore-relative-composition>: Fix typos in docstrings.
5986
5987 * font.c (syms-of-font) <font-encoding-alist>:
5988 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5989 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5990 (Ffont_otf_alternates): Doc fixes.
5991
59922008-05-20 Kenichi Handa <handa@m17n.org>
5993
5994 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5995 font.h through out the file.
5996 (FONT_DRIVERS): Rename from FONTOBJ.
5997 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5998 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5999
6000 * emacs.c (main): Call syms_of_font unconditionally.
6001
6002 * font.h (find_font_encoding): Extern it.
6003
6004 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
6005 fontset.c.
6006 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
6007 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
6008 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
6009 only when HAVE_WINDOW_SYSTEM is defined.
6010 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
6011 when HAVE_WINDOW_SYSTEM is defined.
6012
6013 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
6014 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
6015
6016 * xfaces.c: Include font.h unconditionally.
6017 (merge_face_ref, merge_face_vectors)
6018 (Finternal_set_lisp_face_attribute): Cancel the previous change.
6019
60202008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
6021
6022 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
6023 indirect_variable.
6024 * eval.c (lisp_indirect_variable): New fun.
6025 (Fuser_variable_p): Use it.
6026
60272008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
6028
6029 * lisp.h (indirect_variable):
6030 * data.c (indirect_variable, let_shadows_buffer_binding_p):
6031 Use Lisp_Symbol pointers rather than Lisp_Object.
6032 Adjust callers.
6033 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
6034 To this end, change calling-convention.
6035
6036 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
6037 if some non-hidden buffers are selected by string&pred.
6038
60392008-05-19 Chong Yidong <cyd@stupidchicken.com>
6040
6041 * process.c (wait_reading_process_output): Always check status
6042 when in batch mode.
6043
60442008-05-19 Kenichi Handa <handa@m17n.org>
6045
6046 * font.c (font_list_entities): Fix handling of cache.
6047 (font_matching_entity): Likewise.
6048
6049 * ftfont.c (cs_iso8859_1): Delete.
6050 (ft_face_cache): New variable.
6051 (struct ftfont_info): New member fc_charset_idx.
6052 (ftfont_build_basic_charsets): Delete.
6053 (fc_charset_table): New variable.
6054 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
6055 . FC_CHARSET_IDX) as :font-entity property in the font entity.
6056 Callers changed.
6057 (ftfont_lookup_cache, ftfont_get_charset): New functions.
6058 (ftfont_spec_pattern): New argument fc_charset_idx.
6059 Check registry more rigidly. Change callers.
6060 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
6061 change of :font-entity property of the font.
6062
6063 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
6064 property of the font.
6065
60662008-05-18 Juanma Barranquero <lekktu@gmail.com>
6067
6068 * coding.c (Fcoding_system_p): Rename argument to match docstring.
6069 (Funencodable_char_position, Fcheck_coding_systems_region)
6070 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
6071 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
6072 (Ffind_operation_coding_system, Fset_coding_system_priority)
6073 (Fcoding_system_eol_type): Doc fixes.
6074
60752008-05-17 Glenn Morris <rgm@gnu.org>
6076
6077 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
6078
60792008-05-16 Eli Zaretskii <eliz@gnu.org>
6080
6081 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
6082 and st_gid.
6083
6084 * frame.c (Fdelete_frame): Don't call font_update_drivers if
6085 HAVE_WINDOW_SYSTEM is not defined.
6086
6087 * xfaces.c (merge_face_ref, merge_face_vectors)
6088 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
6089 HAVE_WINDOW_SYSTEM is defined.
6090 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
6091
60922008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6093
6094 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6095
60962008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6097
6098 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6099
61002008-05-15 Kenichi Handa <handa@m17n.org>
6101
6102 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6103 preference.
6104
61052008-05-15 Glenn Morris <rgm@gnu.org>
6106
6107 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6108
61092008-05-15 Chong Yidong <cyd@stupidchicken.com>
6110
6111 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6112 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6113
6114 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6115
61162008-05-15 Kenichi Handa <handa@m17n.org>
6117
6118 * ftfont.c (ftfont_list): Downcase family name to check generic
6119 families.
6120
6121 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6122 font-spec for QCfont value.
6123
6124 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6125 buffer. Check the return value of it.
6126
61272008-05-14 Jason Rumney <jasonr@gnu.org>
6128
6129 * w32term.c (w32_get_glyph_overhangs): Remove.
6130 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6131
61322008-05-14 Kenichi Handa <handa@m17n.org>
6133
6134 * font.c (font_prop_validate): Make nil a valid value.
6135 (font_clear_cache): Check if the cached vector of entities is nil
6136 or not.
6137
61382008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6139
6140 * emacs.c (main_thread): Conditionalize on
6141 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6142 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6143
6144 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6145 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6146 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6147
61482008-05-14 Kenichi Handa <handa@m17n.org>
6149
6150 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6151 has no corresponding coding system.
6152
61532008-05-14 Jason Rumney <jasonr@gnu.org>
6154
6155 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6156
6157 * w32font.h (w32font_open_internal): Update declaration.
6158
6159 * w32font.c (w32font_open_internal): Change last argument from
6160 w32font_info struct to font object. Fill in font object from
6161 font_entity. Get Outline metrics if possible. Use them to
6162 calculate underline position and thickness. Use xlfd name as name
6163 property. Don't set codepage.
6164 (w32font_open): Pass font_object to w32font_open_internal. Don't
6165 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6166 (w32font_draw): Use s->font.
6167 (clear_cached_metrics): Don't clear non-existent blocks.
6168
6169 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6170 font was not found.
6171 (x_draw_glyph_string): Use underline position and thickness from font.
6172
6173 * w32uniscribe.c (uniscribe_open): Pass font_object to
6174 w32font_open_internal.
6175
61762008-05-14 Kenichi Handa <handa@m17n.org>
6177
6178 These changes are to delete all legacy font-handling codes, and
6179 make Emacs use only font-backends.
6180
6181 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6182 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6183
6184 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6185
6186 * charset.h (Vcharset_non_preferred_head)
6187 (Vcurrent_iso639_language): Extern them.
6188
6189 * charset.c (Vcharset_non_preferred_head): New variable.
6190 (Vcurrent_iso639_language): New variable.
6191 (syms_of_charset): Declare it as a Lisp variable.
6192 (char_charset): Don't check non preferred charsets. As a last
6193 resort, return charset_unicode.
6194 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6195
6196 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6197 conditionals. Don't check enable_font_backend. Delete all codes
6198 used only when USE_FONT_BACKEND is not defined.
6199
6200 * dispextern.h (struct glyph_string): Change type of `font' to
6201 `struct font *'.
6202 (struct glyph_string): New member underline_position and
6203 underline_thickness.
6204 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6205 (struct face): Change type of `font' to `struct font *'. Remove
6206 members `font_name', `font_info_id'.
6207 (per_char_metric, encode_char): Delete externs.
6208 (calc_pixel_width_or_height): Adjust the prototype.
6209
6210 * emacs.c (enable_font_backend): Delete extern.
6211 (main): Don't set enable_font_backend. Don't check the command
6212 line argument "-disable-font-backend".
6213
6214 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6215 (enum font_property_index): New members FONT_DPI_INDEX,
6216 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6217 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6218 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6219 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6220 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6221 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6222 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6223 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6224 (struct font_spec, struct font_entity): New structs.
6225 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6226 (struct font): Many members from old "struct font_info" moved to
6227 here. Members font and entity deleted.
6228 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6229 the new font-related objects.
6230 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6231 (CHECK_FONT_GET_OBJECT): Likewise.
6232 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6233 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6234 (struct font_driver): New members case_sensitive anc check. Type
6235 of the member list and open changed.
6236 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6237 (font_symbolic_width, font_find_object, font_get_spec)
6238 (font_set_lface_from_name): Delete extern.
6239 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6240
6241 * font.c: Include <strings.h>.
6242 (enable_font_backend): Delete it.
6243 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6244 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6245 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6246 (null_string): Delete it.
6247 (null_vector): Make it static.
6248 (font_family_alist): Delete it.
6249 (Qnormal): Extern it.
6250 (QCextra, QClanguage): Delete it.
6251 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6252 (font_make_spec, font_make_entity, font_make_object)
6253 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6254 the string. Callers changed.
6255 (font_pixel_size): Adjusted for the format change of font-related
6256 objects.
6257 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6258 (font_style_to_value, font_style_symbolic): New function.
6259 (build_font_family_alist): Delete it.
6260 (font_registry_charsets): Use Fassoc_string instead of
6261 assq_no_quit.
6262 (font_prop_validate_symbol): Don't return null_string.
6263 (font_prop_validate_style): Adjusted for the change of
6264 style-related values in a font vector.
6265 (font_property_table): Delete entries for QClanguage and
6266 QCantialias, add entries for QCavgwidth.
6267 (get_font_prop_index): Delete the 2nd argument FROM.
6268 (font_prop_validate): Arguments changed.
6269 (font_put_extra): Adjusted for the change of font-related objects.
6270 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6271 (font_parse_fcname, font_unparse_fcname)
6272 (font_prepare_composition): Likewise.
6273 (font_parse_family_registry): Renamed from font_merge_old_spec.
6274 (otf_open): Delete the 1st arg entity.
6275 (font_otf_capability): Adjusted for the above change.
6276 (font_score): New arg alternate_families. Adjusted for the change
6277 of font-related objects.
6278 (font_sort_entites): New arg best_only.
6279 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6280 Delete them.
6281 (font_match_p): Check alternate families.
6282 (font_find_object): Delete it.
6283 (font_check_object): New function.
6284 (font_clear_cache): Adjusted for the change of font-related objects.
6285 (font_delete_unmatched): New arg.
6286 (font_list_entities): Call font_driver->list with a spec that
6287 doesn't specify style-related properties.
6288 (font_matching_entity): Arguments changed. Caller changed.
6289 (font_open_entity): Adjusted for the change of font-related objects.
6290 (font_close_object, font_has_char, font_encode_char)
6291 (font_get_name, font_get_spec): Likewise.
6292 (font_spec_from_name, font_clear_prop, font_update_lface):
6293 New functions.
6294 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6295 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6296 (font_at): Adjusted for the change of font-related objects.
6297 (font_range): New function.
6298 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6299 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6300 (Fcopy_font_spec, Fmerge_font_spec): New function.
6301 (Ffont_family_list): Renamed from list-families.
6302 (Finternal_set_font_style_table): Arguments changed.
6303 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6304 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6305 change of font-related objects.
6306 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6307
6308 * fontset.h (struct font_info): Delete it. Most members go to
6309 struct font.
6310 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6311 (enum FONT_SPEC_INDEX): Delete it.
6312 (font_info, list_fonts_func, load_font_func, query_font_func)
6313 (set_frame_fontset_func, find_ccl_program_func)
6314 (get_font_repertory_func, new_fontset_from_font_name): Delete
6315 externs.
6316 (fontset_from_font_name): Extern it.
6317 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6318 (FONT_INFO_FROM_FACE): Deleted.
6319 (face_for_font): Adjust prototype.
6320
6321 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6322 conditionals. Don't check enable_font_backend. Delete all codes
6323 used only when USE_FONT_BACKEND is not defined.
6324 (get_font_info_func, list_font_func, load_font_func)
6325 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6326 (get_font_repertory_func): Delete them.
6327 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6328 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6329 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6330 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6331 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6332 (fontset_compare_rfontdef): New function.
6333 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6334 rfont-defs by qsort. Adjusted for the change of font-group vector.
6335 (load_font_get_repertory): Deleted.
6336 (fontset_find_font): Use new macros to ref/set elements of
6337 font-def and rfont-def.
6338 (fontset_font): Fix the timing of remembering that no font for C.
6339 (free_face_fontset): Do nothing if the face has no fontset.
6340 (face_suitable_for_char_p): Use new macros to ref/set elements of
6341 rfont-def.
6342 (face_for_char): Likewise. Call face_for_char with font_object.
6343 (fs_load_font): Delete. Delete #pragma surrounding it.
6344 (fs_query_fontset): Use strcasecmp instead of strcmp.
6345 (generate_ascii_font_name): Adjusted for the format change of
6346 font-spec.
6347 (Fset_fontset_font): Likewise. Use new macros to set elements of
6348 font-def.
6349 (Fnew_fontset): Use font_unparse_xlfd to generate
6350 FONTSET_ASCII (fontset).
6351 (new_fontset_from_font_name): Deleted.
6352 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6353 a fontset is already created for the font. FIx updating of
6354 Vfontset_alias_alist.
6355 (fontset_ascii_font): Deleted.
6356 (Ffont_info): Adjusted for the format change of font-spec.
6357 (Finternal_char_font): Likewise.
6358 (Ffontset_info): Likewise.
6359 (syms_of_fontset): Don't check load_font_func.
6360
6361 * fns.c (internal_equal): Handle PREV_FONT.
6362
6363 * frame.h: Delete USE_FONT_BACKEND conditional.
6364
6365 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6366 conditionals. Don't check enable_font_backend. Delete all codes
6367 used only when USE_FONT_BACKEND is not defined.
6368 (x_set_font): Call x_new_font, not x_new_fontset2.
6369 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6370 already set for the frame.
6371
6372 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6373 a font-entity by font_make_entity. Use font_intern_prop instead
6374 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6375 font property. If a font is scalable, set avgwidth property to 0.
6376 Set font-entity property by font_put_extra.
6377 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6378 (ffont_driver): Adjusted for the change of struct font_driver.
6379 (ftfont_spec_pattern): New function.
6380 (ftfont_list): Return a list, not vector.
6381 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6382 (ftfont_list_family): Don't downcase names.
6383 (ftfont_free_entity): Deleted.
6384 (ftfont_open): Return a font-object. Adjusted for the change of
6385 struct font. Get underline_thickness and underline_position from
6386 font property. Don't update dpyinfo->smallest_font_height and
6387 dpyinfo->smallest_char_width.
6388 (ftfont_close): Don't free `struct font'.
6389 (ftfont_has_char): Adjusted for the format change of font-entity.
6390 (ftfont_encode_char, ftfont_text_extents): Likewise.
6391
6392 * ftxfont.c (ftxfont_list): Return a list, not vector.
6393 (ftxfont_open): Return a font-object. Adjusted for the change of
6394 struct font. Get underline_thickness and underline_position from
6395 font property. Don't update dpyinfo->smallest_font_height and
6396 dpyinfo->smallest_char_width.
6397 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6398 (ftxfont_draw): Adjusted for the change of struct font.
6399
6400 * image.c (image_ascent): Don't include "charset.h". Include
6401 "character.h" and "font.h".
6402
6403 * lisp.h (enum pvec_type): New member PREV_FONT.
6404 (Fassoc_string): EXFUN it.
6405
6406 * print.c: Include font.h.
6407 (print_object): Handle font-related objects.
6408
6409 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6410 conditionals. Don't check enable_font_backend. Delete all codes
6411 used only when USE_FONT_BACKEND is not defined.
6412 (handle_auto_composed_prop): Do nothing if it->f is not on a
6413 window system. Check how many following characters can be
6414 displayed by the same font.
6415 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6416 'struct font *'.
6417 (get_char_face_and_encoding): Assign the whole encoding task to
6418 the `encode-char' method of a font driver.
6419 (fill_composite_glyph_string): Adjusted for the change of `struct
6420 face' and `struct glyph_string'.
6421 (fill_glyph_string): Likewise.
6422 (get_per_char_metric): Arguments changed.
6423 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6424 and `struct glyph_string'.
6425 (produce_stretch_glyph, calc_line_height_property)
6426 (x_produce_glyphs): Likewise.
6427
6428 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6429 conditionals. Don't check enable_font_backend. Delete all codes
6430 used only when USE_FONT_BACKEND is not defined. Use
6431 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6432 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6433 (Qp): Extern them.
6434 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6435 Deleted.
6436 (struct font_name): Deleted.
6437 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6438 (compare_fonts_by_sort_order): New function.
6439 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6440 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6441 Deleted.
6442 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6443 compare_fonts_by_sort_order.
6444 (Fx_font_family_list): Call Ffont_family_list.
6445 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6446 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6447 (face_symbolic_slant, face_symbolic_swidth)
6448 (split_font_name_into_vector, build_font_name_from_vector)
6449 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6450 (font_rescale_ratio, split_font_name, build_font_name)
6451 (free_font_names, sort_fonts, x_face_list_fonts)
6452 (face_font_available_p, sorted_font_list, cmp_font_names)
6453 (font_list_1, concat_font_list, font_list, remove_duplicates):
6454 Deleted.
6455 (Fx_list_fonts): Use Ffont_list.
6456 (LFACE_AVGWIDTH): Deleted.
6457 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6458 by FONTP.
6459 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6460 (set_lface_from_font_name): Delete it.
6461 (set_lface_from_font): Renamed from
6462 set_lface_from_font_and_fontset. Caller changed. Don't set
6463 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6464 for face.
6465 (merge_face_vectors): Copy font-spec if necessary.
6466 Clear properties of the font-spec if necessary.
6467 (merge_face_ref): Clear properties of the font-spec if necessary.
6468 (Finternal_set_lisp_face_attribute): Likewise.
6469 (set_font_frame_param): Use font_load_for_lface to load a
6470 font-object, and call Fmodify_frame_parameters with it.
6471 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6472 font name by Ffont_xlfd_name.
6473 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6474 QCslant, and QCwidth.
6475 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6476 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6477 Compare fonts by EQ.
6478 (lookup_non_ascii_face): Deleted.
6479 (face_for_font): The 2nd argument changed.
6480 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6481 Check atomic font properties by case insensitive.
6482 (realize_non_ascii_face): Set face->overstrike correctly.
6483 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6484 (dump_realized_face): Get font name from
6485 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6486
6487 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6488 conditionals. Don't check enable_font_backend. Delete all codes
6489 used only when USE_FONT_BACKEND is not defined.
6490 (xic_create_xfontset): Original code deleted and renamed from
6491 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6492 (x_make_gc): Don't set GCFont in GCs.
6493 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6494 opened by "fixed".
6495 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6496 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6497 get_font_repertory_func.
6498
6499 * xfont.c: Include <stdlib.h> and "ccl.h".
6500 (struct xfont_info): New structure.
6501 (xfont_query_font): Deleted.
6502 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6503 moved from xterm.c.
6504 (xfont_driver): Adjusted for the change of struct font_driver.
6505 (compare_font_names): New function.
6506 (xfont_list_pattern): Sort font names case insensitively. Make
6507 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6508 (xfont_list): Return a list, not vector.
6509 (xfont_match): If the font doesn't have QCname property, generate
6510 a name from the other font properties.
6511 (xfont_open): Return a font-object. Adjusted for the change of
6512 struct font. Get underline_thickness and underline_position from
6513 font property. Don't update dpyinfo->smallest_font_height and
6514 dpyinfo->smallest_char_width.
6515 (xfont_close): Don't free struct font.
6516 (xfont_prepare_face): Adjusted for the change of struct font.
6517 (xfont_done_face): Deleted.
6518 (xfont_has_char): Adjusted for the change of struct font.
6519 (xfont_encode_char, xfont_draw): Likewise.
6520 (xfont_check): New function.
6521
6522 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6523 callback function.
6524 (xftfont_match): Adjusted for the format change of font-entity.
6525 (xftfont_open): Adjusted for the format change of font-entity and
6526 font-object. Adjusted for the change of struct font. Return a
6527 font-object. Don't update dpyinfo->smallest_font_height and
6528 dpyinfo->smallest_char_width.
6529 (xftfont_close): Block input while calling XftFontClose.
6530 (xftfont_prepare_face): Don't block input while calling
6531 xftfont_get_colors. Adjusted for the change of struct font.
6532 (xftfont_shape): Return value of error case fixed.
6533
6534 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6535
6536 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6537 conditionals.
6538 (FONT_WIDTH): Return (f)->max_width.
6539 (struct x_display_info): Delete member `font'.
6540 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6541 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6542 (struct x_output): Change type of `font' to `struct font *'.
6543
6544 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6545 conditionals. Don't check enable_font_backend. Delete all codes
6546 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6547 (x_per_char_metric, x_encode_char): Deleted.
6548 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6549 (x_compute_glyph_string_overhangs): Adjusted for the change of
6550 `struct face'.
6551 (x_draw_glyph_string_foreground)
6552 (x_draw_composite_glyph_string_foreground): Likewise.
6553 (x_draw_glyph_string): Likewise. Use font->underline_position and
6554 font->underline_thickness.
6555 (x_new_font): Renamed from x_new_fontset2.
6556 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6557 (x_check_font): Call `check' method of a font driver.
6558 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6559 (x_query_font, x_get_font_repertory): Deleted.
6560 (x_find_ccl_program): Renamed and moved to xfont.c.
6561 (x_redisplay_interface): Adjusted for the change of `struct
6562 redisplay_interface'.
6563
6564 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6565 conditionals. Don't check enable_font_backend. Delete all codes
6566 used only when USE_FONT_BACKEND is not defined. Surround non-used
6567 code by "#ifdef OLD_FONT" and "endif".
6568 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6569
6570 * w32font.h (struct w32font_info): New member.
6571 (FONT_COMPAT): New macro.
6572 (w32font_open_internal): Prototype adjusted.
6573
6574 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6575 OLD_FONT" and "endif".
6576
6577 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6578 conditionals. Don't check enable_font_backend. Delete all codes
6579 used only when USE_FONT_BACKEND is not defined.
6580 (w32font_open): Return a font-object. Make a font-object by
6581 font_make_object. Adjusted for the change of struct w32font_info.
6582 (w32font_close): Don't free struct font. Adjusted for the change
6583 of struct w32font_info.
6584 (w32font_encode_char, w32font_text_extents, w32font_draw):
6585 Adjusted for the change of struct w32font_info.
6586 (w32font_draw): Likewise.
6587 (w32font_list_internal): Return a list, not vector.
6588 (w32font_open_internal): Change the 4th arg to font-object.
6589 Adjusted for the change of struct w32font_info and font-object format.
6590 (add_font_name_to_list): Don't downcase names.
6591 (w32_enumfont_pattern_entity): Make a font-entity by
6592 font_make_entity. Adjusted for the format change of font-entity.
6593 Use FONT_SET_STYLE to set a style-related font property. If a
6594 font is scalable, set avgwidth property to 0. Set font-entity
6595 property by font_put_extra.
6596 (font_matches_spec): Adjusted for the format change of font-entity.
6597 (w32_weight_table, w32_decode_weight): New variables.
6598 (w32_encode_weight): New function.
6599 (fill_in_logfont): Adjusted for the format change of font-spec.
6600 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6601 weight value.
6602 (w32font_driver): Adjusted for the change of struct font_driver.
6603
6604 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6605 conditionals. Don't check enable_font_backend. Surround non-used
6606 code by "#ifdef OLD_FONT" and "endif".
6607 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6608 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6609
6610 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6611 conditionals. Don't check enable_font_backend. Delete all codes
6612 used only when USE_FONT_BACKEND is not defined. Surround non-used
6613 code by "#ifdef OLD_FONT" and "endif".
6614
6615 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6616 (uniscribe_open): Return value changed to font-object.
6617 Adjusted for the format change of font-object.
6618 (uniscribe_otf_capability): Adjusted for the change of struct font.
6619 (add_opentype_font_name_to_list): Don't downcase names.
6620 (uniscribe_font_driver): Adjusted for the change of struct
6621 font_driver.
6622
66232008-05-13 Chong Yidong <cyd@stupidchicken.com>
6624
6625 * dispnew.c (update_frame_1): Check if tty output is still valid
6626 before flushing it.
6627
66282008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6629
6630 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6631 to Gtk+ menus.
6632
66332008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6634
6635 * dired.c (file_name_completion): Tweak the code so as to always do it
6636 in a single pass. Tighten the scope of some variables.
6637
6638 * dired.c (Qdefault_directory): New var.
6639 (file_name_completion): Use it instead of Fexpand_file_name.
6640 (syms_of_dired): Initialize it.
6641
66422008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6643
6644 * fileio.c (double_dollars): Remove dead code.
6645
66462008-05-10 Eli Zaretskii <eliz@gnu.org>
6647
6648 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6649 Mention w32-get-true-file-attributes in doc string.
6650
6651 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6652
66532008-05-09 Glenn Morris <rgm@gnu.org>
6654
6655 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6656 2008-04-23.
6657
66582008-05-09 Eli Zaretskii <eliz@gnu.org>
6659
6660 Support for reporting owner and group of each file on MS-Windows:
6661 * dired.c (stat_uname, stat_gname): New functions, with special
6662 implementation for w32.
6663 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6664
6665 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6666 (dflt_group_name): New static variable.
6667 (dflt_group): Rename from the_group.
6668 (init_user_info): Init dflt_group fields. Get user's group name
6669 from LookupAccountSid.
6670 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6671 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6672 New initialization states.
6673 (globals_of_w32): Initialize them to zero. Initialize the default
6674 group name to "None".
6675 (GetFileSecurity_Name): New global var, the name of the function
6676 to call for GetFileSecurity.
6677 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6678 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6679 (get_file_security, get_security_descriptor_owner)
6680 (get_security_descriptor_group, is_valid_sid)
6681 (get_file_security_desc, get_rid, get_name_and_id)
6682 (get_file_owner_and_group): New functions.
6683 (stat): Use get_file_security_desc and get_file_owner_and_group to
6684 report the owner and primary group of each file. Don't ignore the
6685 high 32 bits of file's size, now that st_size is 64-bit wide.
6686 Fix test when to get true file attributes.
6687 (init_user_info): Use get_rid instead of equivalent inline code.
6688 (fstat): Don't ignore the high 32 bits of file's size.
6689
66902008-05-09 Chong Yidong <cyd@stupidchicken.com>
6691
6692 * image.c (png_load): Use correct bit-depth for setting background
6693 color.
6694
66952008-05-08 Eli Zaretskii <eliz@gnu.org>
6696
6697 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6698 epa-hook.elc.
6699
67002008-05-08 Juanma Barranquero <lekktu@gmail.com>
6701
6702 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6703
67042008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6705
6706 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6707 because the original parameters are in pure storage now.
6708 (mac_window): Remove unused params. Update callers.
6709
67102008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6711
6712 * lread.c (substitute_object_recurse): Use lower-level primitives.
6713 Don't signal errors when traversing sub-char-tables.
6714 Don't loop over all the possible characters when traversing char-tables.
6715
6716 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6717 just like we do in print.c.
6718
67192008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6720
6721 * minibuf.c (Ftry_completion): Remove code left over from when we used
6722 scmp instead of Fcompare_strings.
6723
67242008-05-04 Juanma Barranquero <lekktu@gmail.com>
6725
6726 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6727
67282008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6729
6730 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6731 Create bitmap context in native byte order.
6732
6733 * macterm.c (XDrawLine)
6734 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6735 context in native byte order.
6736
67372008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6738
6739 * config.in: Regenerate.
6740
6741 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6742 New definitions for Image I/O support.
6743 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6744 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6745 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6746 (mac_data_provider_release_data, image_load_image_io)
6747 [USE_MAC_IMAGE_IO]: New functions.
6748 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6749 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6750 (init_image_func_pointer) [MAC_OSX]: Remove function.
6751 (image_load_quartz2d) [MAC_OSX]: Check availability of
6752 CGImageCreateWithPNGDataProvider at compile time.
6753 Use lowercase `false' for boolean constant.
6754 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6755 Use image_load_image_io.
6756 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6757 Don't check MyCGImageCreateWithPNGDataProvider.
6758 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6759 Don't call init_image_func_pointer.
6760
6761 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6762
6763 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6764 Make variable non-static.
6765 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6766 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6767
6768 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6769 (RED_FROM_ULONG): Mask off higher bits.
6770 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6771
6772 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6773 Include AvailabilityMacros.h.
6774 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6775 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6776
67772008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6778
6779 * chartab.c (Fset_char_table_range): If range is t, really set all
6780 chars to that value.
6781
67822008-05-03 Eli Zaretskii <eliz@gnu.org>
6783
6784 * dired.c (Ffile_attributes): Don't allow the device number become
6785 negative.
6786
67872008-05-02 Daiki Ueno <ueno@unixuser.org>
6788
6789 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6790
67912008-05-02 Juri Linkov <juri@jurta.org>
6792
6793 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6794 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6795 DEFAULT argument as a list of default values in docstrings.
6796
67972008-05-01 Chong Yidong <cyd@stupidchicken.com>
6798
6799 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6800
68012008-05-01 Martin Rudalics <rudalics@gmx.at>
6802
6803 * dispnew.c (change_frame_size_1): Preserve small windows when
6804 shrinking frames by calling set_window_height|width with third
6805 arg 2.
6806
6807 * window.h (struct window): Replace field too_small_ok by field
6808 resize_proportionally.
6809
6810 * window.c (make_window): Initialize resize_proportionally.
6811 (enlarge_window): Temporarily set resize_proportionally to make
6812 sure that shrink_windows does scale the window proportionally.
6813 (shrink_windows): When window has resize_proportionally set try
6814 to shrink it proportionally by stealing from other windows.
6815 (struct saved_window, Fset_window_configuration)
6816 (compare_window_configurations): Handle resize_proportionally.
6817 (WINDOW_TOTAL_SIZE): New macro.
6818 (window_min_size, shrink_windows, size_window): Use it.
6819 (check_min_window_sizes): Remove. Invalid values of
6820 window-min-height|width are handled by window_min_size_2 now.
6821 (size_window, Fsplit_window, enlarge_window)
6822 (adjust_window_trailing_edge, grow_mini_window): Don't call
6823 check_min_window_sizes.
6824 (window_min_size_2, window_min_size_1, window_min_size):
6825 New argument safe_p for retrieving "safe" minimum sizes.
6826 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6827 (adjust_window_trailing_edge, grow_mini_window):
6828 Adjust arguments of window_min_size... functions.
6829 (shrink_windows): Argument min_size removed. New argument
6830 safe_p allows shrinking windows to their safe minimum sizes.
6831 Calculate minimum size and decide whether a window shall be
6832 deleted for each window individually.
6833 (size_window): When nodelete_p equals 2, tell shrink_windows to
6834 delete windows only if their new minimum size is no more safe.
6835 (shrink_window_lowest_first): Call window_min_size_1 to make
6836 sure to preserve modeline of bottom-most window when resizing
6837 the minibuffer.
6838 (Fset_window_configuration, Fcurrent_window_configuration)
6839 (compare_window_configurations): Do not handle
6840 window-min-height|width any more.
6841 (syms_of_window): Clarify window-min-height|width doc-strings.
6842
68432008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6844
6845 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6846 some more. Copy some of the code from Ftry_completions.
6847 Remove special case code that dates back to initial revision when the
6848 slash was only added when necessary and that can't trigger nowadays.
6849
68502008-04-27 Kenichi Handa <handa@m17n.org>
6851
6852 * font.c (font_prop_validate): Signal `error' instead of `font'.
6853
68542008-04-29 Jason Rumney <jasonr@gnu.org>
6855
6856 * w32fns.c (Fw32_battery_status): New defun.
6857 (syms_of_w32fns): Defsubr it.
6858
68592008-04-28 Andreas Schwab <schwab@suse.de>
6860
6861 * dired.c (file_name_completion): Fix another mixing of encoded
6862 and decoded names.
6863
68642008-04-28 Juanma Barranquero <lekktu@gmail.com>
6865
6866 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6867
68682008-04-27 Juanma Barranquero <lekktu@gmail.com>
6869
6870 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6871
68722008-04-27 Andreas Schwab <schwab@suse.de>
6873
6874 * dired.c (file_name_completion): Fix inappropriate mixing of
6875 encoded and decoded names.
6876
6877 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6878
6879 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6880
68812008-04-26 Eli Zaretskii <eliz@gnu.org>
6882
6883 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6884 2008-03-31, it's not needed anymore with `struct stat' definition
6885 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6886 for the same reasons.
6887
68882008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6889
6890 * m/sparc.h: Additional redefinitions for GNU/Linux.
6891
68922008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6893
6894 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6895 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6896 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6897 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6898 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6899 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6900 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6901 Likewise.
6902
6903 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6904 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6905 (mac_ax_number_of_characters): Add externs.
6906 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6907 [USE_MAC_TSM]: Likewise.
6908 (mac_handle_text_input_event) [MAC_OSX]:
6909 Handle kEventTextInputOffsetToPos for no active input area case.
6910 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6911 (mac_handle_document_access_event)
6912 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6913 (install_application_handler) [MAC_OSX]: Register handlers for
6914 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6915 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6916 Register mac_handle_document_access_event.
6917
6918 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6919 Make functions non-static.
6920
69212008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6922
6923 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6924 (read_file_name_completion_ignore_case, insert_default_directory)
6925 (Qdefault_directory): Move to minibuffer.el.
6926 (Fread_file_name): Call the new `read-file-name' instead.
6927
69282008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6929
6930 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6931 Make function non-static.
6932 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6933 Remove function.
6934 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6935 Move to mactoolbox.c.
6936 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6937
6938 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6939 (mac_rect_make): New macro.
6940
6941 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6942 instead of float.
6943 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6944 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6945 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6946 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6947 CGRectMake.
6948 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6949 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6950 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6951 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6952 instead of WindowRef in argument type.
6953 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6954 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6955 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6956 instead of DISPLAY. All uses changed.
6957 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6958 (x_calc_absolute_position): Simplify so as not to use
6959 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6960
6961 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6962 instead of WindowRef in argument type.
6963 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6964 [TARGET_API_MAC_CARBON]: Remove externs.
6965 (create_apple_event, mac_event_parameters_to_lisp)
6966 [TARGET_API_MAC_CARBON]: Add externs.
6967
6968 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6969 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6970 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6971 is clicked.
6972 (x_activate_menubar): Remove extern for saved_menu_event_location.
6973 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6974 Move from mac.c.
6975
69762008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6977
6978 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6979 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6980
69812008-04-23 Jason Rumney <jasonr@gnu.org>
6982
6983 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6984 attributes only for local files.
6985
6986 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6987 default to Qlocal.
6988
69892008-04-22 Juri Linkov <juri@jurta.org>
6990
6991 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6992 read-buffer-to-switch instead of using the letter "B".
6993
69942008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6995
6996 * fileio.c (Qdefault_directory): New variable.
6997 (Fread_file_name): Use it to pass `dir' to the completion functions.
6998
69992008-04-20 Chong Yidong <cyd@stupidchicken.com>
7000
7001 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
7002
70032008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
7004
7005 * keyboard.c (Vpre_help_message): Remove.
7006 (show_help_echo): Remove default C code.
7007
7008 * dired.c (directory_files_internal, file_name_completion):
7009 Only call ENCODE_FILE if the string is indeed decoded.
7010
70112008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7012
7013 * Makefile.in (TOOLKIT_DEFINES): Remove.
7014 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
7015
70162008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7017
7018 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
7019 (mactoolbox.o): New target.
7020
7021 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
7022 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
7023
7024 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
7025 Use mac_set_frame_window_background instead of XSetWindowBackground.
7026 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
7027 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
7028 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
7029 instead of SetWindowTitleWithCFString.
7030 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
7031 Move function to mactoolbox.c.
7032 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
7033 Use mac_set_window_modified instead of SetWindowModified.
7034 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
7035 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
7036 (Fx_focus_frame): Use mac_front_non_floating_window instead of
7037 FrontNonFloatingWindow. Use mac_activate_window instead of
7038 ActivateWindow. Use mac_active_non_floating_window instead of
7039 ActiveNonFloatingWindow.
7040 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
7041 Use mac_show_hourglass and mac_hide_hourglass.
7042 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
7043 instead of GetGlobalMouse.
7044 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
7045 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
7046 Use mac_bring_window_to_front instead of BringToFront.
7047 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
7048 mactoolbox.c.
7049 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
7050 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
7051 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
7052 mactoolbox.c.
7053
7054 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
7055 (XtPointer): Move typedef from macmenu.c.
7056 (enum button_type): Move enum from macmenu.c.
7057 (widget_value): Move typedef from macmenu.c.
7058 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
7059 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7060 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7061 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7062 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7063 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7064 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7065 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
7066 (Selection): Move typedef from macselect.c.
7067 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
7068 macterm.c.
7069 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
7070 (mac_is_window_collapsed, mac_bring_window_to_front)
7071 (mac_send_window_behind, mac_hide_window, mac_show_window)
7072 (mac_collapse_window, mac_front_non_floating_window)
7073 (mac_active_non_floating_window, mac_activate_window)
7074 (mac_move_window_structure, mac_move_window, mac_size_window)
7075 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
7076
7077 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
7078 (enum mac_menu_kind): Move enum to mactoolbox.c.
7079 (min_menu_id): Move variable to mactoolbox.c.
7080 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
7081 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
7082 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
7083 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
7084 [TARGET_API_MAC_CARBON]: Likewise.
7085 (XtPointer): Move typedef to macgui.h.
7086 (enum button_type): Move enum to macgui.h.
7087 (widget_value): Move typedef to macgui.h.
7088 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7089 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7090 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7091 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7092 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7093 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7094 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7095 (popup_activated_flag): Make variable non-static.
7096 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7097 (add_menu_item, fill_menu, dispose_menus):
7098 Move functions to mactoolbox.c.
7099 (restore_show_help_function, menu_target_item_handler)
7100 (install_menu_target_item_handler, mac_handle_dialog_event)
7101 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7102 [TARGET_API_MAC_CARBON]: Likewise.
7103 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7104 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7105 (find_and_call_menu_selection, name_is_separator): Make function
7106 non-static.
7107 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7108 to mactoolbox.c.
7109 (set_frame_menubar): Don't call install_menu_quit_handler.
7110 (menu_item_selection): New variable.
7111 (mac_menu_show): Use create_and_show_popup_menu.
7112 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7113 selection but set variable menu_item_selection. All uses changed.
7114 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7115 Call install_menu_quit_handler. Move to mactoolbox.c.
7116
7117 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7118 (Selection): Move typedef to macgui.h.
7119 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7120 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7121 Make variables non-static.
7122 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7123 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7124 Make functions non-static.
7125 (Vmac_service_selection) [MAC_OSX]: Likewise.
7126 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7127 (mac_valid_selection_target_p, mac_clear_selection)
7128 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7129 (mac_put_selection_value, mac_selection_has_target_p)
7130 (mac_get_selection_value, mac_get_selection_target_list)
7131 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7132 Move functions to mactoolbox.c.
7133 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7134 Likewise.
7135 (copy_scrap_flavor_data, mac_handle_service_event)
7136 (install_service_handler) [MAC_OSX]: Likewise.
7137 (syms_of_macselect) <Vmac_dnd_known_types>:
7138 Use mac_dnd_default_known_types.
7139
7140 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7141 Move to mactoolbox.c.
7142 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7143 (Fx_selection_owner_p): Add EXFUN.
7144 (install_window_handler, remove_window_handler, XSetWindowBackground):
7145 Remove externs.
7146 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7147 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7148 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7149 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7150 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7151 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7152 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7153 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7154 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7155 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7156 (mac_valid_selection_target_p, mac_clear_selection)
7157 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7158 (mac_put_selection_value, mac_selection_has_target_p)
7159 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7160 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7161 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7162 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7163 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7164 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7165 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7166 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7167 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7168
7169 * mactoolbox.c: New file.
7170
71712008-04-18 Jason Rumney <jasonr@gnu.org>
7172
7173 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7174
71752008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7176
7177 * character.c (Fmultibyte_char_to_unibyte):
7178 Return latin1 chars unchanged.
7179
7180 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7181 relocated if it points to `name'.
7182
71832008-04-17 Kenichi Handa <handa@m17n.org>
7184
7185 * data.c (Faset): Allow setting a multibyte character in an
7186 ASCII-only unibyte string.
7187
7188 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7189
71902008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7191
7192 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7193 done in config.h.
7194
71952008-04-16 Juanma Barranquero <lekktu@gmail.com>
7196
7197 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7198 (Fchar_direction): Add usage in the docstring.
7199
72002008-04-15 Chong Yidong <cyd@stupidchicken.com>
7201
7202 * keyboard.c (read_key_sequence): Remove always-true checks.
7203
72042008-04-14 Jason Rumney <jasonr@gnu.org>
7205
7206 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7207 compatibility struct, for better underline positioning.
7208
72092008-04-13 David Hansen <david.hansen@gmx.net>
7210
7211 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7212 string.
7213
72142008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7215
7216 * m/hp800.h (XUINT, XSET): Remove.
7217
72182008-04-12 Juanma Barranquero <lekktu@gmail.com>
7219
7220 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7221 previous change.
7222
72232008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7224
7225 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7226 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7227
72282008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7229
7230 * keymap.h (map_keymap_canonical): Declare.
7231 * xmenu.c (single_keymap_panes): Use it.
7232
72332008-04-11 Glenn Morris <rgm@gnu.org>
7234
7235 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7236 set the target's value to that of the alias.
7237
72382008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7239
7240 * term.c (set_tty_color_mode): Left over typo.
7241
72422008-04-10 Michael Albinus <michael.albinus@gmx.de>
7243
7244 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7245 only after check for file name handler functions. Signal, when
7246 native functionality is not supported.
7247 (syms_of_fileio): Declare it unconditionally.
7248
72492008-04-10 Jason Rumney <jasonr@gnu.org>
7250
7251 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7252 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7253
7254 * w32.c (logon_network_drive): Also logon to remote drives that
7255 are mapped to drive letters.
7256
72572008-04-10 Glenn Morris <rgm@gnu.org>
7258
7259 * xdisp.c (truncate-partial-width-windows): Doc fix.
7260
72612008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7262
7263 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7264 Move functions to minibuffer.el.
7265 (syms_of_fileio): Don't declare them.
7266
72672008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7268
7269 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7270 (syms_of_minibuf): Remove its initialization.
7271
7272 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7273
72742008-04-09 Juanma Barranquero <lekktu@gmail.com>
7275
7276 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7277
72782008-04-09 Jason Rumney <jasonr@gnu.org>
7279
7280 * makefile.w32-in (distclean): Delete makefile too.
7281 (maintainer-clean): New target.
7282
7283 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7284
7285 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7286 for new font backend and composite cases.
7287
72882008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7289
7290 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7291 Most of the code moved to run_timers.
7292 (do_pending_atimers): Call run_timers.
7293 (run_timers): New function.
7294
7295 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7296 run atimers.
7297
7298 * process.c (wait_reading_process_output): The same as above.
7299
73002008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7301
7302 * minibuf.c (last_exact_completion): Remove variable.
7303 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7304 (complete_and_exit_1, complete_and_exit_2)
7305 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7306 (Fdisplay_completion_list, display_completion_list_1)
7307 (Fminibuffer_completion_help, Fself_insert_and_exit)
7308 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7309 minibuffer.el.
7310 (syms_of_minibuf): Remove corresponding initializations.
7311
7312 * keyboard.c (Qdeactivate_mark): New var.
7313 (command_loop_1): Use it to call `deactivate-mark'.
7314 (syms_of_keyboard): Initialize it.
7315
7316 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7317 to another frame.
7318 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7319 Don't call set_tty_color_mode.
7320 (store_frame_param): Reset previous_frame rather than call
7321 set_tty_color_mode.
7322 * term.c (set_tty_color_mode): Rewrite.
7323 * dispextern.h (set_tty_color_mode): New type.
7324 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7325
73262008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7327
7328 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7329 for generic chars, which do not exist any more in emacs-unicode.
7330
73312008-04-08 Michael Albinus <michael.albinus@gmx.de>
7332
7333 * coding.c (detect_coding_emacs_mule)
7334 (Ffind_operation_coding_system): Fix typo.
7335
73362008-04-08 Jason Rumney <jasonr@gnu.org>
7337
7338 * w32uniscribe.c (SNAME): Extract only symbol name.
7339
7340 * w32font.h (struct w32_metric_cache): New struct.
7341 (w32font_info): Use it.
7342 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7343 (CACHE_BLOCKSIZE): New constants.
7344
7345 * w32font.c (Qja, Qko, Qzh): New symbols.
7346 (syms_of_w32font): Initialise them.
7347 (font_matches_spec): Use them to filter by language.
7348 (recompute_cached_metrics): Remove function.
7349 (compute_metrics, clear_cached_metrics): New functions.
7350 (w32font_encode_char): Use them to manage metric cache.
7351 (w32font_text_extents): Cache metrics for all glyphs on demand.
7352 Delay converting glyph indices to WORD until needed.
7353 (w32font_open_internal): Initialize metric cache to empty.
7354 (registry_to_w32_charset): Charset should always be a symbol.
7355 (fill_in_logfont, list_all_matching_fonts): Family should
7356 always be a symbol.
7357
73582008-04-06 Jason Rumney <jasonr@gnu.org>
7359
7360 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7361 Give up if glyph indices not supported. Use uniscribe obtained
7362 ABC widths for individual metrics. Map glyph clusters back to
7363 characters using fClusterStart flag. Return number of glyphs
7364 produced, not chars processed.
7365 (uniscribe_shape): Map char at FROM to current glyph.
7366
73672008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7368
7369 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7370 Use SetMenuItemHierarchicalMenu.
7371
73722008-04-05 Jason Rumney <jasonr@gnu.org>
7373
7374 * image.c (pbm_load): Allow color values up to 65535.
7375 Throw an error if max_color_idx is outside the supported range.
7376 Report an error when image size is invalid.
7377 Read two bytes at a time when raw images have max_color_idx above 255.
7378
73792008-04-05 Eli Zaretskii <eliz@gnu.org>
7380
7381 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7382 cFileName a file name that includes `?' characters, use the 8+3
7383 alias in cAlternateFileName instead.
7384
73852008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7386
7387 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7388 append "CCL: Quitted" when the CCL program is quitted.
7389 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7390
7391 * ccl.h (struct ccl_program): New member quit_silently.
7392
73932008-04-05 Chong Yidong <cyd@stupidchicken.com>
7394
7395 * search.c (compile_pattern_1): Treat non-nil and non-string of
7396 search-spaces-regexp as nil.
7397
7398 * minibuf.c (Fassoc_string): Tweak docstring.
7399
74002008-04-05 Eli Zaretskii <eliz@gnu.org>
7401
7402 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7403 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7404 2008-03-14 to force inode be positive.
7405
7406 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7407 _S_* ones, since we now use our own sys/stat.h.
7408 (stat, fstat): Don't mangle the inode number.
7409 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7410
74112008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7412
7413 * frame.h (struct frame): Give one more bit to `visible' since we use
7414 values larger than 1 to indicate obscured frames on ttys.
7415
7416 * keymap.c (Qkeymap_canonicalize): New var.
7417 (Fmap_keymap_internal): New fun.
7418 (describe_map): Use keymap-canonicalize.
7419
7420 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7421 (Fundo_boundary): Set them.
7422 (syms_of_undo): Initialize them.
7423 (record_point): Use them instead of last_point_position*.
7424 (last_undo_buffer): Change type.
7425
74262008-04-04 Jason Rumney <jasonr@gnu.org>
7427
7428 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7429 (recompute_cached_metrics): Don't set ascent and descent per char.
7430
7431 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7432 (uniscribe_check_otf): Add GC protection before consing.
7433 Rearrange loop for counting features.
7434
74352008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7436
7437 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7438 buffer with byte-size of source buffer.
7439
74402008-04-03 Chong Yidong <cyd@stupidchicken.com>
7441
7442 * callint.c (Fcall_interactively): Handle temporary region even
7443 when shift-select-mode is off.
7444
74452008-04-03 Jason Rumney <jasonr@gnu.org>
7446
7447 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7448
74492008-04-03 Kenichi Handa <handa@m17n.org>
7450
7451 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7452 (CATEGORY_MASK_UTF_16): Likewise.
7453 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7454 binary file.
7455 (detect_coding): Add null-byte detection for a binary file.
7456 (detect_coding_system): Likewise.
7457
74582008-04-03 Jason Rumney <jasonr@gnu.org>
7459
7460 * w32uniscribe.c: New file.
7461
7462 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7463
7464 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7465
7466 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7467 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7468 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7469 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7470 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7471 (Qphonetic): New symbols.
7472 (syms_of_w32font): Initialize them.
7473 (font_supported_scripts): Use them.
7474 (w32font_list_family): List all charsets.
7475 (w32font_text_extents, recompute_cached_metrics): Fix metric
7476 calculations.
7477 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7478 Give opentype fonts their own format.
7479 (font_matches_spec): New arguments backend and logfont.
7480 Handle :otf spec for uniscribe backend.
7481 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7482 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7483
7484 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7485 font backend.
7486 (globals_of_w32fns): Initialize uniscribe font backend.
7487
7488 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7489 dependencies.
7490 (w32uniscribe.$(O)): New file to build.
7491 (FONT_OBJ): Include w32uniscribe.$(O).
7492 (LIBS): Add uniscribe libraries.
7493
7494 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7495
74962008-04-02 Chong Yidong <cyd@stupidchicken.com>
7497
7498 * callint.c (Vshift_select_mode): New var.
7499 (Finteractive): Document new ^ spec.
7500 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7501 is present.
7502
7503 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7504 (command_loop_1): Avoid running the direct display versions of
7505 forward-char and backward-char if shift-selection may occur.
7506 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7507 shift-translation takes place.
7508
7509 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7510 avoid clobbering by define-minor-mode.
7511
7512 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7513 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7514
7515 * syntax.c (Fforward_word): Add ^ interactive spec.
7516
7517 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7518 (Fscroll_right): Add ^ interactive spec.
7519
75202008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7521
7522 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7523
7524 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7525
7526 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7527
75282008-03-31 Juri Linkov <juri@jurta.org>
7529
7530 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7531
75322008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7533
7534 * gtkutil.c (xg_set_geometry): Fix indentation.
7535 (xg_resize_outer_widget): Remove.
7536 (x_wm_size_hint_off): Fix indentation.
7537 (xg_frame_set_char_size): Call flush_and_sync after
7538 gtk_window_resize.
7539 (x_wm_set_size_hint): Pass NULL as geometry window to
7540 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7541 Add menu bar and tool bar height to base height.
7542 (xg_update_frame_menubar, free_frame_menubar)
7543 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7544 (update_frame_tool_bar, free_frame_tool_bar):
7545 Change xg_resize_outer_widget to xg_frame_set_char_size.
7546
75472008-03-30 Michael Albinus <michael.albinus@gmx.de>
7548
7549 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7550 (Fdbus_call_method): New parameter TIMEOUT.
7551 (dbus-send-signal): Optimize UNGCPRO call.
7552
75532008-03-29 Juri Linkov <juri@jurta.org>
7554
7555 * window.c (Fdisplay_buffer): Move call to
7556 Vsplit_window_preferred_function out of conditions that check
7557 if window is eligible for vertical splitting.
7558 When Vsplit_window_preferred_function is non-nil, call it and use
7559 its non-nil return value as window. Otherwise, continue doing
7560 vertical splitting using Fsplit_window with arg horflag=nil.
7561 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7562 default value from `split-window' to nil.
7563
75642008-03-29 Juri Linkov <juri@jurta.org>
7565
7566 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7567 for interactive code letters 'b' and 'B'.
7568
75692008-03-29 Eli Zaretskii <eliz@gnu.org>
7570
7571 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7572 multibyte string.
7573
75742008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7575
7576 * keyboard.c (pending_funcalls): New var.
7577 (timer_check): Run it.
7578 (syms_of_keyboard): Initialize it.
7579 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7580 (Vdelete_terminal_functions): New vars.
7581 (syms_of_terminal): Initialize them.
7582 (Fdelete_terminal): Run delete-terminal-functions.
7583 * xdisp.c (safe_eval): Rewrite.
7584 (safe_call2): New fun.
7585 * frame.c (Qdelete_frame_functions): New var.
7586 (syms_of_frame): Initialize it.
7587 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7588 * lisp.h (safe_call2, pending_funcalls): Declare.
7589
75902008-03-28 Andreas Schwab <schwab@suse.de>
7591
7592 * indent.c (Fmove_to_column): Move declaration before statements.
7593
75942008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7595
7596 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7597 (struct frame): Use bit fields for boolean vars.
7598
7599 * process.c (server_accept_connection): Simplify naming.
7600 (emacs_get_tty_pgrp): Use SDATA.
7601
7602 * coding.c (decode_coding_object): Fix last change.
7603
76042008-03-27 Jason Rumney <jasonr@gnu.org>
7605
7606 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7607
76082008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7609
7610 * charset.c (Fdefine_charset_internal): Change the way of
7611 registering charsets in Vcharset_order_list.
7612 (syms_of_charset): Make the charset `eight-bit' supplementary.
7613
76142008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7615
7616 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7617 operations, to avoid having the difference between pointers
7618 overflow.
7619
76202008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7621
7622 * indent.c (check_display_width): New fun.
7623 (scan_for_column): Use it.
7624
7625 * data.c (syms_of_data): Mark most-positive-fixnum and
7626 most-negative-fixnum as constants.
7627
7628 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7629
7630 * indent.c (scan_for_column): Extract from current_column_1.
7631 Merge with the same code from Fmove_to_column.
7632 (current_column_1, Fmove_to_column): Use it.
7633
76342008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7635
7636 * keymap.c (map_keymap_internal): New fun.
7637 (map_keymap): Use it.
7638 (Fmap_keymap_internal): New fun.
7639 (Fmap_keymap): Remove left-out test from before make_save_value.
7640
7641 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7642
7643 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7644 Use XCAR/XCDR.
7645
7646 * process.h (struct Lisp_Process): Remove filter_multibyte.
7647 * process.c (QCfilter_multibyte): Remove.
7648 (setup_process_coding_systems): Don't use filter_multibyte.
7649 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7650 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7651 (Fset_process_filter_multibyte): Change the coding-system to
7652 approximate the previous behavior.
7653 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7654 coding-system.
7655
7656 * coding.c (decode_coding_object): When not decoding into a buffer,
7657 obey the coding system's preference of (uni|multi)byte.
7658
76592008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7660
7661 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7662 every char is changed and has a different byte-length.
7663 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7664 Fix int -> EMACS_INT.
7665
76662008-03-23 David Hansen <david.hansen@gmx.net>
7667
7668 * dbusbind.c (xd_read_message): Remove extra copying of message
7669 strings. Check for NULL `interface' or `member'.
7670
76712008-03-22 Eli Zaretskii <eliz@gnu.org>
7672
7673 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7674 cFileName a file name that includes `?' characters, use the 8+3
7675 alias in cAlternateFileName instead.
7676
76772008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7678
7679 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7680
76812008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7682
7683 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7684 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7685 work on current_buffer only instead (that was already the case
7686 for some of the code anyway).
7687 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7688 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7689 (SET_PT, SET_PT_BOTH): Adjust.
7690 * intervals.h (set_point, temp_set_point, set_point_both)
7691 (temp_set_point_both): Remove redundant declarations.
7692
76932008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7694
7695 * fileio.c (Finsert_file_contents):
7696 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7697 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7698 when buffer != current_buffer anyway.
7699
77002008-03-20 Andreas Schwab <schwab@suse.de>
7701
7702 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7703 as default.
7704
77052008-03-19 Jason Rumney <jasonr@gnu.org>
7706
7707 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7708 (syms_of_w32fns): Initialize them.
7709 (HOURGLASS_ID): New constant.
7710 (x_window_to_frame): Don't check hourglass_window.
7711 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7712 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7713 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7714 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7715 Only change the cursor if hourglass is not active.
7716 (Fx_create_frame): Initialize frame's current_cursor.
7717 (hourglass_atimer): Remove.
7718 (hourglass_started): New function.
7719 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7720 (show_hourglass): Adapt to w32, changing argument to frame.
7721
7722 * w32term.h (struct w32_output): Remove hourglass_window.
7723 Add current_cursor.
7724
7725 * eval.c (call_debugger, Fsignal):
7726 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7727 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7728 (Fexecute_extended_command, cancel_hourglass_unwind):
7729 * minibuf.c (read_minibuf):
7730 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7731
77322008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7733
7734 * window.c (run_funs): New fun.
7735 (run_window_configuration_change_hook): Use it to run the buffer-local
7736 and the global part of the hook.
7737
7738 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7739 (unwind_format_mode_line): Restore selected window.
7740 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7741
77422008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7743
7744 * editfns.c (Fchar_equal): Check they are valid characters.
7745
7746 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7747
77482008-03-17 Andreas Schwab <schwab@suse.de>
7749
7750 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7751 against a charset.
7752
7753 * lisp.h (Fbuffer_list): Declare.
7754
77552008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7756
aac0c6e3
MR
7757 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7758 handlebox_widget is != 0.
7759
77602008-03-16 Juri Linkov <juri@jurta.org>
7761
7762 * callint.c (Fcall_interactively): For interactive code letters
7763 'b' and 'B' put the buffer list into the list of default "future"
7764 values of the minibuffer.
7765
77662008-03-16 Andreas Schwab <schwab@suse.de>
7767
7768 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7769 modifiers.
7770
7771 * regex.c (re_match_2_internal): Correct matching of a charset
7772 against latin-1 characters.
7773
77742008-03-16 Kenichi Handa <handa@m17n.org>
7775
7776 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7777 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7778 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7779 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7780 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7781 CHAR_STRING_ADVANCE.
7782 (produce_chars): Fix for the case that the source and the
7783 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7784 instead of CHAR_STRING_ADVANCE.
7785 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7786 STRING_CHAR_ADVANCE.
7787
77882008-03-15 Andreas Schwab <schwab@suse.de>
7789
7790 * regex.c (re_match_2_internal): Correct matching of eight bit
7791 characters in unibyte strings.
7792
77932008-03-15 Martin Rudalics <rudalics@gmx.at>
7794
7795 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7796 at end of range when it coincides with the end of the buffer.
7797
77982008-03-14 Eli Zaretskii <eliz@gnu.org>
7799
7800 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7801
7802 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7803
78042008-03-14 Jason Rumney <jasonr@gnu.org>
7805
7806 * editfns.c (initial_tz): New variable.
7807 (syms_of_editfns): Initialize it.
7808 (Fset_time_zone_rule): Set it when first called.
7809 Use it when TZSTRING is nil.
7810
7811 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7812 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7813 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7814 (globals_of_w32fns): Initialize them.
7815 (compute_tip_xy): Use them to position tooltips.
7816
78172008-03-14 Glenn Morris <rgm@gnu.org>
7818
7819 * emacs.c (main): Revert previous change.
7820 (standard_args): Revert -internal-script back to -scriptload,
7821 and remove the long-option form.
7822
78232008-03-13 Glenn Morris <rgm@gnu.org>
7824
7825 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7826 Remove option -enable-font-backend.
7827
78282008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7829
7830 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7831
78322008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7833
7834 * xterm.c (x_connection_closed): For GTK: If this is the last
7835 terminal just exit without closing the display.
7836
78372008-03-11 Jason Rumney <jasonr@gnu.org>
7838
7839 * w32font.c (w32font_full_name): Use floor to round.
7840
f0131492 78412008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7842
7843 * sound.c (alsa_configure): Declare vol at beginning of block.
7844
7845 * fontset.c (Ffontset_info): Remove extra semicolon.
7846
78472008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7848
7849 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7850 size of resulting string.
7851
78522008-03-10 Jason Rumney <jasonr@gnu.org>
7853
7854 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7855
78562008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7857
7858 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7859 Don't pretend as if characters with display property haven't been
7860 consumed for string-replacing-string case.
7861
78622008-03-08 Kim F. Storm <storm@cua.dk>
7863
7864 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7865 (get_next_display_element, next_element_from_string)
7866 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7867
78682008-03-08 Andreas Schwab <schwab@suse.de>
7869
7870 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7871
78722008-03-06 Jason Rumney <jasonr@gnu.org>
7873
7874 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7875 when charset not specified. Only translate ANSI to unicode when
7876 font_type is truetype.
7877 (w32font_coverage_ok): New function.
7878 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7879
78802008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7881
7882 * lread.c (Fread_char): Resolve modifiers.
7883 (Fread_char_exclusive): Likewise.
7884
7885 * character.c (char_resolve_modifier_mask): New function.
7886 (char_string): Use char_resolve_modifier_mask.
7887 (Fchar_resolve_modifiers): New function.
7888 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7889 function.
7890
78912008-03-04 Jason Rumney <jasonr@gnu.org>
7892
7893 * makefile.w32-in: Always include w32font.c in the build.
7894 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7895
78962008-03-04 Andreas Schwab <schwab@suse.de>
7897
7898 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7899 (versionclean): Likewise.
7900
79012008-03-04 Juanma Barranquero <lekktu@gmail.com>
7902
7903 * .cvsignore: Add oo.
7904
79052008-03-03 Andreas Schwab <schwab@suse.de>
7906
7907 * coding.c (decode_coding_object): Inhibit gap shrinking while
7908 decoding in place.
7909
79102008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7911
7912 * w32term.c: Remove unused include "gnu.h".
7913 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7914
7915 * gnu.h: Rename to ...
7916 * emacs-icon.h: ... this.
7917 * xterm.c: Use emacs-icon.h instead of gnu.h.
7918 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7919
79202008-03-03 Juanma Barranquero <lekktu@gmail.com>
7921
7922 * w32font.c: Include math.h.
7923
79242008-03-03 Jason Rumney <jasonr@gnu.org>
7925
7926 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7927 Compute options separately.
7928 (w32font_open_internal): Set glyph_idx before caching metrics.
7929
7930 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7931 Define if system headers don't.
7932 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7933 (w32font_encode_char): Don't declare here.
7934
7935 * w32font.c (Quniscribe, QCformat): New symbols.
7936 (syms_of_w32font): Define them.
7937 (w32font_has_char): Indicate uncertainty.
7938 (w32font_encode_char): Encode as glyph point. Make static.
7939 (recompute_cached_metrics): New function.
7940 (w32font_open_internal): Use it. Set font to use glyph points
7941 initially. Set format based on type of font.
7942 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7943 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7944 on it. Set format based on information available here.
7945 (add_font_entity_to_list): Identify backend based on opentype_only.
7946
79472008-03-02 Andreas Schwab <schwab@suse.de>
7948
7949 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7950
7951 * coding.c (decode_coding_big5, produce_chars):
7952 Fix typos in last change.
7953
79542008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7955
7956 * gnu.h: New icon.
7957
79582008-03-02 Kenichi Handa <handa@m17n.org>
7959
7960 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7961 `dos', don't decode '\r' if that is the last in the source.
7962 (decode_coding_utf_16, decode_coding_emacs_mule)
7963 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7964 (decode_coding_raw_text, decode_coding_charset): Likewise.
7965 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7966
79672008-03-01 Jason Rumney <jasonr@gnu.org>
7968
7969 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7970
79712008-03-01 Kim F. Storm <storm@cua.dk>
7972
7973 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7974
79752008-03-01 Jason Rumney <jasonr@gnu.org>
7976
7977 * w32font.c (w32font_full_name): New function.
7978 (w32font_open_internal): Use it.
7979
79802008-03-01 Kim F. Storm <storm@cua.dk>
7981
7982 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7983
79842008-03-01 Jason Rumney <jasonr@gnu.org>
7985
7986 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7987
79882008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7989
7990 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7991 xg_frame_resized when the event is for the edit widget.
7992
7993 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7994
7995 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7996 set_char_size.
7997 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7998 operations on widgets here. Just set frame size if needed.
7999 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
8000 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
8001 (x_wm_set_size_hint): Set size hints on the edit widget only, not
8002 the whole frame.
8003 (xg_create_tool_bar): Move attachment of the tool bar to
8004 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
8005 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
8006
80072008-03-01 Jason Rumney <jasonr@gnu.org>
8008
8009 * w32fns.c (w32_msg_pump): Disable debug code.
8010
80112008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8012
8013 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
8014
80152008-02-29 Chong Yidong <cyd@stupidchicken.com>
8016
8017 * xdisp.c (next_overlay_string): Don't set
8018 overlay_strings_at_end_processed_p if we're currently reading from
8019 a display string.
8020
80212008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
8022
8023 * xdisp.c (get_overlay_strings_1): Fix typo.
8024
80252008-02-29 Chong Yidong <cyd@stupidchicken.com>
8026
8027 * xdisp.c (get_overlay_strings_1): Add missing argument type.
8028
80292008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
8030
8031 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
8032
8033 * xdisp.c (display_mode_element): Cancel the previous change.
8034 (decode_mode_spec): Likewise.
8035 (handle_auto_composed_prop): Don't make composition if it->string
8036 is a string.
8037
80382008-02-27 Kim F. Storm <storm@cua.dk>
8039
8040 * lisp.h (GLYPH): Change type from int to struct with separate char
8041 and face_id members.
8042 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
8043 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
8044 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
8045 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
8046 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
8047 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
8048 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
8049 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
8050 handle new Lisp glyph code encoding, either an integer or a cons.
8051
8052 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
8053 (GLYPH_ALIAS): Delete.
8054 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
8055 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
8056 (GLYPH_FROM_CHAR): Replace macro by ...
8057 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
8058
8059 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
8060 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
8061 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
8062 (GLYPH_INVALID_P): New macro.
8063 (spec_glyph_lookup_face): Update prototype.
8064
8065 * dispnew.c (line_draw_cost): Adapt to new glyph type.
8066 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
8067 new glyph code encoding.
8068 (spec_glyph_lookup_face): No return value; update passed glyph instead.
8069 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
8070
8071 * xdisp.c (get_next_display_element, next_element_from_display_vector):
8072 Adapt to new glyph type and new glyph code encoding.
8073
8074 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
8075
8076 * indent.c (current_column, current_column_1, Fmove_to_column)
8077 (compute_motion): Adapt to new glyph code encoding.
8078
8079 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
8080
80812008-02-27 Chong Yidong <cyd@stupidchicken.com>
8082
8083 * process.c (wait_reading_process_output): Check for window
8084 changes caused by timers.
8085 Suggested by Johan Bockgård.
8086
80872008-02-27 Glenn Morris <rgm@gnu.org>
8088
8089 * emacs.c (USAGE1): Add `--disable-font-backend'.
8090
80912008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8092
8093 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8094 is made to the buffer.
8095
80962008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8097
8098 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8099 (face_at_string_position):
8100 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8101 (face_at_string_position):
8102 * xdisp.c (display_string, next_overlay_change):
8103 * buffer.h (overlays_at):
8104 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8105 Update callers.
8106
81072008-02-26 Chong Yidong <cyd@stupidchicken.com>
8108
8109 * editfns.c (Fformat): Doc fix.
8110
81112008-02-26 Juanma Barranquero <lekktu@gmail.com>
8112
8113 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8114 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8115 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8116
81172008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8118
8119 * buffer.c (Fbuffer_swap_text): New function.
8120 (syms_of_buffer): Defsubr it.
8121
81222008-02-25 Chong Yidong <cyd@stupidchicken.com>
8123
8124 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8125
81262008-02-25 Jason Rumney <jasonr@gnu.org>
8127
8128 * w32font.c (w32font_draw): Draw one character at a time when padding.
8129
81302008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8131
8132 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8133 Handle a nil arg. Use run_window_configuration_change_hook.
8134 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8135 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8136 Use run_window_configuration_change_hook.
8137
81382008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8139
8140 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8141 1-pixel width.
8142
81432008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8144
8145 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8146 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8147 if the glyph in the font is zero pixel with.
8148
8149 * dispextern.h (struct glyph_string): New member padding_p.
8150
8151 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8152
8153 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8154
8155 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8156
8157 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8158
8159 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8160
81612008-02-25 Jason Rumney <jasonr@gnu.org>
8162
8163 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8164
81652008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8166
8167 Allow fine-grained image-cache flushing.
8168 * dispextern.h (struct image): Add `dependencies' field.
8169 (clear_image_caches): Change arg to Lisp_Object.
8170 * image.c (make_image): Initialize `dependencies' field.
8171 (clear_image_cache): Change arg to allow fine-grained flushing.
8172 Perform the flush even if image-cache-eviction-delay is nil.
8173 (clear_image_caches): Change arg to Lisp_Object.
8174 (Fclear_image_cache): Expand meaning of the argument.
8175 (mark_image): Mark `dependencies' field.
8176 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8177 (lface_hash): Use XHASH rather than XFASTINT.
8178 (face_at_buffer_position): Fix int -> EMACS_INT position.
8179 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8180 (select_frame_for_redisplay): Remove code duplication.
8181 (redisplay_internal): Adapt arg to call to clear_image_caches.
8182
81832008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8184
8185 * s/vms4-0.h:
8186 * s/vms4-2.h:
8187 * s/vms4-4.h:
8188 * s/vms5-5.h: Remove, unused.
8189
8190 * s/irix5-2.h:
8191 * s/irix6-0.h:
8192 * s/riscos5.h:
8193 * s/mach-bsd4-3.h:
8194 * m/mips4.h: Remove files for obsolete systems.
8195
8196 * Makefile.in:
8197 * filelock.c:
8198 * unexmips.c:
8199 * m/hp9000s300.h:
8200 * m/iris4d.h:
8201 * s/aix3-1.h:
8202 * s/hpux.h:
8203 * s/msdos.h:
8204 * s/usg5-0.h:
8205 * s/usg5-2-2.h:
8206 * s/usg5-2.h:
8207 * s/usg5-3.h: Remove references to obsolete variables.
8208
8209 * s/irix5-0.h: Remove, move all the contents ...
8210 * s/irix6-5.h: ... here. Simplify.
8211 * config.in: Regenerate.
8212
82132008-02-24 Jason Rumney <jasonr@gnu.org>
8214
8215 * w32term.c (x_draw_glyph_string_background): Clear the background
8216 manually when cleartype is in use.
8217 (x_draw_glyph_string_foreground): Draw text transparently when
8218 cleartype is in use.
8219
8220 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8221 a font into it unless we have to.
8222
82232008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8224
8225 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8226 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 8227
aac0c6e3
MR
82282008-02-18 Jason Rumney <jasonr@gnu.org>
8229
8230 * w32fns.c (Fw32_shell_execute): Encode parameters.
8231
82322008-02-09 Eli Zaretskii <eliz@gnu.org>
8233
8234 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8235
82362008-02-05 Juanma Barranquero <lekktu@gmail.com>
8237
8238 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8239
82402008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8241
8242 * xterm.c (x_set_offset): Don't change the gravity if
8243 CHANGE_GRAVITY is -1.
8244
82452008-02-23 Chong Yidong <cyd@stupidchicken.com>
8246
8247 * fileio.c (auto_save_error_occurred): New var.
8248 (auto_save_error): Set it.
8249 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8250 error occurred.
8251
82522008-02-23 Eli Zaretskii <eliz@gnu.org>
8253
8254 * w32.c (globals_of_w32): Add initializations for
8255 g_b_init_get_sid_sub_authority and
8256 g_b_init_get_sid_sub_authority_count.
8257
82582008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8259
8260 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8261 (font_parse_xlfd): Use them for sanity check.
8262 (Finternal_set_font_style_table): Make sure the table is bijective.
8263
8264 Consolidate the image_cache to the terminal struct.
8265 * termhooks.h (P_): Remove redundant def.
8266 (struct terminal): New field `image_cache'.
8267 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8268 of FRAME_X_IMAGE_CACHE.
8269 * xterm.h (struct x_display_info): Remove image_cache field.
8270 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8271 * w32term.h (struct w32_display_info): Remove image_cache field.
8272 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8273 * macterm.h (struct mac_display_info): Remove image_cache field.
8274 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8275 * xterm.c (x_term_init):
8276 * w32term.c (w32_term_init):
8277 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8278 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8279 Remove declarations.
8280 (clear_image_caches, mark_image_cache): New declarations.
8281 * xfaces.c (clear_face_cache):
8282 * xdisp.c (redisplay_internal): Use clear_image_caches.
8283 * image.c (clear_image_cache): Don't check that a frame is on
8284 a window-system before checking if it shares the same cache.
8285 (clear_image_caches): New function.
8286 (Fclear_image_cache): Use it.
8287 (mark_image): Move from allo.c.
8288 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8289 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8290 (mark_object): Don't call mark_image_cache for frames.
8291 (mark_terminals): Call mark_image_cache.
8292
8293 * lisp.h (Fdelete_terminal): Declare.
8294
8295 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8296 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8297 wrong_type_argument.
8298
82992008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8300
8301 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8302 malayalam.el, and tamil.el. Add sinhala.el.
8303
83042008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8305
8306 * xterm.c (x_connection_closed): Consolidate identical tests.
8307 (x_delete_terminal): Don't crash if called via x_connection_closed.
8308
83092008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8310
8311 * xdisp.c (decode_mode_spec): New arg string.
8312 (display_mode_element): Adjust for the above change.
8313
83142008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8315
8316 * callint.c (Fcall_interactively): Use AREF.
8317
83182008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8319
8320 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8321
83222008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8323
8324 * xfns.c (Fx_show_tip): Set string to " " if empty.
8325
83262008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8327
8328 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8329 with Qt.
8330
83312008-02-17 Kenichi Handa <handa@m17n.org>
8332
8333 * ftfont.c (ftfont_shape): Return Lispy number.
8334
8335 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8336 for GCs.
8337 (Finternal_set_font_selection_order): Call font_update_sort_order
8338 only when enable_font_backend is set.
8339 (realize_x_face): Set face->font_info to that of default face only
8340 when enable_font_backend is set.
8341
8342 * xdisp.c (handle_composition_prop): Set it->c to the fist
8343 character of the composed region.
8344 (fill_composite_glyph_string): Set base_face->font_info to
8345 s->font_info. Get a face for ascii from base_face->ascii_face.
8346 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8347 with a face already decided.
8348 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8349 non-negative.
8350 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8351 call font_prepare_composition unconditionally.
8352
8353 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8354
8355 * xterm.h (struct x_display_info): New member font.
8356
8357 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8358 (x_set_mouse_face_gc, x_new_font): Likewise.
8359 (x_term_init): Setup display_info->font.
8360 (x_delete_terminal): Free display_info->font.
8361
8362 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8363
8364 * ftxfont.c (ftxfont_default_fid): Delete it.
8365 (ftxfont_open): Set xfont->fid to 0.
8366 (ftxfont_end_for_frame): Clear data specific to the frame and the
8367 font-driver.
8368
8369 * xftfont.c (xftfont_default_fid): Delete it.
8370 (xftfont_open): Set xfont->fid to 0.
8371
8372 * fontset.c (FONTSET_OBJLIST): New macro.
8373 (fontset_find_font): Update font-object list of the fontset.
8374 (free_realized_fontset): New function.
8375 (free_face_fontset): Call free_realized_fontset.
8376 (Ffont_info): Call font_close_object only when enable_font_backend
8377 is set.
8378
8379 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8380 [HAVE_NTGUI]: Include w32term.h.
8381 [MAC_OS]: Include macterm.ch.
8382 (font_otf_ValueRecord): Use make_number.
8383 (font_finish_cache): Fix handling of reference count.
8384 (font_clear_cache): Update num_fonts.
8385 (font_open_entity): Update smallest_char_width and
8386 smallest_font_height of the frame.
8387 (font_close_object): Update num_fonts.
8388 (Fclear_font_cache): Fix finding the target cache data.
8389
83902008-02-16 Glenn Morris <rgm@gnu.org>
8391
8392 * fontset.c (Finternal_char_font): Fix compilation warning.
8393
83942008-02-16 Eli Zaretskii <eliz@gnu.org>
8395
8396 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8397 instead of char arrays. Enlarge the size of array passed to
8398 get_token_information.
8399
8400 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8401 warnings.
8402
84032008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8404
8405 * .gdbinit: Don't set `args', it breaks gdb --args.
8406
84072008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8408
8409 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8410 within a narrowed buffer.
8411
84122008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8413
8414 * coding.c (decode_coding_object, encode_coding_object):
8415 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8416
84172008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8418
8419 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8420 hardcoding 1.
8421 (detect_coding_system):
8422 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8423 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8424 * insdel.c (insert_from_gap):
8425 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8426 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8427 (string_to_multibyte):
8428 * character.c (chars_in_text, multibyte_chars_in_text):
8429 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8430
8431 * character.h (FETCH_STRING_CHAR_ADVANCE)
8432 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8433 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8434 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8435
8436 * casefiddle.c (casify_region): Only call after-change and composition
8437 functions on the part of the region that was changed.
8438
8439 * keyboard.c (read_avail_input):
8440 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8441
84422008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8443
8444 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8445 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8446
84472008-02-11 Juanma Barranquero <lekktu@gmail.com>
8448
8449 * w32menu.c (push_submenu_start, push_submenu_end)
8450 (push_left_right_boundary, push_menu_pane, push_menu_item):
8451 * keyboard.c (read_key_sequence): Don't pass args with side effects
8452 to AREF, it fails when compiling with -DENABLE_CHECKING.
8453
84542008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8455
8456 * Makefile.in (${lispsource}international/charprop.el):
8457 Delete this target.
8458
8459 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8460 emacs-unicode-2.
8461
84622008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8463
8464 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8465
84662008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8467
8468 * frame.c (Qnoelisp): New symbol.
8469 (syms_of_frame): Initialize it.
8470 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8471 harmless Elisp code, from a strong `force' from x_connection_closed.
8472 * frame.h (Qnoelisp): Declare.
8473 * xterm.c (x_connection_closed): Pass `noelisp'.
8474
8475 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8476 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8477 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8478 rather than `int' for the type of `type'.
8479
84802008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8481
8482 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8483
8484 * Makefile.in (GNUC): Remove support for gcc-1.x.
8485
84862008-02-10 Richard Stallman <rms@gnu.org>
8487
8488 * lisp.h (ASET): Use AREF, not ASLOT.
8489
84902008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8491
8492 * lisp.h (ASET): Check bounds.
8493
84942008-02-10 Glenn Morris <rgm@gnu.org>
8495
8496 * buffer.c (mode-name): Doc fix.
8497
84982008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8499
8500 * Makefile.in:
8501 * emacs.c:
8502 * gmalloc.c:
8503 * keyboard.c:
8504 * lisp.h:
8505 * m/ibm370aix.h:
8506 * process.c:
8507 * regex.c:
8508 * s/hpux.h:
8509 * sysdep.c:
8510 * sysselect.h:
8511 * systty.h:
8512 * unexec.c:
8513 * w32term.c:
8514 * xsmfns.c:
8515 * xterm.c: Remove code that deals with obsolete variables.
8516
8517 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8518
8519 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8520 nothing else needs it anymore.
8521
85222008-02-09 Eli Zaretskii <eliz@gnu.org>
8523
8524 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8525 instead of unibyte_char_to_multibyte.
8526
85272008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8528
8529 * s/gnu-linux.h: Remove commented out code.
8530
8531 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8532
8533 * Makefile.in: Update what RMS says about using autoconf.
8534 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8535 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8536 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8537 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8538
85392008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8540
8541 * keymap.c (Fkey_description): Move side effect outside of macro call.
8542
8543 * xfaces.c (Finternal_make_lisp_face):
8544 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8545
8546 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8547 (syms_of_fontset): Use ASET.
8548
8549 * fns.c (concat): Move side effect outside of macro call.
8550 (hash_clear): Use ASET.
8551
85522008-02-08 Richard Stallman <rms@gnu.org>
8553
8554 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8555 If FORCE, and frame has a surrogate minibuffer for another frame,
8556 delete the other frame first.
8557
85582008-02-07 Timo Savola <timo.savola@iki.fi>
8559
8560 * xterm.c (x_detect_focus_change): Handle embed client message.
8561 (handle_one_xevent): Ditto.
8562 (handle_one_xevent): If embedded and we get a button press/release,
8563 request focus.
8564 (xembed_set_info, xembed_send_message): New functions.
8565 (x_make_frame_visible): Call xembed_set_info if embedded.
8566 (x_make_frame_invisible): Call xembed_set_info if embedded.
8567 (x_term_init): Initialize Xatom_XEMBED.
8568 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8569 (x_iconify_frame): Ditto.
8570
8571 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8572 (enum xembed_info, enum xembed_message, enum xembed_focus)
8573 (enum xembed_modifier, enum xembed_accelerator): New.
8574 (xembed_set_info, xembed_send_message): Declare.
8575 (FRAME_X_EMBEDDED_P): New.
8576
8577 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8578 gtk_plug_new.
8579
8580 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8581 window ID of a frame.
8582 (x_window): Reparent frame if embedded.
8583 (Fx_create_frame): Don't set border width if embedded.
8584
8585 * emacs.c (USAGE3): Add --parent-id.
8586 (standard_args): Ditto.
8587
85882008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8589
8590 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8591
85922008-02-07 Jim Meyering <meyering@redhat.com>
8593
8594 Use "do...while (0)", not "if (1)...else" in macro definitions.
8595 The latter provokes a warning from gcc about the empty else, when
8596 followed by ";". Also, without that trailing semicolon, it would
8597 silently swallow up any following statement.
8598 * syntax.h (SETUP_SYNTAX_TABLE)
8599 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8600 * buffer.h (DECODE_POSITION): Likewise.
8601 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8602 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8603 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8604 (FETCH_CHAR_ADVANCE): Likewise.
8605 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8606
86072008-02-07 Jim Meyering <meyering@redhat.com>
8608
8609 * lread.c [lint]: Don't include <sys/inode.h>.
8610
86112008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8612
8613 * xselect.c (x_handle_dnd_message):
8614 * xmenu.c (digest_single_submenu, xmenu_show):
8615 * xdisp.c (with_echo_area_buffer_unwind_data)
8616 (format_mode_line_unwind_data, unwind_format_mode_line)
8617 (display_menu_bar):
8618 * eval.c (Ffetch_bytecode):
8619 * doc.c (store_function_docstring):
8620 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8621 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8622 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8623
86242008-02-07 Kenichi Handa <handa@m17n.org>
8625
8626 * ftxfont.c (ftxfont_open): Don't set
8627 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8628
8629 * ftfont.c (ftfont_open): Fix previous change.
8630
86312008-02-06 Jason Rumney <jasonr@gnu.org>
8632
8633 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8634 Use cached metrics for ASCII characters.
8635 (w32font_open_internal): Don't set font's owning_frame.
8636 Cache metrics for ASCII characters.
8637
8638 * w32font.h (struct w32font_info): Add ascii_metrics.
8639 Remove owning_frame.
8640
86412008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8642
8643 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8644 to negative value.
8645
8646 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8647
8648 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8649
8650 * charset.c (syms_of_charset): Set QCtest and Qeq.
8651
86522008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8653
8654 * process.c (Fstart_process):
8655 * callproc.c (Fcall_process): Handle the case where
8656 Funhandled_file_name_directory returns nil.
8657
8658 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8659 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8660 * font.c (check_gstring): Use them and AREF to access the vector before
8661 we know it's really a gstring.
8662 (Ffont_shape_text): Fix typo.
8663 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8664
8665 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8666 Declare.
8667
8668 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8669
86702008-02-05 Jason Rumney <jasonr@gnu.org>
8671
8672 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8673 Set smallest_font_height and smallest_char_width in display info.
8674
86752008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8676
8677 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8678
86792008-02-05 Miles Bader <miles@gnu.org>
8680
8681 * xfaces.c (get_lface_attributes, merge_named_face)
8682 (lookup_named_face, lookup_derived_face, realize_named_face):
8683 Revert 2008-02-01 change by cyd@stupidchicken.com.
8684
86852008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8686
8687 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8688 fallback fonts.
8689 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8690
86912008-02-04 Jason Rumney <jasonr@gnu.org>
8692
8693 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8694 set full_name.
8695 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8696
86972008-02-03 Jason Rumney <jasonr@gnu.org>
8698
8699 * makefile.w32-in (OBJ1): Include font.o here.
8700 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8701
87022008-02-02 Jason Rumney <jasonr@gnu.org>
8703
8704 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8705
87062008-02-01 Jason Rumney <jasonr@gnu.org>
8707
8708 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8709
8710 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8711
87122008-02-01 Andreas Schwab <schwab@suse.de>
8713
8714 * Makefile.in (shortlisp, lisp): Update for rename of
8715 ../lisp/language/myanmar.el.
8716
87172008-02-01 Chong Yidong <cyd@stupidchicken.com>
8718
8719 * xfaces.c (get_lface_attributes): Delete function.
8720 (merge_named_face, lookup_named_face, lookup_derived_face)
8721 (realize_named_face): Call lface_from_face_name directly, and use
8722 the fact that merge_face_vectors does not alter its FROM argument.
8723
87242008-02-01 Jason Rumney <jasonr@gnu.org>
8725
8726 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8727 input in the default locale. Handle non-Unicode multibyte input.
8728
87292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8730
8731 * fontset.c (reorder_font_vector): Exclude nil elements from the
8732 font group. Don't try multiple fonts.
8733 (fontset_font): Adjust for the above change.
8734 (Finternal_char_font): Return nil if the found font doesn't
8735 contain the character ch.
8736
8737 * Makefile.in (lisp, shortlisp): Add cham.el.
8738
87392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8740
8741 * font.h (FONTP): Make it return 1 also for a font-object.
8742
8743 * .gdbinit (xfontset): New function.
8744
8745 * font.c (font_find_for_lface): Check if the character C is
8746 supported or not only for the first font.
8747
8748 * fontset.c (reorder_font_vector): Fix typo.
8749 (fontset_find_font): Don't add a font-spec specifying a script.
8750 Use 0 (not Qt) for the indication of empty font-group. Change the
8751 format of RFONT-DEF. Return Qt if no font in the font-group
8752 support the character.
8753 (fontset_font): Adjust for the above change. If no font was
8754 found the character, remember that.
8755 (face_for_char): Adjust for the change of RFONT-DEF.
8756 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8757 no font for the target.
8758 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8759
87602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8761
8762 * font.c (font_load_for_face): Handle the case that the font in
8763 face->lface is a string.
8764
87652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8766
8767 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8768
87692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8770
8771 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8772 Fix previous change. If the frame is not on a window system,
8773 signal an error.
8774
87752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8776
8777 * coding.c (decode_coding_object, encode_coding_object): Adjust
8778 marker positions after conversion.
8779
8780 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8781
87822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8783
8784 * font.c (font_find_for_lface): Fix the handling of the return
8785 value of font_has_char.
8786 (Ffont_shape_text): Fix previous change.
8787
8788 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8789 (fontset_ref_and_range): Delete it.
8790 (fontset_find_font): Call char_table_ref_and_range instead of
8791 FONTSET_REF_AND_RANGE.
8792 (make_fontset): Don't setup font groups of Latin here.
8793 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8794 (new_fontset_from_font): Make the specified font the default for
8795 all Latin characters.
8796
87972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8798
8799 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8800 is on a window system before accessing the fontset of the frame.
8801
88022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8803
8804 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8805
8806 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8807 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8808
8809 * font.c (Ffont_shape_text): If the font driver doesn't have a
8810 shaper function, make zero-width glyphs to have at least one-pixel
8811 width. Fix setting of `to' field of glyphs.
8812
88132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8814
8815 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8816 glyphs.
8817
8818 * font.h (struct font_driver): Improve docstring of member `shape'.
8819
88202008-02-01 Kenichi Handa <handa@m17n.org>
8821
8822 * composite.c (syms_of_composite): Fix docstring of
8823 auto-composition-function.
8824
8825 * font.h (LGLYPH_SIZE): New macro.
8826
8827 * font.c (Ffont_fill_gstring): Stop filling when a character not
8828 supported by the font is found.
8829 (Ffont_shape_text): When a shape callback function returns nil,
8830 try at most two more times with larger gstring.
8831 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8832
8833 * xdisp.c (handle_auto_composed_prop): Change the argument to
8834 auto-composition-function.
8835
8836 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8837 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8838 Lispy glyph and store it in the lgstring.
8839
8840 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8841
8842 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8843
88442008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8845
8846 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8847
8848 * fontset.c (Vfont_encoding_charset_alist): New variable.
8849 (syms_of_fontset): DEFVAR it.
8850 (reorder_font_vector, fontset_find_font): Optimize for the case of
8851 no need of reordering.
8852 (face_for_char): Map the charset property by
8853 Vfont_encoding_charset_alist.
8854
88552008-02-01 Jason Rumney <jasonr@gnu.org>
8856
8857 * w32font.c (logfonts_match): Don't check adstyle here.
8858 (font_matches_spec): Check here against physical font instead.
8859 (add_font_entity_to_list): Avoid some substitutions.
8860
8861 * font.c (font_parse_fcname): Default weight and slant to normal.
8862 (font_score): Prefer normal fonts if weight or slant unspecified.
8863 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8864 match freetype scores.
8865
88662008-02-01 Jason Rumney <jasonr@gnu.org>
8867
8868 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8869 font, as it may have been deleted.
8870 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8871 most common hyphenless variation.
8872 (logfonts_match): Check generic family.
8873 (font_matches_spec): Don't check generic family here.
8874 (fill_in_logfont): Set generic family based on adstyle.
8875
8876 * w32font.h (w32font_get_cache): Update declaration.
8877
88782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8879
8880 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8881
8882 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8883 If none of the new drivers are available, call font_update_drivers
8884 with the old drivers.
8885
8886 * w32font.c (w32font_get_cache): Adjust the argument type.
8887
8888 * xfont.c (xfont_get_cache): Adjust the argument type.
8889
8890 * font.h (struct font_driver): Change argument type of get_cache.
8891
8892 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8893
8894 * font.c (Ffont_get): Fix arguments to Fassoc.
8895 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8896 (font_clear_cache): New function.
8897 (font_list_entities, font_matching_entity): Use font_get_cache.
8898 (font_update_drivers): Call font_clear_cache when finishing a driver.
8899
8900 * fontset.c (fontset_find_font): Fix previous change.
8901
89022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8903
8904 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8905 dpyinfo->font_table.
8906 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8907 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8908
8909 * font.c (font_at): Handle the case that the arg C is negative.
8910 Handle the unibyte case.
8911 (Ffont_at): Call font_at with the arg C -1.
8912
8913 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8914 the position here, and call font_at with the arg C -1.
8915 Don't check the range of the existing composition at the point.
8916
89172008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8918
8919 * fontset.c (fontset_add): New args charset_id and family.
8920 Change caller.
8921 (load_font_get_repertory, fontset_find_font): Assume that
8922 font_spec is always a font-spec object.
8923 (Fset_fontset_font): Always store a font-spec object in a fontset.
8924
8925 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8926 instead of get_property_and_range.
8927
89282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8929
8930 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8931 (xftfont_open): Don't keep locking face.
8932 (xftfont_close): Don't unlock face.
8933 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8934
8935 * fontset.c (fontset_find_font): Don't prefer a font of
8936 supplementary charset.
8937
89382008-02-01 Kenichi Handa <handa@m17n.org>
8939
8940 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8941 script, langsys_tag to langsys, new member script.
8942 (OTF_TAG_STR): Terminate by '\0'.
8943 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8944 listing to the script specified in that property. Fix arg to
8945 OTF_check_features.
8946
89472008-02-01 Jason Rumney <jasonr@gnu.org>
8948
8949 * w32font.h: New file.
8950
8951 * w32font.c: Include it.
8952 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8953 (w32font_open): Set owning_frame.
8954 (w32font_text_extents): Use owning_frame.
8955 (struct font_callback_data): Add opentype_only field.
8956 (add_font_entity_to_list): Use it to filter fonts.
8957 Don't check against full name.
8958 (w32font_list_internal): New function.
8959 (w32font_list): Use it.
8960 (w32font_match_internal): New function.
8961 (w32font_match): Use it.
8962 (w32font_open_internal): New function.
8963 (w32font_open): Use it.
8964 (w32font_get_cache, w32font_close, w32font_has_char)
8965 (w32font_encode_char, w32font_text_extents, w32font_draw):
8966 Make non-static.
8967
8968 * makefile.w32-in (w32font.o): Depend on w32font.h.
8969
89702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8971
8972 * charset.c (Fdefine_charset_internal): Record a supplementary
8973 charset at the tail of Vcharset_order_list.
8974
8975 * font.c (Ffont_shape_text): Fix the return value.
8976
8977 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8978
8979 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8980
89812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8982
8983 * ftfont.c (struct OpenTypeSpec): New struct.
8984 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8985 (ftfont_get_open_type_spec): New function.
8986 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8987
8988 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8989
89902008-02-01 Jason Rumney <jasonr@gnu.org>
8991
8992 * w32font.c (add_font_entity_to_list): Compare only the beginning
8993 of full name.
8994
89952008-02-01 Kenichi Handa <handa@m17n.org>
8996
8997 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8998 Never return HANDLED_RECOMPUTE_PROPS.
8999
90002008-02-01 Kenichi Handa <handa@m17n.org>
9001
9002 * font.c (font_gstring_produce): Delete it.
9003
9004 * composite.h (COMPOSITION_METHOD):
9005 Handle COMPOSITION_WITH_GLYPH_STRING.
9006
90072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9008
9009 * xfont.c (Qx): Delete.
9010 (syms_of_xfont): Don't initialize Qx.
9011
9012 * composite.h (enum composition_method):
9013 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
9014
90152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9016
9017 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
9018 (choose_face_font): Accept new form of font-spec.
9019
9020 * frame.h (font_driver_list): Declare it unconditionally.
9021 (struct frame): Define members font_driver_list and font_data_list
9022 unconditionally.
9023
9024 * fontset.c: Include "font.h" unconditionally.
9025 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
9026 (Fset_fontset_font): Accept a font-spec object.
9027
9028 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
9029 PIXEL_SIZE part a wild card.
9030
9031 * dispextern.h (struct glyph_string): Define members clip and
9032 num_clips unconditionally.
9033 (struct face): Define members font_info and extra unconditionally.
9034
9035 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
9036 ftfont_info only when HAVE_LIBOTF is defined.
9037
90382008-02-01 Andreas Schwab <schwab@suse.de>
9039
9040 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
9041 and end.
9042
90432008-02-01 Jason Rumney <jasonr@gnu.org>
9044
9045 * w32font.c (w32font_driver): Add new fields.
9046
90472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9048
9049 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
9050 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
9051 (LIBES): Add @M17N_FLT_CFLAGS@.
9052
9053 * composite.c (compose_text): Don't treat the new style
9054 composition specially.
9055
9056 * emacs.c (main): Call syms_of_font unconditionally.
9057
9058 * font.h (FONT_ENTITY_NOT_LOADABLE)
9059 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
9060 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
9061 (struct font_driver): New member shape.
9062 (font_registry_charsets): Extern it.
9063 (font_find_for_lface, font_prepare_composition): Adjust prototype.
9064 (font_otf_capability, font_drive_otf): Delete their externs.
9065
9066 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
9067 (font_charset_alist, font_registry_charsets): Move from xfont.c
9068 and rename.
9069 (font_prop_validate_otf): New function.
9070 (font_property_table): Register it for QCotf.
9071 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
9072 (font_drive_otf): Delete.
9073 (font_prepare_composition): New arg F. Adjust for the change of
9074 lispy gstring.
9075 (font_find_for_lface): New arg C.
9076 (font_load_for_face): Adjust for the change of font_find_for_lface.
9077 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
9078 lispy gstring.
9079 (Ffont_shape_text): New function.
9080 (Fopen_font): If the font size is not given, use 12-pixel.
9081 (Ffont_at): New arg STRING.
9082 (syms_of_font): Initalize font_charset_alist.
9083 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
9084 conditionally.
9085
9086 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
9087 fonts of the same font-spec. Change the format of RFONT-DEF.
9088 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
9089 Adjust for the change of RFONT-DEF.
9090 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
9091
9092 * ftfont.h: New file.
9093
9094 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9095 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9096 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9097 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9098 font_otf_capability and font_drive_otf, set ftfont_shape.
9099 (ftfont_list): Adjust for the change of :otf property value.
9100 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9101 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9102 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9103 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9104 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9105 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9106
9107 * w32term.c (x_draw_composite_glyph_string_foreground):
9108 Adjust for the change of lispy gstring.
9109
9110 * xdisp.c (handle_composition_prop): Adjust for the change of
9111 lispy gstring. Call a function for auto-composition with the
9112 third arg it->window.
9113 (fill_composite_glyph_string): Adjust for the change of lispy string.
9114 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9115
9116 * xfaces.c (set_font_frame_param): Adjust for the change of
9117 font_find_for_lface.
9118
9119 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9120 (xfont_registry_charsets): Likewise. Change caller.
9121 (syms_of_xfont): Don't handle x_font_charset_alist.
9122
9123 * xftfont.c: Include "ftfont.h".
9124 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9125 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9126 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9127 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9128 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9129 Set xftfont_driver.shape to xftfont_shape.
9130
9131 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9132 the change of lispy gstring.
9133
91342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9135
9136 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9137
91382008-02-01 Jason Rumney <jasonr@gnu.org>
9139
9140 * w32font.c (w32font_draw): Fill background manually.
9141
91422008-02-01 Jason Rumney <jasonr@gnu.org>
9143
9144 * font.c (Qfontp): Remove unused symbol.
9145 (QCantialias): New symbol.
9146 (syms_of_font): Define it.
9147 (font_property_table): Set a validator for QCantialias.
9148
9149 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9150 Define if not already.
9151 (QCfamily): Share with xfaces.c.
9152 (Qstandard, Qsubpixel, Qnatural): New symbols.
9153 (syms_of_w32font): Define them. Don't define QCfamily here.
9154 (w32_antialias_type, lispy_antialias_type): New functions.
9155 (w32_enumfont_pattern_entity): New arg requested_font.
9156 Set antialias parameter if non-default was requested.
9157 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9158
91592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9160
9161 * lread.c (read1): Undo the previous change.
9162
91632008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9164
9165 * frame.c (Fdelete_frame): Call font_update_drivers only when
9166 USE_FONT_BACKEND is defined.
9167
91682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9169
9170 * font.h (struct font_bitmap): New member bits_per_pixel.
9171 (struct font_driver): New members start_for_frame and end_for_frame.
9172 (struct font_data_list): New struct.
9173 (font_put_frame_data, font_get_frame_data): Extern them.
9174
9175 * frame.h (struct frame): New member font_data_list.
9176
9177 * font.c (font_update_drivers): Call driver->start_for_frame and
9178 driver->end_for_frame at proper timings.
9179 (font_put_frame_data, font_get_frame_data): New functions.
9180 (Ffont_spec): Add usage in the docstring.
9181
9182 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9183 (Fdelete_frame): Call font_update_drivers.
9184
9185 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9186 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9187 (xftfont_get_xft_draw): New function.
9188 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9189 (xftfont_end_for_frame): New function.
9190 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9191
9192 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9193 Change argument. Cache GCs in the per-frame data.
9194 (struct ftxfont_frame_data): New struct.
9195 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9196 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9197 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9198 (ftxfont_end_for_frame): New function.
9199 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9200
9201 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9202
92032008-02-01 Kenichi Handa <handa@m17n.org>
9204
9205 * xselect.c (Vselection_coding_system)
9206 (Vnext_selection_coding_system): Delete them.
9207 (syms_of_xselect): Don't declare selection-coding-system and
9208 next-selection-coding-system. They are declared in select.el.
9209
92102008-02-01 Jason Rumney <jasonr@gnu.org>
9211
9212 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9213
9214 * w32fns.c: Include imm.h.
9215 (get_composition_string_fn, get_ime_context_fn): New optional
9216 system functions.
9217 (globals_of_w32fns): Load them from imm32.dll.
9218 (ignore_ime_char): New flag.
9219 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9220 WM_IME_ENDCOMPOSITION messages.
9221
9222 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9223 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9224
92252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9226
9227 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9228 (READCHAR_REPORT_MULTIBYTE): New macro.
9229 (readchar): New 2nd arg MULTIBYTE.
9230 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9231 Make symbol's name multibyte according to the multibyteness of the
9232 source.
9233
92342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9235
9236 * xfaces.c (face_for_overlay_string): Call lookup_face with
9237 correct arguments (fix of synching with the trunk).
9238
92392008-02-01 Kenichi Handa <handa@m17n.org>
9240
9241 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9242 (font_prop_validate_non_neg, font_prop_validate_spacing):
9243 Delete argument prop_index.
9244 (font_property_table): Change arguments to validater. Change Callers.
9245 (font_lispy_object): Delete.
9246 (font_at): Use font_find_object instead fo font_lispy_object.
9247
92482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9249
9250 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9251 and file names.
9252
92532008-02-01 Jason Rumney <jasonr@gnu.org>
9254
9255 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9256 (font_matches_spec): Remove debug output.
9257 (add_font_entity_to_list): Avoid using substituted fonts.
9258
92592008-02-01 Jason Rumney <jasonr@gnu.org>
9260
9261 * doc.c (Fsnarf_documentation):
9262 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9263
92642008-02-01 Miles Bader <miles@gnu.org>
9265
9266 * dispextern.h (struct glyph_row): Only define "clip" field if
9267 HAVE_WINDOW_SYSTEM is defined.
9268
92692008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9270
9271 Fix up multi-tty merge.
9272
9273 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9274 and indentation.
9275
9276 * xfaces.c (free_realized_face, clear_face_gcs):
9277 Include font_done_for_face in the input_blocked section, just in case.
9278
9279 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9280 (get_char_face_and_encoding): Undo last change and remove the *other*
9281 duplicate definition (i.e. keep the one that's better scoped and that
9282 includes code for the font-backend).
9283
9284 * terminal.c (create_terminal): Default keyboard_coding to
9285 `no-conversion' and terminal_coding to `undecided'.
9286
9287 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9288
9289 * fontset.c (free_realized_fontsets): Check that the table entry does
9290 contain a fontset before trying to compare it to `base'.
9291
9292 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9293 syms_of_charset, and syms_of_coding earlier because init_window_once
9294 now needs Vcoding_system_hash_table to be setup.
9295
9296 * coding.h (default_buffer_file_coding): Remove.
9297
9298 * coding.c (default_buffer_file_coding): Remove.
9299 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9300 than ->symbol, and use the terminal-local coding system.
9301 (syms_of_coding): Don't setup the coding-systems that are not
9302 terminal-local.
9303 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9304
9305 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9306 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9307
9308 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9309 in chartab.c and were re-added here by mistake.
9310 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9311
9312 * doc.c (Fsnarf_documentation):
9313 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9314 src to etc.
9315
9316 * ChangeLog.10: Add mistakenly removed entry.
9317
93182008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9319
9320 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9321
93222008-02-01 Miles Bader <miles@gnu.org>
9323
9324 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9325 Add extra args to FACE_FOR_CHAR.
9326
93272008-02-01 Kenichi Handa <handa@m17n.org>
9328
9329 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9330 in sequence.
9331
9332 * chartab.c (map_sub_char_table, map_char_table): If the range
9333 contains just one character, call the function with that character
9334 even if the depth is not 3.
9335
93362008-02-01 Jason Rumney <jasonr@gnu.org>
9337
9338 * w32font.c (w32font_text_extents): Calculate metrics for the
9339 whole string.
9340
93412008-02-01 Jason Rumney <jasonr@gnu.org>
9342
9343 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9344
93452008-02-01 Jason Rumney <jasonr@gnu.org>
9346
9347 * w32term.c (x_set_glyph_string_clipping): Use
9348 get_glyph_string_clip_rects.
9349 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9350 Adjust for the change of struct glyph_string.
9351
9352 * w32font.c (w32font_draw): Do clipping here.
9353
93542008-02-01 Kenichi Handa <handa@m17n.org>
9355
9356 * xftfont.c (xftfont_draw): Adjust for the change of struct
9357 glyph_string.
9358
9359 * xterm.c (x_set_glyph_string_clipping): Use
9360 get_glyph_string_clip_rects.
9361 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9362 Adjust for the change of struct glyph_string.
9363
9364 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9365 the resulting clip(s}.
9366 (expose_overlaps): Add arg r. Change callers. Set it to
9367 row->clip temporarily.
9368 (expose_window): Redraw rows overlapping the exposed area.
9369
9370 * dispextern.h (struct glyph_row): New member clip.
9371 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9372 clip_height, new member clip, and num_clips.
9373
93742008-02-01 Kenichi Handa <handa@m17n.org>
9375
9376 * data.c (Fchar_or_string_p): Fix docstring.
9377
93782008-02-01 Kenichi Handa <handa@m17n.org>
9379
9380 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9381 create a temporary XftDraw object.
9382
93832008-02-01 Kenichi Handa <handa@m17n.org>
9384
9385 * font.c (Ffontp): Fix docstring.
9386
9387 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9388 strong evidence of ISO-2022.
9389
93902008-02-01 Kenichi Handa <handa@m17n.org>
9391
9392 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9393 SYNTAX_ENTRY_FOLLOW_PARENT.
9394
93952008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9396
9397 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9398 its type.
9399 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9400 Update to the new type of weak_hash_tables and next_weak.
9401
9402 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9403 a plain C pointer to Lisp_Hash_Table.
9404
9405 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9406 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9407 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9408 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9409 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9410 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9411 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9412 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9413 (GC_EQ): Remove since they've been identical to their non-GC_
9414 alter-egos ever since the markbit was eradicated.
9415
9416 * alloc.c:
9417 * buffer.c:
9418 * buffer.h:
9419 * data.c:
9420 * fileio.c:
9421 * filelock.c:
9422 * fns.c:
9423 * frame.h:
9424 * lisp.h:
9425 * macterm.c:
9426 * print.c:
9427 * process.c:
9428 * w32fns.c:
9429 * w32menu.c:
9430 * w32term.c:
9431 * xfns.c:
9432 * xmenu.c:
9433 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9434
94352008-02-01 Kenichi Handa <handa@m17n.org>
9436
9437 * chartab.c (map_sub_char_table): Make it work for the top-level
9438 char-table. Fix handling of parent char-table.
9439 (map_char_table): Adjust for the above change.
9440
94412008-02-01 Jason Rumney <jasonr@gnu.org>
9442
9443 * w32font.c (Qgdi): Rename from Qw32.
9444
94452008-02-01 Jason Rumney <jasonr@gnu.org>
9446
9447 * w32bdf.c (get_quoted_string): Make function static.
9448
94492008-02-01 Kenichi Handa <handa@m17n.org>
9450
9451 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9452 bigger ascent and descent than those of the font, use them as
9453 font's ascent and descent.
9454
94552008-02-01 Kenichi Handa <handa@m17n.org>
9456
9457 * Makefile.in (${lispsource}international/charprop.el): Move this
9458 target within "#ifdef HAVE_UNIDATA" and "#endif".
9459
94602008-02-01 Kenichi Handa <handa@m17n.org>
9461
9462 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9463 (shortlisp): Add ../lisp/language/tai-viet.el.
9464
94652008-02-01 Ulrich Mueller <ulm@gentoo.org>
9466
9467 * Makefile.in (${lispsource}international/charprop.el): Depend on
9468 temacs${EXEEXT}.
9469
94702008-02-01 Jason Rumney <jasonr@gnu.org>
9471
9472 * w32font.c (w32font_close): Delete the GDI font object.
9473
9474 * w32menu.c: Include character.h.
9475
9476 * w32proc.c: Likewise.
9477
9478 * w32select.c: Likewise.
9479
9480 * makefile.w32-in (w32proc.o): Depend on character.h.
9481
94822008-02-01 Jason Rumney <jasonr@gnu.org>
9483
9484 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9485
9486 * w32menu.c (syms_of_w32menu): Likewise.
9487
9488 * w32proc.c (syms_of_ntproc): Likewise.
9489
9490 * w32select.c (syms_of_w32select): Likewise.
9491
9492 * w32term.c (syms_of_w32term): Likewise.
9493
94942008-02-01 Jason Rumney <jasonr@gnu.org>
9495
9496 * w32font.c (w32font_draw): Delete brush after using it.
9497
94982008-02-01 Jason Rumney <jasonr@gnu.org>
9499
9500 * w32font.c (w32font_open): Don't set font_idx.
9501 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9502 to font settings.
9503 (w32font_draw): Fill background explicitly.
9504
95052008-02-01 Jason Rumney <jasonr@gnu.org>
9506
9507 * w32term.c (w32_initialize): Don't call w32font_initialize.
9508
9509 * w32font.c (w32font_info): Remove subranges.
9510 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9511 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9512 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9513 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9514 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9515 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9516 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9517 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9518 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9519 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9520 New symbols.
9521 (font_callback_data): New struct.
9522 (w32font_list, w32font_match): Use it.
9523 (w32font_open): Don't populate subranges.
9524 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9525 (w32font_encode_char): Always return unicode code-point as-is.
9526 (w32font_text_extents): Supply a transformation matrix to
9527 GetGlyphOutline. Never look up by glyph index. Avoid looping
9528 twice. Use unicode version of GetTexExtentPoint32 instead of
9529 glyph index version.
9530 (set_fonts_frame): Remove.
9531 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9532 set frame parameter. Use backward compatible fake foundries.
9533 Save generic family in extra slot under QCfamily. Make width slot
9534 constant. Save QCspacing value. Save list of scripts instead of
9535 binary subranges.
9536 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9537 (add_font_entity_to_list): Use font_callback_data struct. Filter
9538 unwanted fonts.
9539 (add_one_font_entity_to_list): Use font_callback_data struct.
9540 (w32_registry): Default to iso10646_1.
9541 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9542 string font registries. Don't fill in font name if it is a generic
9543 family name, fill family instead. Use spacing, family and script
9544 extra info to fill pitch, family and charset fields.
9545 (list_all_matching_fonts): Use font_callback_data struct.
9546 (unicode_range_for_char): Remove.
9547 (font_supported_scripts): New function.
9548 (w32font_initialize): Remove.
9549 (syms_of_w32font): Update which symbols are defined.
9550
95512008-02-01 Jason Rumney <jasonr@gnu.org>
9552
9553 * font.c (font_pixel_size): Reverse assq_no_quit args.
9554
9555 * w32term.h (FONT_WIDTH): Report max width, not average.
9556 (FONT_MAX_WIDTH): Remove.
9557 (FONT_AVG_WIDTH): New macro.
9558
9559 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9560 redefinition of FONT_WIDTH.
9561
9562 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9563 (w32_cache_char_metrics): Use FONT_WIDTH.
9564
9565 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9566
95672008-02-01 Jason Rumney <jasonr@gnu.org>
9568
9569 * w32font.c (w32font_open): Make lfHeight negative.
9570
9571 * w32fns.c (x_default_font_parameter): Use new style font name.
9572 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9573
95742008-02-01 Jason Rumney <jasonr@gnu.org>
9575
9576 * w32font.c (QCsubranges): New symbol.
9577 (w32font_open, w32font_has_char): Get subranges from subproperty
9578 of extra.
9579 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9580 (syms_of_w32font): Define :subranges symbol.
9581
9582 * font.c (font_put_extra): Expose externally.
9583
9584 * font.h (font_put_extra): Move declaration from font.c.
9585
9586 * font.c (Ffont_get): Use font driver to determine otf capability.
9587 (adjust_anchor): Check if driver defines anchor_point before using.
9588
9589 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9590 (w32font_draw): Use options.
9591 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9592 Fix detection of truetype fonts.
9593 (registry_to_w32_charset): Handle charsets other than iso8859-1
9594 expressed as lisp symbols.
9595 (w32_registry): Express charset as lisp symbol.
9596 (fill_in_logfont): Reverse pixel and point height logic.
9597 Don't set width here. Set quality to default.
9598
9599 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9600 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9601
9602 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9603 Remove redundant loop and allocation.
9604
9605 * makefile.w32-in (font.o, w32font.o): New objects.
9606 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9607 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9608
9609 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9610 STORE_XCHARB a valid l-value.
9611
9612 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9613 calculations for non-Truetype fonts.
9614 (x_draw_glyph_string): Sync with xterm.c.
9615 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9616 Remove redundant code.
9617 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9618
9619 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9620 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9621
9622 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9623 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9624
9625 * w32font.c: New file for w32 font backend.
9626
96272008-02-01 Kenichi Handa <handa@m17n.org>
9628
9629 * term.c: Don't include "buffer.h" twice.
9630
96312008-02-01 Kenichi Handa <handa@m17n.org>
9632
9633 * character.c (Funibyte_string): New function.
9634 (syms_of_character): Defsubr it.
9635
96362008-02-01 Jason Rumney <jasonr@gnu.org>
9637
9638 * w32term.c [USE_FONT_BACKEND]:
9639 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9640 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9641 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9642 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9643 (x_free_frame_resources): Sync with xterm.c.
9644
96452008-02-01 Andreas Schwab <schwab@suse.de>
9646
9647 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9648 char-table size.
9649
96502008-02-01 Kenichi Handa <handa@m17n.org>
9651
9652 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9653
96542008-02-01 Kenichi Handa <handa@m17n.org>
9655
9656 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9657 font_otf_gpos, add font_drive_otf.
9658
9659 * fontset.c (fontset_find_font): Pay attention to font size
9660 specified for a font.
9661 (reorder_font_vector): Check contents of font_def.
9662
9663 * font.c (struct otf_list): Delete it.
9664 (otf_list): Make it a lisp variable.
9665 (otf_open): Use lispy otf_list.
9666 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9667 (check_otf_features): New function.
9668 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9669 New functions.
9670 (font_drive_otf): New function merging font_otf_gsub and
9671 font_otf_gpos.
9672 (font_open_for_lface): New arg spec. Change argument order.
9673 (font_load_for_face): Adjust for the change of font_open_for_lface.
9674 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9675 Ffont_otf_gpos.
9676 (syms_of_font): Staticpro otf_list. Delete defsubr of
9677 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9678
9679 * xfaces.c (set_font_frame_param): Adjust for the change of
9680 font_open_for_lface.
9681
9682 * font.h (font_open_for_lface): Adjust prototype.
9683 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9684 member otf_drive.
9685 (font_otf_gsub, font_otf_gpos): Delete externs.
9686 (font_drive_otf): Extern it.
9687
96882008-02-01 Kenichi Handa <handa@m17n.org>
9689
9690 * font.c (font_at): If the window W is not on a window system,
9691 return Qnil.
9692
9693 * coding.c (produce_chars, encode_coding): Don't call
9694 insert_from_gap if no characters to produce.
9695
96962008-02-01 Kenichi Handa <handa@m17n.org>
9697
9698 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9699 Fclear_face_cache.
9700
9701 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9702
97032008-02-01 Miles Bader <miles@gnu.org>
9704
9705 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9706 Parse "--disable-font-backend" option.
9707 (standard_args): Add "--disable-font-backend" option.
9708
97092008-02-01 Kenichi Handa <handa@m17n.org>
9710
9711 * fontset.c (fontset_find_font): New function.
9712 (fontset_font): Use fontset_find_font.
9713 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9714 Register the specified font for all Latin characters.
9715 (new_fontset_from_font): Register the specified font for all Latin
9716 characters.
9717 (dump_fontset): For a realized fontset, include the base fontset
9718 name in the returned vector.
9719
97202008-02-01 Kenichi Handa <handa@m17n.org>
9721
9722 * character.h (CHAR_STRING): Cast C to unsigned on calling
9723 char_string.
9724
9725 * character.c (char_string): Type of arg C changed to unsigned.
9726 Signal an error if C is an invalid character code.
9727
9728 * editfns.c (general_insert_function, Fchar_to_string):
9729 Use CHARACTERP, not INTEGERP.
9730
97312008-02-01 Kenichi Handa <handa@m17n.org>
9732
9733 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9734 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9735
9736 * regex.c (analyse_first): Fix for multibyte characters in "case
9737 charset:" and "case categoryspec:".
9738
97392008-02-01 Andreas Schwab <schwab@suse.de>
9740
9741 * Makefile.in (LIBES): Move standard libraries to the end.
9742
97432008-02-01 Kenichi Handa <handa@m17n.org>
9744
9745 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9746 nonzero, don't shrink the buffer nextb.
9747
9748 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9749
9750 * coding.c (coding_alloc_by_making_gap): New arg offset.
9751 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9752 offset.
9753 (decode_coding_iso_2022): Update coding->safe_charsets.
9754 (decode_coding_gap): Temporarily set
9755 current_buffer->text->inhibit_shrinking to 1.
9756
97572008-02-01 Kenichi Handa <handa@m17n.org>
9758
9759 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9760 indexing into elements of s->cmp and s->char2b.
9761
97622008-02-01 Juanma Barranquero <lekktu@gmail.com>
9763
9764 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9765
97662008-02-01 Kenichi Handa <handa@m17n.org>
9767
9768 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9769 target_multibyte instead of multibyte.
9770 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9771 (bcmp_translate): Change the argument name from multibyte to
9772 target_multibyte.
9773
97742008-02-01 Kenichi Handa <handa@m17n.org>
9775
9776 These changes are to compile a regexp into a pattern that can be
9777 used both for multibyte and unibyte targets.
9778
9779 * Makefile.in (search.o): Depend on charset.h.
9780
9781 * character.c (multibyte_char_to_unibyte_safe): New function.
9782
9783 * search.c: Include "charset.h".
9784 (compile_pattern_1): Delete argument multibyte. Don't set
9785 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9786 (compile_pattern): Don't compare cp->buf.target_multibyte.
9787 Compare cp->buf.charset_unibyte.
9788 (compile_pattern): Set cp->buf.target_multibyte.
9789
9790 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9791
9792 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9793
9794 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9795 multibyte. Change callers.
9796 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9797 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9798 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9799 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9800 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9801 (regex_compile): Make the compiled pattern usable both for
9802 multibyte and unibyte targets.
9803 (analyse_first): Make the fastmap usable both for multibyte and
9804 unibyte targets.
9805 (TRANSLATE_VIA_MULTIBYTE): Delete.
9806 (re_match_2_internal): Pay attention to the case that the
9807 multibyteness of bufp and target may be different.
9808
98092008-02-01 Kenichi Handa <handa@m17n.org>
9810
9811 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9812 empty box occupy at least one column width.
9813
98142008-02-01 Miles Bader <miles@gnu.org>
9815
9816 * Makefile.in: Remove redundant HAVE_XFT clause.
9817
98182008-02-01 Kenichi Handa <handa@m17n.org>
9819
9820 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9821
98222008-02-01 Kenichi Handa <handa@m17n.org>
9823
9824 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9825 being nil.
9826
98272008-02-01 Kenichi Handa <handa@m17n.org>
9828
9829 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9830
98312008-02-01 Kenichi Handa <handa@m17n.org>
9832
9833 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9834
98352008-02-01 Kenichi Handa <handa@m17n.org>
9836
9837 * search.c (simple_search): Fix previous change.
9838
98392008-02-01 Kenichi Handa <handa@m17n.org>
9840
9841 * xftfont.c (ftfont_font_format): Extern declaration.
9842
9843 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9844
9845 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9846 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9847
9848 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9849 (ftfont_font_format): Fix previous change.
9850
9851 * font.h (Ffont_xlfd_name): EXFUN it.
9852
9853 * font.c (font_parse_xlfd): Fix the array size of `f'.
9854 (register_font_driver): Use EQ to compare driver->type.
9855
9856 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9857 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9858 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9859
98602008-02-01 Kenichi Handa <handa@m17n.org>
9861
9862 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9863 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9864
98652008-02-01 Kenichi Handa <handa@m17n.org>
9866
9867 * xfont.c (xfont_open): Set font->format.
9868
9869 * xftfont.c (xftfont_open): Set font->format.
9870
9871 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9872 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9873 (ftfont_open): Set font->format.
9874 (ftfont_font_format): New function.
9875
9876 * font.h (struct font): New member format.
9877
9878 * font.c (Qopentype): New variable.
9879 (syms_of_font): Defsym it.
9880 (Fquery_font): Change the format of the last element of the return
9881 value.
9882
98832008-02-01 Kenichi Handa <handa@m17n.org>
9884
9885 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9886 last resort.
9887
98882008-02-01 Kenichi Handa <handa@m17n.org>
9889
9890 * coding.c (detect_coding_charset): Fix detection of multi-byte
9891 charset.
9892
98932008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9894
9895 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9896
98972008-02-01 Kenichi Handa <handa@m17n.org>
9898
9899 * xdisp.c (get_next_display_element): Set it->face_id for the
9900 first component of a composition.
9901 (x_produce_glyphs): Check if the font is changed or not for composition.
9902
99032008-02-01 Kenichi Handa <handa@m17n.org>
9904
9905 * fontset.c (Qlatin): New variable.
9906 (syms_of_fontset): Define it as a lisp symbol.
9907 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9908
99092008-02-01 Kenichi Handa <handa@m17n.org>
9910
9911 * font.c (font_unparse_fcname): Pay attention to the case that
9912 some of font property is a null string.
9913
99142008-02-01 Kenichi Handa <handa@m17n.org>
9915
9916 * term.c: Include "composite.h".
9917 (encode_terminal_code): Output all components of composition.
9918 Check the size of encode_terminal_src.
9919 (produce_glyphs): For composition, call produce_composite_glyph.
9920 (append_composite_glyph, produce_composite_glyph): New functions.
9921
9922 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9923 is not found, get font_info from the current ascii face.
9924
99252008-02-01 Kenichi Handa <handa@m17n.org>
9926
9927 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9928 buffer-file-name to Qnil before calling insert_from_buffer.
9929
9930 * font.c (font_unparse_fcname): Pay attention to the case that
9931 foundry is a null string.
9932
99332008-02-01 Kenichi Handa <handa@m17n.org>
9934
9935 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9936
9937 * font.c (Qunicode_sip): New variable.
9938 (syms_of_font): Declare it as a Lisp symbol.
9939
9940 * font.h (Qunicode_sip): Extern it.
9941
99422008-02-01 Kenichi Handa <handa@m17n.org>
9943
9944 * composite.c (get_composition_id): Pay attention to TAB component.
9945
9946 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9947 TAB. Adjust for the change of s->char2b which always points to
9948 the first element of allocated memory.
9949
9950 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9951
9952 * xdisp.c (handle_composition_prop): Set it->c to the first
9953 non-TAB component.
9954 (fill_composite_glyph_string): Change argument.
9955 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9956 (x_produce_glyphs): Fix handling of left/right padding.
9957
99582008-02-01 Kenichi Handa <handa@m17n.org>
9959
9960 * coding.c (detect_coding_system): Fix for handling off
9961 inhibit_iso_escape_detection. Fix for the case that no coding
9962 system is defined for a specific coding category.
9963
99642008-02-01 Kenichi Handa <handa@m17n.org>
9965
9966 * font.c (font_matching_entity): Delete unused local var.
9967
9968 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9969 opening a font.
9970
9971 * fileio.c (Finsert_file_contents): On recovering a file, assume
9972 Unix-like eol.
9973 (choose_write_coding_system): On auto-saving a file, force
9974 Unix-like eol.
9975
9976 * coding.c (setup_coding_system): Fix setting of
9977 coding->common_flags based on eol_type.
9978 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9979 inherit from it.
9980
99812008-02-01 Kenichi Handa <handa@m17n.org>
9982
9983 * alloc.c (NSTATICS): Increas to 0x600.
9984
99852008-02-01 Kenichi Handa <handa@m17n.org>
9986
9987 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9988 (ftfont_list): Don't check :name property.
9989 (ftfont_match): New function.
9990 (ftfont_pattern_entity): If the pattern doesn't contain
9991 FC_SPACING, don't assume FC_MONO.
9992
9993 * font.h (struct font_driver): New member `match'.
9994 (font_update_drivers): Adjust prototype.
9995
9996 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9997 property of FONT.
9998 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9999 them unconditionally.
10000 (font_matching_entity): New function.
10001 (font_open_by_name): Try font_matching_entity if exact match is
10002 not found.
10003 (font_update_drivers): Delete the arg FONT. Return a list of
10004 actually used backends. Don't free faces, font caches here.
10005 Don't store data in frame parameters. Don't call x_set_font.
10006 (Ffont_spec): Store :name property as is.
10007 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
10008 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
10009 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
10010 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
10011 Call font->driver->otf_gsub instead of font_otf_gsub.
10012
10013 * frame.c (x_set_font_backend): Do more works that were done in
10014 font_update_drivers before.
10015
10016 * xfont.c (xfont_match): New function.
10017 (xfont_driver): Set xfont_driver.match to xfont_match.
10018 (xfont_draw): Set font in GC if necessary.
10019
10020 * ftxfont.c (ftxfont_match): New function.
10021 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
10022
10023 * xftfont.c (xftfont_match): New function.
10024 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
10025
100262008-02-01 Kenichi Handa <handa@m17n.org>
10027
10028 * font.h (struct font): New member scalable.
10029 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
10030 (font_otf_gsub): Adjust prototype.
10031
10032 * font.c (font_otf_capability): Fix handling of the default langsys.
10033 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
10034 Check the contents of SPEC.
10035 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
10036 (check_gstring): New function.
10037 (REPLACEMENT_CHARACTER): New macro.
10038 (font_otf_gsub): New arg alternate_subst. Be sure to set all
10039 glyph codes of GSTRING.
10040 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
10041 (font_prepare_composition): Set cmp->glyph_len.
10042 (font_open_entity): Set font->scalable.
10043 (Ffont_get): Handle :otf property.
10044 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
10045 functions.
10046 (Fquery_font): Use font->font.full_name.
10047 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
10048 Sfont_otf_alternates.
10049
10050 * ftfont.c (ftfont_open): Set font->font.full_name and
10051 font->font.name properly. Fix calculation of font->font.height
10052 and font->min_width.
10053
10054 * ftxfont.c (ftxfont_create_gcs): New function.
10055 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
10056 (ftxfont_draw_backgrond): Fix filling region.
10057 (ftxfont_default_fid): New function.
10058 (ftxfont_open): Set xfont->fid to the return value of
10059 ftxfont_default_fid.
10060 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
10061 (ftxfont_done_face): Free only GCs that are created by
10062 ftxfont_create_gcs.
10063 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
10064
10065 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
10066 Clip to src->width, etc (not src->clip_XXX).
10067
10068 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
10069 FontBackend frame parameter.
10070
100712008-02-01 Kenichi Handa <handa@m17n.org>
10072
10073 * font.h (struct font_driver_list): New member `on'.
10074 (Fclear_font_cache): EXFUN it.
10075 (font_update_drivers): Extern it.
10076
10077 * font.c (font_unparse_fcname): Fix typo (swidth->width).
10078 (font_list_entities): Check driver_list->on.
10079 (register_font_driver): Initalize `on' member to 0.
10080 (font_update_drivers): New function.
10081 (Fclear_font_cache): Check driver_list->on.
10082
10083 * frame.h (Qfont_backend): Extern it.
10084 (x_set_font_backend): Extern it.
10085
10086 * frame.c (Qfont_backend): New variable.
10087 (frame_parms): New element for font-backend.
10088 (x_set_font_backend): New function.
10089
10090 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
10091 FontBackend frame parameter.
10092 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10093 x_set_font_backend.
10094
10095 * xfont.c (xfont_list): Don't try listing by :name property if the
10096 name is not for XLFD.
10097
100982008-02-01 Kenichi Handa <handa@m17n.org>
10099
10100 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10101 (LGLYPH_SET_TO): New macros.
10102 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10103 element of G is vector or not.
10104 (font_at): Extern it.
10105
10106 * font.c: Include window.h.
10107 (font_lispy_object): New function.
10108 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10109 end of valid glyph.
10110 (font_close_object): Fix getting (struct font *).
10111 (font_at): New function.
10112 (Ffont_get): If FONT is a font-object, get entity from it.
10113 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10114 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10115 range check.
10116 (Ffont_at): New function.
10117 (syms_of_font): Defsubr Sfont_at.
10118
10119 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10120 before the entry for Qcomposition.
10121 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10122 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10123 the font in gstring.
10124 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10125 LGLYPH_FORM (g) to detect the end of valid glyph.
10126 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10127 we are composing with gstring.
10128
10129 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10130 Check if adjustment is vector or not.
10131
10132 * Makefile.in (font.o): Make it depends on window.h.
10133
101342008-02-01 Kenichi Handa <handa@m17n.org>
10135
10136 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10137 adjustment is vector or not.
10138
101392008-02-01 Miles Bader <miles@gnu.org>
10140
10141 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10142
101432008-02-01 Kenichi Handa <handa@m17n.org>
10144
10145 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10146 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10147 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10148
10149 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10150 (DEVICE_DELTA): Fix typo.
10151 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10152 LGLYPH format.
10153
10154 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10155 the change of LGLYPH format.
10156
101572008-02-01 Kenichi Handa <handa@m17n.org>
10158
10159 * ftfont.c (ftfont_list): Fix typo.
10160 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10161
101622008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10163
10164 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10165
10166 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10167 xftface_info is non-NULL.
10168
101692008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10170
10171 * ftfont.c (ftfont_list): Move misplaced #endif.
10172
101732008-02-01 Kenichi Handa <handa@m17n.org>
10174
10175 * ftfont.c (ftfont_list): Pay attention to the case that
10176 FC_CAPABILITY is not defined.
10177
101782008-02-01 Kenichi Handa <handa@m17n.org>
10179
10180 * xftfont.c (xftfont_open): Set charset related members to -1.
10181
10182 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10183 QCname.
10184 (ftfont_open): Set charset related members to -1.
10185
10186 * fontset.c (Votf_script_alist): New variable.
10187 (syms_of_fontset): Initialize it.
10188 (fontset_font): Delete unused variable.
10189
10190 * fontset.h (Votf_script_alist): Extern it.
10191
10192 * font.c (font_find_for_lface): Optimize code.
10193
10194 * font.h (font_close_object, font_merge_old_spec): Extern them.
10195
101962008-02-01 Kenichi Handa <handa@m17n.org>
10197
10198 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10199 (syms_of_font): Initialize them.
10200 (font_pixel_size): Allow float value in dpi.
10201 (font_prop_validate_type): Delete.
10202 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10203 Change caller.
10204 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10205 (font_prop_validate_extra): Delete.
10206 (font_prop_validate_spacing): New function.
10207 (font_property_table): Add elements for all known properties.
10208 (get_font_prop_index): Rename from check_font_prop_name. New
10209 argument FROM. Change caller.
10210 (font_prop_validate): Validate all known properties.
10211 (font_put_extra): Delete argument force. Change caller.
10212 (font_expand_wildcards): Make it static. Fix the way of shrinking
10213 the possible range.
10214 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10215 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10216 Change caller.
10217 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10218 (font_parse_fcname): Delete argument merge. Fix parsing of point
10219 size. Don't validate properties values here. Change caller.
10220 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10221 (font_open_by_name): Delete unused variable.
10222 (Ffont_spec): Likewise. Validate property values.
10223 (Ffont_match_p): New function.
10224
10225 * font.h (QCscalable): Extern it.
10226 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10227
10228 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10229
10230 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10231 (xfont_list_pattern): New function.
10232 (xfont_list): Use xfont_list_pattern.
10233
102342008-02-01 Kenichi Handa <handa@m17n.org>
10235
10236 * font.h (Flist_fonts): EXFUN it.
10237
102382008-02-01 Jason Rumney <jasonr@gnu.org>
10239
10240 * w32term.c (w32_initialize): Add back smoothing_type and
10241 smoothing_enabled definitions.
10242
102432008-02-01 Kenichi Handa <handa@m17n.org>
10244
10245 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10246 s->face->font on determining underline position.
10247
102482008-02-01 Kenichi Handa <handa@m17n.org>
10249
10250 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10251 (font_has_char): Accept font-object too.
10252 (font_find_for_lface): Try at first with a size specified in face.
10253
102542008-02-01 Kenichi Handa <handa@m17n.org>
10255
10256 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10257 font_open_by_name.
10258
102592008-02-01 Kenichi Handa <handa@m17n.org>
10260
10261 * font.h (QCspacing, QCdpi): Extern them.
10262 (enum font_spacing): New enum.
10263 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10264
10265 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10266 (QCspacing, QCdpi): New variables.
10267 (syms_of_font): Initialize them.
10268 (font_pixel_size): New function.
10269 (font_put_extra): New function.
10270 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10271 in FONT_EXTRA.
10272 (font_parse_fcname): Handle enumerated values (e.g. bold).
10273 Fix handling font size. Add QCname property that contains only
10274 unknown properties.
10275 (font_score): Change argument. Change caller. Pay attention to
10276 FONT_PIXEL_SIZE_QUANTUM.
10277 (font_sort_entites, font_list_entities, font_find_for_lface)
10278 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10279 (Ffont_spec): Add QCname property that contains only unknown properties.
10280
10281 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10282 include weight in listing pattern, instead check weight of each
10283 listed font. Don't include scalable in pattern. Pay attention to
10284 FONT_PIXEL_SIZE_QUANTUM.
10285
102862008-02-01 Kenichi Handa <handa@m17n.org>
10287
10288 * font.c (font_parse_fcname): Fix parsing of point-size.
10289 (font_unparse_fcname): Produce symbolic names for style properties.
10290 (font_list_entities): Handle float size correctly.
10291 (font_open_by_name): Prefer `normal' property values if the name
10292 doesn't specify them.
10293
10294 * fontset.c (Finternal_char_font): Use font_get_name, not
10295 Ffont_xlfd_name.
10296
10297 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10298 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10299 pattern. Don't force scalable.
10300
10301 * xftfont.c (xftfont_open): For generating a name, start from
10302 96-byte buffer.
10303
103042008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10305
10306 * frame.h (x_new_fontset2): Fix prototype.
10307
103082008-02-01 Kenichi Handa <handa@m17n.org>
10309
10310 * font.h (struct font_driver): Delete member parse_name.
10311 (font_match_p, font_get_spec, font_parse_fcname)
10312 (font_unparse_fcname): Extern them.
10313 (font_get_name): Adjust prototype.
10314
10315 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10316 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10317 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10318 unnecessary checks for weight, slant, and swidth.
10319 (font_parse_fcname): New function.
10320 (font_unparse_fcname): New function.
10321 (font_parse_name): New function.
10322 (font_match_p): New function.
10323 (font_get_name): Change return value to Lisp string.
10324 (font_get_spec): New function.
10325 (Qunspecified, Qignore_defface): Don't extern them.
10326 (font_find_for_lface): Assume that LFACE is fully specified.
10327 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10328 object, use it for FACE.
10329 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10330 driver->parse_name.
10331 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10332
10333 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10334 prototype.
10335
10336 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10337 argument F. Don't call Fnew_fontset. Instead, directly call
10338 make_fontset.
10339
10340 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10341
10342 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10343 of x_new_fontset2.
10344
10345 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10346 (Qsans__serif): New variables.
10347 (ftfont_generic_family_list): New variable.
10348 (syms_of_ftfont): Initialize the above variables.
10349 (ftfont_pattern_entity): Delete argument NAME.
10350 (ftfont_list_generic_family): New function.
10351 (ftfont_parse_name): Delete this function.
10352 (ftfont_list): Try generic family only when FcFontList found no font.
10353 (ftfont_list_family): Fix args to FcObjectSetBuild.
10354
10355 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10356 object in attrs[LFACE_FONT_INDEX].
10357 (set_lface_from_font_name): Cancel all changes for font-backend.
10358 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10359 function.
10360 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10361 font object in QCfont attribute.
10362 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10363 (realize_default_face) [USE_FONT_BACKEND]: Call
10364 set_lface_from_font_and_fontset.
10365
10366 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10367 "fixed", and signal error here if no suitable font was found.
10368
10369 * xfont.c (xfont_parse_name): Delete this function.
10370
10371 * xftfont.c (xftfont_open): Change coding style of error
10372 handling. Generate fontconfig's fontname pattern.
10373
10374 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10375 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10376
10377 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10378 Both args FONTSET and FONT_OBJECT must be existing ones.
10379
103802008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10381
10382 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10383
103842008-02-01 Kenichi Handa <handa@m17n.org>
10385
10386 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10387
10388 * font.h (struct font): Fix typo.
10389
10390 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10391 XLFD_XXX_INDEX.
10392 (enum xlfd_field_mask): New enum.
10393 (intern_font_field): Changed argument. Change caller. If digits
10394 are followed by non-digits, return a symbol.
10395 (font_expand_wildcards): New function.
10396 (font_parse_xlfd): Fix wildcard handling.
10397 (Ffont_spec): If :name is specified, reflect the info in the other
10398 properties.
10399
10400 * ftfont.c (ftfont_pattern_entity): Fix typo.
10401 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10402 locale.
10403
104042008-02-01 Kenichi Handa <handa@m17n.org>
10405
10406 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10407
10408 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10409 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10410 registry doesn't specify encoding part.
10411 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10412 (font_open_by_name): At first try parsing the name.
10413 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10414 as Lisp symbols.
10415
10416 * fontset.c (reorder_font_vector): Pay attention to the case that
10417 the 3rd element of font_def is nil.
10418 (fontset_font): For the default fontset, append one more fontset
10419 elements for a script-based font specification. Don't add script
10420 attribute on finding a font.
10421 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10422 font name.
10423 (fontset_ascii_font): If a font can't be opened, return nil.
10424
10425 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10426 (ftfont_pattern_entity): New function.
10427 (ftfont_get_cache): Assume that freetype_font_cache is already
10428 initialized.
10429 (ftfont_list): Handle the case that a file is specified in font
10430 name. Use ftfont_pattern_entity to generate entities.
10431 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10432 (syms_of_ftfont): Initialize freetype_font_cache.
10433
10434 * xftfont.c (xftfont_open): Make the font name fontconfig's
10435 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10436 (xftfont_close): Free font->font.name if not NULL.
10437
10438 * xfont.c (xfont_list): If script is specified for a font, return
10439 null_vector.
10440 (xfont_list_family): Declare argument type.
10441
10442 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10443 name, set LFACE_FONT (lface) to nil.
10444
10445 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10446 return Qnil.
10447
104482008-02-01 Kenichi Handa <handa@m17n.org>
10449
10450 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10451 (standard_args): Add "-enable-font-backend".
10452
104532008-02-01 Kenichi Handa <handa@m17n.org>
10454
10455 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10456 (struct xftdraw_list, xftdraw_list): Delete them.
10457 (register_xftdraw, check_xftdraw): Delete them.
10458 (xftfont_prepare_face): Don't call register_xftdraw.
10459 (xftfont_done_face): Don't call check_xftdraw.
10460 (xftfont_draw): Get background color only when with_background is
10461 nonzero.
10462
10463 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10464
104652008-02-01 Kenichi Handa <handa@m17n.org>
10466
10467 These changes are for the new font handling codes.
10468
10469 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10470 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10471 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10472 (FONTSRC, FONTOBJ): New variables.
10473 (obj): Add $(FONTOBJ).
10474 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10475 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10476 @LIBOTF_LIBS@.
10477 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10478 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10479
10480 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10481
10482 * character.h (Vscript_representative_chars): Extern it.
10483
10484 * character.c (Vscript_representative_chars): New variable.
10485 (syms_of_character): Declare it as a Lisp variable.
10486
10487 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10488 enable_font_backend is nonzero, accept the composition method
10489 COMPOSITION_WITH_GLYPH_STRING.
10490
10491 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10492 enumeration COMPOSITION_WITH_GLYPH_STRING.
10493
10494 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10495 members clip_x, clip_y, clip_width, and clip_height.
10496 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10497
10498 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10499 --enable-font-backend. Call syms_of_font.
10500
10501 * fns.c (assoc_no_quit): New function.
10502
10503 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10504 (face_for_font, new_fontset_from_font)
10505 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10506
10507 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10508 (fontset_font, fontset_ascii, face_for_char)
10509 (make_fontset_for_ascii_face, Ffont_info)
10510 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10511 is nonzero, use font-backend mechanism.
10512 (find_font_encoding): Make it non-static.
10513 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10514 New functions.
10515
10516 * frame.h (struct frame): New members resx and resy.
10517 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10518 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10519
10520 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10521 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10522
10523 * lisp.h (assoc_no_quit): Extern it.
10524
10525 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10526 Through out the file, use FONT_INFO_FROM_FACE instead of
10527 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10528 rif->per_char_metric.
10529 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10530 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10531 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10532 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10533 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10534 nonzero, use font-backend mechanism.
10535 (get_per_char_metric): New function.
10536
10537 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10538 (set_lface_from_font_name)
10539 (set_font_frame_param, free_realized_face)
10540 (prepare_face_for_display, clear_face_gcs)
10541 (Finternal_set_font_selection_order, realize_x_face)
10542 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10543 font-backend mechanism.
10544 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10545 (load_face_font) [USE_FONT_BACKEND]: Abort.
10546 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10547 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10548
10549 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10550 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10551 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10552 nonzero, register all available font drivers. Call
10553 x_default_font_parameter for deciding a font.
10554 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10555
10556 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10557 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10558 (x_set_glyph_string_clipping_exactly)
10559 (x_compute_glyph_string_overhangs)
10560 (x_draw_glyph_string_foreground)
10561 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10562 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10563 enable_font_backend is nonzero, use font-backend mechanism.
10564 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10565
105662008-02-01 Kenichi Handa <handa@m17n.org>
10567
10568 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10569 system_eol_type.
10570 (syms_of_coding): Initialize system_eol_type.
10571
10572 * process.c (Fset_process_coding_system): Inherit system's eol
10573 format if necessary.
10574
105752008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10576
10577 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10578
105792008-02-01 Kenichi Handa <handa@m17n.org>
10580
10581 * coding.c (decode_eol): Pay attention to buffer relocation in
10582 del_range_2.
10583 (decode_coding): Call decode_eol before restoring undo_list.
10584
105852008-02-01 Kenichi Handa <handa@m17n.org>
10586
10587 * charset.c (Fdefine_charset_internal): Fix setting of
10588 emacs_mule_bytes.
10589
105902008-02-01 Kenichi Handa <handa@m17n.org>
10591
10592 * keyboard.c (read_char): Check if C is a character or not before
10593 looking up Vkeyboard_translate_table.
10594
105952008-02-01 Kenichi Handa <handa@m17n.org>
10596
10597 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10598 condition to terminate the loop.
10599
106002008-02-01 Kenichi Handa <handa@m17n.org>
10601
10602 * coding.c (produce_composition): Compare charbuf[i] instead of
10603 args[i] against 0.
10604 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10605
106062008-02-01 Kenichi Handa <handa@m17n.org>
10607
10608 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10609 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10610 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10611 detect_coding.
10612 (emacs_mule_char): Handle old style (Emacs 20) component character
10613 of a composition.
10614 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10615 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10616 composition rule.
10617 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10618
106192008-02-01 Kenichi Handa <handa@m17n.org>
10620
10621 * coding.c (encode_coding_ccl): Allocate destination dynamically
10622 when necessary.
10623
106242008-02-01 Kenichi Handa <handa@m17n.org>
10625
10626 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10627 the loop. When quitted, show a proper error message.
10628
106292008-02-01 Kenichi Handa <handa@m17n.org>
10630
10631 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10632 src->clip_head and src->clip_tail temporarily instead of src->hl.
10633
10634 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10635 character sequence.
10636 (Fccl_execute_on_string): Use ASET, not XSET.
10637
106382008-02-01 Kenichi Handa <handa@m17n.org>
10639
10640 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10641
106422008-02-01 Kenichi Handa <handa@m17n.org>
10643
10644 * coding.c (decode_coding): Fix the condition of terminating the
10645 decoding loop.
10646
106472008-02-01 Kenichi Handa <handa@m17n.org>
10648
10649 * data.c (Faset): On setting a character bigger than 255 in a
10650 unibyte string, signal an error instead of make the string multibyte.
10651
106522008-02-01 Kenichi Handa <handa@m17n.org>
10653
10654 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10655 made by a mapping table.
10656
106572008-02-01 Kenichi Handa <handa@m17n.org>
10658
10659 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10660 not.
10661 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10662 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10663
10664 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10665 s->face is NULL or not.
10666
106672008-02-01 Kenichi Handa <handa@m17n.org>
10668
10669 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10670 (x_draw_glyph_string): Fix drawing of right_overhang and
10671 left_overhang around/on cursor.
10672
10673 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10674
106752008-02-01 Kenichi Handa <handa@m17n.org>
10676
10677 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10678
106792008-02-01 Kenichi Handa <handa@m17n.org>
10680
10681 * coding.c (Fdefine_coding_system_internal)
10682 (Fdefine_coding_system_alias): Avoid a duplicated element in
10683 Vcoding_system_alist.
10684
106852008-02-01 Kenichi Handa <handa@m17n.org>
10686
10687 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10688
10689 * coding.c (Qcoding_system_define_form): New variable.
10690 (syms_of_coding): Intern and staticpro it.
10691 (Fcoding_system_p): Check Qcoding_system_define_form.
10692 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10693
10694 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10695 Fcoding_system_p.
10696 (CHECK_CODING_SYSTEM): If ID is not available, call
10697 Fcheck_coding_system.
10698 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10699 Try also Fcheck_coding_system.
10700
107012008-02-01 Kenichi Handa <handa@m17n.org>
10702
10703 * coding.c (code_conversion_restore): GCPRO arg.
10704
107052008-02-01 Kenichi Handa <handa@m17n.org>
10706
10707 * character.c (lisp_string_width): Check multibyteness of STRING.
10708
107092008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10710
10711 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10712 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10713 (decode_mac_font_name): Use decode_coding_c_string instead of
10714 decode_coding.
10715 (x_load_font): Initialize fontp->fontset to -1. Set
10716 fontp->encoding_type.
10717
107182008-02-01 Kenichi Handa <handa@m17n.org>
10719
10720 * search.c (search_buffer): Give up BM search on case-fold-search
10721 if one of a target character has a case-equivalence of different
10722 byte length even if that target charcter is an ASCII.
10723 (simple_search): Fix calculation of byte length of matched text.
10724 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10725
107262008-02-01 Kenichi Handa <handa@m17n.org>
10727
10728 * coding.c (decode_coding): Fix handling of invalid bytes.
10729
107302008-02-01 Kenichi Handa <handa@m17n.org>
10731
10732 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10733 Unicode characters.
10734
107352008-02-01 Kenichi Handa <handa@m17n.org>
10736
10737 * coding.c (encode_coding_object): If a pre-write-conversion
10738 function makes a new buffer, kill it.
10739
107402008-02-01 Kenichi Handa <handa@m17n.org>
10741
10742 * coding.c (QCascii_compatible_p): New variable.
10743 (syms_of_coding): Initialize it.
10744 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10745 calling string_char.
10746 (record_conversion_result): Add `default:' case.
10747 (coding_charset_list): Delete unused variable `coding_type'.
10748 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10749 property in the plist of the coding system.
10750 (Fcoding_system_put): Check QCascii_compatible_p.
10751
107522008-02-01 Miles Bader <miles@gnu.org>
10753
10754 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10755 removed calculation of frame `f', as it's now used.
10756
107572008-02-01 Kenichi Handa <handa@m17n.org>
10758
10759 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10760 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10761 (UNIDATA): New variable.
10762 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10763 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10764 $(RUN_TEMACS) unconditionally.
10765
107662008-02-01 Kenichi Handa <handa@m17n.org>
10767
10768 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10769 (admindir): New variable.
10770 ($(lispsource)international/charprop.el): New target.
10771
107722008-02-01 Miles Bader <miles@gnu.org>
10773
10774 * character.c (chars-in-region): Remove obsolete function.
10775 (syms_of_character): Remove its initialization.
10776
107772008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10778
10779 * w32select.c (validate_coding_system)
10780 (setup_windows_coding_system): New functions.
10781 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10782 setup_windows_coding_system.
10783 (setup_config, Fw32_get_clipboard_data): Use
10784 validate_coding_system.
10785 (Fx_selection_exists): Move call to setup_config to a place
10786 where signals are allowed.
10787
10788 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10789 (Fcheck_coding_system): Add declarations.
10790
107912008-02-01 Kenichi Handa <handa@m17n.org>
10792
10793 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10794
107952008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10796
10797 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10798 string as the second argument for x_new_fontset.
10799
108002008-02-01 Kenichi Handa <handa@m17n.org>
10801
10802 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10803 (encode_coding_object): Use safe_call instead of call2.
10804
108052008-02-01 Kenichi Handa <handa@m17n.org>
10806
10807 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10808
10809 * Makefile.in (lisp): Include charprop.el.
10810
108112008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10812
10813 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10814 Not sure if it's unnecessary.
10815
108162008-02-01 Steven Tamm <steventamm@mac.com>
10817
10818 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10819 some possibly unnecessary fontset checking code that crashed
10820 when creating a new frame.
10821
108222008-02-01 Kenichi Handa <handa@m17n.org>
10823
10824 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10825 lookup_face.
10826
10827 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10828
10829 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10830
108312008-02-01 Kenichi Handa <handa@m17n.org>
10832
10833 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10834 (coding_charset_list): New function.
10835
10836 * coding.h (coding_charset_list): Extern it.
10837
108382008-02-01 Kenichi Handa <handa@m17n.org>
10839
10840 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10841 concatenation of family and registry.
10842
108432008-02-01 Kenichi Handa <handa@m17n.org>
10844
10845 * character.h (BYTE8_STRING): Fix typo.
10846
10847 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10848 string to multibyte (sync to HEAD).
10849
10850 * casefiddle.c (casify_region): Handle changes in byte-length
10851 using replace_range_2 (sync to HEAD).
10852
108532008-02-01 Andreas Schwab <schwab@suse.de>
10854
10855 * chartab.c (map_char_table): GCPRO table and arg.
10856
108572008-02-01 Kenichi Handa <handa@m17n.org>
10858
10859 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10860 already at limit.
10861
108622008-02-01 Kenichi Handa <handa@m17n.org>
10863
10864 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10865 instead of fast_c_string_match_ignore_case.
10866 (find_font_encoding): Change argument to Lisp_Object. Use
10867 fast_string_match_ignore_case instead of
10868 fast_c_string_match_ignore_case. Change caller.
10869
108702008-02-01 Kenichi Handa <handa@m17n.org>
10871
10872 * xdisp.c (get_next_display_element): In unibyte case, decide to
10873 display in octal form by checking a character by
10874 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10875
10876 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10877
10878 * character.c (unibyte_has_multibyte_table): New variable.
10879
10880 * character.h (unibyte_has_multibyte_table): Extern it.
10881 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10882
108832008-02-01 Kenichi Handa <handa@m17n.org>
10884
10885 * coding.c (encode_coding_iso_2022): Fix handling of charset
10886 annotation.
10887
108882008-02-01 Kenichi Handa <handa@m17n.org>
10889
10890 * coding.c (setup_coding_system): If coding_system is nil, use
10891 Qundecided.
10892 (Fterminal_coding_system): Return nil if terminal coding system is
10893 `undecided'.
10894 (syms_of_coding): Define coding-system `undecided' here. Setup
10895 terminal_coding as `undecided'.
10896
108972008-02-01 Kenichi Handa <handa@m17n.org>
10898
10899 * xdisp.c (message_dolog, set_message_1): Call
10900 unibyte_char_to_multibyte with arg type int.
10901
10902 * lread.c (read1): Fix reading of a char-table.
10903
10904 * print.c (print_object): Include sub char-table in circularities
10905 detection.
10906
109072008-02-01 Kenichi Handa <handa@m17n.org>
10908
10909 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10910 Append the found sequences in car of ARGS instead of prepending.
10911
109122008-02-01 Kenichi Handa <handa@m17n.org>
10913
10914 * fileio.c (report_file_error): Make a unibyte string from
10915 strerror (errorno).
10916 (Fsubstitute_in_file_name): Fix the arg to
10917 unibyte_char_to_multibyte. It is evaluated twice.
10918
109192008-02-01 Kenichi Handa <handa@m17n.org>
10920
10921 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10922
109232008-02-01 Kenichi Handa <handa@m17n.org>
10924
10925 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10926 BOM is not found.
10927 (detect_coding, detect_coding_system): Optimization for ISO-2022
10928 when no 8-bit data is found.
10929
109302008-02-01 Jason Rumney <jasonr@gnu.org>
10931
10932 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10933
109342008-02-01 Kenichi Handa <handa@m17n.org>
10935
10936 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10937 CHARS.
10938
109392008-02-01 Steven Tamm <steventamm@mac.com>
10940
10941 * macterm.c (mac_encode_char): Add charset argument and update
10942 to use encoding_type.
10943 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10944 switch to pure fontset.
10945 (decode_mac_font_name): Temporarily remove decoding.
10946 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10947 (x_load_font): Temporarily remove encoding.
10948
109492008-02-01 Kenichi Handa <handa@m17n.org>
10950
10951 * xfaces.c (Fface_font): If frame is not on a window system,
10952 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10953 refer to face->font.
10954 (split_font_name_into_vector, build_font_name_from_vector)
10955 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10956 when HAVE_WINDOW_SYSTEM is defined.
10957
109582008-02-01 Kenichi Handa <handa@m17n.org>
10959
10960 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10961 (x_produce_glyphs): Fix setting of members of cmp in case
10962 cmp->glyph_len is zero.
10963
10964 * fontset.c (Fset_fontset_font): Fix docstring.
10965 (Ffontset_info): Make it backward compatible. New arg ALL.
10966
109672008-02-01 Kim F. Storm <storm@cua.dk>
10968
10969 * process.c (read_process_output): Grow decoding_buf when needed;
10970 this could cause a crash in allocate_string and compact_small_strings.
10971
109722008-02-01 Kenichi Handa <handa@m17n.org>
10973
10974 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10975
109762008-02-01 Kenichi Handa <handa@m17n.org>
10977
10978 * coding.c (setup_coding_system): Set coding->common_flags
10979 correctly for raw-text.
10980 (consume_chars): On encoding unibyte text by raw-text, don't check
10981 multibyte form.
10982 (encode_coding): On encoding by raw-text, never use translation tables.
10983
10984 * fileio.c (e_write): Short cut for the case of no encoding.
10985
109862008-02-01 Kenichi Handa <handa@m17n.org>
10987
10988 * coding.c (detect_coding, detect_coding_system): Delete unused
10989 variables.
10990
109912008-02-01 Kenichi Handa <handa@m17n.org>
10992
10993 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10994 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10995
109962008-02-01 Kenichi Handa <handa@m17n.org>
10997
10998 * coding.c (Ffind_coding_systems_region_internal): Include
10999 raw-text and no-conversion in the result.
11000
110012008-02-01 Kenichi Handa <handa@m17n.org>
11002
11003 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
11004 (load_font_get_repertory): Delete unnecessary check of ENCODING of
11005 FONT_DEF.
11006 (font_def_arg, add_arg, from_arg, to_arg): New args.
11007 (set_fontset_font): Change argument.
11008 (Fset_fontset_font): Fix for the case that TARGET is a script
11009 name and charset name.
11010 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
11011
110122008-02-01 Kenichi Handa <handa@m17n.org>
11013
11014 * fontset.c (fontset_font): Rename from fontset_face. Change return
11015 value.
11016 (face_suitable_for_char_p, face_for_char): Adjust for the change
11017 of fontset_font.
11018 (make_fontset_for_ascii_face): Fix setting of the fontset element
11019 for ASCII.
11020 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
11021 to get a font name.
11022 (Ffontset_info): Adjust for the change of fontset_font.
11023
11024 * coding.c (emacs_mule_char): Check invalid code more rigidly.
11025
11026 * character.h (LEADING_CODE_LATIN_1_MIN)
11027 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
11028
110292008-02-01 Kenichi Handa <handa@m17n.org>
11030
11031 * editfns.c (check_translation): New function.
11032 (Ftranslate_region_internal): Handle M:N mapping.
11033
110342008-02-01 Kenichi Handa <handa@m17n.org>
11035
11036 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
11037
110382008-02-01 Kenichi Handa <handa@m17n.org>
11039
11040 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
11041 goto invalid_code.
11042 (decode_coding_iso_2022): Fix handling of invalid designation.
11043
11044 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
11045 after calling code_conversion_save.
11046
110472008-02-01 Kenichi Handa <handa@m17n.org>
11048
11049 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
11050
11051 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
11052
11053 * fontset.c: Include "intervals.h".
11054 (fontset_face): Fix comparing of Lisp_Objects.
11055 (free_face_fontset, new_fontset_from_font_name): Fix
11056 Lisp_Object/int mixup.
11057
11058 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
11059
11060 * coding.c: Add many prototypes for static functions.
11061 (get_translation_table): Allow max_lookup to be NULL.
11062 (decode_coding, Ffind_coding_systems_region_internal)
11063 (Funencodable_char_position, Fcheck_coding_systems_region): Call
11064 get_translation_table with max_lookup NULL.
11065
110662008-02-01 Kenichi Handa <handa@m17n.org>
11067
11068 * coding.c (get_translation_table): Declare it as Lisp_Object.
11069 (LOOKUP_TRANSLATION_TABLE): New macro.
11070 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
11071 instead of CHAR_TABLE_REF.
11072
110732008-02-01 Kenichi Handa <handa@m17n.org>
11074
11075 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
11076 annotation data format.
11077 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
11078 Change arguments FROM and TO to single argument NCHARS. Change caller.
11079 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
11080 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11081 (decode_coding_ccl, decode_coding_charset): Pay attention to
11082 coding->charbuf_used.
11083 (get_translation): New function.
11084 (produce_chars): New arguments translation_table and last_block.
11085 Translate characters here. Return number of carryover chars.
11086 Change caller.
11087 (produce_composition): New argument pos. Change caller.
11088 Adjust for the change of annotation data format.
11089 (produce_charset, produce_annotation): Likewise.
11090 (decode_coding, encode_coding): Don't call translate_chars.
11091 (consume_chars): New arg translation_table. Change caller.
11092 (translate_chars): Delete.
11093 (syms_of_coding): Make translation-table's number of extra slots 2.
11094
110952008-02-01 Kenichi Handa <handa@m17n.org>
11096
11097 * search.c (simple_search): Fix setting this_pos_byte in backward
11098 search.
11099
11100 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11101 byte sequence.
11102 (detect_coding_ccl): Fix setting of the variable valids.
11103
111042008-02-01 Kenichi Handa <handa@m17n.org>
11105
11106 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11107
11108 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11109
11110 * editfns.c (Ftranslate_region_internal): Rename from
11111 Ftranslate_region. Accept a char-table in TABLE.
11112 (syms_of_editfns): Defsubr Stranslate_region_internal.
11113
11114 * xfaces.c (set_lface_from_font_name): If a font is specified for
11115 a frame, generate a fontset from the font.
11116 (build_scalable_font_name): If the scalable font is requested for
11117 a specific size, don't change that size.
11118 (try_font_list): Try a scalable font also in the case that a
11119 pattern string is specified.
11120
111212008-02-01 Kenichi Handa <handa@m17n.org>
11122
11123 * xfaces.c (Fface_font): New optional arg CHARACTER.
11124
111252008-02-01 Kenichi Handa <handa@m17n.org>
11126
11127 * charset.h (CHARSET_OFFSET): New macro.
11128
111292008-02-01 Kenichi Handa <handa@m17n.org>
11130
11131 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11132
11133 * fontset.c (fontset_face): Handle the case that repertory is a
11134 char-table.
11135 (find_font_encoding): Return nil for unknown encoding.
11136 (Fset_fontset_font): Ignore a font of unknown encoding.
11137
111382008-02-01 Kenichi Handa <handa@m17n.org>
11139
11140 * keymap.c (describe_vector): Handle default value of a char table.
11141
11142 * fontset.c (fontset_face): Handle fallback fonts correctly.
11143 (Ffontset_info): Return infomation about fallback fonts.
11144
111452008-02-01 Kenichi Handa <handa@m17n.org>
11146
11147 * fontset.c (FONTSET_DEFAULT): New macro.
11148 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11149 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11150 the case that it is nil.
11151 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11152 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11153
11154 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11155 subset or superset.
11156
111572008-02-01 Kenichi Handa <handa@m17n.org>
11158
11159 * emacs.c (main): Call init_charset after syms_of_XXX.
11160
11161 * charset.c (Vcharset_map_directory): Delete.
11162 (Vcharset_map_path): New variable.
11163 (load_charset_map_from_file): Use Vcharset_map_path instead.
11164 (init_charset): Initialize Vcharset_map_path.
11165 (syms_of_charset): Delete declaration of "charset-map-directory",
11166 add declaration of "charset-map-path".
11167
111682008-02-01 Kenichi Handa <handa@m17n.org>
11169
11170 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11171 ASCII only string.
11172
11173 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11174
11175 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11176 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11177
111782008-02-01 Kenichi Handa <handa@m17n.org>
11179
11180 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11181
11182 * coding.c (QCmnemonic, QCdefalut_char)
11183 (QCdecode_translation_table, QCencode_translation_table)
11184 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11185 (get_translation_table): Return a list of translation tables if
11186 necessary.
11187 (decode_coding): Call get_translation_table with ENCODEP 0.
11188 (char_encodable_p): If translation_table is non-nil, always call
11189 translate_char.
11190 (Fdefine_coding_system_internal): Accept list of translation
11191 tables as :encode-translation-table and :decode-translation-table.
11192 (Fcoding_system_put): New function.
11193 (syms_of_coding): Declare new symbols. Defsubr
11194 Scoding_system_put.
11195 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11196 typically JISX0212.
11197
11198 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11199 when the charset is superset type.
11200
11201 * character.c (translate_char): Accept list of translation tables.
11202
112032008-02-01 Kenichi Handa <handa@m17n.org>
11204
11205 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11206 (CODING_ATTR_TRANS_TBL): New macro.
11207
11208 * coding.c (get_translation_table): New function.
11209 (translate_chars): Fix the bug of skipping annotation data.
11210 (decode_coding, encode_coding): Utilize get_translation_table.
11211 (char_encodable_p, Funencodable_char_position): Translate char if
11212 necessary.
11213 (Ffind_coding_systems_region_internal)
11214 (Fcheck_coding_systems_region): Setup translation table for encode
11215 in a coding system attribute vector in advance.
11216 (Fdefine_coding_system_internal): Allow a symbol as translation
11217 table. For shift-jis type coding system, allow 4th charset.
11218
112192008-02-01 Kenichi Handa <handa@m17n.org>
11220
11221 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11222
11223 * xdisp.c (get_next_display_element): Pass -1 as POS to
11224 FACE_FOR_CHAR if displaying a C-string.
11225
112262008-02-01 Kenichi Handa <handa@m17n.org>
11227
11228 * composite.c (get_composition_id): Handle xoff and yoff in a
11229 composition rule.
11230
11231 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11232 (struct composition): New member lbearing and rbearing.
11233
11234 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11235 (x_get_glyph_overhangs): Handle a composition glyph.
11236 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11237
11238 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11239 composition glyph.
11240
112412008-02-01 Kenichi Handa <handa@m17n.org>
11242
11243 * print.c: Include charset.h.
11244 (Vprint_charset_text_property): New variable.
11245 (Qdefault): Extern it.
11246 (PRINT_STRING_NON_CHARSET_FOUND)
11247 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11248 (print_check_string_result): New variable.
11249 (print_check_string_charset_prop): New function.
11250 (print_prune_charset_plist): New variable.
11251 (print_prune_string_charset): New function.
11252 (print_object): Call print_prune_string_charset if
11253 Vprint_charset_text_property is not t.
11254 (print_interval): Print nothing if interval->plist is nil.
11255 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11256 variable. Init and staticpro print_prune_charset_plist.
11257
112582008-02-01 Kenichi Handa <handa@m17n.org>
11259
11260 * fontset.c (new_fontset_from_font_name): Use the specified font
11261 for all characters in the new fontset.
11262
11263 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11264 OBJECT args.
11265
11266 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11267 OBJECT args for composition too.
11268
11269 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11270 OBJECT args.
11271
112722008-02-01 Kenichi Handa <handa@m17n.org>
11273
11274 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11275
11276 * fontset.c (reorder_font_vector): Adjust for the change of
11277 FONT_DEF format.
11278 (fontset_face): New arg id. Change caller.
11279 (face_for_char): New args pos and object.
11280 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11281 (fs_query_fontset): Check NAME by Fassoc too.
11282 (Fset_fontset_font): Allow non-XLFD font name.
11283 (Ffontset_info): Adjust for the change of FONT_DEF format.
11284
11285 * fontset.h (face_for_char): Adjust prototype.
11286
11287 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11288 (append_space, extend_face_to_end_of_line)
11289 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11290 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11291
11292 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11293 POS and OBJECT args.
11294
11295 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11296 POS and OBJECT args.
11297
112982008-02-01 Jason Rumney <jasonr@gnu.org>
11299
11300 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11301 of GlobalAlloc'ed memory.
11302
113032008-02-01 Kenichi Handa <handa@m17n.org>
11304
11305 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11306
11307 * charset.h (charset_table_used): Delete extern.
11308
11309 * charset.c (charset_table_used): Make it static.
11310 (map_charset_chars): Fix args to c_function with.
11311
11312 * chartab.c (map_sub_char_table_for_charset): Fix args to
11313 c_function with.
11314
11315 * coding.h (enum coding_result_code): Delete
11316 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11317
11318 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11319 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11320 (Vlast_code_conversion_error): New variables.
11321 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11322 (ONE_MORE_BYTE): Record error if any instead of signaling an
11323 error. If non-ASCII multibyte char is found, return the negative
11324 value of the code. All callers changed to check it.
11325 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11326 (record_conversion_result): New function. Change all codes setting
11327 coding->result to call this function.
11328 (detect_coding_utf_8, decode_coding_utf_8)
11329 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11330 Don't use the local variable incomplete.
11331 (emacs_mule_char): Change the second arg to `const'.
11332 (decode_coding): Fix of flushing out unprocessed data.
11333 (make_conversion_work_buffer): Fix making of a work buffer.
11334 (decode_coding_object): Return coding->dst_object.
11335
11336 * fontset.c (set_fontset_font): Fix args.
11337
11338 * lisp.h (CHARACTERBITS): Define as 22.
11339
11340 * process.c (send_process): Be sure to set coding->src_multibyte.
11341
11342 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11343
113442008-02-01 Kenichi Handa <handa@m17n.org>
11345
11346 * xdisp.c (handle_auto_composed_prop): Give limit to
11347 Fnext_single_char_property_change.
11348
113492008-02-01 Kenichi Handa <handa@m17n.org>
11350
11351 * composite.c (syms_of_composite): Don't make the composition hash
11352 table weak.
11353
11354 * fontset.c (Fset_fontset_font): Fix docstring.
11355
11356 * lisp.h (detect_coding_system): Adjust prototype.
11357
11358 * fileio.c (kill_workbuf_unwind): Delete this function.
11359 (Finsert_file_contents): Adjust the call of detect_coding_system.
11360 Get conversion_buffer by code_conversion_save. Use the macro
11361 CODING_MAY_REQUIRE_DECODING. After decoding, update
11362 coding_system.
11363
11364 * coding.h (make_conversion_work_buffer): Delete extern.
11365 (code_conversion_save): Extern it.
11366
11367 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11368 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11369 (decode_coding_utf_8): Don't do eol converion.
11370 (detect_coding_utf_16): Check coding->src_chars, not
11371 coding->src_bytes. Add heuristics for those that have no signature.
11372 (decode_coding_emacs_mule, decode_coding_iso_2022)
11373 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11374 Don't do eol converion.
11375 (adjust_coding_eol_type): Return a new coding system.
11376 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11377 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11378 each change.
11379 (decode_coding): Pay attention to undo_list. Do eol conversion for
11380 all types of coding-systems (if necessary).
11381 (Vcode_conversion_work_buf_list): Delete it.
11382 (Vcode_conversion_reused_workbuf): Rename from
11383 Vcode_conversion_reused_work_buf.
11384 (Vcode_conversion_workbuf_name): New variable.
11385 (reused_workbuf_in_use): New variable.
11386 (make_conversion_work_buffer): Delete the arg DEPTH.
11387 (code_conversion_restore): Change argument to cons.
11388 (code_conversion_save): Delete the argument BUFFER. Change callers.
11389 (detect_coding_system): New argument src_chars. Change callers.
11390 Fix for utf-16 detection.
11391 (init_coding_once): Don't use ISO_carriage_return.
11392 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11393 reused_workbuf_in_use.
11394
113952008-02-01 Kenichi Handa <handa@m17n.org>
11396
11397 * keymap.c (store_in_keymap): Pay attention to the case that idx
11398 is a cons specifying a character range.
11399
114002008-02-01 Kenichi Handa <handa@m17n.org>
11401
11402 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11403 HANDLED_RECOMPUTE_PROPS.
11404
11405 * coding.c (Fdefine_coding_system_internal): Fix checking of
11406 ascii compatibility.
11407
114082008-02-01 Kenichi Handa <handa@m17n.org>
11409
11410 * charset.c (find_charsets_in_text): Delete unused locale variable.
11411 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11412
11413 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11414 Resync charset_list to Vemacs_mule_charset_list.
11415
11416 * keymap.c (store_in_keymap): Pay attention to the case that idx
11417 is a cons specifying a character range.
11418
114192008-02-01 Kenichi Handa <handa@m17n.org>
11420
11421 * composite.c (update_compositions): Bind inhibit-read-only, etc
11422 to t before calling remove-list-of-text-properties.
11423
11424 * print.c (print_object): Always print ASCII chars as is.
11425
114262008-02-01 Kenichi Handa <handa@m17n.org>
11427
11428 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11429
11430 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11431 is a char table.
11432
114332008-02-01 Kenichi Handa <handa@m17n.org>
11434
11435 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11436
114372008-02-01 Kenichi Handa <handa@m17n.org>
11438
11439 * xfaces.c (set_lface_from_font_name): Fix for the case that
11440 FONTNAME is not fontset name.
11441
114422008-02-01 Kenichi Handa <handa@m17n.org>
11443
11444 * fns.c (base64_encode_1): Fix previous change.
11445
114462008-02-01 Kenichi Handa <handa@m17n.org>
11447
11448 * fontset.c (set_fontset_font): New function.
11449 (Fset_fontset_font): If a font is specified for a charset, use
11450 map_charset_chars to store the font spec in a fontset.
11451
114522008-02-01 Kenichi Handa <handa@m17n.org>
11453
11454 * fontset.c (fontset_face): Create a fallback fontset on demand.
11455 (make_fontset): Don't create a fallback fontset here.
11456 (free_face_fontset): Free a fallback fontset (if any) too.
11457 (n_auto_fontsets): Delete this variable.
11458 (auto_fontset_alist): New variable.
11459 (new_fontset_from_font_name): Check auto_fontset_alist.
11460 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11461 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11462 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11463 Defsubr Sfontset_list_all.
11464
114652008-02-01 Kenichi Handa <handa@m17n.org>
11466
11467 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11468
114692008-02-01 Kenichi Handa <handa@m17n.org>
11470
11471 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11472
114732008-02-01 Kenichi Handa <handa@m17n.org>
11474
11475 * editfns.c (Fgoto_char): Fix docstring.
11476
114772008-02-01 Kenichi Handa <handa@m17n.org>
11478
11479 * insdel.c (insert_from_gap): Adjust intervals correctly.
11480
114812008-02-01 Jason Rumney <jasonr@gnu.org>
11482
11483 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11484 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11485 (w32_initialize): Try to load it.
11486 (x_get_font_repertory): Use it if available.
11487 (w32_encode_char): Add shortcut for unicode output.
11488
11489 * w32fns.c (w32_load_system_font): Default charset to -1.
11490 (x_to_w32_charset): Match all fonts for unicode.
11491 (w32_to_x_charset): New parameter matching. Don't return partial
11492 or wildcard charsets.
11493 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11494 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11495 (w32_to_x_font): Match charset to real charset.
11496 (enum_font_cb2): Always list unicode versions.
11497
11498 * makefile.w32-in (temacs): Increase EMHEAP.
11499
115002008-02-01 Jason Rumney <jasonr@gnu.org>
11501
11502 * w32term.c (w32_encode_char): New charset parameter.
11503 font_info.encoding becomes encoding_type.
11504 (x_get_font_repertory): New function. Warning: stub only!
11505 (x_new_font): Return quickly if font already set.
11506 (x_new_fontset): fontsetname parameter is Lisp_Object.
11507 Use new fs_query_fontset. Try new_fontset_from_font_name.
11508 Use fontset_name for return value.
11509
11510 * w32term.h: Declare x_get_font_repertory.
11511
11512 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11513 place of find_charset_in_text. Use encode_coding_object in place
11514 of encode_coding.
11515 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11516 decode_coding.
11517
11518 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11519 of x_new_fontset.
11520 (w32_load_system_font): Initialize charset as unicode.
11521 font_info.encoding becomes encoding_type.
11522 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11523 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11524 (syms_of_w32fns): Set get_font_repertory_func.
11525
11526 * w32console.c: Include character.h. Use terminal_encode_buffer
11527 from term.c.
11528 (write_glyphs): Use new version of encode_terminal_code. Use
11529 encode_coding_object in place of encode_coding.
11530
11531 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11532 encoding becomes encoding_type.
11533
11534 * term.c (terminal_encode_buffer): Make externally visible.
11535
11536 * makefile.w32-in: Add character.h dependancies.
11537 (character.o, chartab.o): New targets.
11538
115392008-02-01 Kenichi Handa <handa@m17n.org>
11540
11541 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11542 CODING_ID_EOL_TYPE.
11543
115442008-02-01 Andreas Schwab <schwab@suse.de>
11545
11546 * coding.c (produce_chars): Revert last change.
11547
115482008-02-01 Kenichi Handa <handa@m17n.org>
11549
11550 * charset.h (charset_unicode): Extern it.
11551
11552 * charset.c (string_xstring_p): Check by (C >= 0x100).
11553 (find_charsets_in_text): Change format of the arc CHARSETS. New
11554 arg MULTIBYTE.
11555 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11556 change of find_charsets_in_text.
11557 (Fsplit_char): Fix doc. Never return unknown.
11558
11559 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11560
11561 * coding.c (Fdefine_coding_system_alias): Update
11562 Vcoding_system_list.
11563
11564 * fontset.c (load_font_get_repertory): Pay attention to the case
11565 that ENCODING of a font is specified by a char-table.
11566
11567 * xterm.c (x_get_font_repertory): Handle the case that the
11568 encoding of font is other than Unicode.
11569
115702008-02-01 Kenichi Handa <handa@m17n.org>
11571
11572 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11573 if a character is encodable by the terminal coding system. If
11574 not, produces proper number of `?'s. Update
11575 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11576 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11577
115782008-02-01 Kenichi Handa <handa@m17n.org>
11579
11580 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11581 variables.
11582 (encode_terminal_code): Change argument. Encode multiple
11583 characters at once. Store the result of encoding in
11584 terminal_encode_buffer.
11585 (write_glyphs, insert_glyphs): Adjust for the change of
11586 encode_terminal_code.
11587 (term_init): Initialize terminal_encode_buffer and
11588 terminal_encode_buf_size.
11589
11590 * coding.c (consume_chars): If coding->src_object is nil, don't
11591 check annotation.
11592
115932008-02-01 Kenichi Handa <handa@m17n.org>
11594
11595 * character.c (char_string): Use ASCII_CHAR_P instead of
11596 SINGLE_BYTE_CHAR_P.
11597
115982008-02-01 Kenichi Handa <handa@m17n.org>
11599
11600 * xdisp.c (handle_auto_composed_prop): Check if the last
11601 characters of auto-composed region is newly composed with the
11602 following characters.
11603 (handle_composition_prop): Fix checking of point being inside
11604 composition.
11605
116062008-02-01 Kenichi Handa <handa@m17n.org>
11607
11608 * fns.c (concat): Don't change multibyteness of the result by
11609 concatenating an 8-bit character.
11610
11611 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11612 multibyteness of the result when newelt is an 8-bit character.
11613
116142008-02-01 Dave Love <fx@gnu.org>
11615
11616 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11617 EMACS_INT.
11618
11619 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11620
11621 * xfaces.c (face_numeric_value): Declare dim size_t.
11622 (Finternal_lisp_face_equal_p): Remove unused f.
11623
11624 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11625 (MATRIX_ROW): Remove unused vars.
11626 (draw_glyphs, x_insert_glyphs, fast_find_position)
11627 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11628 byte/char counts.
11629
11630 * regex.c (regex_compile): Remove unused var.
11631
11632 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11633
11634 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11635 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11636
11637 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11638
11639 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11640
11641 * fileio.c (Fwrite_region): Remove unused var.
11642
11643 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11644 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11645
11646 * composite.c (Fremove_list_of_text_properties): Declare.
11647
11648 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11649 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11650 (coding_inherit_eol_type): Remove unused attrs.
11651 (detect_coding): Cast arg of detect_eol.
11652
11653 * charset.c (syms_of_charset): Remove unused var p.
11654 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11655 byte/char counts.
11656
11657 * casetab.c (set_case_table): Remove unused var.
11658
11659 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11660 unused vars.
11661
116622008-02-01 Dave Love <fx@gnu.org>
11663
11664 * xterm.c (x_bitmap_mask): Declare.
11665
116662008-02-01 Dave Love <fx@gnu.org>
11667
11668 * xterm.c (x_term_init): Fix type error.
11669
11670 * lisp.h: Add Funibyte_char_to_multibyte.
11671
11672 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11673 (Fset_coding_system_priority): Doc fix.
11674
11675 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11676
11677 * indent.c (check_composition): Make start and end EMACS_INT.
11678
11679 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11680
11681 * xdisp.c (handle_composition_prop, check_point_in_composition):
11682 Make buffer positions EMACS_INT.
11683
11684 * composite.c (find_composition, run_composition_function)
11685 (update_compositions, Ffind_composition_internal): Make buffer
11686 positions EMACS_INT.
11687
11688 * composite.h (find_composition, update_compositions): Make
11689 position args EMACS_INT.
11690
11691 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11692
11693 * intervals.c (get_property_and_range):
11694 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11695
11696 * unexalpha.c: Don't include varargs.h.
11697
116982008-02-01 Dave Love <fx@gnu.org>
11699
11700 * coding.h (ENCODE_UTF_8): New.
11701
11702 * Makefile.in (gtkutil.o): Depend on coding.h.
11703
11704 * coding.c (Fset_coding_system_priority): Doc fix.
11705
117062008-02-01 Kenichi Handa <handa@m17n.org>
11707
11708 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11709 the case of auto saving.
11710
117112008-02-01 Andreas Schwab <schwab@suse.de>
11712
11713 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11714 `range' from GC.
11715
117162008-02-01 Kenichi Handa <handa@m17n.org>
11717
11718 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11719
117202008-02-01 Kenichi Handa <handa@m17n.org>
11721
11722 * fileio.c (choose_write_coding_system): Return a decided coding system.
11723 (Fwrite_region): Set Vlast_coding_system_used to the return value
11724 of choose_write_coding_system.
11725
117262008-02-01 Kenichi Handa <handa@m17n.org>
11727
11728 * charset.c (Fset_charset_priority): Pay attention to duplicated
11729 arguments.
11730
11731 * coding.c (QCcategory): New variable.
11732 (syms_of_coding): Defsym it. Set all elements of
11733 Vcoding_category_table and their symbol values.
11734 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11735 coding-category-XXX, and coding-category-list.
11736 (Fdefine_coding_system_internal): Add category in the plist.
11737
117382008-02-01 Kenichi Handa <handa@m17n.org>
11739
11740 * callproc.c (Fcall_process): Handle carryover correctly.
11741
11742 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11743 (raw_text_coding_system): Check NILP (coding_system).
11744 (coding_inherit_eol_type): Check NILP (coding_system) and
11745 NILP (parent).
11746 (consume_chars): Fix for the case of raw-text.
11747
11748 * process.c (read_process_output): Handle carryover correctly.
11749
117502008-02-01 Dave Love <fx@gnu.org>
11751
11752 * regex.c (re_search_2): Fix last change.
11753
117542008-02-01 Kenichi Handa <handa@m17n.org>
11755
11756 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11757 target_multibyte. Even in a unibyte case, return a converted
11758 multibyte char.
11759 (GET_CHAR_AFTER): New macro.
11760 (PATFETCH): Translate via multibyte char.
11761 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11762 (SETUP_MULTIBYTE_RANGE): New macro.
11763 (regex_compile): Setup compiled code so that its multibyteness
11764 matches that of a target. Fix the handling of "[X-YZ]" using
11765 SETUP_MULTIBYTE_RANGE.
11766 (analyse_first) <charset>: For filling fastmap for all multibyte
11767 characters, don't check by BASE_LEADING_CODE_P.
11768 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11769 the same as RE_MULTIBYTE_P (bufp) now.
11770 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11771 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11772 (TRANSLATE_VIA_MULTIBYTE): New macro.
11773 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11774 It is the same as RE_MULTIBYTE_P (bufp) now.
11775 <exactn>: Translate via multibyte.
11776 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11777 translate it.
11778 <charset, charset_not>: Fetch a character by
11779 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11780 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11781 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11782 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11783 by GET_CHAR_AFTER.
11784 (bcmp_translate): Likewise.
11785
11786 * search.c (compile_pattern): Check the member target_multibyte,
11787 not the member multibyte of buf.
11788
11789 * lread.c (read1): While reading a string, set force_singlebyte
11790 and force_multibyte correctly.
11791
11792 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11793 up of unibyte_to_multibyte_table.
11794
117952008-02-01 Kenichi Handa <handa@m17n.org>
11796
11797 * coding.c (setup_coding_system): If coding has
11798 post-read-conversion or pre-write-conversion, set
11799 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11800 respectively.
11801 (decode_coding_gap): Run post-read-conversion if any.
11802
11803 * fileio.c (Finsert_file_contents): Even if we read into a
11804 unibyte buffer, check if we must decode the result or not.
11805
118062008-02-01 Kenichi Handa <handa@m17n.org>
11807
11808 * coding.c (make_conversion_work_buffer): Change the work buffer
11809 name to the same one as that of Emacs 21.
11810
118112008-02-01 Kenichi Handa <handa@m17n.org>
11812
11813 * coding.h (make_conversion_work_buffer): Adjust prototype.
11814 (code_conversion_restore): Don't extern it.
11815
11816 * coding.c (detected_mask): Delete unused variable.
11817 (decode_coding_iso_2022): Pay attention to the byte sequence of
11818 CTEXT extended segment, and retain those bytes as is.
11819 (decode_coding_ccl): Delete unused variable `valids'.
11820 (setup_coding_system): Delete unused variable `category'.
11821 (consume_chars): Delete unused variable `category'. Make it work
11822 for non-multibyte case.
11823 (make_conversion_work_buffer): Change argument.
11824 (saved_coding): Delete unused variable.
11825 (code_conversion_restore): Don't check saved_coding->destination.
11826 (code_conversion_save): New function.
11827 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11828 instead of record_unwind_protect.
11829 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11830 (detect_coding_system): Delete unused variable `mask'.
11831 (Fdefine_coding_system_internal): Delete unused variable id.
11832
11833 * fileio.c (kill_workbuf_unwind): New function.
11834 (Finsert_file_contents): On replacing, call
11835 make_conversion_work_buffer with correct args, and call
11836 record_unwind_protect with the first arg kill_workbuf_unwind.
11837
11838 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11839
118402008-02-01 Kenichi Handa <handa@m17n.org>
11841
11842 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11843 (fontset_add): Fix for the case that TO is less than TO1.
11844 (Ffontset_info): Don't use fallback fontset on checking the
11845 default fontset.
11846 (dump_fontset): New function for debugging.
11847
11848 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11849 coding_type is Qcharset.
11850
118512008-02-01 Kenichi Handa <handa@m17n.org>
11852
11853 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11854 (map_char_table): Don't inherit the value from the parent on
11855 initializing VAL. Adjust for the above change.
11856
118572008-02-01 Kenichi Handa <handa@m17n.org>
11858
11859 * coding.c (Qsignature, Qendian): Delete these variables.
11860 (syms_of_coding): Don't initialize them.
11861 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11862 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11863 detect_info->found.
11864 (decode_coding_utf_16): Don't detect BOM here.
11865 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11866 is NOT utf_16_without_bom.
11867 (setup_coding_system): For a coding system of type utf-16, check
11868 if the attribute :endian is Qbig or not (not nil or not), and set
11869 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11870 (detect_coding): If coding type is utf-16 and BOM detection is
11871 required, detect it.
11872 (Fdefine_coding_system_internal): For a coding system of type
11873 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11874
118752008-02-01 Kenichi Handa <handa@m17n.org>
11876
11877 * coding.c (coding_set_source): Fix for the case that the current
11878 buffer is different from coding->src_object.
11879 (decode_coding_object): Don't use the conversion work buffer if
11880 DST_OBJECT is a buffer.
11881
118822008-02-01 Dave Love <fx@gnu.org>
11883
11884 * lread.c (read_emacs_mule_char) [len==2]: Index
11885 emacs_mule_charset correctly.
11886
118872008-02-01 Dave Love <fx@gnu.org>
11888
11889 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11890 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11891 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11892 treated specially.)
11893 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11894 (detected_mask): Remove Big5 bits.
11895
118962008-02-01 Kenichi Handa <handa@m17n.org>
11897
11898 The following changes are to make the font rescaling facility
11899 compatible with Emacs 21.
11900
11901 * xfaces.c (Vface_font_rescale_alist): Rename from
11902 Vface_resizing_fonts.
11903 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11904 (font_rescale_ratio): Rename from font_resizing_ratio.
11905 (split_font_name): Set font->rescale_ratio.
11906 (better_font_p): Pay attention to font->rescale_ratio.
11907 (build_scalable_font_name): Likewise. Change RESX, and RESY
11908 fields.
11909 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11910
119112008-02-01 Kenichi Handa <handa@m17n.org>
11912
11913 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11914 (Qutf_16_le): Remove these variables.
11915 (syms_of_coding): Don't DEFSYM them.
11916 (decode_coding_utf_16): Fix handling of BOM.
11917 (encode_coding_utf_16): Fix handling of BOM.
11918
119192008-02-01 Kenichi Handa <handa@m17n.org>
11920
11921 * fileio.c (Finsert_file_contents): On replacing, before decoding
11922 the file into the work buffer, set point of the work buffer to the end.
11923
119242008-02-01 Dave Love <fx@gnu.org>
11925
11926 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11927
119282008-02-01 Dave Love <fx@gnu.org>
11929
11930 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11931 and fix C types.
11932
119332008-02-01 Kenichi Handa <handa@m17n.org>
11934
11935 * xdisp.c (SKIP_GLYPHS): New macro.
11936 (set_cursor_from_row): Pay attention to string display properties.
11937
11938 * category.c (copy_category_entry): Fix for the case that RANGE
11939 is an integer.
11940
11941 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11942
11943 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11944
119452008-02-01 Kenichi Handa <handa@m17n.org>
11946
11947 * charset.c (Fcharset_id_internal): New function.
11948 (syms_of_charset): Defsubr it.
11949
11950 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11951 with the last arg charset_list acquired from coding.
11952 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11953 the attribute coding_attr_ccl_valids.
11954
11955 * coding.h (enum define_coding_ccl_arg_index): Set the first
11956 member coding_arg_ccl_decoder to coding_arg_max.
11957
11958 * ccl.h (ccl_driver): Adjust prototype.
11959
11960 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11961 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11962 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11963 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11964 last arg Qnil.
11965
119662008-02-01 Kenichi Handa <handa@m17n.org>
11967
11968 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11969 call encode_char.
11970
11971 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11972
119732008-02-01 Dave Love <fx@gnu.org>
11974
11975 * composite.c (syms_of_composite): Make composition_hash_table weak.
11976
119772008-02-01 Kenichi Handa <handa@m17n.org>
11978
11979 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11980 (font_name_registry): Don't extern them.
11981 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11982
11983 * fontset.h (Qfontset): Don't extern it.
11984 (new_fontset_from_font_name): Extern it.
11985
11986 * fontset.c: Give 8 extra slots to fontset objects.
11987 (Qfontset_info): New variable.
11988 (syms_of_fontset): Defsym it.
11989 (FONTSET_FALLBACK): New macro.
11990 (fontset_face): Try also the default fontset.
11991 (make_fontset): Realize a fallback fontset from the default fontset.
11992 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11993 using split_font_name_into_vector and build_font_name_from_vector.
11994 (Fset_fontset_font): Access the elements of font_spec by enum
11995 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11996 name by using split_font_name_into_vector.
11997 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11998 generate a proper font name from the fontset name. Update
11999 Vfontset_alias_alist.
12000 (n_auto_fontsets): New variable.
12001 (new_fontset_from_font_name): New function.
12002 (Ffont_info): Store the information about fonts generated from the
12003 default fontset in the first extra slot of the returned char-table.
12004
12005 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
12006 (font_name_registry): Delete function.
12007 (split_font_name_into_vector): New function.
12008 (build_font_name_from_vector): New function.
12009 (font_list): The argument REGISTRY is now a list of registry names.
12010 (choose_face_font): If we are choosing an ASCII font, and ATTRS
12011 specifies an explicit font name, return the name as is. Make a
12012 list of registy names.
12013
12014 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
12015 of x_new_fontset.
12016 (Fx_create_frame): Don't call x_new_fontset here. Just use
12017 x_list_fonts to check the existence of fonts.
12018
12019 * xterm.h (x_new_fontset): Adjust prototype.
12020
12021 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
12022 string. Use new_fontset_from_font_name to create a fontset from a
12023 font name.
12024
120252008-02-01 Kenichi Handa <handa@m17n.org>
12026
12027 * syntax.c (Vfind_word_boundary_function_table): New name for
12028 Vnext_word_boundary_function_table.
12029 (find-word-boundary-function-table): New name for
12030 next-word-boundary-function-table.
12031
120322008-02-01 Dave Love <fx@gnu.org>
12033
12034 * Makefile.in: Fix some dependencies.
12035
12036 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
12037 set it to nil before returning.
12038
12039 * composite.c (update_compositions): Fix type error.
12040
12041 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
12042
120432008-02-01 Kenichi Handa <handa@m17n.org>
12044
12045 * xterm.c (x_new_font): Optimize for the case that the font is
12046 already set for the frame.
12047
120482008-02-01 Kenichi Handa <handa@m17n.org>
12049
12050 * chartab.c (char_table_ascii): Check if the char table contents
12051 is sub-char-table or not.
12052 (char_table_set, char_table_set_range): Fix argument to
12053 char_table_ascii.
12054
12055 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
12056 (detect_coding_utf_8, detect_coding_utf_16)
12057 (detect_coding_emacs_mule, detect_coding_iso_2022)
12058 (detect_coding_sjis, detect_coding_big5)
12059 (detect_coding_ccl, detect_coding_charset): Change argument MASK
12060 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
12061 sequence is valid in this coding system. Change callers.
12062 (MAX_ANNOTATION_LENGTH): New macro.
12063 (ADD_ANNOTATION_DATA): New macro.
12064 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
12065 ADD_ANNOTATION_DATA. Change the format of annotation data.
12066 (ADD_CHARSET_DATA): New macro.
12067 (emacs_mule_char): New argument ID. Change callers.
12068 (decode_coding_emacs_mule, decode_coding_iso_2022)
12069 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12070 Produce charset annotation data in coding->charbuf.
12071 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
12072 to charset annotation data in coding->charbuf.
12073 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
12074 coding->common_flags if the coding system is iso-2022 based and
12075 uses designation.
12076 (produce_composition): Adjust for the new annotation data format.
12077 (produce_charset): New function.
12078 (produce_annotation): Handle charset annotation.
12079 (handle_composition_annotation, handle_charset_annotation): New
12080 functions.
12081 (consume_chars): Handle charset annotation. Utilize the above two
12082 functions.
12083 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
12084 buffer, get the deleted text as a string and set
12085 coding->src_object to that string.
12086 (detect_coding, detect_coding_system): Use the new struct
12087 coding_detection_info.
12088
12089 * coding.h (struct coding_detection_info): New structure.
12090 (struct coding_system): Adjust prototype of the member `detector'.
12091 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12092
120932008-02-01 Kenichi Handa <handa@m17n.org>
12094
12095 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12096
120972008-02-01 Dave Love <fx@gnu.org>
12098
12099 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12100 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12101 to new local and nullify apropos_accumulate before returning.
12102 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12103
121042008-02-01 Kenichi Handa <handa@m17n.org>
12105
12106 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12107 correctly.
e3eea1fc 12108
aac0c6e3
MR
121092008-02-01 Dave Love <fx@gnu.org>
12110
12111 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12112
121132008-02-01 Kenichi Handa <handa@m17n.org>
12114
12115 The following changes are to make character composition happen
12116 automatically on displaying.
12117
12118 * Makefile.in (lisp, shortlisp): Add composite.elc.
12119
12120 * composite.h (Qauto_composed, Vauto_composition_function)
12121 (Qauto_composition_function): Extern them.
12122
12123 * composite.c (Vcomposition_function_table)
12124 (Qcomposition_function_table): Delete variables.
12125 (Qauto_composed, Vauto_composition_function)
12126 (Qauto_composition_function): New variables.
12127 (run_composition_function): Don't call
12128 compose-chars-after-function.
12129 (update_compositions): Clear `auto-composed' text property.
12130 (compose_chars_in_text): Delete this function.
12131 (syms_of_composite): Staticpro Qauto_composed and
12132 Qauto_composition_function. Declare Vauto_composition_function as
12133 a Lisp variable.
12134
12135 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12136
12137 * xdisp.c (it_props): Add an entry for Qauto_composed.
12138 (handle_auto_composed_prop): New function.
12139
12140 * xselect.c (selection_data_to_lisp_data): Don't call
12141 compose_chars_in_text.
12142
121432008-02-01 Dave Love <fx@gnu.org>
12144
12145 * keyboard.c (read_char): Modify checking around use of
12146 Vkeyboard_translate_table.
12147
12148 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12149 and fix C types.
12150
121512008-02-01 Kenichi Handa <handa@m17n.org>
12152
12153 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12154 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12155 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12156 the case that the last byte is '\r' correctly.
12157 (decode_coding): Flush out the unprocessed data correctly.
12158 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12159
121602008-02-01 Dave Love <fx@gnu.org>
12161
12162 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12163 Add XK_ISO... case.
12164 (xaw_scroll_callback): Revert last change.
12165
121662008-02-01 Kenichi Handa <handa@m17n.org>
12167
12168 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12169
121702008-02-01 Kenichi Handa <handa@m17n.org>
12171
12172 * xfaces.c (Vface_resizing_fonts): New variable.
12173 (struct font_name): New member `resizing_ratio'.
12174 (font_resizing_ratio): New function.
12175 (split_font_name): Set font->resizing_ratio.
12176 (better_font_p): Pay attention to font->resizing_ratio.
12177 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12178 RESX, and RESY fields.
12179 (try_alternative_families): Try scalable fonts if
12180 Vscalable_fonts_allowed is not Qt.
12181 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12182
121832008-02-01 Dave Love <fx@gnu.org>
12184
12185 * xterm.c (xaw_scroll_callback): Cast correctly.
12186
121872008-02-01 Dave Love <fx@gnu.org>
12188
12189 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12190 (lispy_kana_keys): Comment out.
12191 (make_lispy_event) [XK_kana_A]: Comment out.
12192
12193 * xterm.c (xaw_scroll_callback): Cast call_data.
12194 (XTread_socket): Deal with ASCII keysyms.
12195 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12196
121972008-02-01 Dave Love <fx@gnu.org>
12198
12199 * xterm.c (Vx_keysym_table): New.
12200 (syms_of_xterm): Initialize it.
12201 (XTread_socket): Use it.
12202 From head: Eliminate incorrect optimization that tried to avoid
12203 decoding the output of X*LookupString.
12204 (x_get_font_repertory): Delete charset declaration.
12205
122062008-02-01 Kenichi Handa <handa@m17n.org>
12207
12208 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12209 return 0.
12210 (Fdefine_coding_system_internal): Setup
12211 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12212
122132008-02-01 Dave Love <fx@gnu.org>
12214
12215 * coding.c (Fcheck_coding_system): Doc fix.
12216
12217 * editfns.c (Finsert_byte): Return a proper value.
12218
122192008-02-01 Kenichi Handa <handa@m17n.org>
12220
12221 * coding.c (decode_coding): Fix args to translate_chars. Pay
12222 attention to Vstandard_translation_table_for_decode.
12223 (encode_coding): Fix args to translate_chars. Pay attention to
12224 Vstandard_translation_table_for_encode.
12225
12226 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12227 SINGLE_BYTE_CHAR_P.
12228
12229 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12230 not by SINGLE_BYTE_CHAR_P.
12231
12232 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12233 SINGLE_BYTE_CHAR_P.
12234
12235 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12236 SINGLE_BYTE_CHAR_P.
12237
12238 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12239 by SINGLE_BYTE_CHAR_P.
12240
12241 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12242 SINGLE_BYTE_CHAR_P.
12243
122442008-02-01 Dave Love <fx@gnu.org>
12245
12246 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12247
122482008-02-01 Dave Love <fx@gnu.org>
12249
12250 * fns.c (Flanginfo): Fix typo.
12251
12252 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12253
122542008-02-01 Kenichi Handa <handa@m17n.org>
12255
12256 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12257 (detect_coding_emacs_mule, detect_coding_iso_2022)
12258 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12259 incomplete byte sequence. Don't update *mask when correctly detected.
12260 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12261 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12262 (detect_coding, detect_coding_system): Adjust for the changes above.
12263
122642008-02-01 Kenichi Handa <handa@m17n.org>
12265
12266 * character.c (char_string): Rename from
12267 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12268 (string_char): Rename from string_char.
12269
12270 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12271 if C is greater than MAX_3_BYTE_CHAR.
12272 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12273 string_char instead of string_char_with_unification.
12274
122752008-02-01 Dave Love <fx@gnu.org>
12276
12277 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12278
122792008-02-01 Kenichi Handa <handa@m17n.org>
12280
12281 * keymap.c (push_key_description): Pay attention to force_multibyte.
12282
12283 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12284
122852008-02-01 Dave Love <fx@gnu.org>
12286
12287 * charset.c (define_charset_internal): Rename `supprementary'.
12288
12289 * Makefile.in (lisp, shortlisp): Remove latin-N.
12290
122912008-02-01 Dave Love <fx@gnu.org>
12292
12293 * xfns.c (x_window, x_window): Use use_xim.
12294
12295 * xterm.c (use_xim): Initialize.
12296 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12297 (x_term_init): Maybe set use_xim.
12298
12299 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12300
123012008-02-01 Kenichi Handa <handa@m17n.org>
12302
12303 * search.c (search_buffer): Fix case-fold-search of multibyte
12304 characters.
12305 (boyer_moore): Rename the last argument to char_high_bits.
12306
123072008-02-01 Kenichi Handa <handa@m17n.org>
12308
12309 * xdisp.c (display_string): Fix for the case of zero width glyph.
12310
12311 * xfns.c (x_set_font): Change the error message of the case that
12312 x_new_fontset returns Qt.
12313
12314 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12315 (Finternal_set_lisp_face_attribute): Use signal_error for the
12316 error of invalid fontset.
12317
12318 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12319 fontset, return Qt.
12320
123212008-02-01 Dave Love <fx@gnu.org>
12322
12323 * unexelf.c (unexec): Make .got handling not SGI-specific.
12324
12325 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12326
12327 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12328
12329 * keyboard.c (read_key_sequence): Fix type error.
12330
12331 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12332 type error.
12333
12334 * fontset.c (fontset_add): Return Lisp_Object.
12335
123362008-02-01 Dave Love <fx@gnu.org>
12337
12338 * charset.h (charset_ordered_list_tick): Declare extern.
12339
123402008-02-01 Kenichi Handa <handa@m17n.org>
12341
12342 The following changes (and some of 2008-02-01 changes of mine) are
12343 for handling syntax, category, and case conversion for unibyte
12344 characters by converting them to multibyte on the fly. With these
12345 changes, we don't have to setup syntax and case tables for unibyte
12346 characters in each language environment.
12347
12348 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12349 multibyte if necessary.
12350
12351 * bytecode.c (Fbyte_code): Likewise.
12352
12353 * character.h (LEADING_CODE_LATIN_1_MIN)
12354 (LEADING_CODE_LATIN_1_MAX): New macros.
12355 (unibyte_to_multibyte_table): Extern it.
12356 (unibyte_char_to_multibyte): New macro.
12357 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12358 (CHAR_LEADING_CODE): New macro.
12359 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12360
12361 * character.c (unibyte_to_multibyte_table): New variable.
12362 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12363 (multibyte_char_to_unibyte): If C is an eight-bit character,
12364 convert it to the corresponding byte value.
12365
12366 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12367 not 1, signals an error. Update the elements of
12368 unibyte_to_multibyte_table.
12369 (init_charset_once): Initialize unibyte_to_multibyte_table.
12370 (syms_of_charset): Define the charset `iso-8859-1'.
12371
12372 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12373 as is without converting it to unibyte. In a unibyte buffer,
12374 convert C to multibyte before checking the syntax.
12375
12376 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12377
12378 * minibuf.c (Fminibuffer_complete_word): Use the macro
12379 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12380
12381 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12382
12383 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12384 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12385 that is zero, convert an eight-bit char to multibyte.
12386 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12387 non-emacs case.
12388 (PATFETCH): Convert an eight-bit char to multibyte.
12389 (HANDLE_UNIBYTE_RANGE): New macro.
12390 (regex_compile): Setup the compiled pattern for multibyte chars
12391 even if the given regex string is unibyte. Use PATFETCH_RAW
12392 instead of PATFETCH in many places. To handle `charset'
12393 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12394 only for ASCII chars.
12395 (analyse_first) <exactn>: Simplify because the compiled pattern
12396 is multibyte.
12397 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12398 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12399 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12400 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12401 multibyte always 1.
12402 (re_search_2): In emacs, set the locale variable multibyte to 1,
12403 otherwise to 0. New local variable target_multibyte. Check it
12404 to decide the multibyteness of STR1 and STR2. If
12405 target_multibyte is zero, convert unibyte chars to multibyte
12406 before translating and checking fastmap.
12407 (TARGET_CHAR_AND_LENGTH): New macro.
12408 (re_match_2_internal): In emacs, set the locale variable multibyte
12409 to 1, otherwise to 0. New local variable target_multibyte. Check
12410 it to decide the multibyteness of STR1 and STR2. Use
12411 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12412 <charset, charset_not>: If multibyte is nonzero, check fastmap
12413 only for ASCII chars. Call bcmp_translate with
12414 target_multibyte, not with multibyte.
12415 <begline>: Declare the local variable C as `unsigned'.
12416 (bcmp_translate): Change the last arg name to target_multibyte.
12417
12418 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12419 the regexp pattern and the matching target. Set cp->buf.multibyte
12420 to the multibyteness of the regexp pattern. Set
12421 cp->but.target_multibyte to the multibyteness of the matching target.
12422 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12423 FETCH_STRING_CHAR_ADVANCE.
12424 (Freplace_match): Convert unibyte chars to multibyte.
12425
12426 * syntax.c (char_quoted, back_comment, scan_words)
12427 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12428 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12429 unibyte chars to multibyte.
12430 (skip_chars): Delete the arg syntaxp, and move the code for
12431 handling syntaxes to skip_syntaxes. Change callers.
12432 Fix the case that the multibyteness of STRING and the current
12433 buffer doesn't match.
12434 (skip_syntaxes): New function.
12435 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12436 SINGLE_BYTE_CHAR_P.
12437
124382008-02-01 Kenichi Handa <handa@m17n.org>
12439
12440 * xfaces.c (QCfontset): New variable.
12441 (LFACE_FONTSET): New macro.
12442 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12443 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12444 (Finternal_set_lisp_face_attribute)
12445 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12446 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12447 check also LFACE_FONTSET_INDEX.
12448 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12449 attrs[LFACE_FONT_INDEX].
12450 (syms_of_xfaces): Intern and staticpro QCfontset.
12451
12452 * dispextern.h (enum lface_attribute_index): New member
12453 LFACE_FONTSET_INDEX.
12454
12455 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12456
124572008-02-01 Kenichi Handa <handa@m17n.org>
12458
12459 * coding.c (coding_set_destination): Fix coding->destination for
12460 the case converting a region.
12461 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12462 (encode_coding_object): Fix coding->dst_pos and
12463 coding->dst_pos_byte for the case converting a region.
12464
12465 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12466
12467 * character.h (BYTE8_STRING): New macro.
12468
12469 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12470
124712008-02-01 Kenichi Handa <handa@m17n.org>
12472
12473 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12474 characters by octal form.
12475
12476 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12477
12478 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12479 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12480 _fetch_multibyte_char_len.
12481 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12482
12483 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12484
12485 * casefiddle.c (casify_object): Simplify. Handle the case that
12486 the case conversion change the byte length.
12487 (casify_region): Likewise.
12488
12489 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12490
12491 * character.c (_fetch_multibyte_char_len): Delete this variable.
12492 (syms_of_character): Setup Vprintable_chars.
12493
12494 * editfns.c (Fchar_equal): Fix for the unibyte case.
12495 (Finsert_byte): New function.
12496 (syms_of_editfns): Defsubr it.
12497
12498 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12499 of direct code 0x3ffff.
12500
12501 * search.c (Freplace_match): Fix for the unibyte case.
12502
125032008-02-01 Kenichi Handa <handa@m17n.org>
12504
12505 * lread.c (safe_to_load_p): Fix the logic.
12506
12507 * syntax.c (scan_words): Don't treat characters belonging to
12508 different scripts as constituting a word.
12509
12510 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12511
12512 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12513
12514 * emacs.c (main): In the case of --unibyte, instead of aborting on
12515 finding non-empty buffer, make it unibyte.
12516
125172008-02-01 Kenichi Handa <handa@m17n.org>
12518
12519 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12520 to create a fontset.
12521
125222008-02-01 Dave Love <fx@gnu.org>
12523
12524 * character.c (Funibyte_char_to_multibyte): Doc fix.
12525
12526 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12527
125282008-02-01 Kenichi Handa <handa@m17n.org>
12529
12530 * fontset.c (fontset_add): Make the type `int'.
12531 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12532
12533 * character.c (unibyte_char_to_multibyte)
12534 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12535 charset_unibyte, not charset_primary.
12536
12537 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12538
12539 * charset.c (charset_unibyte): Rename from charset_primary.
12540 (Funibyte_charset): Rename from Fprimary_charset.
12541 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12542 (syms_of_charset): Adjust for the above changes.
12543
12544 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12545 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12546 it->multibyte_p is zero.
12547
12548 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12549 Delete extern.
12550
125512008-02-01 Kenichi Handa <handa@m17n.org>
12552
12553 * coding.c (Fdefine_coding_system_internal): Fix category setting
12554 for a coding system of type iso-2022.
12555
125562008-02-01 Kenichi Handa <handa@m17n.org>
12557
12558 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12559
125602008-02-01 Kenichi Handa <handa@m17n.org>
12561
12562 * syntax.c (Vnext_word_boundary_function_table): New variable.
12563 (next-word-boundary-function-table): Declare it as a Lisp variable
12564 in syms_of_syntax.
12565 (scan_words): Call functions in Vnext_word_boundary_function_table
12566 if any.
12567
12568 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12569
12570 * fontset.c (fs_load_font): If fontp->charset is not negative,
12571 return fontp without setting its members.
12572
125732008-02-01 Dave Love <fx@gnu.org>
12574
12575 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12576
12577 * m/sparc.h (HAVE_ALLOCA): Delete.
12578
12579 * s/irix6-5.h: Don't include strings.h.
12580 (bcopy, bzero, bcmp): Don't undef.
12581
12582 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12583
12584 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12585 (TIOCSIGSEND): Don't test IRIX6.
12586 (bcopy, bzero, bcmp): Define conditionally.
12587
125882008-02-01 Kenichi Handa <handa@m17n.org>
12589
12590 * buffer.c (Qas, Qmake, Qto): New variables.
12591 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12592 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12593
12594 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12595 we are inserting a process output into a multibyte buffer.
12596
12597 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12598 multibyte_char_to_unibyte.
12599
12600 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12601 by the primary charset, make it eight-bit char.
12602 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12603
12604 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12605 (charset_8_bit__control, charset_8_bit_graphic)
12606 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12607 (define_charset_internal): New function.
12608 (syms_of_charset): Call define_charset_internal for pre-defined
12609 charsets.
12610
12611 * charset.h (charset_8_bit): Extern it.
12612
12613 * coding.c (make_conversion_work_buffer): Adjust for the change
12614 of Fset_buffer_multibyte.
12615 (encode_coding_raw_text): Increment p0 in the loop.
12616
12617 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12618
12619 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12620 for the change of Fset_buffer_multibyte.
12621
12622 * fns.c (Fstring_to_multibyte): New function.
12623 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12624
126252008-02-01 Dave Love <fx@gnu.org>
12626
12627 * xfns.c (x_put_x_image): Declare args.
12628
12629 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12630 (try_font_list): Declare an arg.
12631
12632 * xdisp.c (message2_nolog, set_message): Declare an arg.
12633
12634 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12635
12636 * syntax.c (scan_sexps_forward): Declare an arg.
12637
12638 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12639 Declare an arg.
12640
12641 * lisp.h (Fnew_fontset): Declare.
12642
12643 * keymap.c (push_key_description): Call CHARACTERP correctly.
12644
12645 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12646 (face_for_char): Delete unused vars.
12647 (Fset_fontset_font): Doc fix. Delete unused vars.
12648
12649 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12650
12651 * composite.c (update_compositions): Declare arg.
12652
12653 * cm.c (calccost, cmgoto): Declare args.
12654
12655 * charset.c: Remove `emacs' conditional. Doc fixes.
12656 (map_char_table_for_charset): Declare.
12657
12658 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12659
12660 * ccl.c: Remove `emacs' conditional.
12661
126622008-02-01 Kenichi Handa <handa@m17n.org>
12663
12664 The following changes are to allow specifying multiple font
12665 patterns for a character range (specified by script or charset).
12666
12667 * Makefile.in (abbrev.o): Depend on syntax.h.
12668 (xfaces.o): Depend on charset.h.
12669
12670 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12671 SINGLE_BYTE_CHAR_P.
12672
12673 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12674
12675 * character.h (Vchar_script_table): Extern it.
12676
12677 * character.c (Vscript_alist): Delete.
12678 (Vchar_script_table, Qchar_script_table): New variable.
12679 (syms_of_character): Declare Vchar_script_table as a lisp variable
12680 and initialize it.
12681
12682 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12683 have property char-table-extra-slots, make no extra slot.
12684
12685 * dispextern.h (struct face): Delete member `charset'.
12686 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12687 SINGLE_BYTE_CHAR_P.
12688 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12689 Add prototypes.
12690 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12691 (generate_ascii_font_name): Rename from generate_ascii_font.
12692
12693 * fontset.h (get_font_repertory_func): New prototype.
12694 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12695 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12696
12697 * fontset.c (Qprepend, Qappend): New variables.
12698 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12699 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12700 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12701 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12702 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12703 (load_font_get_repertory): New functions.
12704 (fontset_set): Delete.
12705 (fontset_face): New arg FACE. Return face ID, not face.
12706 Complete re-write to handle new fontset structure. Change caller.
12707 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12708 (face_for_char): Don't call lookup_face.
12709 (make_fontset_for_ascii_face): New arg FACE.
12710 (fs_load_font): New arg CHARSET_ID. Don't check
12711 Vfont_encoding_alist here.
12712 (find_font_encoding): New function.
12713 (list_fontsets): Use STRINGP, not ! NILP.
12714 (accumulate_script_ranges): New function.
12715 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12716 re-written to handle new fontset structure.
12717 (Ffontset_font): Return a copy of element.
12718 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12719 docstring of font-encoding-alist.
12720
12721 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12722 (Fset_fotset_font): Fix arguments to 5.
12723
12724 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12725
12726 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12727 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12728 (highlight_trailing_whitespace): Adjust for the change of
12729 lookup_named_face.
12730
12731 * xfaces.c: Include charset.h.
12732 (load_face_font): Delete argument C. Change caller.
12733 (generate_ascii_font_name): Rename from generate_ascii_font.
12734 (font_name_registry): New function.
12735 (cache_face): Store ascii faces before non-ascii faces in buckets.
12736 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12737 Lookup only ascii faces.
12738 (lookup_non_ascii_face): New function.
12739 (lookup_named_face): Delete argument C. Change caller.
12740 (lookup_derived_face): Delete argument C. Change caller.
12741 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12742 a string, just call font_list with it.
12743 (choose_face_font): Delete arguments FACE and C. New arg
12744 FONT_SPEC. Change caller.
12745 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12746 Change caller.
12747 (realize_non_ascii_face): New function.
12748 (realize_x_face): Call load_face_font here.
12749 (realize_tty_face): Delete argument C. Change caller.
12750 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12751 get a face ID.
12752 (dump_realized_face): Don't print charset of FACE.
12753
12754 * xfns.c (x_set_font): Always call x_new_fontset and
12755 store_frame_parameter.
12756 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12757 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12758
12759 * xterm.h (x_get_font_repertory): Extern it.
12760
12761 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12762 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12763 it->multibyte_p is zero.
12764 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12765 (x_new_fontset): If FONTSETNAME doesn't match any existing
12766 fontsets, create a new one.
12767 (x_get_font_repertory): New function.
12768
127692008-02-01 Kenichi Handa <handa@m17n.org>
12770
12771 * coding.c (Ffind_coding_systems_region_internal): Detect an
12772 ASCII only string correctly.
12773
12774 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12775 version is 0.
12776
127772008-02-01 Kenichi Handa <handa@m17n.org>
12778
12779 * lread.c: Include "coding.h".
12780 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12781 (load_each_byte, unread_char): New variables.
12782 (readchar_backlog): Delete.
12783 (readchar): Return a character unless load_each_byte is nonzero.
12784 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12785 cons. If unread_char is not -1, simply return it.
12786 (unreadchar): Handle the case that readcharfun is
12787 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12788 (read_multibyte): Delete.
12789 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12790 (read_emacs_mule_char): New functions.
12791 (Fload): Even if the file doesn't have the extension ".elc", if
12792 safe_to_load_p returns a positive version number, assume that the
12793 file contains bytecompiled code. If the version is less than 22,
12794 load the file while decoding multibyte sequences by emacs-mule.
12795 (readevalloop): Don't use readchar_backlog.
12796 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12797 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12798 (read_escape): Delete the arg BYTEREP.
12799 (read1): Set load_each_byte to 1 temporarily while handling
12800 #@NUMBER. Don't call read_multibyte.
12801 (read_vector): Call Fread with a cons. If readcharfun is
12802 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12803 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12804 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12805 and Qload_force_doc_strings.
12806
128072008-02-01 Kenichi Handa <handa@m17n.org>
12808
12809 * xdisp.c (face_before_or_after_it_pos): Call
12810 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12811
128122008-02-01 Kenichi Handa <handa@m17n.org>
12813
12814 * character.h (TRAILING_CODE_P): New macro.
12815 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12816 (string_char_with_unification): Fix prototype.
12817 (Vscript_alist): Extern it.
12818
12819 * character.c (Vscript_alist): New variable.
12820 (string_char_with_unification, str_as_unibyte)
12821 (string_escape_byte8): Add `const' to local variables.
12822 (syms_of_character): Declare script-alist as a Lisp variable.
12823
12824 * charset.h (Vcharset_ordered_list): Extern it.
12825 (charset_ordered_list_tick): Extern it.
12826 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12827 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12828 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12829 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12830 (Funify_charset): Adjust for the change of Funify_charset.
12831
12832 * charset.c (charset_ordered_list_tick): New variable.
12833 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12834 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12835 deunify intead of unify a charset.
12836 (string_xstring_p): Add `const' to local variables.
12837 (find_charsets_in_text): Add `const' to arguments and local variables.
12838 (encode_char): Adjust for the change of Funify_charset. Fix
12839 detecting of invalid code.
12840 (Fset_charset_priority): Increment charset_ordered_list_tick.
12841 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12842 and TO_CODE.
12843
12844 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12845 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12846 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12847 (decode_coding_ccl, consume_chars)
12848 (Ffind_coding_systems_region_internal)
12849 (Fcheck_coding_systems_region): Add `const' to local variables.
12850
12851 * print.c (print_object): Use octal form for printing the
12852 contents of a bool vector.
12853
128542008-02-01 Dave Love <fx@gnu.org>
12855
12856 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12857 <version == 20>: Refuse to load.
12858
128592008-02-01 Dave Love <fx@gnu.org>
12860
12861 * fns.c: Move coding.h.
12862 (Qcodeset, Qdays, Qmonths): New.
12863 (concat): Use CHARACTERP instead of INTEGERP.
12864 (Flocale_codeset): Delete.
12865 (Flanginfo): New function.
12866 (syms_of_fns): Change accordingly.
12867
12868 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12869
128702008-02-01 Dave Love <fx@gnu.org>
12871
12872 * casetab.c (init_casetab_once, init_casetab_once): Fix
12873 CHAR_TABLE_SET call.
12874
12875 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12876
12877 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12878
12879 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12880 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12881 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12882
12883 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12884
12885 * coding.c (ENCODE_DESIGNATION, decode_eol)
12886 (make_conversion_work_buffer, code_conversion_restore)
12887 (Fdefine_coding_system_internal): Convert Lisp types.
12888 (code_conversion_restore): Use EQ, not ==.
12889 (Fencode_coding_string): Fix code_convert_string call.
12890
12891 * coding.h (code_convert_region): Fix prototype.
12892
12893 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12894
12895 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12896 (Ffontset_info): Convert Lisp types.
12897
12898 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12899
12900 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12901
12902 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12903
12904 * chartab.c: Include "...h", not <...h> in some cases.
12905
12906 * callproc.c (Fcall_process): Remove unused variables.
12907
129082008-02-01 Dave Love <fx@gnu.org>
12909
12910 * coding.c (Fset_coding_system_priority): Allow null arg list.
12911
129122008-02-01 Dave Love <fx@gnu.org>
12913
12914 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12915 (Fself_insert_and_exit): Use CHARACTERP.
12916
12917 * callproc.c (Fcall_process): Remove unused vars.
12918
12919 * xterm.c (XTread_socket): Add extra dead keysyms.
12920
12921 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12922
12923 * dispextern.h: Remove prototypes for redraw_frame,
12924 redraw_garbaged_frames.
12925
12926 * cmds.c (Fself_insert_command): Use CHARACTERP.
12927
12928 * chartab.c (make_sub_char_table): Remove unused var.
12929 (Fset_char_table_default, Fmap_char_table): Doc fix.
12930
12931 * keymap.c (access_keymap): Remove generic char code.
12932 (push_key_description): Use CHARACTERP.
12933
129342008-02-01 Dave Love <fx@gnu.org>
12935
12936 * charset.c: Doc fixes.
12937 (Funify_charset): Extra checking.
12938
129392008-02-01 Dave Love <fx@gnu.org>
12940
12941 * lread.c: Remove some unused variables.
12942 (safe_to_load_p): If safe, return the magic number version byte.
12943 (Fload): Maybe use load-with-code-conversion.
12944
129452008-02-01 Kenichi Handa <handa@m17n.org>
12946
12947 * category.c (Fmodify_category_entry): Don't modify the contents
12948 of category_set for characters out of the range. Avoid
12949 unnecessary modification.
12950
12951 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12952 Vchar_unify_table. The default value of the table is now nil.
12953
12954 * character.c (syms_of_character): Setup Vchar_width_table for
12955 eight-bit-control and raw-byte chars.
12956
12957 * charset.h (enum define_charset_arg_index): Delete
12958 charset_arg_parents and add charset_arg_subset and
12959 charset_arg_superset.
12960 (enum charset_attr_index): Delete charset_parents and add
12961 charset_subset and charset_superset.
12962 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12963 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12964 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12965 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12966 (CHARSET_SUPERSET): New macros.
12967 (charset_work): Extern it.
12968 (ENCODE_CHAR): Use charset_work.
12969 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12970 (map_charset_chars): Extern it.
12971
12972 * charset.c (load_charset_map): Set the default value of encoder
12973 and deunifier char-tables to nil.
12974 (map_charset_chars): Change argument. Change callers. Use
12975 map_char_table_for_charset instead of map_char_table.
12976 (Fmap_charset_chars): New optional args from_code and to_code.
12977 (Fdefine_charset_internal): Adjust for the change of
12978 `define-charset' (:parents -> :subset or :superset).
12979 (charset_work): New variable.
12980 (encode_char, syms_of_charset): Adjust for the change of
12981 Fdefine_charset_internal.
12982 (Ffind_charset_string): Setup the vector `charsets' correctly.
12983
12984 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12985 the previous change.
12986 (char_table_ref_and_range): Adjust for the above change.
12987 (map_sub_char_table_for_charset): New function.
12988 (map_char_table_for_charset): New function.
12989
12990 * keymap.c (describe_vector): Handle a char-table directly here.
12991 (describe_char_table): Delete.
12992
12993 * lisp.h (map_charset_chars): Delete.
12994
129952008-02-01 Dave Love <fx@gnu.org>
12996
12997 * fns.c (count_combining): Comment out (unused).
12998 (Flocale_codeset): New.
12999 (syms_of_fns): Defsubr it.
13000
13001 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
13002 (size_t): Remove.
13003
130042008-02-01 Dave Love <fx@gnu.org>
13005
13006 * Makefile.in (chartab.o): Depend on charset.h.
13007
130082008-02-01 Kenichi Handa <handa@m17n.org>
13009
13010 * character.c (syms_of_character): Set the default value of
13011 Vprintable_chars to Qnil.
13012
130132008-02-01 Dave Love <fx@gnu.org>
13014
13015 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
13016
130172008-02-01 Kenichi Handa <handa@m17n.org>
13018
13019 * charset.c (load_charset_map): Handle the case that from < to
13020 correctly.
13021
13022 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
13023 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
13024 Pay attention to raw-8-bit chars.
13025
130262008-02-01 Kenichi Handa <handa@m17n.org>
13027
13028 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
13029 It is not bytecompiled now.
13030
13031 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
13032 (charset_jisx0208): New variables.
13033 (Fdefine_charset_internal): Setup them if appropriate.
13034 (init_charset_once): Initialize them to -1.
13035
13036 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
13037 (charset_jisx0208): Extern them.
13038
13039 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
13040 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
13041 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
13042 (setup_iso_safe_charsets): Fix arguments to Fassq.
13043 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
13044 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
13045 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
13046 (encode_coding_iso_2022): Change the 1st arg to
13047 ENCODE_ISO_CHARACTER to a variable.
13048
130492008-02-01 Kenichi Handa <handa@m17n.org>
13050
13051 * charset.h (enum define_charset_arg_index): New enums
13052 charset_arg_min_code and charset_arg_max_code.
13053 (struct charset): New member char_index_offset.
13054
13055 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
13056 Take charset->char_index_offset into account.
13057 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
13058 args[charset_arg_max_code]. Setup charset.char_index_offset.
13059 (syms_of_charset): Fix args to Fdefine_charset_internal.
13060
130612008-02-01 Dave Love <fx@gnu.org>
13062
13063 * coding.c (decode_coding_utf_8): Reject overlong sequences.
13064
130652008-02-01 Dave Love <fx@gnu.org>
13066
13067 * coding.c: Doc fixes.
13068 (Fcoding_system_aliases): Fix return value.
13069 (Qmac): Remove (duplicated) definition.
13070
130712008-02-01 Dave Love <fx@gnu.org>
13072
13073 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
13074 functions.
13075
13076 * character.c (Fstring): Doc fix.
13077
13078 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
13079
13080 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
13081 ids.
13082 (font-encoding-alist): Doc fix.
13083
130842008-02-01 Dave Love <fx@gnu.org>
13085
13086 * term.c (costs_set): Declare static, non-initialized for pcc.
13087 (encode_terminal_code): Remove unused var.
13088
13089 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13090 for K&R.
13091
13092 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13093
13094 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13095 (suffixes): Move out of make_subsidiaries for K&R.
13096
13097 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13098
13099 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13100
131012008-02-01 Dave Love <fx@gnu.org>
13102
13103 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13104
13105 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13106
131072008-02-01 Yong Lu <lyongu@asia-infonet.com>
13108
13109 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13110
13111 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13112
131132008-02-01 Kenichi Handa <handa@m17n.org>
13114
13115 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13116 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13117
131182008-02-01 Kenichi Handa <handa@m17n.org>
13119
13120 * coding.c (decode_coding_charset): Adjust for the change of
13121 Fdefine_coding_system_internal.
13122 (Fdefine_coding_system_internal): For a coding system of
13123 `charset' type, store a list of charset IDs in
13124 `charset_attr_charset_valids' element of coding attributes.
13125
131262008-02-01 Kenichi Handa <handa@m17n.org>
13127
13128 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13129 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13130 caller. Handle 2-byte and 3-byte charsets correctly.
13131 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13132 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13133 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13134 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13135 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13136 sequence.
13137 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13138 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13139 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13140 and alt&rule composition.
13141 (decode_coding_iso_2022): Handle composition correctly.
13142 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13143
13144 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13145 re-defining a charset. If the charset has :emacs-mule-id, setup
13146 emacs_mule_bytes.
13147 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13148
131492008-02-01 Kenichi Handa <handa@m17n.org>
13150
13151 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13152 (encode_coding_big5, encode_coding_charset): If coding requires safe
13153 encoding, produce a character specified by
13154 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13155
131562008-02-01 Dave Love <fx@gnu.org>
13157
13158 * xterm.c (XSetIMValues): Declare.
13159
13160 * process.c: Conditionally include sys/wait.h, pty.h.
13161
13162 * print.c (print_object): Fix print format for 64-bit systems.
13163
13164 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13165
13166 * buffer.c (emacs_strerror): Declare.
13167
13168 * fontset.c (Fclear_face_cache): Declare.
13169 (accumulate_font_info): Comment-out (unused).
13170 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13171 variables.
13172
13173 * character.h (string_escape_byte8): Declare.
13174
13175 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13176 unused vars.
13177 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13178 (Fmap_charset_chars): Doc fix.
13179
13180 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13181 (Fset_coding_system_priority, Fset_coding_system_priority)
13182 (Fdefine_coding_system_internal): Doc fix.
13183
131842008-02-01 Dave Love <fx@gnu.org>
13185
13186 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13187
131882008-02-01 Kenichi Handa <handa@m17n.org>
13189
13190 * character.c (string_escape_byte8): Make multibyte string with
13191 correct size.
13192
13193 * charset.c (Fmake_char): Delete unnecessary code.
13194
131952008-02-01 Kenichi Handa <handa@m17n.org>
13196
13197 * xfns.c (x_encode_text): Allocate coding.destination here, and
13198 call encode_coding_object with dst_object Qnil.
13199
13200 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13201 multibyte form correctly.
13202
13203 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13204 against Vfont_encoding_alist.
13205
13206 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13207 handling of charset list.
13208 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13209 (decode_coding_object): Move point to coding->dst_pos before
13210 calling post-read-conversion function.
13211 (encode_coding_object): Give correct arguments to
13212 pre-write-conversion. Ignore the return value of
13213 pre-write-conversion function. Pay attention to the case that
13214 pre-write-conversion changes the current buffer. If dst_object is
13215 Qt, even if coding->src_bytes is zero, allocate at least one byte
13216 to coding->destination.
13217
13218 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13219
13220 * charset.c (Fmake_char): Make it more backward compatible.
13221 (Fmap_charset_chars): Fix docstring.
13222
132232008-02-01 Dave Love <fx@gnu.org>
13224
13225 * coding.c: Doc fixes.
13226 (Fdefine_coding_system_alias): Use names, not symbols, in
13227 coding-system-alist.
13228
132292008-02-01 Kenichi Handa <handa@m17n.org>
13230
13231 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13232 of calling free_realized_face.
13233
132342008-02-01 Yong Lu <lyongu@asia-infonet.com>
13235
13236 * charset.c (read_hex): Don't treat SPC as a comment starter.
13237 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13238 (Fdecode_char): Fix typo.
13239
132402008-02-01 Kenichi Handa <handa@m17n.org>
13241
13242 * charset.h (struct charset): New member `code_space_mask'.
13243
13244 * coding.c (coding_set_source): Delete the local variable beg_byte.
13245 (encode_coding_charset, Fdefine_coding_system_internal):
13246 Delete the local variable charset.
13247 (Fdefine_coding_system_internal): Setup
13248 attrs[coding_attr_charset_valids] correctly.
13249
13250 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13251 member to check if CODE is valid or not.
13252 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13253 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13254 is within the range of charset->min_code and carset->max_code.
13255
132562008-02-01 Dave Love <fx@gnu.org>
13257
13258 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13259
13260 * dispextern.h (generate_ascii_font): Fix return type.
13261
13262 * xfaces.c (generate_ascii_font): Fix arg declaration.
13263
13264 * coding.c (coding_inherit_eol_type)
13265 (Fset_terminal_coding_system_internal)
13266 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13267
132682008-02-01 Kenichi Handa <handa@m17n.org>
13269
13270 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13271 multiple charsets correctly.
13272
132732008-02-01 Kenichi Handa <handa@m17n.org>
13274
13275 * search.c (boyer_moore): Fix handling of multibyte character
13276 translation.
13277
13278 * xdisp.c (display_mode_element): When the variable `elt' is
13279 changed, update `this' and `lisp_string'.
13280
132812008-02-01 Kenichi Handa <handa@m17n.org>
13282
13283 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13284
13285 * callproc.c (Fcall_process): Be sure to give the current buffer
13286 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13287
13288 * charset.c (struct charset_map_entries): New struct.
13289 (load_charset_map): Rename from parse_charset_map. New args
13290 entries and n_entries. Change caller.
13291 (load_charset_map_from_file): Rename from load_charset_map.
13292 Change caller. New arg control_flag. Call load_charset_map at
13293 the tail.
13294 (load_charset_map_from_vector): New function.
13295 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13296 (encode_char): If the charset is compact, change a character index
13297 to a code point.
13298
13299 * coding.c (coding_alloc_by_making_gap): Check the case that the
13300 source and destination are the same correctly.
13301 (decode_coding_raw_text): Set coding->consumed_char and
13302 coding->consumed to 0.
13303 (produce_chars): If coding->chars_at_source is nonzero, update
13304 coding->consumed_char and coding->consumed before calling
13305 alloc_destination.
13306 (Fdefine_coding_system_alias): Register ALIAS in
13307 Vcoding_system_alist.
13308 (syms_of_coding): Define `no-conversion' coding system at the tail.
13309
13310 * fileio.c (Finsert_file_contents): Set coding_system instead of
13311 val. If the current buffer is multibyte, always call
13312 decode_coding_gap.
13313
13314 * xfaces.c (try_font_list): Give higher priority to fontset's
13315 family than face's family.
13316
133172008-02-01 Kenichi Handa <handa@m17n.org>
13318
13319 * callproc.c (Fcall_process): Be sure to give the current buffer
13320 to decode_coding_c_string.
13321
13322 * xfaces.c (try_font_list): Give a family specified in a fontset
13323 higher priority than a family specified in a face.
13324
133252008-02-01 Kenichi Handa <handa@m17n.org>
13326
13327 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13328 Fix arguments to insert_from_buffer.
13329
13330 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13331
133322008-02-01 Kenichi Handa <handa@m17n.org>
13333
13334 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13335 (decode_coding_gap): Set coding->dst_multibyte correctly.
13336
133372008-02-01 Kenichi Handa <handa@m17n.org>
13338
13339 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13340 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13341 (encode_coding_utf_16): Substitute coding->default_char for
13342 non-Unicode characters.
13343 (decode_coding): Don't call record_insert here.
13344 (setup_coding_system): Initialize `surrogate' of
13345 coding->spec.utf_16 to 0.
13346 (EMIT_ONE_BYTE): Fix for multibyte case.
13347
13348 * insdel.c (insert_from_gap): Call record_insert.
13349
133502008-02-01 Kenichi Handa <handa@m17n.org>
13351
13352 * casefiddle.c (casify_region): Fix multibyte case.
13353
13354 * character.c (c_string_width): Add return type `int'.
13355 (char_string_with_unification): Delete arg ADVANCED.
13356
13357 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13358 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13359 (CHAR_STRING_ADVANCE): Make it do-while statement.
13360
13361 * chartab.c (sub_char_table_set_range): Optimize for the case
13362 DEPTH == 3. Add workaround code for a GCC optimization bug.
13363
13364 * charset.c (parse_charset_map): Remove an unused variable.
13365
13366 * coding.c: Delete unused variables.
13367
13368 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13369 earlier. If inserted is zero and the coding system doesn't
13370 require flushing, don't call decode_coding_gap.
13371
13372 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13373
133742008-02-01 Kenichi Handa <handa@m17n.org>
13375
13376 The following changes are for using Unicode as an internal
13377 character model, and use UTF-8 format for buffer/string
13378 representation.
13379
13380 * .gdbinit (xchartable): Adjust for the change of char table structure.
13381 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13382
13383 * Makefile.in (obj): Add character.o and chartab.o.
13384 (lisp, shortlisp): Remove utf-8.elc.
13385 (*.o): For many files, change dependency on charset.h to
13386 character.h, and add dependency on character.h.
13387 (character.o, chartab.o): New targets.
13388
13389 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13390 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13391 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13392 of "charset.h".
13393
13394 * dired.c, filelock.c: Include "character.h".
13395
13396 * alloc.c: Include "character.h" instead of "charset.h".
13397 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13398 (syms_of_alloc): Remove defsubr for Smake_char_table.
13399
13400 * buffer.c: Include "character.h" instead of "charset.h", don't
13401 include "coding.h".
13402 (Fset_buffer_multibyte): Adjust for UTF-8.
13403
13404 * buffer.h: EXFUN Fbuffer_live_p.
13405
13406 * callproc.c: Include "character.h" instead of "charset.h".
13407 (Fcall_process): Big change for the new code-conversion APIs.
13408
13409 * casetab.c: Include "character.h" instead of "charset.h".
13410 (set_canon, set_identity, shuffle): Adjust for the new
13411 map_char_table spec.
13412 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13413 accessing the char table structure.
13414
13415 * chartab.c: New file that implements char table.
13416
13417 * category.c: Include "character.h".
13418 (copy_category_entry): New function.
13419 (copy_category_table): Call map_char_table and copy_category_entry.
13420 (Fmake_category_table): Initialize all top-level slots.
13421 (char_category_set): New function.
13422 (modify_lower_category_set): Delete.
13423 (Fmodify_category_entry): Call char_table_ref_and_range.
13424
13425 * category.h (CATEGORY_SET): Just call char_category_set.
13426
13427 * ccl.c: Include "character.h".
13428 (Qccl, Qcclp): New variables.
13429 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13430 it's less than 256.
13431 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13432 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13433 and DST type.
13434 (ccl_driver): Change types of argument, adjust code accordingly.
13435 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13436 ccl_driver.
13437 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13438
13439 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13440 New members src_multibyte, dst_multibyte, consumed, and produced.
13441 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13442 (CODING_SPEC_CCL_PROGRAM): New macro.
13443 (ccl_driver): Update prototype.
13444 (Qccl, Qcclp, Fccl_program_p): Extern them.
13445 (CHECK_CCL_PROGRAM): New macro.
13446
13447 * character.c, character.h, chartab.c: New files.
13448
13449 * charset.c: Mostly re-written. Move character and multibyte sequence
13450 handling codes to character.c.
13451
13452 * charset.h: Mostly re-written. Move character and multibyte sequence
13453 handling codes to character.h.
13454
13455 * coding.c, coding.h: Mostly re-written.
13456
13457 * composite.c: Include "character.h" instead of "charset.h".
13458 (CHAR_WIDTH): Move to character.h.
13459 (HASH_KEY, HASH_VALUE): Delete.
13460
13461 * composite.h (enum composition_method): Change order of enumeration
13462 symbols.
13463
13464 * data.c: Include "character.h" instead of "charset.h".
13465 (Faref): Call CHAR_TABLE_REF for a char table.
13466 (Faset): Call CHAR_TABLE_SET for a char table.
13467
13468 * dispextern.h (free_realized_face, check_face_attribytes)
13469 (generate_ascii_font): Extern them.
13470 (free_realized_multibyte_face): Delete extern.
13471
13472 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13473 table structure.
13474
13475 * editfns.c: Include "character.h" instead of "charset.h".
13476 (Fchar_to_string): Always call CHAR_STRING.
13477
13478 * emacs.c (main): Call init_charset_once, init_charset,
13479 syms_of_chartab, and syms_of_character.
13480
13481 * fileio.c: Include "character.h" instead of "charset.h".
13482 (Finsert_file_contents): Big change for the new code-conversion API.
13483 (choose_write_coding_system, Fwrite_region): Likewise.
13484 (build_annotations_2): Delete.
13485 (e_write): Big change for the new code-conversion API.
13486
13487 * fns.c: Include "character.h" instead of "charset.h".
13488 (copy_sub_char_table): Move to chartab.c.
13489 (Fcopy_sequence): Call copy_char_table for a char table.
13490 (concat): Delete codes calling count_multibyte.
13491 (string_char_to_byte, string_byte_to_char): Adjust for the new
13492 multibyte form.
13493 (internal_equal): Adjust for the change of char table structure.
13494 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13495 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13496 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13497 (char_table_translate, optimize_sub_char_table)
13498 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13499 chartab.c.
13500 (char_table_ref_and_index): Delete.
13501 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13502 (Fmd5): Call preferred_coding_system instead of accessing
13503 Vcoding_category_list. Adjust for the new code-conversion API.
13504 (syms_of_fns): Move defsubr for char table related functions to
13505 chartab.c.
13506
13507 * fontset.c: Mostly re-written.
13508
13509 * fontset.h (struct font_info): Change type of the member encoding_type.
13510 (enum FONT_SPEC_INDEX): New enum.
13511 (fontset_font_pattern, fs_load_font): Update prototype.
13512 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13513
13514 * indent.c: Include "character.h" instead of "charset.h".
13515 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13516
13517 * insdel.c: Include "character.h" instead of "charset.h".
13518 (copy_text): Don't refer to Vnonascii_translation_table.
13519 (insert_from_gap): New function.
13520
13521 * keyboard.c: Include "character.h" instead of "charset.h".
13522 (command_loop_1): Never call direct_output_forward_char before
13523 a non-ASCII character.
13524 (read_char): If Vkeyboard_translate_table is a char table, always
13525 translate a character.
13526
13527 * keymap.c: Include "character.h".
13528 (store_in_keymap): Handle the case that IDX is a cons.
13529 (Fdefine_key): Handle the case that KEY is a cons and the car part
13530 is also a cons (range).
13531 (push_key_description): Adjust for the new character code.
13532 (describe_vector): Call describe_char_table for a char table.
13533 (describe_char_table): New function.
13534
13535 * keymap.h (describe_char_table): Extern it.
13536
13537 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13538 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13539 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13540 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13541 Delete.
13542 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13543 structure.
13544 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13545 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13546 (CHARTAB_SIZE_BITS_3): New macros.
13547 (chartab_size): Extern it.
13548 (struct Lisp_Char_Table): Re-design.
13549 (struct Lisp_Sub_Char_Table): New structure.
13550 (HASH_KEY, HASH_VALUE): Move from fns.c.
13551 (CHARACTERBITS): Define as 22.
13552 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13553 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13554 (GC_SUB_CHAR_TABLE_P): New macro.
13555 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13556 (code_convert_string_norecord): Deleted extern.
13557 (init_character_once, syms_of_character, init_charset)
13558 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13559
13560 * lread.c: Include "character.h".
13561 (read_multibyte): New arg NBYTES.
13562 (read_escape): Change the meaning of returned *BYTEREP.
13563 (to_multibyte): Delete.
13564 (read1): Adjust the handling of char table and string.
13565
13566 * print.c: Include "character.h" instead of "charset.h".
13567 (print_string): Convert 8-bit raw bytes to octal form by
13568 string_escape_byte8.
13569 (print_object): Adjust for the new multibyte form. Print 8-bit
13570 raw bytes always in octal form. Handle sub char table correctly.
13571
13572 * process.c: Include "character.h" instead of "charset.h".
13573 (read_process_output, send_process): Adjust for the new
13574 code-conversion API.
13575
13576 * puresize.h (BASE_PURESIZE): Increase.
13577
13578 * regex.c: Include "character.h" instead of "charset.h".
13579 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13580 (regex_compile): Accept a range whose starting and ending
13581 character have different leading bytes.
13582 (analyse_first): Adjust for the above change.
13583
13584 * search.c: Include "character.h" instead of "charset.h".
13585 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13586 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13587
13588 * syntax.c: Include "character.h" instead of "charset.h".
13589 (syntax_parent_lookup): Delete.
13590 (Fmodify_syntax_entry): Accept a cons as CHAR.
13591 (skip_chars): Adjust for the new multibyte form.
13592 (init_syntax_once): Call char_table_set_range instead of directly
13593 accessing the structure of a char table.
13594
13595 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13596 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13597 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13598 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13599
13600 * term.c: Include "buffer.h" and "character.h".
13601 (encode_terminal_code, write_glyphs): Adjust for the new
13602 code-conversion API.
13603 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13604
13605 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13606
13607 * xdisp.c: Include "character.h".
13608 (get_next_display_element): Adjust for the new multibyte form.
13609 (disp_char_vector): Adjust for the new char table structure.
13610 (decode_mode_spec_coding): Adjust for the new structure of
13611 coding system.
13612 (decode_mode_spec): Adjust for the new code-conversion API.
13613
13614 * xfaces.c: Include "character.h" instead of "charset.h".
13615 (load_face_font): Adjust for the change of choose_face_font and
13616 FS_LOAD_FONT.
13617 (generate_ascii_font): New function.
13618 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13619 (set_font_frame_param): Adjust for the change of choose_face_font.
13620 (free_realized_face): Make it public.
13621 (free_realized_faces_for_fontset): Rename from
13622 free_realized_multibyte_face. Free also faces realized for ASCII.
13623 (choose_face_font): Change arguments. Adjust for the change of
13624 fontset_font_pattern and FS_LOAD_FONT.
13625
13626 * xfns.c: Include "character.h".
13627 (x_encode_text): Adjust for the new code-conversion API.
13628
13629 * xselect.c: Don't include "charset.h".
13630 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13631
13632 * xterm.c: Include "character.h".
13633 (x_encode_char): New argument CHARSET. Change caller.
13634 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13635 Call ENCODE_CHAR instead of SPLIT_CHAR.
13636 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13637 CHAR_WIDTH instead of CHARSET_WIDTH.
13638 (XTread_socket): Adjust for the new code-conversion API.
13639 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13640 (x_load_font): Adjust for the change of struct font.
13641
136422008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13643
13644 * xfaces.c (face_at_buffer_position): Remove unused vars.
13645
136462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13647
13648 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13649 Fix overflow checking.
13650
136512008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13652
13653 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13654 Cancel previous change.
13655
136562008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13657
13658 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13659 ccl->eight_bit_control. Fix check for buffer overflow.
13660 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13661 (ccl_driver): Initialize extra_bytes to 0.
13662
136632008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13664
13665 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13666 return it ORed with ctrl_modifier.
13667
136682008-01-29 Miles Bader <miles@gnu.org>
13669
13670 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13671
136722008-01-28 Jason Rumney <jasonr@gnu.org>
13673
13674 * w32.c (stat): Don't double check for networked drive.
13675
136762008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13677
13678 * window.c (run_window_configuration_change_hook): New function.
13679 Code extracted from set_window_buffer. Set the selected frame.
13680 (set_window_buffer): Use it.
13681 * window.h (run_window_configuration_change_hook): Declare.
13682 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13683
13684 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13685
136862008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13687
13688 * Makefile.in: Remove references to unused macros.
13689
136902008-01-26 Eli Zaretskii <eliz@gnu.org>
13691
13692 * w32.c (g_b_init_get_sid_sub_authority)
13693 (g_b_init_get_sid_sub_authority_count): New static variables.
13694 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13695 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13696 (init_user_info): Use them to retrieve uid and gid.
13697 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13698 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13699 st_uid and st_gid of the file.
13700
137012008-01-26 Jason Rumney <jasonr@gnu.org>
13702
13703 * w32.c (logon_network_drive): New function.
13704 (stat): Use it.
13705
137062008-01-26 Chong Yidong <cyd@stupidchicken.com>
13707
13708 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13709 invisible text covered with an ellipsis.
13710
137112008-01-25 Richard Stallman <rms@gnu.org>
13712
13713 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13714 jump back to beginning. Move some other initializations after that.
13715 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13716 New variables.
13717 (syms_of_xdisp): Init them.
13718
13719 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13720
13721 * buffer.c (reset_buffer_local_variables):
13722 Implement `permanent-local-hook'.
13723 (Qpermanent_local_hook): New variable.
13724 (syms_of_buffer): Init and staticpro it.
13725
137262008-01-25 Michael Albinus <michael.albinus@gmx.de>
13727
13728 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13729
137302008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13731
13732 * fns.c (Fclrhash): Return TABLE.
13733
137342008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13735
13736 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13737 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13738 is set even without positional changes.
13739 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13740
13741 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13742
137432008-01-23 Jason Rumney <jasonr@gnu.org>
13744
13745 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13746
13747 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13748 the unicode range available in MULE by locale-coding-system.
13749 Improve dbcs lead byte detection. Set event timestamp and modifiers
13750 earlier.
13751
137522008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13753
13754 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13755 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13756 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13757 when used on child processes.
13758
137592008-01-21 Michael Albinus <michael.albinus@gmx.de>
13760
13761 * dbusbind.c (Fdbus_method_return_internal): Rename from
13762 Fdbus_method_return.
13763 (Fdbus_unregister_object): Move to dbus.el.
13764 (Fdbus_call_method, Fdbus_method_return_internal)
13765 (Fdbus_send_signal): Improve debug messages.
13766
137672008-01-20 Martin Rudalics <rudalics@gmx.at>
13768
13769 * undo.c (undo_inhibit_record_point): New variable.
13770 (syms_of_undo): Initialize it.
13771 (record_point): Don't record point when undo_inhibit_record_point
13772 is set.
13773
137742008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13775
13776 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13777
13778 * xdisp.c (Qauto_hscroll_mode): New var.
13779 (syms_of_xdisp): Initialize it.
13780 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13781 window's buffer.
13782 (hscroll_windows): Don't check automatic_hscrolling_p here.
13783
13784 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13785 vscroll if we're setting window-buffer to the value it already has.
13786
137872008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13788
13789 * m/intel386.h: Remove references to XENIX.
13790
137912008-01-17 Andreas Schwab <schwab@suse.de>
13792
13793 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13794 instead of HAVE_X86_64_LIB64_DIR.
13795 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13796
137972008-01-17 Glenn Morris <rgm@gnu.org>
13798
13799 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13800 to HAVE_X86_64_LIB64_DIR.
13801
138022008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13803
13804 * s/irix3-3.h:
13805 * s/irix4-0.h:
13806 * s/386-ix.h:
13807 * s/domain.h:
13808 * s/hpux9-x11r4.h:
13809 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13810
13811 * sysdep.c: Remove code containing references to symbols defined
13812 by unsupported systems.
13813
138142008-01-16 Glenn Morris <rgm@gnu.org>
13815
13816 * coding.c (select-safe-coding-system-function): Doc fix.
13817
138182008-01-15 Glenn Morris <rgm@gnu.org>
13819
13820 * config.in: Revert 2008-01-13 change: this is a generated file.
13821
138222008-01-13 Tom Tromey <tromey@redhat.com>
13823
13824 * lisp.h: Fix typo.
13825
138262008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13827
13828 * m/sequent-ptx.h:
13829 * m/sequent.h:
13830 * s/ptx.h:
13831 * s/ptx4-2.h:
13832 * s/ptx4.h: Remove files for systems no longer supported.
13833
13834 * callproc.c (Fcall_process): Fix previous change.
13835
138362008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13837
13838 * unexsunos4.c: Remove file, system not supported anymore.
13839
13840 * m/mips.h:
13841 * m/intel386.h:
13842 * callproc.c:
13843 * config.in:
13844 * ecrt0.c:
13845 * emacs.c:
13846 * fileio.c:
13847 * frame.c:
13848 * getpagesize.h:
13849 * keyboard.c:
13850 * lread.c:
13851 * process.c:
13852 * puresize.h:
13853 * sysdep.c:
13854 * systty.h:
13855 * syswait.h:
13856 * unexec.c:
13857 * xdisp.c:
13858 * alloc.c: Remove code containing references to symbols defined by
13859 unsupported systems.
13860
138612008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13862
13863 * coding.c (detect_coding_mask): Fix previous change.
13864
138652008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13866
13867 * coding.c (detect_coding_iso2022): New arg
13868 latin_extra_code_state. Allow Latin extra codes only
13869 when *latin_extra_code_state is nonzero.
13870 (detect_coding_mask): If there is a NULL byte, detect the encoding
13871 as UTF-16 or binary. If Latin extra codes exist, detect the
13872 encoding as ISO-2022 only when there's no other proper encoding is
13873 found.
13874
138752008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13876
13877 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13878 #ifdef MAC_OS.
13879
138802008-01-08 Richard Stallman <rms@gnu.org>
13881
13882 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13883
138842008-01-06 Nick Roberts <nickrob@snap.net.nz>
13885
13886 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13887 menu bar in parentheses.
13888
138892008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13890
13891 * m/7300.h:
13892 * m/acorn.h:
13893 * m/alliant-2800.h:
13894 * m/alliant.h:
13895 * m/alliant1.h:
13896 * m/alliant4.h:
13897 * m/altos.h:
13898 * m/amdahl.h:
13899 * m/apollo.h:
13900 * m/att3b.h:
13901 * m/aviion-intel.h:
13902 * m/aviion.h:
13903 * m/celerity.h:
13904 * m/clipper.h:
13905 * m/cnvrgnt.h:
13906 * m/convex.h:
13907 * m/cydra5.h:
13908 * m/delta88k.h:
13909 * m/dpx2.h:
13910 * m/dual.h:
13911 * m/elxsi.h:
13912 * m/f301.h:
13913 * m/gould-np1.h:
13914 * m/gould.h:
13915 * m/i860.h:
13916 * m/ibmps2-aix.h:
13917 * m/ibmrt-aix.h:
13918 * m/ibmrt.h:
13919 * m/irist.h:
13920 * m/is386.h:
13921 * m/isi-ov.h:
13922 * m/mega68.h:
13923 * m/mg1.h:
13924 * m/news-r6.h:
13925 * m/news-risc.h:
13926 * m/news.h:
13927 * m/nh3000.h:
13928 * m/nh4000.h:
13929 * m/ns16000.h:
13930 * m/ns32000.h:
13931 * m/nu.h:
13932 * m/orion.h:
13933 * m/orion105.h:
13934 * m/paragon.h:
13935 * m/pfa50.h:
13936 * m/plexus.h:
13937 * m/pyramid.h:
13938 * m/pyrmips.h:
13939 * m/sh3el.h:
13940 * m/sps7.h:
13941 * m/sr2k.h:
13942 * m/stride.h:
13943 * m/sun1.h:
13944 * m/sun2.h:
13945 * m/sun3-68881.h:
13946 * m/sun3-fpa.h:
13947 * m/sun3-soft.h:
13948 * m/sun3.h:
13949 * m/sun386.h:
13950 * m/symmetry.h:
13951 * m/tad68k.h:
13952 * m/tahoe.h:
13953 * m/targon31.h:
13954 * m/tek4300.h:
13955 * m/tekxd88.h:
13956 * m/tower32.h:
13957 * m/tower32v3.h:
13958 * m/ustation.h:
13959 * m/wicat.h:
13960 * m/xps100.h:
13961 * s/cxux.h:
13962 * s/cxux7.h:
13963 * s/dgux.h:
13964 * s/dgux4.h:
13965 * s/dgux5-4-3.h:
13966 * s/dgux5-4r2.h:
13967 * s/esix.h:
13968 * s/esix5r4.h:
13969 * s/hiuxmpp.h:
13970 * s/hiuxwe2.h:
13971 * s/iris3-5.h:
13972 * s/iris3-6.h:
13973 * s/isc2-2.h:
13974 * s/isc3-0.h:
13975 * s/isc4-0.h:
13976 * s/isc4-1.h:
13977 * s/newsos5.h:
13978 * s/newsos6.h:
13979 * s/osf1.h:
13980 * s/osf5-0.h:
13981 * s/riscix1-1.h:
13982 * s/riscix12.h:
13983 * s/sco4.h:
13984 * s/sco5.h:
13985 * s/sunos4-0.h:
13986 * s/sunos4-1.h:
13987 * s/sunos413.h:
13988 * s/sunos4shr.h:
13989 * s/umax.h:
13990 * s/unipl5-2.h:
13991 * s/xenix.h:
13992 * cxux-crt0.s:
13993 * unexapollo.c:
13994 * unexconvex.c:
13995 * unexenix.c:
13996 * unexsni.c: Remove files for systems no longer supported.
13997
13998 * m/intel386.h: Remove references to unsupported systems.
13999
14000 * w32.c (get_emacs_configuration): Remove reference to i860.
14001
14002 * sysdep.c: Remove dead code.
14003
140042008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
14005
14006 * s/rtu.h:
14007 * m/masscomp.h: Remove files. Platform is obsolete.
14008
140092008-01-04 Michael Albinus <michael.albinus@gmx.de>
14010
14011 * dbusbind.c (Fdbus_method_return): New function.
14012 (xd_read_message): Add the serial number to the event.
14013 (Fdbus_register_method): Activate the function.
14014
140152008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
14016
14017 * keyboard.c (read_key_sequence): Fix typo.
14018
140192008-01-03 Michael Albinus <michael.albinus@gmx.de>
14020
14021 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
14022 (xd_signature, xd_append_arg): Handle element type detection for
14023 empty arrays.
14024 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
14025 SDATA () calls; this must be solved more general.
14026 (Fdbus_register_signal): Use SBYTES instead of strlen.
14027
140282008-01-03 Magnus Henoch <magnus@zemdatav>
14029
14030 * dbusbind.c (xd_append_arg): Use unsigned char instead of
14031 unsigned int for byte values (necessary for big-endian platform).
14032 (Fdbus_call_method): Handle the case of no returned arguments.
14033
140342007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
14035
14036 * dbusbind.c (xd_read_message): Use non-static input_event struct.
14037
140382007-12-31 Magnus Henoch <mange@freemail.hu>
14039
14040 * dbusbind.c (xd_signature): Signature of variant is just "v".
14041
140422007-12-30 Michael Albinus <michael.albinus@gmx.de>
14043
14044 * dbusbind.c: Fix several errors and compiler warnings.
14045 Reported by Tom Tromey <tromey@redhat.com>.
14046 (XD_ERROR, XD_DEBUG_MESSAGE)
14047 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
14048 (xd_append_arg): Part for basic D-Bus types rewritten.
14049 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
14050 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
14051 appropriate.
14052 (xd_read_message): Return Qnil. Don't signal an error; it is not
14053 useful during event reading.
14054 (Fdbus_register_signal): Signal an error if the check for
14055 FUNCTIONP fails.
14056 (Fdbus_register_method): New function. The implementation is not
14057 complete, the call of the function signals an error therefore.
14058 (Fdbus_unregister_object): New function, renamed from
14059 Fdbus_unregister_signal. The initial check signals an error, if
14060 the object is not well formed.
14061
140622007-12-30 Richard Stallman <rms@gnu.org>
14063
14064 * textprop.c (get_char_property_and_overlay):
14065 Signal error if POSITION is out of range in a buffer.
14066
140672007-12-29 Martin Rudalics <rudalics@gmx.at>
14068
14069 * w32fns.c (Fx_create_frame): Make copy of frame parameters
14070 because the original parameters are in pure storage now.
14071
140722007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14073
14074 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
14075
140762007-12-22 Eli Zaretskii <eliz@gnu.org>
14077
14078 * callint.c (syms_of_callint) <command-history>: Add reference to
14079 history-length in the doc string.
14080
140812007-12-17 Jason Rumney <jasonr@gnu.org>
14082
14083 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
14084 before passing as wParam.
14085
140862007-12-22 Michael Albinus <michael.albinus@gmx.de>
14087
14088 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
14089 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
14090 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
14091 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14092 as number.
14093 (Fdbus_call_method): Fix docstring.
14094
140952007-12-21 Michael Albinus <michael.albinus@gmx.de>
14096
14097 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14098 New macros.
14099 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14100 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14101 Simplify.
14102 (xd_signature): New function.
14103 (xd_append_arg): Compute also signatures. Major rewrite.
14104 (xd_retrieve_arg): Make debug messages friendly.
14105 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14106 Check for signatures of arguments.
14107
141082007-12-19 Michael Albinus <michael.albinus@gmx.de>
14109
14110 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14111 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14112 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14113 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14114 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14115 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14116 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14117 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14118 (xd_retrieve_value): Remove. Functionality included in ...
14119 (xd_append_arg): New function.
14120 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14121
141222007-12-16 Michael Albinus <michael.albinus@gmx.de>
14123
14124 * dbusbind.c (top): Include <stdio.h>.
14125 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14126 dbus_message_new_method_call and dbus_message_new_signal.
14127 (Fdbus_register_signal): Rename unique_name to uname.
14128 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14129 non-existing unique name. Fix typos in matching rule. Return an
14130 object which is useful in Fdbus_unregister_signal.
14131 (Fdbus_unregister_signal): Reimplementation, in order to remove
14132 only the corresponding entry.
14133 (Vdbus_registered_functions_table): Change the order of entries.
14134 Apply these changes in xd_read_message and Fdbus_register_signal.
14135
141362007-12-16 Andreas Schwab <schwab@suse.de>
14137
14138 * fileio.c (Finsert_file_contents): Fix overflow check to not
14139 depend on undefined integer overflow.
14140
141412007-12-14 Jason Rumney <jasonr@gnu.org>
14142
14143 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14144 for characters above 127.
14145
141462007-12-13 Jason Rumney <jasonr@gnu.org>
14147
14148 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14149 before dereferencing array.
14150 (lookup_vk_code): Remove zero comparison.
14151
141522007-12-14 Michael Albinus <michael.albinus@gmx.de>
14153
14154 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14155 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14156 Use `unsigned int' instead of `uint'.
14157 (xd_read_message, Fdbus_register_signal): Split expressions into
14158 multiple lines before operators "&&" and "||", according to the
14159 GNU Coding Standards.
14160
141612007-12-14 Eli Zaretskii <eliz@gnu.org>
14162
14163 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14164
141652007-12-12 Juri Linkov <juri@jurta.org>
14166
14167 * buffer.c (Frename_buffer): In interactive spec replace
14168 `read-buffer' with `read-string' that uses `buffer-name-history'
14169 as history, and the current buffer's name as default.
14170
141712007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14172
14173 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14174 manipulating the backtrace manually.
14175 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14176 (struct backtrace, backtrace_list): Remove.
14177 (command_loop_1): Remove dead var `no_direct'.
14178
14179 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14180 preserve non-built-in buffer-local variables.
14181 (Fkill_all_local_variables): Don't re-create&re-set permanent
14182 buffer-local variables.
14183
141842007-12-09 Juri Linkov <juri@jurta.org>
14185
14186 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14187 Lisp code that uses `read-buffer' with current buffer as default.
14188
141892007-12-08 Michael Albinus <michael.albinus@gmx.de>
14190
14191 * dbusbind.c (xd_read_message): Generate an event for every
14192 registered handler. There might be several handlers registered
14193 for the same signal.
14194 (Fdbus_register_signal): Don't overwrite a registration for the
14195 same signal. Add a new registration if handlers are different.
14196 (Vdbus_registered_functions_table): Rework doc string.
14197
141982007-12-07 Michael Albinus <michael.albinus@gmx.de>
14199
14200 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14201 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14202 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14203 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14204 Unify argument lists.
14205 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14206 arguments and hash table keys. Use unique name for service.
14207 (Fdbus_unregister_signal): Remove checks.
14208 (Vdbus_registered_functions_table): Fix doc string.
14209
142102007-12-05 Magnus Henoch <mange@freemail.hu>
14211
14212 * process.c (make_process): Initialize pty_flag to 0.
14213
142142007-12-05 Jason Rumney <jasonr@gnu.org>
14215
14216 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14217 specified XBMs.
14218
142192007-12-05 Richard Stallman <rms@gnu.org>
14220
14221 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14222
142232007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14224
14225 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14226 New variable.
14227 (mac_try_close_socket) [MAC_OSX]: New function.
14228 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14229 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14230
14231 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14232 Use mac_try_close_socket.
14233
142342007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14235
14236 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14237 reloc_base.
14238 (copy_dysymtab): Compute relocation base here.
14239 (rebase_reloc_address) [__ppc64__]: New function.
14240 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14241 changed.
14242
142432007-12-05 Jason Rumney <jasonr@gnu.org>
14244
14245 * w32proc.c (sys_spawnve): Quote args with wildcards.
14246
142472007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14248
14249 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14250 __objc_* sections.
14251 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14252
142532007-12-05 Michael Albinus <michael.albinus@gmx.de>
14254
14255 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14256 Move check for Vdbus_registered_functions_table to
14257 xd_read_queued_messages.
14258 (xd_read_queued_messages): Protect xd_read_message calls by
14259 internal_condition_case_1.
14260
142612007-12-04 Michael Albinus <michael.albinus@gmx.de>
14262
14263 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14264 Qdbus_system_bus and Qdbus_session_bus, respectively.
14265 (Vdbus_intern_symbols): Remove.
14266 (Vdbus_registered_functions_table): New hash table.
14267 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14268 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14269 Rewrite in order to manage registered functions by hash table
14270 Vdbus_registered_functions_table.
14271
142722007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14273
14274 * xterm.c: Update URL to Window Manager Specification in comment.
14275
142762007-12-02 Michael Albinus <michael.albinus@gmx.de>
14277
14278 * config.in (HAVE_DBUS): Add.
14279
14280 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14281 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14282 (obj): Add $(DBUS_OBJ).
14283 (LIBES): Add $(DBUS_LIBS).
14284 (dbusbind.o): New target.
14285
14286 * dbusbind.c: New file.
14287
14288 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14289
14290 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14291 (Qdbus_event): New Lisp symbol.
14292 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14293 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14294 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14295
14296 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14297
142982007-12-01 Richard Stallman <rms@gnu.org>
14299
14300 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14301
143022007-11-30 Jason Rumney <jasonr@gnu.org>
14303
14304 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14305 (w32con_reset_terminal_modes): Clear screen buffer.
14306 (w32_face_attributes): Don't use color indexes that are out of range.
14307 Only reverse the default colors.
14308
14309 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14310 WINDOWSNT.
14311
14312 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14313
143142007-11-29 Jason Rumney <jasonr@gnu.org>
14315
14316 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14317 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14318 if the terminal colors are initialized.
14319 (unspecified_fg, unspecified_bg): Remove unused declarations.
14320
143212007-11-29 Andreas Schwab <schwab@suse.de>
14322
14323 * keyboard.c (apply_modifiers): Fix typo.
14324
143252007-11-29 Richard Stallman <rms@gnu.org>
14326
14327 * keymap.c (Fcurrent_local_map): Doc fix.
14328
143292007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14330
14331 * s/gnu-kfreebsd.h: New file.
14332
143332007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14334
14335 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14336 Don't cast redundantly.
14337
14338 * keyboard.c (KEY_TO_CHAR): New macro.
14339 (parse_modifiers, apply_modifiers): Accept integer arguments.
14340 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14341 for chars and symbol keys.
14342 After doing such remapping, apply function-key-map again.
14343
143442007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14345
14346 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14347 compiled anymore.
14348
143492007-11-26 Andreas Schwab <schwab@suse.de>
14350
14351 * process.c (list_processes_1): Fix indentation level of the
14352 command column.
14353
143542007-11-23 Andreas Schwab <schwab@suse.de>
14355
14356 * editfns.c (Fformat): Handle %c specially since it requires the
14357 argument to be of type int.
14358
143592007-11-23 Markus Triska <markus.triska@gmx.at>
14360
14361 * emacs.c (main): Call init_editfns before init_process, since
14362 init_process sets Vprocess_connection_type depending on OS release.
14363
143642007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14365
14366 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14367 (find_symbol_value): Use do_symval_forwarding.
14368
14369 * data.c (set_internal): Set the value in the `cons-cell' (for
14370 Buffer_Local_values) not only for frame-local variables.
14371
143722007-11-22 Andreas Schwab <schwab@suse.de>
14373
14374 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14375 values to sprintf.
14376 * keymap.c (Fsingle_key_description): Likewise.
14377 * print.c (print_object): Likewise.
14378
143792007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14380
14381 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14382 file for image is nil.
14383
143842007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14385
14386 * term.c: Include stdarg.h.
14387 (fatal): Implement using varargs.
14388 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14389
143902007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14391
14392 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14393 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14394 Update call to buffer_slot_type_mismatch.
14395 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14396 (buffer_slot_type_mismatch): Update.
14397 * buffer.c (buffer_local_types): Remove.
14398 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14399 (defvar_per_buffer): Set the type in the buffer_objfwd.
14400
144012007-11-21 Jason Rumney <jasonr@gnu.org>
14402
14403 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14404 CreateFileMapping returns NULL on failure.
14405
144062007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14407
14408 * search.c (Fset_match_data): Remove the `evaporate' feature.
14409 (unwind_set_match_data): Don't use the `evaporate' feature.
14410
144112007-11-21 Jason Rumney <jasonr@gnu.org>
14412
14413 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14414
14415 * w32console.c (w32con_write_glyphs): Remove unused variables.
14416
144172007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14418
14419 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14420
14421 * s/darwin.h (MULTI_KBOARD): Remove.
14422
14423 * macfns.c (x_create_tip_frame, Fx_create_frame)
14424 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14425
144262007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14427
14428 * buffer.c (Fbuffer_local_value): Remove redundant test.
14429 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14430 than in `current-buffer' to match the comment.
14431 Do the swap using swap_in_global_binding.
14432
14433 * data.c (store_symval_forwarding, set_internal):
14434 * eval.c (specbind): Remove dead code.
14435
14436 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14437 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14438 Since we do not want to see internal Lisp_*fwd objects here.
14439
144402007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14441
14442 * sysdep.c (init_system_name): Use getaddrinfo if available.
14443
14444 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14445 (x_scroll_bar_note_movement): start, end, with, height in struct
14446 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14447
144482007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14449
14450 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14451
144522007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14453
14454 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14455 This undoes Richard's change of 14-Oct-2002.
14456
14457 * alloc.c (allocate_other_vector):
14458 * lisp.h (allocate_other_vector): Remove.
14459
14460 * window.c (struct save_window_data): Move non-lisp data to the end
14461 and make it `int' rather than Lisp_Object.
14462 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14463 Done wrap/unwrap integer values.
14464 (Fset_window_configuration, compare_window_configurations):
14465 Update use of fields to their new types.
14466
14467 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14468 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14469 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14470 (SET_SCROLL_BAR_X_WINDOW): Remove.
14471 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14472 Access the new x_window field directly.
14473 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14474 Don't wrap/unwrap integers into Lisp_Objects.
14475 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14476 (x_scroll_bar_report_motion):
14477 Don't wrap/unwrap integers into Lisp_Objects.
14478 (x_term_init): Use SDATA.
14479 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14480 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14481 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14482 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14483 * xfns.c (x_set_background_color):
14484 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14485 Access the new x_window field directly.
14486
14487 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14488 (allocate_pseudovector): Make non-static.
14489
14490 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14491 (allocate_pseudovector): Declare.
14492 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14493
144942007-11-15 Andreas Schwab <schwab@suse.de>
14495
14496 * editfns.c (Fformat): Correctly format EMACS_INT values.
14497 Also take precision into account when formatting an integer.
14498
14499 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14500
145012007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14502
14503 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14504 (syms_of_keyboard): Defsubr it.
14505
14506 * data.c (swap_in_global_binding): Fix longstanding bug where
14507 store_symval_forwarding was not called with the right second argument,
14508 thus causing objfwd-ing from being dropped.
14509
145102007-11-14 Juanma Barranquero <lekktu@gmail.com>
14511
14512 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14513 (Fx_display_pixel_height, Fx_display_planes)
14514 (Fx_display_color_cells, Fx_server_max_request_size)
14515 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14516 (Fx_display_visual_class, Fx_display_save_under):
14517 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14518 (Fx_display_pixel_height, Fx_display_planes)
14519 (Fx_display_color_cells, Fx_server_max_request_size)
14520 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14521 (Fx_display_mm_height, Fx_display_mm_width)
14522 (Fx_display_backing_store, Fx_display_visual_class)
14523 (Fw32_select_font, Fx_display_save_under):
14524 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14525 (Fx_display_pixel_height, Fx_display_planes)
14526 (Fx_display_color_cells, Fx_server_max_request_size)
14527 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14528 (Fx_display_save_under): Fix typos in docstrings.
14529
145302007-11-14 Juanma Barranquero <lekktu@gmail.com>
14531
14532 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14533 corresponding to deleted entries; they are an implementation detail.
14534 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14535 Remove variables.
14536 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14537 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14538 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14539 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14540 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14541 (Fw32_define_rgb_color, Fw32_load_color_file)
14542 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14543 Fix typos in docstrings.
14544 (Fx_server_version): Reflow docstring.
14545 (Fw32_shell_execute): Doc fixes.
14546
145472007-11-13 Juanma Barranquero <lekktu@gmail.com>
14548
14549 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14550 if w32_parse_hot_key returned nil.
14551
145522007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14553
14554 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14555
145562007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14557
aac0c6e3
MR
14558 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14559
14560 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14561
14562 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14563 Remove W32_SCROLL_BAR_CLICK_EVENT.
14564
14565 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14566 Add MULTIMEDIA_KEY_EVENT.
14567
14568 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14569 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14570 (make_lispy_event) [WINDOWSNT]: Use it to translate
14571 MULTIMEDIA_KEY_EVENT.
14572
14573 * w32term.h (WM_APPCOMMAND): Define if not already.
14574 (GET_APPCOMMAND_LPARAM): Likewise.
14575
14576 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14577 WM_APPCOMMAND.
14578
14579 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14580 (syms_of_w32fns): Export and initialize it.
14581 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14582
145832007-11-09 Chong Yidong <cyd@stupidchicken.com>
14584
14585 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14586 twice.
14587
14588 * xdisp.c (handle_face_prop): Fix last change.
14589
145902007-11-09 Richard Stallman <rms@gnu.org>
14591
14592 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14593 not just for after-strings and before-strings.
14594 Call face_for_overlay_string and pass the overlay to it.
14595 (handle_display_prop): Determine whether property came from an overlay.
14596 Pass OVERLAY arg to handle_single_display_spec.
14597 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14598 (load_overlay_strings): Fill in it->string_overlays.
14599 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14600
14601 * xfaces.c (face_for_overlay_string): Function renamed from
14602 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14603
14604 * dispextern.h (struct it): New elt string_overlays.
14605 New elt from_overlay, also in stack.
14606 Rearrange a few elements.
14607 (face_for_overlay_string): Decl renamed from
14608 face_at_buffer_position_no_overlays, and add argument.
14609
146102007-11-09 Richard Stallman <rms@gnu.org>
14611
14612 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14613 to get the base face for an overlay string.
14614
14615 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14616
14617 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14618
14619 * xdisp.c (handle_stop): Move some code out of loop.
14620
146212007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14622
14623 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14624 Fix conversion from Lisp object to ATSUFontID.
14625
146262007-11-09 Jason Rumney <jasonr@gnu.org>
14627
14628 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14629
146302007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14631
14632 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14633 Don't assume regions are aligned to page boundary.
14634 (print_load_command_name): Add LC_UUID if defined.
14635
146362007-11-09 Richard Stallman <rms@gnu.org>
14637
14638 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14639
146402007-11-07 Jason Rumney <jasonr@gnu.org>
14641
14642 * s/windows95.h: Remove.
14643
146442007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14645
14646 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14647 abort with a message on unhandled store_type values.
14648
146492007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14650
14651 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14652 Remove HAVE_X11R5 and HAVE_X11R4.
14653
146542007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14655
14656 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14657
146582007-11-01 Johan Bockgård <bojohan@gnu.org>
14659
14660 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14661 Don't set s->stippled_p here, since it has already been set by
14662 x_set_glyph_string_gc from x_draw_glyph_string.
14663
146642007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14665
14666 * sunfns.c: Remove file.
14667
14668 * m/sun386.h:
14669 * m/sun2.h:
14670 * m/sparc.h: Remove Sun windows code.
14671
146722007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14673
14674 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14675 (init_keyboard): Set current_kboard's window-system to nil.
14676 (tty_read_avail_input): Typo.
14677 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14678
146792007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14680
14681 * s/usg5-4.h:
14682 * s/usg5-3.h:
14683 * s/ptx.h:
14684 * m/is386.h:
14685 * m/ibmps2-aix.h:
14686 * Makefile.in: Remove all mentions of X10.
14687
14688 * dispnew.c (syms_of_display): Don't mention version 10.
14689
146902007-10-28 Juanma Barranquero <lekktu@gmail.com>
14691
14692 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14693 ($(BLD)/abbrev.$(O)): Remove.
14694
146952007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14696
14697 Rewrite abbrev.c in Elisp.
14698 * image.c (Qcount): Don't declare as extern.
14699 (syms_of_image): Initialize and staticpro `Qcount'.
14700 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14701 * emacs.c (main): Don't call syms_of_abbrev.
14702 * Makefile.in (obj): Remove abbrev.o.
14703 (abbrev.o): Remove.
14704 * abbrev.c: Remove.
14705
147062007-10-26 Martin Rudalics <rudalics@gmx.at>
14707
14708 * window.c (window_min_size_2): Don't count header-line.
14709
147102007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14711
14712 * frame.h (struct frame): Move all bit fields after the first bit
14713 field to take advantage of the available space. Group all the
14714 chars together to reduce wasted space due to padding.
14715
147162007-10-26 Juanma Barranquero <lekktu@gmail.com>
14717
14718 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14719
14720 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14721 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14722 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14723 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14724 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14725 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14726 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14727 (last_marked, mark_object_loop_halt): Make static.
14728
14729 * frame.c (syms_of_frame) <delete-frame-functions>:
14730 Fix typo in docstring.
14731
147322007-10-25 Juanma Barranquero <lekktu@gmail.com>
14733
14734 * w32.c (init_environment): Fix tiny memory leak.
14735 (w32_get_resource): Remove unused variable `ok'.
14736
147372007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14738
14739 Make `window-system' into a keyboard-local variable (rather than
14740 frame-local as done originally by multi-tty).
14741
14742 * keyboard.h (struct kboard): Add Vwindow_system.
14743 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14744 (mark_kboards): Mark Vwindow_system.
14745
14746 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14747 (init_display): Don't set the obsolete `window-system' frame-param.
14748
14749 * xterm.c (x_term_init):
14750 * w32term.c (w32_create_terminal):
14751 * term.c (init_tty): Set Vwindow_system.
14752 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14753 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14754
14755 * xfns.c (Fx_create_frame, x_create_tip_frame):
14756 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14757 * macfns.c (Fx_create_frame):
14758 Don't set the obsolete `window-system' frame-param.
14759
14760 * frame.h (Qwindow_system): Remove.
14761 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14762 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14763
147642007-10-24 Richard Stallman <rms@gnu.org>
14765
14766 * frame.c (x_figure_window_size): For fullscreen case,
14767 set USPosition | PPosition without clobbering rest of window_prompting.
14768
14769 * keyboard.c (Fcurrent_idle_time): Doc fix.
14770
14771 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14772
147732007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14774
14775 * process.c (unwind_request_sigio): Only define if __ultrix__.
14776
14777 * callproc.c (child_setup): Remove spurious *.
14778
14779 * lisp.h (Fget_text_property): Declare.
14780 (have_menus_p): Declare it here rather than in sys-dep header files.
14781 * macterm.h (have_menus_p):
14782 * msdos.h (have_menus_p):
14783 * xterm.h (have_menus_p): Remove.
14784
14785 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14786 (Fmake_variable_frame_local): Just check the variable's const-ness
14787 rather than checking nil or t.
14788
147892007-10-22 Jason Rumney <jasonr@gnu.org>
14790
14791 * w32fns.c: Include math.h.
14792 (w32_abort): Declaration moved to nt/config.nt.
14793
14794 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14795 (abort): Redefinition moved to nt/config.nt.
14796
14797 * m/windowsnt.h: Remove.
14798
147992007-10-22 Juanma Barranquero <lekktu@gmail.com>
14800
14801 * emacs.c (Fdump_emacs): Fix typo in message.
14802 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14803 <installation-directory>: Reflow docstring.
14804
148052007-10-22 Juri Linkov <juri@jurta.org>
14806
14807 * minibuf.c: Allow minibuffer default to be a list of default values.
14808 With empty input use the first element of this list as returned default.
14809 (string_to_object)
14810 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14811 (read_minibuf): If defalt is cons, set histstring to its car.
14812 (Fread_string): If default_value is cons, set val to its car.
14813 (Fread_buffer): If def is cons, use its car.
14814 (Fcompleting_read): If defalt is cons, set val to its car.
14815
148162007-10-21 Michael Albinus <michael.albinus@gmx.de>
14817
14818 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14819
148202007-10-20 Juanma Barranquero <lekktu@gmail.com>
14821
14822 * doc.c (Fdocumentation): Check for advice in all cases.
14823
148242007-10-19 Chong Yidong <cyd@stupidchicken.com>
14825
14826 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14827
148282007-10-19 Richard Stallman <rms@gnu.org>
14829
14830 * doc.c (Fdocumentation): Check for and handle an advised function.
14831
148322007-10-19 Juanma Barranquero <lekktu@gmail.com>
14833
14834 * process.c (Fset_process_filter): Doc fix.
14835
148362007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14837
14838 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14839 which caused key-translation-map to applied repeatedly (thus breaking
14840 double-mode).
14841
148422007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14843
14844 * xselect.c (x_own_selection, x_handle_selection_clear)
14845 (x_clear_frame_selections):
14846 * w32menu.c (list_of_panes, list_of_items):
14847 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14848 * textprop.c (validate_plist, interval_has_all_properties)
14849 (interval_has_some_properties, interval_has_some_properties_list)
14850 (add_properties, text_property_list):
14851 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14852 * minibuf.c (Fassoc_string):
14853 * macselect.c (x_own_selection, x_clear_frame_selections)
14854 (Fx_disown_selection_internal):
14855 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14856 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14857
148582007-10-17 Chong Yidong <cyd@stupidchicken.com>
14859
14860 * process.c: Link to libs for calling res_init() if available.
14861 (Fmake_network_process): Call res_init() before getaddrinfo or
14862 gethostbyname, if possible.
14863
148642007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14865
14866 * lread.c (read1): Set pvectype for char_tables.
14867
14868 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14869 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14870 Add type checks.
14871 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14872
14873 * alloc.c (free_misc): Use XMISCTYPE.
14874 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14875
148762007-10-17 Glenn Morris <rgm@gnu.org>
14877
14878 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14879 (syms_of_minibuf): Add Qcompletion_ignore_case.
14880 * dired.c (Qcompletion_ignore_case): Change to external.
14881 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14882 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14883 (Fread_file_name): Use it rather than intern'ing.
14884
14885 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14886 (Fread_coding_system): Ignore case of user input.
14887
148882007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14889
14890 * xdisp.c (handle_display_prop): Ignore display specs after
14891 replacing one when string text is being replaced.
14892 (handle_single_display_spec): Pretend as if characters with display
14893 property haven't been consumed only when buffer text is being replaced.
14894
148952007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14896
14897 * xfns.c (Fx_create_frame, Fx_display_list):
14898 * window.c (window_fixed_size_p, enlarge_window)
14899 (shrink_window_lowest_first):
14900 * macterm.c (init_font_name_table):
14901 * macfns.c (Fx_create_frame, Fx_display_list):
14902 * lread.c (close_load_descs):
14903 * keyboard.c (read_char_x_menu_prompt):
14904 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14905 * coding.c (code_convert_region_unwind): Test the type of an object
14906 rather than just !NILP before extracting data from it.
14907
14908 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14909
14910 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14911 (XMISCANY): New macro.
14912 (XMISCTYPE): Use it.
14913 (struct Lisp_Misc_Any): New type.
14914 (union Lisp_Misc): Use it.
14915 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14916 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14917 (find_symbol_value, set_internal, default_value, Fset_default)
14918 (Fmake_variable_buffer_local, Fmake_local_variable)
14919 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14920 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14921 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14922 * alloc.c (allocate_buffer): Set the size and tag.
14923 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14924 Use XMISCANY.
14925 (die): Follow the GNU convention for error messages.
14926 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14927 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14928 tag any more.
14929 (set_buffer_internal_1):
14930 * frame.c (store_frame_param):
14931 * eval.c (specbind):
14932 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14933
14934 * doc.c (Fsnarf_documentation): Simplify.
14935
149362007-10-14 Juanma Barranquero <lekktu@gmail.com>
14937
14938 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14939 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14940
149412007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14942
14943 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14944
149452007-10-14 Juanma Barranquero <lekktu@gmail.com>
14946
14947 * eval.c (do_autoload): Don't save autoloads.
14948
14949 * data.c (Ffset): Save autoload of the function being set.
14950
149512007-10-07 John Paul Wallington <jpw@pobox.com>
14952
14953 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14954 parameter before setting up faces.
14955
149562007-10-13 Eli Zaretskii <eliz@gnu.org>
14957
14958 * ccl.c (Fregister_code_conversion_map):
14959 * keyboard.c (append_tool_bar_item): Reformat last change.
14960
14961 * lisp.h (eabs): Rename from `abs'. All callers changed.
14962
149632007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14964
14965 * buffer.c (add_overlay_mod_hooklist):
14966 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14967 * fontset.c (make_fontset):
14968 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14969 (append_tool_bar_item):
14970 * macmenu.c (grow_menu_items):
14971 * w32menu.c (grow_menu_items):
14972 * xmenu.c (grow_menu_items): Use larger_vector.
14973
149742007-10-13 Eli Zaretskii <eliz@gnu.org>
14975
14976 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14977 selected frame'' on MSDOS).
14978
149792007-10-12 Martin Rudalics <rudalics@gmx.at>
14980
14981 * frame.c (Qexplicit_name): New variable.
14982 (x_report_frame_params): Report it in parameter alist.
14983 (syms_of_frame): Intern and staticpro it.
14984
149852007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14986
14987 * macfns.c (x_create_tip_frame): Set terminal for frame.
14988
149892007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14990
14991 * frame.c (Qenvironment): Remove.
14992 (syms_of_frame) <Qenvironment>: Don't initialize.
14993 (Fdelete_frame): Don't treat the `environment' param specially.
14994 * frame.h (Qenvironment): Don't declare.
14995 * callproc.c (set_initial_environment): Don't set unused frame param.
14996
14997 * frame.c (Fframe_with_environment): Remove.
14998 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14999
15000 * lisp.h (Fframe_with_environment): Don't declare.
15001
150022007-10-10 Juanma Barranquero <lekktu@gmail.com>
15003
15004 * indent.c (indent_tabs_mode, last_known_column)
15005 (last_known_column_modified): Make static.
15006 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
15007
150082007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
15009
15010 * puresize.h (BASE_PURESIZE): Increase to 1170000.
15011
150122007-10-09 Jason Rumney <jasonr@gnu.org>
15013
15014 * w32term.c (x_set_window_size): Disable code that attempts to tell
15015 Lisp code about a size change before it actually happens.
15016
150172007-10-09 Richard Stallman <rms@gnu.org>
15018
15019 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
15020 return HANDLED_RETURN.
15021
150222007-10-08 Martin Rudalics <rudalics@gmx.at>
15023
15024 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
15025 when there's an unread command event.
15026
15027 * frame.c (focus_follows_mouse): Move here from frame.el to allow
15028 window autoselection act appropriately when leaving selected frame.
15029 (syms_of_frame): Initialize focus_follows_mouse.
15030 * frame.h (focus_follows_mouse): Extern it.
15031 * macterm.c (XTread_socket): When focus_follows_mouse is nil
15032 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
15033 * msdos.c (dos_rawgetc): Likewise.
15034 * w32term.c (w32_read_socket): Likewise.
15035 * xterm.c (handle_one_xevent): Likewise.
15036 * xdisp.c (syms_of_xdisp): In doc-string of
15037 mouse-autoselect-window mention focus-follows-mouse.
15038
150392007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15040
15041 * macterm.c (mac_load_query_font): Fix missing return value.
15042 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
15043 Add BLOCK_INPUT.
15044
150452007-10-08 Richard Stallman <rms@gnu.org>
15046
15047 * xdisp.c (get_window_cursor_type): Implement documented behavior
15048 for cursor-in-non-selected-windows = t.
15049
150502007-10-08 Jason Rumney <jasonr@gnu.org>
15051
15052 * w32.c (w32_get_resource): Always close registry keys.
15053
150542007-10-08 Jason Rumney <jasonr@gnu.org>
15055
15056 * makefile.w32-in (LIBS): Add COMCTL32.
15057
15058 * w32fns.c (globals_of_w32fns): Init common controls.
15059
150602007-10-08 Richard Stallman <rms@gnu.org>
15061
15062 * image.c (our_memory_buffer): Rename from omfib_buffer.
15063
150642007-10-08 Richard Stallman <rms@gnu.org>
15065
15066 * buffer.c (Foverlays_at): Doc fix.
15067
150682007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
15069
15070 * fns.c (Fplist_put): Preserve uneven tail data.
15071
150722007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
15073
15074 * termhooks.h (enum event_kind): Remove trailing comma.
15075
15076 * frame.h (enum): Remove trailing comma.
15077
150782007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
15079
15080 * w32proc.c (delete_child): Don't terminate threads of zombies.
15081
150822007-10-08 Martin Rudalics <rudalics@gmx.at>
15083
15084 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
15085
15086 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
15087 last-repeatable-command.
15088 (init_kboard): Initialize Vlast_repeatable_command.
15089 (command_loop_1): Set it to real_this_command unless that was
15090 bound to an input event.
15091 (mark_kboards): Mark it.
15092
150932007-10-08 Richard Stallman <rms@gnu.org>
15094
15095 * eval.c (condition-case): Doc fix.
15096
150972007-10-08 Masatake YAMATO <jet@gyve.org>
15098
15099 * xfaces.c (tty_supports_face_attributes_p): Fix code
15100 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15101 was copied and not edited.
15102
151032007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15104
15105 Add new `input-decode-map' keymap and use it for terminal
15106 escape sequences.
15107 * keyboard.h (struct kboard): Add Vinput_decode_map.
15108 Remove Vlocal_key_translation_map.
15109 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15110 (init_kboard): Init input-decode-map.
15111 Replace local-key-translation-map back with key-translation-map.
15112 (syms_of_keyboard): Declare input-decode-map.
15113 Remove local-key-translation-map. Update docstrings.
15114 (mark_kboards): Mark Vinput_decode_map.
15115 Don't mark Vlocal_key_translation_map.
15116 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15117 Replace local-key-translation-map back with key-translation-map.
15118 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15119 Bind in input-decode-map rather than function-key-map.
15120
15121 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15122 This was made redundant by the previous introduction of XSETPVECTYPE.
15123
151242007-10-09 Richard Stallman <rms@gnu.org>
15125
15126 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15127
151282007-09-29 Richard Stallman <rms@gnu.org>
15129
15130 * eval.c (internal_condition_case_2, internal_condition_case_1)
15131 (internal_condition_case): Reenable abort if x_catching_errors ()
15132 to see if that really happens and why.
15133
151342007-10-06 Andreas Schwab <schwab@suse.de>
15135
15136 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15137
151382007-10-04 Juanma Barranquero <lekktu@gmail.com>
15139
15140 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15141
151422007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15143
15144 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15145
151462007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15147
15148 * window.h (struct window):
15149 * window.c (struct save_window_data, struct saved_window):
15150 * termhooks.h (struct terminal):
15151 * process.h (struct Lisp_Process):
15152 * frame.h (struct frame):
15153 * buffer.h (struct buffer):
15154 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15155 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15156 The size field of (pseudo)vectors is now unsigned.
15157 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15158
15159 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15160 Turn `count' into an integer.
15161
15162 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15163 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15164 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15165 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15166 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15167
15168 * alloc.c (allocate_pseudovector): New fun.
15169 (ALLOCATE_PSEUDOVECTOR): New macro.
15170 (allocate_window, allocate_terminal, allocate_frame)
15171 (allocate_process): Use it.
15172 (mark_vectorlike): New function.
15173 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15174 (mark_terminals): Use it.
15175 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15176 (Fmake_byte_code): Use XSETPVECTYPE.
15177
15178 * frame.c (Fframe_parameters): Minor simplification.
15179
15180 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15181
15182 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15183
15184 * buffer.c (Fget_buffer_create, init_buffer_once):
15185 * lread.c (defsubr):
15186 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15187
15188 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15189 defined differently in the m/*.h files.
15190 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15191 (XSETPVECTYPE): New macro.
15192 (XSETPSEUDOVECTOR): Use it.
15193
15194 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15195 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15196
15197 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15198 * lread.c (defvar_per_buffer):
15199 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15200
15201 * window.c (candidate_window_p): Only consider as visible frames that
15202 are on the same terminal.
15203
15204 * m/ibms390x.h (MARKBIT): Remove unused macro.
15205
152062007-10-01 Juanma Barranquero <lekktu@gmail.com>
15207
15208 * lread.c (Fload): Fix typo in docstring.
15209
152102007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15211
15212 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15213 of a non-zero value can't yield zero.
15214
152152007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15216
15217 * term.c (term_clear_mouse_face, term_mouse_highlight)
15218 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15219
15220 * print.c (safe_debug_print): Use XHASH.
15221
15222 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15223 Lisp elements such as tags.
15224 (XHASH): New macro.
15225 (EQ): Use it.
15226 (SREF, SSET, STRING_COPYIN): Use SDATA.
15227 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15228
15229 * alloc.c (mark_terminal): Remove left-over declaration.
15230 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15231 (allocate_vectorlike): Remove type argument. Adjust callers.
15232 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15233 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15234
15235 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15236 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15237 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15238 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15239 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15240 Use them.
15241
15242 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15243 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15244 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15245
152462007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15247
15248 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15249 loaded by default.
15250
152512007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15252
15253 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15254 on this tty.
15255 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15256
15257 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15258 Update all users.
15259 (handle_one_term_event): Use Gpm_DrawPointer.
15260 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15261 Signal errors instead of returning nil. Always return nil.
15262 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15263 Make it a noop if gpm-mouse was not activated.
15264 (syms_of_term): Update names.
15265
152662007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15267
15268 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15269 (init_sys_modes): Check that gpm_tty is the current tty.
15270
15271 * alloc.c (allocate_terminal): Set the vector size to only count the
15272 lisp fields. Initialize those to nil.
15273 (mark_object): Don't treat terminals specially.
15274 (mark_terminal): Remove.
15275 (mark_terminals): Use mark_object instead.
15276
15277 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15278 the GC to the beginning.
15279
15280 * indent.h:
15281 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15282
15283 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15284
152852007-09-25 Jason Rumney <jasonr@gnu.org>
15286
15287 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15288
15289 * w32console.c (create_w32cons_output): Remove.
15290
15291 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15292
15293 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15294 (reset_sys_modes): Use reset_terminal_modes_hook.
15295
152962007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15297
15298 * eval.c (do_autoload): Don't output any message.
15299
153002007-09-24 Juri Linkov <juri@jurta.org>
15301
15302 * emacs.c (standard_args): Change priority of "--no-splash"
15303 from 40 to 3. Add "--no-desktop" with the same priority.
15304
153052007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15306
15307 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15308 and optimize the case where they are all 1.
15309
153102007-09-23 Johannes Weiner <hannes@saeurebad.de>
15311
15312 * lisp.h (abs): Define if not defined.
15313 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15314 Don't define `abs', since it's defined in lisp.h.
15315
153162007-09-22 Eli Zaretskii <eliz@gnu.org>
15317
15318 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15319 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15320 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15321 (init_tty): Use DEV_TTY instead of "/dev/tty".
15322 [WINDOWSNT]: No need to protect from NAME arg being null.
15323
153242007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15325
15326 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15327 up the tty state.
15328
153292007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15330
15331 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15332 (gpm_tty): Change its type.
15333 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15334 (gpm_tty): Change its type and initialize it.
15335 (Fterm_open_connection): Check the frame is indeed a tty.
15336 Use the new gpm_tty.
15337 (Fterm_close_connection): Use the new gpm_tty.
15338 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15339 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15340
153412007-09-21 Juanma Barranquero <lekktu@gmail.com>
15342
15343 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15344 underline_color, to draw strike-through.
15345
153462007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15347
15348 * lisp.h (allocate_terminal): Declare.
15349
15350 * window.c (candidate_window_p): Consider frames that are being placed
15351 by the user as somewhere between visible and iconified.
15352 (window_loop): Prefer windows on the current frame.
15353 (Fselect_window): Move the use of select-frame to the beginning so we
15354 can just delegate all the work (it'll call us back anyway).
15355
15356 * frame.c (Qdisplay_environment_variable):
15357 * frame.h (Qdisplay_environment_variable): Delete.
15358
15359 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15360 of the first arg, since that value may be a union.
15361
15362 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15363 parameter rather than Qdisplay_environment_variable. If all else
15364 fails, look for DISPLAY in initial-environment.
15365
153662007-09-21 Glenn Morris <rgm@gnu.org>
15367
15368 * Makefile.in (emacstool): Remove target.
15369 (lisp, shortlisp): Remove termdev.elc.
15370
153712007-09-21 Markus Triska <markus.triska@gmx.at>
15372
15373 * xterm.c (x_delete_display): Compile session management conditionally.
15374
153752007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15376
15377 * callproc.c (getenv_internal_1): New function.
15378 (getenv_internal): Use it.
15379 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15380
15381 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15382 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15383 (Fset_terminal_parameter): Work with dead terminals as well.
15384 (Fmodify_terminal_parameters): Remove.
15385
15386 * terminal.c (get_terminal): Handle terminals.
15387 Make sure the terminal returned is live.
15388 (create_terminal): Use allocate_terminal.
15389 (mark_terminals): Move to alloc.c.
15390 (delete_terminal): Use terminal->name as liveness status.
15391 NULL out fields after freeing their contents.
15392 Don't deallocate the object.
15393 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15394 rather than an int.
15395 (Fterminal_live_p): Accept non-integer arguments.
15396 (Fterminal_list): Return terminal objects rather than an ints.
15397
15398 * alloc.c (enum mem_type): New member for `terminal' objects.
15399 (allocate_terminal): New function.
15400 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15401 Handle terminals.
15402 (mark_terminal): New fun.
15403 (mark_terminals): Move from terminal.c.
15404
15405 * term.c (get_tty_terminal): Don't treat output_initial specially.
15406 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15407 (delete_tty): Use terminal->name as liveness status.
15408
15409 * termhooks.h (struct terminal): Make it into a pseudovector.
15410 Remove `deleted' replaced by checking `name's nullness.
15411
15412 * print.c (print_object): Handle terminals.
15413
15414 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15415 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15416
15417 * frame.c (make_terminal_frame):
15418 * keyboard.c (tty_read_avail_input):
15419 * w32term.c (x_delete_terminal):
15420 * xfns.c (Fx_create_frame, x_create_tip_frame):
15421 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15422
154232007-09-20 Glenn Morris <rgm@gnu.org>
15424
15425 * process.c (Fmake_network_process): Doc fix.
15426
154272007-09-19 Jason Rumney <jasonr@gnu.org>
15428
15429 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15430
154312007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15432
15433 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15434 Fix a C warning regarding variable constness.
15435
15436 * xterm.c (handle_one_xevent): Fix a C warning.
15437
154382007-09-18 Jason Rumney <jasonr@gnu.org>
15439
15440 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15441
154422007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15443
15444 * gtkutil.c (gdpy_def): New variable.
15445 (xg_initialize): Initialize gdpy_def.
15446 (xg_display_close): If no other display exists, set gdpy_def to a
15447 new connection.
15448
154492007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15450
15451 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15452 when we have no file name for the icon.
15453 (xg_tool_bar_expose_callback): Remove.
15454 (xg_create_tool_bar): Don't connect expose signal to
15455 xg_tool_bar_expose_callback.
15456 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15457
154582007-09-16 Andreas Schwab <schwab@suse.de>
15459
15460 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15461 values instead of zapping them.
15462
154632007-09-14 Glenn Morris <rgm@gnu.org>
15464
15465 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15466 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15467 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15468 scope and rename to omfib_buffer for clarity.
15469 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15470
154712007-09-14 Kenichi Handa <handa@m17n.org>
15472
15473 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15474
154752007-09-13 Jason Rumney <jasonr@gnu.org>
15476
15477 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15478
15479 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15480
15481 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15482 (mac_term_init): Call here instead, passing rif.
15483
154842007-09-13 Glenn Morris <rgm@gnu.org>
15485
15486 * s/hpux.h: No longer define `static' as nothing.
15487
154882007-09-13 Johan Bockgård <bojohan@gnu.org>
15489
15490 * callint.c (Fcall_interactively): Remove unused var `fun'.
15491
154922007-09-12 Romain Francoise <romain@orebokech.com>
15493
15494 * window.c (prefer_window_split_horizontally, display_buffer):
15495 Revert 2007-09-08 change.
15496
154972007-09-12 Glenn Morris <rgm@gnu.org>
15498
15499 * alloca.c: Remove file.
15500 * Makefile.in (alloca): Do not undef.
15501 (allocaobj, alloca.o): Remove.
15502 (otherobj): Remove allocaobj.
15503 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15504 * regex.c (C_ALLOCA): Remove all references and code that was only
15505 used when this was defined.
15506 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15507 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15508 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15509
15510 * Makefile.in (SOURCES, unlock, relock): Delete.
15511
15512 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15513 (menu_grab_callback): All uses changed.
15514
15515 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15516 (x_reply_selection_request): All uses changed.
15517
155182007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15519
15520 * lread.c (load_warn_old_style_backquotes): Change message to look
15521 better when it appears in the middle of byte-compiler messages.
15522
155232007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15524
15525 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15526
15527 * xterm.c (x_create_terminal): Add comment.
15528
15529 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15530
155312007-09-10 Richard Stallman <rms@gnu.org>
15532
15533 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15534
155352007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15536
15537 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15538 (DEFUN): Document `intspec', use it instead of `prompt'.
15539
15540 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15541
15542 * data.c (Finteractive_form): If the interactive specification starts
15543 with a `(', use it as a Lisp form.
15544
15545 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15546 name and file modes.
15547
15548 * callint.c (Fcall_interactively): Comment fixes.
15549
155502007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15551
15552 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15553 and compiled functions.
15554
155552007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15556
15557 * window.c (prefer_window_split_horizontally): New variable.
15558 (display_buffer): Consider splitting window horizontally depending
15559 on prefer_window_split_horizontally.
15560
155612007-09-08 Eli Zaretskii <eliz@gnu.org>
15562
15563 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15564
155652007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15566
15567 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15568
15569 * frame.c (x_set_frame_parameters): Check number is positive before
15570 using XFASTINT.
15571
15572 * window.c (freeze_window_start): Don't presume selected_window holds
15573 a window object.
15574 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15575
155762007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15577
15578 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15579
155802007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15581
15582 * window.c (Vsplit_window_preferred_function): New var.
15583 (Fdisplay_buffer): Use it.
15584 (syms_of_window): Export, and initialize it.
15585
155862007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15587
15588 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15589
155902007-09-06 Glenn Morris <rgm@gnu.org>
15591
15592 * gtkutil.c (menu_grab_callback) <cnt>:
15593 * xselect.c (x_reply_selection_request) <cnt>: Move static
15594 variable to file scope.
15595
155962007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15597
15598 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15599 consistent values of selected_frame and selected_window.
15600
156012007-09-04 Jason Rumney <jasonr@gnu.org>
15602
15603 * w32console.c (initialize_w32_display): Zero unused hooks.
15604
156052007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15606
15607 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15608 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15609
156102007-09-04 Jason Rumney <jasonr@gnu.org>
15611
15612 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15613 in w32console.c. Set up input. Remove XXX comments that have been
15614 confirmed as correct.
15615
15616 * s/ms-w32.h (MULTI_KBOARD): Define.
15617
15618 * w32console.c (one_and_only_w32cons): Remove.
15619 (initialize_w32_display): Take terminal argument.
15620
15621 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15622 initialize_w32_display.
15623 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15624
15625 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15626
15627 * keyboard.c (discard_mouse_events): Discard it.
15628 (make_lispy_event): Translate it to a lisp event.
15629 (lispy_wheel_names): Add wheel-left and right events.
15630 (syms_of_keyboard): Enlarge wheel_syms.
15631
15632 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15633 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15634
15635 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15636
15637 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15638 from WM_MOUSEHWHEEL.
15639 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15640
15641 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15642 terminal.
15643
15644 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15645 keyboard for the terminal.
15646
156472007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15648
15649 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15650 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15651 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15652 and resume-tty-function to resume-tty-hook.
15653 (Fsuspend_tty, Fresume_tty): Use new names.
15654
156552007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15656
15657 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15658 if it starts with "n:".
15659
156602007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15661
15662 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15663
156642007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15665
15666 * frame.h:
15667 * frame.c (Qterm_environment_variable): Remove.
15668 (syms_of_frame): Don't init and staticpro it.
15669
15670 * callproc.c (getenv_internal): Remove special case for $TERM.
15671
15672 * callproc.c (Vinitial_environment): New variable.
15673 (set_initial_environment): Initialize it.
15674 (syms_of_callproc): Declare it.
15675 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15676 TERM under which a process runs is never related to the TERM in which
15677 Emacs is running.
15678
156792007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15680
15681 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15682 * s/darwin.h: ... do it here.
15683
156842007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15685
15686 * lisp.h (set_initial_environment): Rename from set_global_environment.
15687
15688 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15689 removed by mistake on the multi-tty branch.
15690
15691 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15692 (Fmodify_frame_parameters): Return a value.
15693
15694 * image.c (png_load): Comment-out var only used in commented-out code.
15695
15696 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15697 before passing it to mark_object.
15698
15699 * xfaces.c (internal_resolve_face_name): Return a value.
15700 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15701
15702 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15703 (x_icon): Comment-out var only used in commented-out code.
15704
157052007-08-29 Romain Francoise <romain@orebokech.com>
15706
15707 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15708 QUIT hasn't been provided.
15709
157102007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15711
15712 * callproc.c (child_setup, getenv_internal): Use the
15713 display-environment-variable and term-environment-variable frame params.
15714 (set_initial_environment): Initialise Vprocess_environment.
15715
15716 * config.in: Disable multi-keyboard support on a mac.
15717
15718 * frame.c (Qterm_environment_variable)
15719 (Qdisplay_environment_variable): New variables.
15720 (syms_of_frame): Intern and staticpro them.
15721 (Fmake_terminal_frame): Disable output method test.
15722
15723 * frame.h: Declare them here.
15724
15725 * macfns.c (x_set_mouse_color): Get rif from the frame.
15726 (x_set_tool_bar_lines): Don't use updating_frame.
15727 (mac_window): Add 2 new parameters for consistency with other systems.
15728 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15729 frame parameters following what is done in X11 and w32. Don't use
15730 FRAME_MAC_DISPLAY_INFO.
15731 (Fx_open_connection, start_hourglass): Remove window-system check.
15732 (x_create_tip_frame): Get the keyboard from the terminal.
15733
15734 * macmenu.c: Reorder includes.
15735 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15736
15737 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15738 terminal parameter.
15739 (x_clear_frame): Add a frame parameter.
15740 (note_mouse_movement): Get rif from the frame.
15741 (mac_term_init): Initialize the terminal.
15742 (mac_initialize): Make static and move terminal initialization ...
15743 (mac_create_terminal): ... to this new function.
15744
15745 * macterm.h (struct mac_display_info): Add terminal.
15746 (mac_initialize): Delete declaration.
15747
15748 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15749
15750 * sysdep.c: Comment out text after #endif.
15751
15752 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15753 is defined. Better initialize ttys in windows. Use terminal
15754 specific mouse_position_hook.
15755
15756 * termhooks.h (union display_info): Add mac_display_info.
15757
15758 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15759 Set the default minibuffer frame, window_system and the rest of the
15760 frame parameters following what is done in X11.
15761
15762 * w32term.c (w32_initialize): Make static.
15763
15764 * xselect.c (x_handle_selection_clear): Only access
15765 terminal->kboard when MULTI_KBOARD is defined.
15766
15767 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15768 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15769
157702007-08-29 Jason Rumney <jasonr@gnu.org>
15771
15772 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15773 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15774
15775 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15776 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15777
15778 * keyboard.c (restore_kboard_configuration): Only define when
15779 MULTI_KBOARD defined.
15780
15781 * makefile.w32-in: Update dependancies from Makefile.in.
15782 (OBJ1): Add terminal.$(O)
15783
15784 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15785 Don't define function body.
15786 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15787
15788 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15789
15790 * w32.c (request_sigio, unrequest_sigio): Remove.
15791
15792 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15793 (w32con_clear_frame, w32con_clear_end_of_line)
15794 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15795 (w32con_delete_glyphs, w32con_set_terminal_window)
15796 (scroll_line, w32_sys_ring_bell): Add frame arg.
15797 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15798 Add terminal arg.
15799 (PICK_FRAME): Remove.
15800 (w32con_write_glyphs): Use frame specific terminal coding.
15801 (one_and_only_w32cons): New global variable.
15802 (initialize_w32_display): Use it for storing hooks.
15803 (create_w32cons_output): New function.
15804
15805 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15806 arg a frame.
15807
15808 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15809 Set window_system.
15810 (x_set_tool_bar_lines): Don't use updating_frame.
15811 (Fx_create_frame): Set terminal and ref count.
15812 (Fx_open_connection): Remove window-system check.
15813
15814 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15815
15816 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15817 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15818 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15819 Add frame arg.
15820 (x_delete_terminal, w32_create_terminal): New functions.
15821 (w32_term_init): Create a terminal.
15822 (w32_initialize): Move terminal specific initialization to
15823 w32_create_terminal.
15824
15825 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15826 (w32_clear_rect, w32_clear_area): Use background from frame.
15827 (w32_display_info): Add terminal.
15828 (w32_sys_ring_bell, x_delete_display): Declare here.
15829
15830 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15831
15832 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15833
158342007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15835
15836 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15837 Fix get_named_tty calls for the controlling tty.
15838
158392007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15840
15841 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15842
158432007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15844
15845 * term.c (tty_insert_glyphs): Add missing first parameter.
15846
158472007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15848
15849 * buffer.c (Fbuffer_list, Fbury_buffer):
15850 Take frame->buried_buffer_list into account.
15851
15852 * cm.c (current_tty): New variable, for cmputc().
15853 (cmputc): Use it.
15854 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15855 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15856 (cmgoto): Add tty parameter. Pass it on to calccost().
15857 Use emacs_tputs() instead of tputs().
15858
15859 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15860 tputs().
15861 (current_tty): New variable, for cmputc().
15862 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15863
15864 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15865 (internal_condition_case, internal_condition_case_1)
15866 (internal_condition_case_2): Don't abort when x_catching_errors.
15867
15868 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15869 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15870 prevent crashes caused by bogus longjmps in read_char.
15871
15872 * keymap.h (Fset_keymap_parent): Add EXFUN.
15873
15874 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15875 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15876 Remove redundant definition.
15877
15878 * macfns.c (x_set_mouse_color, x_make_gc):
15879 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15880
15881 * w32term.c (x_free_frame_resources):
15882 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15883 (w32_initialize): Use the accessor macros for terminal characteristics.
15884
15885 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15886 Use the accessor macros for terminal characteristics.
15887 * msdos.c (internal_terminal_init): Use the accessor macros for
15888 terminal characteristics.
15889 (ScreenVisualBell, internal_terminal_init):
15890 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15891
15892 * termopts.h (no_redraw_on_reenter): Declare.
15893
15894 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15895 (mark_terminals, mark_ttys): Declare.
15896 (Fgarbage_collect): Call them.
15897 (mark_object): Mark buried_buffer_list.
15898
15899 * prefix-args.c: Include stdlib.h for exit.
15900
15901 * syssignal.h: Add comment.
15902
15903 * indent.c: Include stdio.h.
15904
15905 * window.h (Vinitial_window_system): Declare.
15906 (Vwindow_system): Delete declaration.
15907
15908 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15909
15910 * image.c (lookup_image): Don't initialize `c' until the xasserts
15911 have been run.
15912
15913 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15914 FRAME_FOREGROUND_PIXEL.
15915
15916 * print.c (print_preprocess): Don't lose print_depth levels while
15917 iterating.
15918
15919 * widget.c (update_from_various_frame_slots):
15920 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15921
15922 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15923 frames.
15924 (window_internal_height): Remove bogus make_number call.
15925 (init_window_once): Call make_terminal_frame with two zero parameters.
15926
15927 * fileio.c (Fread_file_name): Update comment.
15928
15929 * callint.c (Fcall_interactively):
15930 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15931 Make sure it is correctly unwound.
15932
15933 * xsmfns.c (x_session_close): New function.
15934
15935 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15936 Delete declarations.
15937
15938 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15939 (x_output): Remove background_pixel and foreground_pixel fields.
15940 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15941 (x_delete_device, x_session_close): Declare.
15942
15943 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15944 (read_filtered_event): Call `read_char' with a local
15945 `wrong_kboard_jmpbuf'.
15946
15947 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15948 Don't call single_kboard_state. Use FRAME_RIF.
15949
15950 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15951 systems.
15952
15953 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15954 (Fframe_with_environment, Fset_input_meta_mode)
15955 (Fset_quit_char): EXFUN.
15956 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15957 (init_sys_modes, reset_sys_modes): Update prototypes.
15958 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15959
15960 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15961 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15962 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15963 Delete declarations.
15964 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15965 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15966 New declarations.
15967
15968 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15969 already does that during init_display(). Call syms_of_keymap
15970 before syms_of_keyboard. Call `syms_of_terminal'.
15971 Call set_initial_environment, not set_process_environment.
15972 (shut_down_emacs): Call reset_all_sys_modes() instead of
15973 reset_sys_modes().
15974
15975 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15976 (internal_resolve_face_name, resolve_face_name_error): New functions.
15977 (resolve_face_name): Protect against loops and errors thrown by Fget.
15978 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15979 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15980
15981 * scroll.c: Replace CURTTY() with local variables throughout the
15982 file (where applicable).
15983 (calculate_scrolling, calculate_direct_scrolling)
15984 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15985 characteristics.
15986
15987 * keymap.c (Vfunction_key_map): Remove.
15988 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15989 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15990 (Vkey_translation_map): Remove.
15991 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15992 (Fdescribe_buffer_bindings)
15993 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15994 Update for terminal-local key-translation-map.
15995
15996 * Makefile.in (callproc.o): Update dependencies.
15997 (lisp, shortlisp): Add termdev.elc.
15998 (obj): Add terminal.o.
15999 (terminal.o): Add dependencies.
16000 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
16001 (data.o, fns.o): Add termhooks.h dependency.
16002 (SOME_MACHINE_LISP): Add dnd.elc.
16003 (minibuf.o): Fix typo.
16004 Update dependencies.
16005
16006 * data.c (do_symval_forwarding, store_symval_forwarding)
16007 (find_symbol_value): Use the selected frame's keyboard, not
16008 current_kboard.
16009
16010 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
16011 Vwindow_system.
16012
16013 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
16014 Fmenu_bar_open.
16015 (syms_of_xmenu): Update defsubr.
16016 (mouse_position_for_popup, Fx_popup_menu)
16017 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
16018 (set_frame_menubar, free_frame_menubar)
b97439ce 16019 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
16020 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
16021 an X frame.
16022
16023 * xselect.c (x_own_selection): Abort if not an X frame.
16024 (some_frame_on_display): Check if it is an X frame.
16025 (x_handle_selection_clear): Deal with MULTI_KBOARD.
16026
16027 * coding.c: Include frame.h and termhooks.h.
16028 (terminal_coding, keyboard_coding): Delete.
16029 (Fset_terminal_coding_system_internal)
16030 (Fset_keyboard_coding_system_internal)
16031 (Fkeyboard_coding_system)
16032 (Fterminal_coding_system): Add a terminal parameter.
16033 Get terminal_coding from the terminal.
16034 (init_coding_once): Don't call setup_coding_system here.
16035
16036 * dispextern.h (set_scroll_region, turn_off_insert)
16037 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
16038 (tty_clear_end_of_line, tty_setup_colors)
16039 (delete_tty, updating_frame)
16040 (produce_special_glyphs, produce_glyphs, write_glyphs)
16041 (insert_glyphs): Remove.
16042 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
16043 (tty_turn_off_highlight, get_tty_size): Add declaration.
16044 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
16045
16046 * frame.h (enum output_method): Add output_initial.
16047 (struct x_output): Delete.
16048 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16049 Access foreground_pixel and background_pixel directly from the frame.
16050 (tty_display): Delete.
16051 (struct frame): Add buried_buffer_list, foreground_pixel,
16052 background_pixel and terminal. Delete kboard.
16053 (union output_data): Add tty.
16054 (FRAME_KBOARD): Get the kboard from the terminal.
16055 (FRAME_INITIAL_P): New macro.
16056 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
16057 (Qterm_environment_variable, Qdisplay_environment_variable)
16058 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
16059 New declarations.
16060
16061 * termchar.h (tty_output, tty_display_info): New structures.
16062 (tty_list): Declare.
16063 (FRAME_TTY, CURTTY): New macros.
16064 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
16065 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
16066 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
16067 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
16068
16069 * callproc.c: Include frame.h and termhooks.h, for terminal
16070 parameters.
16071 (add_env): New function.
16072 (child_setup): Use it.
16073 (child_setup, getenv_internal): Handle the new Vprocess_environment.
16074 (getenv_internal): Fix get_terminal_param call.
16075 (Fgetenv_internal, egetenv): Update doc.
16076 (syms_of_callproc): Initialize Vprocess_environment to nil.
16077 Register and initialize them. Remove obsolete defvars. Update doc
16078 strings.
16079 (child_setup): Handle Vlocal_environment_variables.
16080 (getenv_internal): Add terminal parameter.
16081 Handle Vlocal_environment_variables.
16082 (Fgetenv_internal): Add terminal parameter.
16083 (child_setup, getenv_internal, Fgetenv_internal): Store the local
16084 environment in a frame (not terminal) parameter. Update doc strings.
16085 (set_initial_environment): Rename from set_global_environment.
16086 Store Emacs environment in initial frame parameter.
16087
16088 * xdisp.c (redisplay_internal): Update references to
16089 `previous_terminal_frame'.
16090 (display_mode_line, Fformat_mode_line): Replace calls to
16091 `push_frame_kboard' with `push_kboard'.
16092 (get_glyph_string_clip_rects): Add extra parentheses and
16093 braces to prevent compiler warnings.
16094 (calc_pixel_width_or_height): Add xassert to check that the
16095 frame is alive. Don't call `lookup_image' on a termcap frame.
16096 (message2_nolog, message3_nolog, redisplay_internal)
16097 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16098 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16099 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16100 (Fx_display_pixel_width, Fx_display_pixel_height)
16101 (Fx_display_planes, Fx_display_color_cells)
16102 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16103 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16104 (Fx_display_backing_store, Fx_display_visual_class)
16105 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16106 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16107
16108 * xfns.c (x_set_foreground_color x_set_background_color)
16109 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16110 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16111 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16112 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16113 terminal that is being deleted.
16114 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16115 frame parameter, and make sure it overrides any user-supplied setting.
16116 (Fx_close_connection, Fx_synchronize): Unify argument names with
16117 the rest of the DEFUNs.
16118
16119 * dispnew.c (Fsend_string_to_terminal): Update call to
16120 `get_tty_terminal'.
16121 (Fredraw_frame, Fsend_string_to_terminal)
16122 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16123 FRAME_TERMCAP_P and FRAME_TTY.
16124 (window_change_signal): Don't believe width/height values that are
16125 impossibly small.
16126 (Vinitial_window_system): Rename from Vwindow_system.
16127 (termscript, Wcm, rif): Delete.
16128
16129 * termhooks.h (struct terminal): New struct containing the
16130 previously global text display hooks and new members NAME,
16131 DELETED and PARAM_ALIST.
16132 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16133 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16134 (FRAME_RIF): New macros.
16135 (get_terminal_param, get_device): New declarations.
16136 (termscript): Delete declaration.
16137
16138 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16139 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16140 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16141 FRAME_FOREGROUND_PIXEL.
16142 (x_fully_uncatch_errors): Disable definition.
16143 (x_scroll_bar_expose): Fix reference to foreground pixel.
16144 (XTread_socket): Disable loop on all X displays.
16145 (x_delete_terminal): Don't set terminal->deleted and let
16146 delete_terminal delete the frames on the terminal.
16147 (x_delete_display): Doc update to reflect changes in
16148 delete_terminal.
16149 (x_display_info) <terminal>: Move member earlier in the struct.
16150 (deleting_tty): Remove old variable.
16151 (Fsuspend_tty): Call clear_tty_hooks.
16152 (Fresume_tty, init_tty): Call set_tty_hooks.
16153 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16154 errors on X frames.
16155 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16156 (handle_one_xevent): Initialize `f' to NULL.
16157 (x_delete_terminal, x_create_terminal): New functions.
16158 (XTset_terminal_modes, XTreset_terminal_modes)
16159 (XTread_socket, x_connection_closed, x_term_init)
16160 (x_term_init, x_delete_display): Add terminal parameter.
16161 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16162 X connections.
16163
16164 * frame.c: Include termchar.h.
16165 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16166 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16167 (Qdisplay_environment_variable): New vars.
16168 (Fframep): Deal with output_initial.
16169 (Fframe-live-p): Doc fix.
16170 (Fwindow-system): New function.
16171 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16172 (make_terminal_frame): Don't create frames on a terminal that is
16173 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16174 (store_frame_param): Check for found_for_frame before calling XFRAME.
16175 (Fmake_terminal_frame): Handle NULL tty names correctly.
16176 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16177 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16178 frames to refer to a deleted frame in their 'environment parameter.
16179 (Fframe_with_environment): New function.
16180 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16181 (get_future_frame_param): New function.
16182 (Fmake_terminal_frame): Use it.
16183 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16184
16185 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16186 * sysdep.c (reset_sys_modes): Update for renames.
16187
16188 * keyboard.c (tty_read_avail_input): New function.
16189 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16190 (syms_of_keyboard): Defsubr them.
16191 (Fset_input_meta_mode, Fset_quit_char): New functions.
16192 (Fset_input_mode): Split to above functions.
16193 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16194 parameter. Use it in call to `read_char'.
16195 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16196 Set wrong_kboard_jmpbuf correctly in recursive calls.
16197 Use current_kboard to access Vkeyboard_translate_table.
16198 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16199 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16200 Update longjmp invocations. Remember the original current_kboard,
16201 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16202 changes it. Comment out unnecessary calls to
16203 `record_single_kboard_state' and `any_kboard_state'.
16204 Update recursive calls.
16205 (wrong_kboard_jmpbuf): Remove global variable.
16206 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16207 Handle deleted interrupted_kboards correctly; that is a legal
16208 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16209 and read_char calls. Abort if interrupted_kboard died in read_char.
16210 (any_kboard_state, single_kboard_state)
16211 (push_frame_kboard): Remove function.
16212 (pop_kboard): Switch out of single_kboard mode if the kboard has
16213 been deleted. Remove unused variable. Help debugging by not
16214 changing current_kboard unnecessarily. Set current_kboard to the
16215 kboard of the selected frame when the stored kboard object has
16216 been deleted before pop_kboard.
16217 (temporarily_switch_to_single_kboard): Change first parameter to a
16218 frame pointer. Throw an error when caller wants to change kboards
16219 while in single_kboard mode. Don't push_kboard if we weren't in
16220 single kboard state. Don't pop_kboard if we popped into any
16221 kboard state.
16222 (restore_kboard_configuration): Abort if pop_kboard changed the
16223 kboard in single_kboard mode. Call pop_kboard only after setting
16224 up single_kboard mode.
16225 (Frecursive_edit): Switch to single_kboard mode only in nested
16226 command loops.
16227 (cmd_error, command_loop, command_loop_1, timer_check):
16228 Comment out unnecessary call to `any_kboard_state' and
16229 `record_single_kboard_state'.
16230 (delete_kboard): Exit single_kboard mode if we have just deleted
16231 that kboard. Use FRAME_KBOARD.
16232 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16233 `fatal_error_signal'.
16234 (record_single_kboard_state): Don't push_kboard if we weren't in
16235 single kboard state. Don't pop_kboard if we popped into any
16236 kboard state.
16237 (push_frame_kboard): Rename to push_kboard.
16238 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16239 (read_avail_input): Read input from all terminals.
16240 (mark_kboards): Also mark Vkeyboard_translate_table.
16241 (kbd_buffer_store_event_hold): Simplify condition.
16242 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16243 (Vkeyboard_translate_table): Move to struct kboard.
16244 (init_kboard): Initialize Vkeyboard_translate_table.
16245 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16246 Vkeyboard_translate_table. Update doc strings. Update docs of
16247 local-function-key-map and function-key-map.
16248
16249 * terminal.c: New file.
16250
16251 * term.c: Include errno.h.
16252 (Vring_bell_function, device_list, initial_device)
16253 (next_device_id, ring_bell, update_begin, update_end)
16254 (set_terminal_window, cursor_to, raw_cursor_to)
16255 (clear_to_end, clear_frame, clear_end_of_line)
16256 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16257 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16258 (syms_of_term): Move their initialization to terminal.c.
16259 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16260 (Ftty_display_color_cells)
16261 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16262 (clear_tty_hooks, set_tty_hooks)
16263 (init_tty, maybe_fatal): New functions.
16264 (Ftty_type): Return nil if terminal is not on a tty instead of
16265 throwing an error. Doc update.
16266 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16267 Doc update. Initialize new subrs and variables.
16268 (delete_tty): Use terminal->deleted.
16269 (tty_set_terminal_modes): Rename from set_terminal_modes.
16270 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16271 (set_scroll_region): Rename to `tty_set_scroll_region'.
16272 (turn_on_insert): Rename to `tty_turn_on_insert'.
16273 (turn_off_insert): Rename to `tty_turn_off_insert'.
16274 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16275 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16276 (toggle_highligh): Rename to `tty_toggle_highlight'.
16277 (background_highlight): Rename to `tty_background_highlight'.
16278 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16279 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16280 (tty_set_scroll_region, tty_background_highlight)
16281 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16282 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16283 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16284 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16285 Add static modifier.
16286 (tty_reset_terminal_modes, tty_set_terminal_window)
16287 (tty_set_scroll_region, tty_background_highlight)
16288 (tty_highlight_if_desired, tty_cursor_to)
16289 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16290 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16291 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16292 renames.
16293
162942007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16295
16296 * keyboard.c: Qrtl is new.
16297 (parse_tool_bar_item): Handle :rtl keyword.
16298 (syms_of_keyboard): Intern :rtl keyword.
16299
16300 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16301
16302 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16303 so no Lisp code is executed.
16304 (file_for_image, find_rtl_image): New functions.
16305 (xg_get_image_for_pixmap): Use file_for_image.
16306 (update_frame_tool_bar): If direction is RTL, use RTL image if
16307 defined. Use Gtk stock images if defined.
16308
163092007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16310
16311 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16312 for nonexistent or zero-width glyph in composition glyph.
16313
163142007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16315
16316 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16317
16318 * xdisp.c (Finvisible_p): New function.
16319 (syms_of_xdisp): defsubr it.
16320
163212007-08-24 Juanma Barranquero <lekktu@gmail.com>
16322
16323 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16324 Doc fixes.
16325
163262007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16327
16328 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16329
163302007-08-24 Martin Rudalics <rudalics@gmx.at>
16331
16332 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16333 whether decoding has modified buffer contents.
16334
163352007-08-24 Jason Rumney <jasonr@gnu.org>
16336
16337 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16338 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16339 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16340 (init_svg_functions) [HAVE_NTGUI]: New function.
16341 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16342 (svg_load_image): Use them.
16343 (svg_load_image) [HAVE_NTGUI]: Implement background.
16344
163452007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16346
16347 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16348 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16349 (LIBX): Remove @RSVG_LIBS@.
16350 (LIBES): Add $(RSVG_LIBS).
16351
16352 * image.c (svg_load_image): Blend with specified background if exists.
16353 Use IMAGE_BACKGROUND. Add Mac OS Support.
16354
16355 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16356 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16357 Remove macros.
16358 [MAC_OSX] (socket_callback): Do nothing.
16359 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16360 ReceiveNextEvent.
16361 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16362 socket_callback.
16363 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16364
163652007-08-22 Glenn Morris <rgm@gnu.org>
16366
16367 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16368
163692007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16370
16371 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16372
16373 * image.c: Add support for SVG images. Some additional comments
16374 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16375 (svg_image_p): New function to test for SVG image.
16376 (svg_load): New function to load SVG image.
16377 (svg_load_image): New function, helper for svg_load.
16378 (Qsvg): New Lisp_object.
16379 (svg_keyword_index): New enum.
16380 (svg_format): New static `image_keyword' struct.
16381 (svg_type): New static `image_type' struct.
16382 (librsvg/rsvg.h): Include it.
16383
163842007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16385
16386 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16387
163882007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16389
16390 * lread.c (Qold_style_backquotes): New var.
16391 (syms_of_lread): Init and staticpro it.
16392 (load_warn_old_style_backquotes): New fun.
16393 (Fload): Use them to warn about old style backquotes.
16394 (end_of_file_error, Fload): Remove unused vars.
16395
16396 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16397
16398 * lread.c (Vold_style_backquotes): New var.
16399 (syms_of_lread): Init and export it to Elisp.
16400 (read1): Set it when we find an old-style (back)quote.
16401
164022007-08-22 Jason Rumney <jasonr@gnu.org>
16403
16404 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16405
164062007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16407
16408 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16409
164102007-08-19 Richard Stallman <rms@gnu.org>
16411
16412 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16413
164142007-08-19 Andreas Schwab <schwab@suse.de>
16415
16416 * alloc.c (pure): Round PURESIZE up.
16417
164182007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16419
16420 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16421 active frame.
16422
164232007-08-16 Richard Stallman <rms@gnu.org>
16424
16425 * eval.c (Fcommandp): Add parens to clarify.
16426
16427 * minibuf.c (Fall_completions): Use enum for type of table.
16428
16429 * emacs.c (USAGE2): Improve text.
16430
164312007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16432
16433 * term.c (tty_default_color_capabilities): Declare static
16434 variables in file scope, to avoid HPUX compiler problem.
16435
164362007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16437
16438 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16439 to gtk_toolbar_insert.
16440
164412007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16442
16443 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16444
16445 * insdel.c (reset_var_on_error): New fun.
16446 (signal_before_change, signal_after_change):
16447 Use it to reset (after|before)-change-functions to nil in case of error.
16448 Bind inhibit-modification-hooks to t.
16449 Don't bind (after|before)-change-functions to nil while they run.
16450
164512007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16452
16453 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16454 filling pixmap with stippled background.
16455
164562007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16457
16458 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16459 Don't use invisible frame as parent window for repositioning.
16460
164612007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16462
16463 * print.c (new_backquote_output): Rename from old_backquote_output.
16464 (print): Inverse its logic (according to its name) so as to match the
16465 behavior of new_backquote_flag in lread.c.
16466
164672007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16468
16469 * gmalloc.c (posix_memalign): New function.
16470
16471 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16472 ActivateControl/DeactivateControl here.
16473 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16474 frame-notice-user-settings is non-nil.
16475 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16476 for kEventParamFMFontStyle.
16477 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16478 mac_pass_command_to_system and mac_pass_control_to_system here.
16479 (XTread_socket): Call ActivateControl/DeactivateControl here.
16480 (XTread_socket) [TARGET_API_MAC_CARBON]:
16481 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16482 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16483 for window repositioning.
16484
164852007-08-08 Glenn Morris <rgm@gnu.org>
16486
16487 * Replace `iff' in doc-strings and comments.
16488
164892007-08-07 Chong Yidong <cyd@stupidchicken.com>
16490
16491 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16492
164932007-08-07 Martin Rudalics <rudalics@gmx.at>
16494
16495 * fileio.c (Finsert_file_contents): Run format-decode and
16496 after_insert_file_functions on entire buffer when REPLACE is
16497 non-nil and inhibit modification_hooks and point_motion_hooks.
16498 For consistency, run after_insert_file_functions iff something
16499 got inserted. Move signal_after_change and update_compositions
16500 after code running after_insert_file_functions. Make sure that
16501 undo_list doesn't record intermediate steps of the decoding process.
16502
165032007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16504
16505 * emacs.c (main)
16506 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16507 Call malloc_enable_thread on interactive startup.
16508
16509 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16510 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16511 [USE_PTHREAD]: Conditionalize with it.
16512 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16513 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16514 New functions.
16515
165162007-08-06 Chong Yidong <cyd@stupidchicken.com>
16517
16518 * xdisp.c (redisplay_window): When restoring original buffer
16519 position, make sure it is still valid.
16520
16521 * image.c (png_load): Ignore png-supplied background color.
16522
165232007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16524
16525 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16526 Use kCFAbsoluteTimeIntervalSince1970.
16527
16528 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16529 New variable.
16530 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16531 event loop should be quit.
16532 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16533 Quit dialog event loop if quit_dialog_event_loop is set.
16534
16535 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16536 (Selection): New typedef. Use instead of ScrapRef.
16537 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16538 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16539 (mac_clear_selection): Rename from clear_scrap.
16540 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16541 scrap_has_target_type. All uses changed.
16542 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16543 (mac_selection_has_target_p): New functions.
16544 (mac_put_selection_value): Rename from put_scrap_string.
16545 (mac_get_selection_value): Rename from get_scrap_string.
16546 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16547 (put_scrap_private_timestamp, scrap_has_target_type)
16548 (get_scrap_private_timestamp): Remove functions.
16549 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16550 (x_own_selection, x_get_local_selection):
16551 Use mac_valid_selection_value_p.
16552 (x_own_selection): Don't use put_scrap_private_timestamp.
16553 Record OWNERSHIP-INFO into Vselection_alist instead.
16554 (x_get_local_selection): Don't check type if request is local.
16555 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16556 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16557
165582007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16559
16560 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16561 add comment explaining why.
16562
165632007-08-03 Richard Stallman <rms@gnu.org>
16564
16565 * fileio.c (Fvisited_file_modtime): Use make_time.
16566
165672007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16568
16569 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16570 build.
16571
165722007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16573
16574 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16575
165762007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16577
16578 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16579
165802007-07-30 Richard Stallman <rms@gnu.org>
16581
16582 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16583
165842007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16585
16586 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16587
165882007-07-28 Nick Roberts <nickrob@snap.net.nz>
16589
16590 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16591 remote default-directory.
16592
16593 * buffer.c (mode-line-format): Update doc string.
16594
165952007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16596
16597 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16598 scroll bar gap.
16599 (x_scroll_bar_create): Set bar->fringe_extended_p.
16600 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16601 on frame edge. Check fringe background extension. Don't clear
16602 extended fringe background area.
16603
16604 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16605 (w32_fill_area): Enclose multiple statements with do ... while (0).
16606
16607 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16608 Extend fringe background to scroll bar gap.
16609 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16610 Set bar->fringe_extended_p.
16611 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16612 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16613 background extension. Don't clear extended fringe background area.
16614
16615 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16616 New member fringe_extended_p.
16617
166182007-07-25 Glenn Morris <rgm@gnu.org>
16619
16620 * Relicense all FSF files to GPLv3 or later.
16621
16622 * COPYING: Switch to GPLv3.
16623
166242007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16625
16626 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16627
16628 * data.c (Finteractive_form): Check for the presence of an
16629 `interactive-form' symbol property more thoroughly.
16630
16631 * data.c (Finteractive_form): Use an `interactive-form' property if
16632 present, analogous to the function-documentation property.
16633
166342007-07-24 Jason Rumney <jasonr@gnu.org>
16635
16636 * w32fns.c (x_real_positions): Get real position from OS instead of
16637 calculating it.
16638
166392007-07-23 Jason Rumney <jasonr@gnu.org>
16640
16641 * filelock.c (current_lock_owner): Allow for @ sign in username.
16642
166432007-07-22 Nick Roberts <nickrob@snap.net.nz>
16644
16645 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16646 remote default-directory.
16647
16648 * buffer.c (mode-line-format): Describe above case in doc string.
16649
166502007-07-20 Eli Zaretskii <eliz@gnu.org>
16651
16652 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16653 Define if not defined.
16654
166552007-07-18 Jason Rumney <jasonr@gnu.org>
16656
16657 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16658
166592007-07-18 Richard Stallman <rms@gnu.org>
16660
16661 * data.c (Fsetq_default): Doc fix.
16662
16663 * eval.c (Fsetq): Doc fix.
16664
166652007-07-18 Juanma Barranquero <lekktu@gmail.com>
16666
16667 * coding.c (Ffind_operation_coding_system):
16668 * eval.c (For, Fand): Doc fixes.
16669 Reported by Johan Bockgård.
16670
166712007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16672
16673 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16674
16675 * xterm.h: Declare x_ewmh_activate_frame.
16676
16677 * xterm.c (x_ewmh_activate_frame): New function.
16678 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16679
166802007-07-17 Martin Rudalics <rudalics@gmx.at>
16681
16682 * window.c (Fdisplay_buffer): If largest or LRU window is the
16683 only window, split it even if it is not eligible for splitting.
16684 This restores the original behavior broken by the 2007-07-15
16685 change.
16686
166872007-07-17 Glenn Morris <rgm@gnu.org>
16688
16689 * abbrev.c (abbrev_check_chars): New function.
16690 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16691 Call abbrev_check_chars to check abbrev characters are word
16692 constituents. Doc fix.
16693
166942007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16695
16696 * process.c (Fstart_process, Fmake_network_process)
16697 (read_process_output): Fix up last changes.
16698
166992007-07-16 Eli Zaretskii <eliz@gnu.org>
16700
16701 * makefile.w32-in (clean): Don't delete *~.
16702
167032007-07-16 Andreas Schwab <schwab@suse.de>
16704
16705 * window.c (Fdisplay_buffer): Use NILP.
16706 (Fset_window_scroll_bars): Likewise.
16707
167082007-07-15 Martin Rudalics <rudalics@gmx.at>
16709
16710 * window.c (window_min_size_2): New function.
16711 (window_min_size_1, size_window, Fdisplay_buffer)
16712 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16713 windows without mode- or header-lines when window-min-height is
16714 too small.
16715 (size_window): Reset nodelete_p after testing it, following an
16716 earlier note by Kim F. Storm.
16717 (display_buffer): Do not set split_height_threshold to twice the
16718 value of window_min_height to avoid changing the value of a
16719 customizable variable. Rather explicitly check whether the
16720 height of the window that shall be splitted is at least as large
16721 as split_height_threshold.
16722 (Fwindow_full_width_p): New defun.
16723 (syms_of_window): Defsubr it.
16724
16725 * window.h: Add EXFUN for Fwindow_full_width_p.
16726
167272007-07-14 Jason Rumney <jasonr@gnu.org>
16728
16729 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16730
167312007-07-14 Richard Stallman <rms@gnu.org>
16732
16733 * eval.c (maybe_call_debugger): New function.
16734 (find_handler_clause): Use maybe_call_debugger.
16735 Call it when the handler says `debug'.
16736 Eliminate DEBUGGER_VALUE_PTR.
16737 (Fsignal): Eliminate debugger_value.
16738 (Qdebug): New variable.
16739 (syms_of_eval): Initialize it.
16740
167412007-07-14 Juanma Barranquero <lekktu@gmail.com>
16742
16743 * eval.c (Fprogn):
16744 * keyboard.c (Ftrack_mouse):
16745 * print.c (Fwith_output_to_temp_buffer):
16746 * window.c (Fsave_window_excursion): Doc fix.
16747
167482007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16749
16750 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16751
167522007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16753
16754 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16755 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16756 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16757 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16758 Remove unused encoding_carryover.
16759 * process.c: Adjust all functions accordingly.
16760
167612007-07-12 Richard Stallman <rms@gnu.org>
16762
16763 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16764
167652007-07-11 Jason Rumney <jasonr@gnu.org>
16766
16767 * makefile.w32-in (LIBS): Include OLE32.
16768
16769 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16770 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16771
167722007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16773
16774 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16775 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16776 from a Lisp_Object into a bare pointer.
16777 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16778 Adjust the code correspondingly.
16779
16780 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16781
16782 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16783 (term_show_mouse_face): Remove unused var `j'.
16784 (handle_one_term_event): Remove unused vars `i' and `j'.
16785 Don't cast return value of ttyname since it's not necessary.
16786
167872007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16788
16789 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16790 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16791
16792 * fns.c (map_char_table): Use an array of int for `indices' rather than
16793 an array of Lisp_Objects (which are only ever integers anyway).
16794 (Fmap_char_table): Update caller.
16795 * lisp.h: Update prototype.
16796 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16797 * fontset.c (Ffontset_info):
16798 * casetab.c (set_case_table): Update callers.
16799
16800 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16801
16802 * keymap.c (struct accessible_keymaps_data)
16803 (struct where_is_internal_data): New structures.
16804 (accessible_keymaps_1, where_is_internal_1): Use them to change
16805 interface to adhere to the one used by map_keymap.
16806 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16807 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16808
16809 * keymap.h (map_keymap_function_t): More informative prototype.
16810
168112007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16812
16813 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16814 (looking_at_1): Don't change search_regs and last_thing_searched
16815 if `inhibit-changing-match-data' is non-nil.
16816 (string_match_1, search_buffer, set_search_regs): Likewise.
16817 (syms_of_search): Add Lisp level definition for
16818 `inhibit-changing-match-data' and set it to nil.
16819 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16820 start and end of the match, instead of using values in search_regs.
16821
168222007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16823
16824 * minibuf.c (Fcompleting_read): New value `confirm-only'
16825 for `require-match'.
16826
168272007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16828
16829 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16830 part of the 2007-06-27 change to syms_of_fileio.
16831
168322007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16833
16834 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16835 Check WINDOWP before using XWINDOW. Consolidate return statements.
16836
168372007-06-27 Richard Stallman <rms@gnu.org>
16838
16839 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16840
168412007-06-27 Juanma Barranquero <lekktu@gmail.com>
16842
16843 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16844
168452007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16846
16847 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16848 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16849 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16850 (_free_internal, memalign): Use them.
16851 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16852 Initialize to PTHREAD_MUTEX_INITIALIZER.
16853 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16854 (morecore_nolock): Rename from morecore. All uses changed.
16855 Use only nolock versions of internal allocation functions.
16856 (_malloc_internal_nolock, _realloc_internal_nolock)
16857 (_free_internal_nolock): New functions created from
16858 _malloc_internal, _realloc_internal, and _free_internal.
16859 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16860 Copy hook value to automatic variable before its use.
16861 (memalign): Copy hook value to automatic variable before its use.
16862
168632007-06-26 Kenichi Handa <handa@m17n.org>
16864
16865 * coding.c (Ffind_operation_coding_system): Docstring improved.
16866 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16867
168682007-06-25 David Kastrup <dak@gnu.org>
16869
16870 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16871 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16872 cater for additional parameter.
16873
16874 * keymap.h: Adjust number of parameters to `current-active-maps'.
16875
16876 * doc.c (Fsubstitute_command_keys): Adjust call of
16877 `current-active-maps'.
16878
168792007-06-25 David Kastrup <dak@gnu.org>
16880
16881 * callint.c (Fcall_interactively): Make the parsing of interactive
16882 specs somewhat more readable.
16883
168842007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16885
16886 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16887 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16888 if extended background has already been filled.
16889
168902007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16891
16892 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16893 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16894
16895 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16896 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16897 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16898 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16899 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16900 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16901 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16902 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16903 Run timers during dialog popup.
16904 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16905
169062007-06-21 Jason Rumney <jasonr@gnu.org>
16907
16908 * image.c (convert_mono_to_color_image): Swap fore and background.
16909
169102007-06-20 Jason Rumney <jasonr@gnu.org>
16911
16912 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16913 (w32_free_bdf_font): Unmap memory not handle.
16914
169152007-06-20 Sam Steingold <sds@gnu.org>
16916
16917 * gmalloc.c (__morecore): Fix the declaration to comply with the
16918 definition.
16919
169202007-06-20 Juanma Barranquero <lekktu@gmail.com>
16921
16922 * w32term.c (w32_delete_display): Remove leftover declaration.
16923 (w32_define_cursor, w32_initialize): Make static.
16924
16925 * w32.c (_wsa_errlist): Fix typo in error message.
16926 (init_environment): Ignore any environment variable from the
16927 registry having a null value.
16928
169292007-06-20 Glenn Morris <rgm@gnu.org>
16930
16931 * Makefile.in (LIBGIF): Default to -lgif.
16932
169332007-06-17 Jason Rumney <jasonr@gnu.org>
16934
16935 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16936 unicode strings.
16937
169382007-06-16 Juanma Barranquero <lekktu@gmail.com>
16939
16940 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16941 Fix typo in docstring.
16942
169432007-06-16 Eli Zaretskii <eliz@gnu.org>
16944
16945 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16946 and their keybindings.
16947
169482007-06-15 Chong Yidong <cyd@stupidchicken.com>
16949
16950 * composite.c (update_compositions): Fix last fix.
16951
169522007-06-14 Jason Rumney <jasonr@gnu.org>
16953
16954 * w32.c (get_process_times_fn): New function pointer.
16955 (globals_of_w32): Intialize it if present in kernel32.dll.
16956 (w32_get_internal_run_time): New function.
16957
16958 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16959
169602007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16961
16962 * composite.c (update_compositions): Check the validness of
16963 compositions.
16964
169652007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16966
16967 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16968 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16969
16970 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16971 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16972
16973 * macgui.h (USE_MAC_TOOLBAR): New define.
16974
16975 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16976 Return immediately unless popup is activated.
16977
16978 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16979 background to scroll bar gap.
16980 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16981 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16982 scroll bars on frame edge. Check fringe background extension.
16983 Don't clear extended fringe background area.
16984 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16985 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16986 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16987 [USE_MAC_TOOLBAR]: New macros.
16988 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16989 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16990 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16991 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16992 [USE_MAC_TOOLBAR]: New functions.
16993 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16994 manually if previous repositioning has failed.
16995 (mac_handle_keyboard_event): Use precomputed event kind.
16996 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16997 as tool bar item click. Handle mouse movement over tool bar items.
16998
16999 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
17000 toolbar_win_gravity.
17001 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
17002 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
17003 Add externs.
17004
17005 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
17006 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
17007
170082007-06-14 Chong Yidong <cyd@stupidchicken.com>
17009
17010 * image.c (search_image_cache): Remove unused variable.
17011
170122007-06-13 Chong Yidong <cyd@stupidchicken.com>
17013
17014 * xfns.c, xmenu.c: Link to xaw3d if available.
17015
170162007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17017
17018 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
17019 frame_foreground and frame_background.
17020
17021 * image.c (lookup_image): Save frame foreground and background colors.
17022 (search_image_cache): Check if saved and current frame colors match.
17023
170242007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
17025
17026 * regex.c (regex_compile): Remove the `regnum' counter.
17027 Use bufp->re_nsub instead. Add support for \(?N:RE\).
17028
170292007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
17030
17031 * term.c: Include intervals.h to declare Fget_text_property.
17032
170332007-06-10 Jason Rumney <jasonr@gnu.org>
17034
17035 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
17036
170372007-06-08 Juanma Barranquero <lekktu@gmail.com>
17038
17039 * callint.c (Fcall_interactively):
17040 * editfns.c (Fdelete_and_extract_region):
17041 * fileio.c (Fread_file_name):
17042 * fns.c (Fmapconcat):
17043 * keyboard.c (cmd_error_internal):
17044 * keymap.c (Fkey_description):
17045 * lread.c (openp):
17046 * minibuf.c (read_minibuf):
17047 * search.c (wordify):
17048 * sunfns.c (sel_read):
17049 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
17050 * xfns.c (x_default_scroll_bar_color_parameter):
17051 * xmenu.c (menu_help_callback):
17052 * xselect.c (Fx_get_atom_name):
17053 * xterm.c (x_term_init): Use empty_unibyte_string.
17054
170552007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
17056
17057 * alloc.c (init_strings): Initialize canonical empty strings.
17058 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
17059 canonical empty string when the requested size is 0.
17060
17061 * emacs.c (empty_unibyte_string): Rename from empty_string.
17062 (empty_multibyte_string): New canonical empty string.
17063 (syms_of_emacs): Don't initialize empty_string.
17064
17065 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
17066 string, if appropriate.
17067 (empty_unibyte_string, empty_multibyte_string): New externs.
17068 (empty_string): Remove extern.
17069
17070 * lread.c (syms_of_lread): Use empty_unibyte_string.
17071
170722007-06-07 Jason Rumney <jasonr@gnu.org>
17073
17074 * s/ms-w32.h: Don't define HAVE_TZNAME.
17075
17076 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
17077
170782007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17079
17080 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
17081
17082 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
17083 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
17084
17085 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17086 Don't call next handler.
17087 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
17088 Remove argument. Install handler to application.
17089 (set_frame_menubar): Don't change deep_p.
17090 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
17091 FRAME_OUTER_TO_INNER_DIFF_Y.
17092 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17093 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17094 [HAVE_DIALOGS]: New macros.
17095 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17096 Use them.
17097 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17098
17099 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17100 init_service_handler. All callers changed. Return OSStatus value.
17101
17102 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17103 All callers changed so as not to call SetPortWindowPort.
17104 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17105 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17106 mac_draw_string_common.
17107 (mac_draw_image_string_qd): Likewise.
17108 (mac_draw_string_common): Use them. Add INLINE.
17109 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17110 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17111 GetGlobalMouse.
17112 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17113 and FRAME_OUTER_TO_INNER_DIFF_Y.
17114 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17115 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17116 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17117 repositioning window to mac_handle_window_event.
17118 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17119 saving window location to mac_handle_window_event
17120 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17121 (install_menu_target_item_handler): Remove argument in extern.
17122 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17123 Also accept command events.
17124 (do_keystroke): New function created from XTread_socket.
17125 (init_command_handler): Remove functions.
17126 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17127 and save window location by kEventWindowShowing and kEventWindowHiding
17128 handlers here. Don't call next handler for window state change and
17129 focus events.
17130 (mac_handle_application_event, mac_handle_keyboard_event)
17131 [TARGET_API_MAC_CARBON]: New functions.
17132 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17133 kEventWindowShowing and kEventWindowHiding events. Move installation
17134 of mouse, font, text input and menu target item handlers to
17135 install_application_handler.
17136 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17137 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17138 New function.
17139 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17140 Register it.
17141 (XTread_socket) [TARGET_API_MAC_CARBON]:
17142 Consolidate SendEventToEventTarget calls.
17143 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17144 Move application activation handler to mac_handle_application_event.
17145 Move keyboard handler to mac_handle_keyboard_event.
17146 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17147 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17148 init_command_handler. Call install_application_handler.
17149
17150 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17151 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17152
171532007-06-07 Glenn Morris <rgm@gnu.org>
17154
17155 * emacs.c (main): Use `emacs-copyright' in --version output.
17156
171572007-06-06 Chong Yidong <cyd@stupidchicken.com>
17158
17159 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17160
171612007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17162
17163 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17164
17165 * macgui.h: Replace WindowPtr with WindowRef.
17166
17167 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17168 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17169 Replace ControlHandle with ControlRef.
17170 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17171
17172 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17173 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17174 Replace ControlHandle with ControlRef.
17175 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17176 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17177
17178 * macterm.h (struct scroll_bar): Rename member control_handle_low
17179 and control_handle_high to control_ref_low and control_ref_high.
17180 All uses changed.
17181 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17182 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17183 respectively. All uses changed.
17184 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17185 (install_window_handler, remove_window_handler): Replace WindowPtr
17186 with WindowRef in externs.
17187
171882007-06-05 Juanma Barranquero <lekktu@gmail.com>
17189
17190 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17191
171922007-06-03 Nick Roberts <nickrob@snap.net.nz>
17193
17194 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17195
17196 * frame.c (Fmouse_position, Fmouse_pixel_position):
17197 Condition on HAVE_GPM too.
17198
17199 * term.c (term_mouse_highlight): Remove unused variables.
17200 (Fterm_open_connection): Set gpm_zerobased to 1.
17201 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17202 Use zero based co-ordinates.
17203 (handle_one_term_event): Report a drag as mouse movement too.
17204
17205 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17206
172072007-06-03 Chong Yidong <cyd@stupidchicken.com>
17208
17209 * image.c (search_image_cache): New function. Require background
17210 color match if background color is unspecified in the image spec.
17211 (uncache_image, lookup_image): Use it.
17212
172132007-06-01 Juanma Barranquero <lekktu@gmail.com>
17214
17215 * window.c (Fshrink_window): Reflow docstring.
17216
172172007-06-02 Chong Yidong <cyd@stupidchicken.com>
17218
17219 * Version 22.1 released.
17220
172212007-06-01 Richard Stallman <rms@gnu.org>
17222
17223 * xfns.c (x_encode_text): Add GCPRO.
17224
172252007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17226
17227 * xfns.c (x_set_name_internal): Save encoded name before
17228 x_encode_text in case string data is relocated.
17229
172302007-05-31 Richard Stallman <rms@gnu.org>
17231
17232 * buffer.c (syms_of_buffer): Doc fix.
17233
172342007-05-30 Nick Roberts <nickrob@snap.net.nz>
17235
17236 * sysdep.c (init_sys_modes): Add rather than replace with
17237 O_NONBLOCK.
17238
17239 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17240 term_mouse_moveto.
17241
17242 * termhooks.h (term_mouse_moveto): New extern.
17243
17244 * term.c (mouse_face_window): Rename...
17245 (Qmouse_face_window): ...to this.
17246 (term_show_mouse_face, term_clear_mouse_face)
17247 (term_mouse_highlight): Use Qmouse_face_window.
17248 (term_mouse_moveto): New function.
17249 (term_mouse_position): Make it work.
17250 (syms_of_term): Uncomment assignment to mouse_position_hook.
17251 Staticpro Qmouse_face_window.
17252
172532007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17254
17255 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17256 around current_column call.
17257
172582007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17259
17260 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17261 * xdisp.c (next_element_from_buffer):
17262 * window.c (delete_window):
17263 * term.c (term_mouse_highlight):
17264 * msdos.c (getdefdir):
17265 * macterm.c (mac_create_bitmap_from_bitmap_data)
17266 (init_font_name_table):
17267 * fns.c (Fsxhash):
17268 * data.c (Fmake_local_variable):
17269 * ccl.c (ccl_driver): Likewise.
17270
172712007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17272
17273 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17274 Call mac_wakeup_from_rne on window size change.
17275
172762007-05-25 Chong Yidong <cyd@stupidchicken.com>
17277
17278 * image.c (uncache_image): Fix typo.
17279
172802007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17281
17282 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17283
172842007-05-22 Richard Stallman <rms@gnu.org>
17285
17286 * xterm.c (x_connection_closed): Remove NO_RETURN.
17287
172882007-05-22 Martin Rudalics <rudalics@gmx.at>
17289
17290 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17291
172922007-05-21 Chong Yidong <cyd@stupidchicken.com>
17293
17294 * image.c (uncache_image): New function.
17295 (Fimage_refresh): New function.
17296
172972007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17298
17299 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17300
173012007-05-20 Nick Roberts <nickrob@snap.net.nz>
17302
17303 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17304 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17305
173062007-05-20 Nick Roberts <nickrob@snap.net.nz>
17307
17308 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17309 conditional on [HAVE_GPM_H].
17310
173112007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17312
17313 * syntax.c (skip_chars): Update syntax-table only after we checked that
17314 the new location is valid.
17315
173162007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17317
17318 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17319 mac_get_window_bounds.
17320
173212007-05-20 Nick Roberts <nickrob@snap.net.nz>
17322
17323 * Makefile.in (LIBGPM): Allow it to be set from configure.
17324 If set then link Emacs with it.
17325
17326 * config.in: Regenerate.
17327
17328 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17329 New externs.
17330
17331 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17332 Include gpm.h.
17333 (handle_one_term_event, term_gpm): New externs.
17334
17335 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17336 and allow it to be interrupted by SIGIO.
17337
17338 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17339 (wait_reading_process_output): Wait on gpm_fd too.
17340 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17341 (add_gpm_wait_descriptor_called_flag): New variable.
17342 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17343
17344 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17345 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17346 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17347 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17348 (make_lispy_event): Add case GPM_CLICK_EVENT.
17349 (read_avail_input): Handle mouse input.
17350
17351 * term.c (write_glyphs_with_face): New function.
17352 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17353 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17354 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17355 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17356 (last_mouse_x, last_mouse_y): New variables.
17357 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17358 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17359 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17360 (Fterm_close_connection): New functions.
17361 (term_init): Initialise mouse_face_window.
17362
173632007-05-19 Chong Yidong <cyd@stupidchicken.com>
17364
17365 * xdisp.c (redisplay_window): If first window line is a
17366 continuation line, recompute the new window start instead of
17367 recentering.
17368
173692007-05-18 Glenn Morris <rgm@gnu.org>
17370
17371 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17372 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17373
173742007-05-17 Glenn Morris <rgm@gnu.org>
17375
17376 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17377
173782007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17379
17380 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17381 dead key repeat and up events.
17382
173832007-05-14 Chong Yidong <cyd@stupidchicken.com>
17384
17385 * image.c (pbm_load): Check image size for monochrome pbm.
17386
173872007-05-13 Chong Yidong <cyd@stupidchicken.com>
17388
17389 * xterm.c (XTread_socket): Revert last change.
17390
173912007-05-12 Chong Yidong <cyd@stupidchicken.com>
17392
17393 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17394
17395 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17396
173972007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17398
17399 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17400 mixup (YAILOM).
17401
174022007-05-07 Andreas Schwab <schwab@suse.de>
17403
17404 * keymap.c (Flookup_key): Fix typo in last change.
17405
174062007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17407
17408 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17409 mapping for unibyte strings.
17410
174112007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17412
17413 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17414 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17415
174162007-04-29 Richard Stallman <rms@gnu.org>
17417
17418 * insdel.c (replace_range): For undo, record insertion first.
17419
174202007-04-29 Andreas Schwab <schwab@suse.de>
17421
17422 * lisp.h (VECSIZE): Use OFFSETOF.
17423
174242007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17425
17426 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17427 disabled lines.
17428
174292007-04-28 Richard Stallman <rms@gnu.org>
17430
17431 * lread.c (read_escape): In a string, \s is always space.
17432
174332007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17434
17435 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17436
17437 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17438 submenu for menu bar items.
17439
17440See ChangeLog.10 for earlier changes.
17441
17442;; Local Variables:
17443;; coding: utf-8
17444;; add-log-time-zone-rule: t
17445;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17446;; End:
17447
76b6f707 17448 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17449
17450 This file is part of GNU Emacs.
17451
17452 GNU Emacs is free software: you can redistribute it and/or modify
17453 it under the terms of the GNU General Public License as published by
17454 the Free Software Foundation, either version 3 of the License, or
17455 (at your option) any later version.
17456
17457 GNU Emacs is distributed in the hope that it will be useful,
17458 but WITHOUT ANY WARRANTY; without even the implied warranty of
17459 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17460 GNU General Public License for more details.
17461
17462 You should have received a copy of the GNU General Public License
17463 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17464
17465;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40