(vc-svn-diff): Revert previous change but add a test
[bpt/emacs.git] / src / ChangeLog
CommitLineData
aacd8ba1
GM
12009-02-04 Glenn Morris <rgm@gnu.org>
2
3 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
4
4cb75c4b
KH
52009-02-04 Kenichi Handa <handa@m17n.org>
6
7 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
8
9 * charset.c (Fchar_charset): New optional arg restriction.
10
11 * coding.h (coding_system_charset_list): Extern it.
12
13 * coding.c (coding_system_charset_list): New function.
14
15 * composite.c: Include coding.h and termhooks.h.
16 (composition_gstring_p): Fix for the terminal case.
17 (composition_gstring_width): Likewise.
18 (fill_gstring_body): Likewise.
19 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
20 the frame.
21 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
22 is within a composition.
23 (Fcomposition_get_gstring): Fix the the terminal case.
24
25 * term.c (encode_terminal_code): Fix handling of composition.
26 (produce_composite_glyph): For static composition, get pixel_width
27 from struct composition.
28
826ba17e
AS
292009-02-02 Andreas Schwab <schwab@suse.de>
30
31 * unexelf.c (unexec): Handle unaligned bss offset.
32
8ad093db
AR
332009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
34
35 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
36 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 37
8ad093db
AR
38 * keyboard.c (handle_interrupt): Don't call
39 quit_throw_to_read_char() under NS.
d0a76a6e 40
8ad093db
AR
41 * blockinput.h: Remove NS-specific code.
42
4d18a7a2
DN
432009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
44
db878925
DN
45 * dispnew.c (window_change_signal): Don't try to get the size of a
46 suspended tty frame.
47 * term.c (Fresume_tty): Resize if the size has changed while the
48 tty was suspended.
49
4d18a7a2
DN
50 * alloc.c (mark_stack): Properly conditionalize previous change.
51
8984df7c
JB
522009-01-30 Juanma Barranquero <lekktu@gmail.com>
53
54 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
55 * w32term.c (w32_read_socket) [SYNC_INPUT]:
56 Remove; this code is not used on Windows.
57
75f4f1ac
EZ
582009-01-30 Eli Zaretskii <eliz@gnu.org>
59
60 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
61 EOLs that also has stray ^M characters.
62
07a1e794
JB
632009-01-30 Juanma Barranquero <lekktu@gmail.com>
64
65 * atimer.c (run_timers, alarm_signal_handler):
66 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
67 * w32inevt.c (w32_console_read_socket):
68 * w32term.c (w32_read_socket):
69 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
70
a8b11cc9
CY
712009-01-30 Chong Yidong <cyd@stupidchicken.com>
72
73 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
74 Initialize it as a relative filename pattern.
75 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
76 (Fcall_process_region): Simplify temp file creation using
77 temporary-file-directory.
78
c279587b
EZ
792009-01-29 Eli Zaretskii <eliz@gnu.org>
80
81 * msdos.c: Rename pending_signals to msdos_pending_signals.
82 (sig_suspender, sigprocmask): Adjust.
83
a8fe3242
CY
842009-01-29 Chong Yidong <cyd@stupidchicken.com>
85
86 * keyboard.c (pending_signals): New var.
87 (poll_for_input, input_available_signal, init_keyboard): Set it.
88 (process_pending_signals): New function.
89
90 * lisp.h (QUIT): Check pending_signals instead of
91 interrupt_input_pending. Use process_pending_signals.
92
93 * atimer.c (run_timers, alarm_signal_handler): Update
94 pending_signals.
95
96 * process.c (wait_reading_process_output): Use
97 process_pending_signals.
98
99 * sysdep.c (emacs_write): Use process_pending_signals.
100
101 * xterm.c (XTread_socket): Update pending_signals.
102
103 * w32term.c (w32_read_socket): Update pending_signals.
104
105 * w32inevt.c (w32_console_read_socket): Update pending_signals.
106
6570a1c4
KH
1072009-01-29 Kenichi Handa <handa@m17n.org>
108
109 * xftfont.c (xftfont_has_char): New function.
110 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
111
d72a4afa
AR
1122009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
113
114 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
115 under GNUstep.
116 (ns_query_color): New declaration.
117
118 * nsterm.m (ns_confirm_quit): New variable.
119 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
120 (EmacsApp-applicationShouldTerminate:): Use it.
121 (EmacsPrefsController): Let user set it.
122 (ns_query_color): New function.
123 (ns_defined_color): Use it.
124 (ns_initialize): Drop.
125 (ns_term_init): Add two lines from ns_initialize(), and set
126 input_interrupt_mode to nil.
127
128 * image.c (svg_load_image): Don't right-shift background RGB when
129 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
130
9fe78804
KH
1312009-01-28 Kenichi Handa <handa@m17n.org>
132
133 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
134 (fontset_get_font_group): Remember that no font-group is specified
135 for C.
9fe78804 136
fa57de36
CY
1372009-01-27 Chong Yidong <cyd@stupidchicken.com>
138
930600e9
CY
139 * fns.c (concat): Check for string overflow (bug#1787).
140
fa57de36
CY
141 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
142 Quadruple undo limits (bug#1501).
143
7179ce7b
KH
1442009-01-27 Kenichi Handa <handa@m17n.org>
145
146 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
147 directly use GT_Get_Char_index.
148
149 * xftfont.c (struct xftfont_info): New member `index'.
150
151 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
152 (Ffontset_font): Adjusted for the change of fontset entry.
153
5be8fcc0
CY
1542009-01-26 Kenichi Handa <handa@m17n.org>
155
156 * fontset.c (fontset_find_font): Fix handling of non-cons return
157 value of fontset_get_font_group.
158 (fontset_font): Revert last change.
159
19ae3e61
JR
1602009-01-26 Jason Rumney <jasonr@gnu.org>
161
162 * w32font.c (w32font_list_internal): Return quickly if registry is
163 unknown. Simplify final return.
164 (add_font_entity_to_list): Break complex logic down into more
165 manageable chunks. Move unknown registry check to
166 w32font_list_internal.
167
8612b71a
AR
1682009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
169
170 Changes to remove Feval calls from GUI under NS.
171
d8038940
JB
172 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
173 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
174 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
175
176 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
177 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
178 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
179 instead of NON_ASCII_KEYSTROKE_EVENT.
180 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
181 (EmacsApp-applicationShouldTerminate:): Query user.
182 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
183 instead of Feval.
184
185 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
186
187 * keyboard.c (kbd_buffer_get_event): Check for it.
188 (keys_of_keyboard): Define lispy keys for
189 ns-put/unput-working-text.
190
191 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
192 versions.
193 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
194
6288ae55
CY
1952009-01-25 Chong Yidong <cyd@stupidchicken.com>
196
197 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 198 setting current_buffer directly. (Bug#2044)
6288ae55 199
289e7f8f
CY
2002009-01-24 Chong Yidong <cyd@stupidchicken.com>
201
5ce87308 202 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 203 any work. (Bug#1952, bug#1990).
5ce87308 204
64cc3cf6 205 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 206
b3243e6f
AR
2072009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
208
209 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
210 (ns_no_defaults): New declaration.
211 (main): Use it.
e0d2e69a 212
d900b2af 213 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 214
d900b2af 215 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 216
d900b2af
AR
217 * nsterm.m (ns_no_defaults): New variable.
218 (ns_initialize): Don't read defaults when ns_no_defaults.
219 (EmacsView-readSelectionFromPasteboard:)
220 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 221 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
222 (ns_dumpglyphs_stretch): New function.
223 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 224 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 225
e0d2e69a
AR
226 * nsimage.m (setPixmapData:): Set to ignore image DPI.
227
3ac71f5d
CY
2282009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
229
230 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
231 call for Sparc64.
232
3fe53a83
AR
2332009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
234
235 * nsfns.m:
236 * nsgui.h:
237 * nsmenu.m:
238 * nsselect.m:
239 * nsterm.h:
240 * nsterm.m: Remove '23' comments that indicated code added during
241 update from emacs-20 -> emacs-23.
242
10f87c6f 2432009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
244
245 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 246 ns_alternate_modifier. (Bug#1217)
a3b53a85 247
c7cef62d
AR
248 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
249 Display all shortcuts, including those w/o super modifier.
250
575fb8bd
AR
251 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
252
918b848b
CY
2532009-01-22 Chong Yidong <cyd@stupidchicken.com>
254
255 * fileio.c (Vwrite_region_post_annotation_function)
256 (Vwrite_region_annotation_buffers): New vars.
257 (build_annotations_unwind): Just reset
258 Vwrite_region_annotation_buffers.
259 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
260 Call write-region-post-annotation-function.
261 (build_annotations): Add to Vwrite_region_annotation_buffers if
262 buffer changes.
263
a39e2539
AR
2642009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
265
266 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
267 Tiger.
268 * nsfns.m (ns_do_applescript): Conditionalize
269 typeUTF16ExternalRepresentation on Tiger.
270
35ed44db
AR
2712009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
272
273 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
274
cbe0b5bf
AR
2752009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
276
277 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 278
6049d3a0
AR
279 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
280
281 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
282 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
283 handle Ctrl-tab. (Bug#1841)
284 (ns_get_color): Use unsigned long long for scanned hex string value.
285 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 286 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 287 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 288 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 289 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 290 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 291 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 292
d3810c21 293 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 294 DPI. (Bug#1316)
d3810c21
AR
295 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
296 values in onTiger section.
4c7077c3 297
e301e634
CY
2982009-01-19 Chong Yidong <cyd@stupidchicken.com>
299
7f82490b
CY
300 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
301 Check return value of font_spec_from_name.
64cc3cf6 302 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
303
304 * font.c (font_spec_from_name): Return Qnil if font name could not
305 be parsed.
306 (font_parse_name): Treat a `?' character as part of an XLFD.
307
e301e634
CY
308 * fns.c (Fsubstring): Doc fix.
309
1c0db158
KH
3102009-01-19 Kenichi Handa <handa@m17n.org>
311
312 * ftfont.c (ftfont_lookup_cache): Check the return value of
313 FcFontList.
314 (ftfont_list): Likewise.
315
acf20901
JB
3162009-01-18 Juanma Barranquero <lekktu@gmail.com>
317
fff4e459
JB
318 * dbusbind.c (Fdbus_register_signal):
319 * process.c (conv_sockaddr_to_lisp):
320 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
321
acf20901
JB
322 * callproc.c (Fgetenv_internal): Doc fix.
323
e7abcdfb
CY
3242009-01-16 Chong Yidong <cyd@stupidchicken.com>
325
326 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
327 it is not even used.
328
b60861e6
GM
3292009-01-16 Glenn Morris <rgm@gnu.org>
330
331 * font.c (Ffont_variation_glyphs): Silence compiler.
332
8db52afe
JB
3332009-01-15 Juanma Barranquero <lekktu@gmail.com>
334
335 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
336 Reported by David Robinow <drobinow@gmail.com>.
337
4cddb209
KH
3382009-01-15 Kenichi Handa <handa@m17n.org>
339
340 * coding.c (detect_coding_system): Fix handling of
341 null_byte_found.
342
f247f67b
JR
3432009-01-14 Jason Rumney <jasonr@gnu.org>
344
345 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 346 never a fontset. (Bug#1562)
f247f67b 347
f56a4450
KH
3482009-01-14 Kenichi Handa <handa@m17n.org>
349
350 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 351 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 352
4e99855e
CY
3532009-01-13 Chong Yidong <cyd@stupidchicken.com>
354
355 * font.c (font_clear_prop): If clearing the family, clear the font
356 width index too.
357
fff4e459 358 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 359
24f01470
JB
3602009-01-12 Juanma Barranquero <lekktu@gmail.com>
361
362 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
363 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
364 functions, use sizeof.
365
a41240a3
MR
3662009-01-12 Martin Rudalics <rudalics@gmx.at>
367
368 * keyboard.c (read_char): Fix case where last_nonmenu_event
369 returned a bad value with submenus. (Bug#447)
370
944636b8
CY
3712009-01-12 Chong Yidong <cyd@stupidchicken.com>
372
373 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
374 family, clear the font width index too.
375
0dad7c6f
JR
3762009-01-11 Jason Rumney <jasonr@gnu.org>
377
378 * keyboard.c (cmd_error_internal): Exit when errors occur before
379 frame creation and not in daemon mode. (Bug#1836)
380
7c2363af
CY
3812009-01-10 Chong Yidong <cyd@stupidchicken.com>
382
383 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
384 of a display vector, backtrack.
385 (try_window_reusing_current_matrix): Check glyph type before
386 referencing charpos member.
387
97b1b294
EZ
3882009-01-10 Eli Zaretskii <eliz@gnu.org>
389
390 Fix Bug #876:
391
392 * coding.c (inhibit_null_byte_detection): New variable.
393 (detect_coding, detect_coding_system): Don't pay attention to null
394 bytes if inhibit_null_byte_detection is non-zero.
395 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
396 document.
397 <inhibit-iso-escape-detection>: Doc fix.
398
4624b6e3
JR
3992009-01-09 Jason Rumney <jasonr@gnu.org>
400
401 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 402 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
403 Only report Unicode Plane 2 fonts as unicode-sip.
404
323b840c
CY
4052009-01-09 Chong Yidong <cyd@stupidchicken.com>
406
407 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
408 version moved to faces.el.
409
410 * font.c (Ffont_family_list): Return a list of strings, not
411 symbols.
412
eba7400d
MR
4132009-01-09 Martin Rudalics <rudalics@gmx.at>
414
415 * frame.c (x_set_frame_parameters): Remember requested value for
416 fullscreen before it's reset by the parameter handler.
417
4b09796d
GM
4182009-01-09 Glenn Morris <rgm@gnu.org>
419
420 * keyboard.c (last_command_char): For clarity, rename to...
421 (last_command-event): ... and update all users.
422 (last_input_char): For clarity, rename to...
423 (last_input_event): ... and update all users.
424 (last-command-char, last-input-char): Move to subr.el as aliases.
425 * cmds.c, commands.h: Update for last_command_char rename.
426
14ccea62
CY
4272009-01-08 Chong Yidong <cyd@stupidchicken.com>
428
429 * font.c (font_open_for_lface): Handle unspecified height
430 attribute.
431
5f004711
JR
4322009-01-08 Jason Rumney <jasonr@gnu.org>
433
434 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
435 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
436 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
437 Don't declare.
fff4e459 438 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
439 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
440
b71f6f73
KH
4412009-01-07 Kenichi Handa <handa@m17n.org>
442
50b06221 443 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 444 remember the coding system used for decoding in
50b06221
KH
445 coding_system (Bug#1039).
446
b71f6f73 447 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 448 breaking the loop. (Bug#870)
b71f6f73
KH
449 (decode_coding_utf_16, decode_coding_emacs_mule)
450 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
451 (decode_coding_charset): Likewise.
452
56f668f7
MR
4532009-01-05 Martin Rudalics <rudalics@gmx.at>
454
455 * frame.c (x_set_frame_parameters): Make sure height (width) get
456 applied when fullwidth (fullheight) is set. (Bug#1522)
457
5da9424d
JB
4582009-01-04 Juanma Barranquero <lekktu@gmail.com>
459
460 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
461 (utc_base): Declare as ULONGLONG, not long double.
462 (convert_time_raw): Delete.
463 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
464 (initialize_utc_base): New function.
465 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
466 (convert_from_time_t): Use initialize_utc_base; compute result with
467 64-bit arithmetic.
468 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
469
c4605e09
EZ
4702009-01-03 Eli Zaretskii <eliz@gnu.org>
471
9acef61c 472 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
473 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
474 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
475 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
476 [!subprocesses]: Define.
477 (syms_of_process) [!subprocesses]: Intern and staticpro them.
478 (Flist_system_processes, Fsystem_process_attributes)
479 [!subprocesses]: Call list_system_processes and
480 system_process_attributes instead of returning Qnil.
481
9acef61c
JB
482 * dosfns.c (system_process_attributes, list_system_processes):
483 New functions.
c4605e09
EZ
484
485 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
486
487 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
488 Don't use the default (no-op) implementation.
489
8b7d0a16
JR
4902009-01-03 Jason Rumney <jasonr@gnu.org>
491
a6d46bc1
JR
492 * keyboard.c (parse_modifiers_uncached): Wheel events are
493 clicks (bug#687).
494
8b7d0a16
JR
495 * w32term.c (x_query_colors, x_query_color): New functions.
496
497 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
498 (svg_load_image): Cast returned pointers from dynamically loaded
499 functions. Eliminate W32 specific code.
500
bfe11752
DN
5012009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
502
89e2438a
DN
503 * nsfns.m (x_set_foreground_color, x_set_background_color)
504 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
505 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
506 x_ prefix instead of ns_. Update references.
507 (syms_of_nsfns): Add a FIXME comment.
508
509 * nsterm.m (x_set_cursor_type): New prototype.
510 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
511
bfe11752
DN
512 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
513 for Solaris instead of incorrectly providing Qutime and Qcutime.
514
031da700
EZ
5152009-01-02 Eli Zaretskii <eliz@gnu.org>
516
517 * w32.c (process_times): Compute sum of utime and stime.
518 (system_process_attributes): Add Qtime to the alist.
519
520 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
521 and add them to the alist.
522
523 * process.c (top level) <Qtime, Qctime>: New variables.
524 (syms_of_process): staticpro them.
525 (Fsystem_process_attributes): Add their documentation to the doc
526 string.
527
528 * process.h: Declare Qtime and Qctime.
529
df23bf08
JR
5302009-01-02 Jason Rumney <jasonr@gnu.org>
531
9acef61c 532 * image.c (Qgobject): New symbol.
df23bf08
JR
533 (syms_of_image): Initialize it.
534 (init_svg_functions): Load some functions from gobject library.
535
5bbdf7aa
DN
5362009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
537
538 * frame.c (make_terminal_frame): Remove redundant code and useless
539 block.
540
63136da6
AS
5412009-01-01 Andreas Schwab <schwab@suse.de>
542
543 * process.c (conv_sockaddr_to_lisp): Add workaround for
544 getsockname bug on BSD.
545
9ef69046
CY
5462009-01-01 Chong Yidong <cyd@stupidchicken.com>
547
d6fafbe0
CY
548 * xfns.c (x_create_tip_frame): Set border width of the X window.
549
9ef69046
CY
550 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
551 message.
552
f9c34147
JR
5532009-01-01 Jason Rumney <jasonr@gnu.org>
554
9acef61c 555 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
556 Don't block input, as per earlier xterm.c changes.
557
f5497e45
AR
5582008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
559
560 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
561 (ns_appkit_version_int): New function.
562 (x-server-version): Use ns_appkit_version_int and follow 21+
563 convention of returning 3 integers.
564
c19cab20
KH
5652008-12-30 Kenichi Handa <handa@m17n.org>
566
567 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
568 (CHAR_SURROGATE_PAIR_P): New macro.
569
570 * font.h (struct font_driver): New member get_variation_glyphs.
571
9acef61c 572 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
573 (Ffont_variation_glyphs): New function.
574 (syms_of_font): Defsubr it.
575
576 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
577 ftfont_variation_glyphs.
578 (setup_otf_gstring): New function.
579 (ftfont_drive_otf): Use it.
580 (ftfont_shape_by_flt): Handle variation selector.
581 (ftfont_variation_glyphs): New function.
582
28cd591f
MR
5832008-12-30 Martin Rudalics <rudalics@gmx.at>
584
585 * frame.c (Vemacs_iconified): Remove.
586
7f714baf
JR
5872008-12-30 Jason Rumney <jasonr@gnu.org>
588
589 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 590 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 591
9d2d22ab
CY
5922008-12-30 Chong Yidong <cyd@stupidchicken.com>
593
594 * indent.c (Fvertical_motion): Don't advance iterator if we have
595 reseated to the desired position.
596
597 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
598 checking for pos match.
599
545312c2
KH
6002008-12-30 Kenichi Handa <handa@m17n.org>
601
1ede3eb6
KH
602 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
603 just get the low 8-bit of the code.
604
545312c2
KH
605 * font.c (font_intern_prop): Validate str as multibyte.
606
bd7bbf29
DN
6072008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
608
31e0750e
DN
609 * dispextern.h (struct face): Move lface and hash from the middle
610 of bitfields.
611
bd7bbf29
DN
612 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
613
b5672e7c
DN
6142008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
615
616 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
617 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
618 instead of intervals.h.
619
d704470f
AS
6202008-12-26 Andreas Schwab <schwab@suse.de>
621
622 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
623 cons.
624
54b33868
MR
6252008-12-26 Martin Rudalics <rudalics@gmx.at>
626
627 * textprop.c (Qminibuffer_prompt): New variable.
628 (syms_of_textprop): Initialize it.
629 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
630 in minibuffer-prompt face. (Bug#1662)
631
40b615d6
JR
6322008-12-25 Jason Rumney <jasonr@gnu.org>
633
634 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
635
baae5c2d
JR
6362008-12-24 Jason Rumney <jasonr@gnu.org>
637
638 * ralloc.c (r_alloc_reset_variable): New function.
639
640 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 641 record of what points where. (Bug#716)
baae5c2d 642
a9051c88
DN
6432008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
644
645 * minibuf.c (read_minibuf): Follow the non-interactive case when
646 running as a daemon, before detaching.
647
8b146312
AS
6482008-12-22 Andreas Schwab <schwab@suse.de>
649
650 * buffer.c (init_buffer): Use realloc instead of xrealloc.
651 * gtkutil.c (free_widget_value): Use xfree instead of free.
652
56f2de10
MR
6532008-12-22 Martin Rudalics <rudalics@gmx.at>
654
655 * frame.c (delete_frame): New function derived from
656 Fdelete_frame to handle Qnoelisp value for FORCE argument.
657 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
658 (Fdelete_frame): Call delete_frame. Remove line from doc-string
659 saying that FORCE non-nil doesn't run `delete-frame-functions'.
660 * frame.h: Extern delete_frame.
661 * window.c (window_loop):
662 * terminal.c (delete_terminal):
663 * xterm.c (x_connection_closed):
664 * xfns.c (Fx_hide_tip):
9acef61c 665 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 666
1fc200d6
JR
6672008-12-21 Jason Rumney <jasonr@gnu.org>
668
669 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
670 when character maps to .notdef character.
671
5e252df2
SM
6722008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
673
674 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
675
99b72cc4
JR
6762008-12-20 Jason Rumney <jasonr@gnu.org>
677
678 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 679 a graphical frame on Windows. (Bug#1325)
99b72cc4 680
acc49a52
JD
6812008-12-20 Jan Djärv <jan.h.d@swipnet.se>
682
683 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
684
6ea15123
CY
6852008-12-20 Chong Yidong <cyd@stupidchicken.com>
686
687 * minibuf.c (Fread_buffer): Doc fix.
688
b2dab6c8
JR
6892008-12-20 Jason Rumney <jasonr@gnu.org>
690
54ea0c87 691 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 692 server name in UNC paths. (Bug#719)
54ea0c87 693
b2dab6c8 694 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 695 charbuf. (Bug#1035)
b2dab6c8 696
6d1921be
DN
6972008-12-19 Daniel Engeler <engeler@gmail.com>
698
699 * sysdep.c (serial_configure): Fix typo.
700
53934c98
DN
7012008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
702
703 * sysdep.c: Include alloca.h.
f4f634e8
DN
704 (system_process_attributes): Add implementation for Solaris.
705
706 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 707
06e111a6
DN
7082008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
709
710 Reorganize implementation of Flist_system_processes and
711 Fsystem_process_attributes. No functional changes.
712 * process.c: Don't #include pwd.h, grp.h and limits.h.
713 (Flist_system_processes): Just call list_system_processes.
714 (Fsystem_process_attributes): Just call system_process_attributes.
715 (procfs_list_system_processes, time_from_jiffies)
716 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
717 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
718
719 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
720 (list_system_processes): Rename from
721 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
722 Provide a do nothing implementation.
723 (system_process_attributes): Rename from
724 procfs_list_system_processes.
725 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 726 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
727
728 * w32.c (list_system_processes): Rename from
729 w32_list_system_processes.
730 (system_process_attributes): Rename from
731 w32_system_process_attributes.
732
733 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
734
735 * process.h (w32_list_system_processes)
736 (w32_system_process_attributes): Remove.
737 (list_system_processes, system_process_attributes): New
738 prototypes.
739
6a705b23
KH
7402008-12-19 Kenichi Handa <handa@m17n.org>
741
742 * xfont.c (xfont_decode_coding_xlfd): New function.
743 (xfont_encode_coding_xlfd): New function.
744 (xfont_list_pattern): Decode XLFD by iso-8859-1.
745 (xfont_list): Decode and encode XLFD by iso-8859-1.
746 (xfont_match): Likewise.
747 (xfont_list_family): Likewise.
748 (xfont_open): Likewise.
749
d66c0241 750 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
751 names are utf-8.
752
d66c0241 753 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
754 names are utf-8.
755
5a130941
JD
7562008-12-18 Jan Djärv <jan.h.d@swipnet.se>
757
758 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
759 changed.
bfd20325
JD
760 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
761 clicked on a detached tool bar button.
5a130941 762
fd95644b
DN
7632008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
764
765 * emacs.c (main): Print and error and exit when no data is read
766 from the pipe.
767
e6eee6ae
JR
7682008-12-17 Jason Rumney <jasonr@gnu.org>
769
770 * w32font.c (w32font_has_char): Always return -1.
771
a35dd56b
KH
7722008-12-16 Kenichi Handa <handa@m17n.org>
773
774 * font.c (font_open_entity): Fix previous change.
775
0e3635c2
DN
7762008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
777
778 * process.c: Include <limits.h>.
779
d4835507 7802008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
781
782 * font.c (font_update_drivers): Fix mistake in reconstructing the
783 driver list.
784
7852008-12-16 Chong Yidong <cyd@stupidchicken.com>
786
787 * font.c (font_clear_cache): Fix format of font cache data.
788
e2cbc401
CY
7892008-12-15 Chong Yidong <cyd@stupidchicken.com>
790
791 * xftfont.c (xftfont_open): Free Xft font pattern if
792 XftFontOpenPattern fails.
793
794 * xterm.c (x_free_frame_resources): Remove extraneous call to
795 free_frame_faces.
796
b131d535
CY
7972008-12-13 Chong Yidong <cyd@stupidchicken.com>
798
799 * xterm.c (x_delete_display): Move xim_close_dpy call to
800 x_delete_terminal.
801 (x_delete_terminal): Call xim_close_dpy.
802
e6df5336
JR
8032008-12-13 Jason Rumney <jasonr@gnu.org>
804
805 * w32font.c (intern_font_name): New function.
806 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
807 (w32font_open_internal, Fx_select_font): Decode font name.
808 (fill_in_logfont, list_all_matching_fonts): Encode font name.
809
810 * w32font.h (intern_font_name): Declare new function.
811
812 * w32uniscribe.c (add_opentype_font_name_to_list):
813 Use intern_font_name.
814
20d68145
CY
8152008-12-13 Chong Yidong <cyd@stupidchicken.com>
816
9f2554de
CY
817 * frame.c (Fdelete_frame): Call free_font_driver_list.
818
3d9bec9a
CY
819 * font.c (free_font_driver_list): Implement missing function.
820
20d68145
CY
821 * w32term.c (w32_term_init): Don't initialize the image cache
822 here; it will be done in init_frame_faces.
823
824 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
825 (struct x_display_info): Remove unused member null_pixel. New
826 member xim_callback_data.
827
828 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
829 (xim_initialize): Save pointer to callback function data.
830 (xim_close_dpy): Free callback function data. Call XCloseIM,
831 reverting 2008-11-04 change by David Smith.
832 (x_term_init): Don't initialize the image cache here; it will be
833 done in init_frame_faces. Remove ancient "null_pixel" cruft.
834 (x_delete_display): Free x_dnd_atoms member.
835
96f9306b
KH
8362008-12-13 Kenichi Handa <handa@m17n.org>
837
6dec9044
JB
838 * font.c (font_rescale_ratio): Moved from xfaces.c.
839 Argument type changed. Handle a font-spec too.
96f9306b 840 (font_score): Check Vface_font_rescale_alist.
6dec9044 841 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
842
843 * xfaces.c (font_rescale_ratio): Moved to font.c.
844
8d5b4964
CY
8452008-12-13 Chong Yidong <cyd@stupidchicken.com>
846
847 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
848
e6df5336
JR
8492008-12-12 Jason Rumney <jasonr@gnu.org>
850
851 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
852 Vwindow_system_version to the real w32 major version.
853
97c6058a
DN
8542008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
855
856 * term.c (init_tty): Move setting the terminal name before the
857 potential user: maybe_fatal.
858
ec4e88d7
CY
8592008-12-11 Chong Yidong <cyd@stupidchicken.com>
860
d4835507
JB
861 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
862 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 863
b4233ec9
JR
8642008-12-11 Jason Rumney <jasonr@gnu.org>
865
8ec71e23 866 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 867 SYMBOL_CHARSET. (Bug#547)
8ec71e23 868
b4233ec9 869 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 870 size for surrogates. (Bug#1096, bug#872)
b4233ec9 871
011a0143
JB
8722008-12-11 Juanma Barranquero <lekktu@gmail.com>
873
874 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
875
3c309f34
JB
8762008-12-11 Juanma Barranquero <lekktu@gmail.com>
877
878 * process.c (Fsystem_process_attributes, syms_of_process):
879 Fix typo in name of Ssystem_process_attributes.
880 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
881
fedc6ab5
JB
8822008-12-11 Juanma Barranquero <lekktu@gmail.com>
883
884 * syntax.c (Fmodify_syntax_entry): Doc fix.
885
ba3de0e8
JB
8862008-12-10 Juanma Barranquero <lekktu@gmail.com>
887
888 * font.c (Ffont_spec): Move usage to end of docstring.
889
174f1c74
JR
8902008-12-10 Jason Rumney <jasonr@gnu.org>
891
892 * w32font.c (Qcham): New symbol.
893 (font_supported_scripts): Add cham, and comments for other new
894 scripts in bitfield from OpenType spec.
9d32f818
JR
895 (add_font_entity_to_list): Limit unicode-sip fonts to those that
896 contain characters beyond the bmp.
174f1c74 897
7b649478
KH
8982008-12-10 Kenichi Handa <handa@m17n.org>
899
900 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 901 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
902 Qunicode_sip.
903
2133e2d1
JB
9042008-12-10 Juanma Barranquero <lekktu@gmail.com>
905
906 * coding.c (QCdefault_char): Rename from QCdefalut_char.
907 (Fcoding_system_put): Use QCdefault_char.
908 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
909
9af886ee
CY
9102008-12-09 Chong Yidong <cyd@stupidchicken.com>
911
74d819eb
CY
912 * xftfont.c (syms_of_xftfont): Fix typo.
913
4ccfa1c0 914 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 915
7c19d3ae
DN
9162008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
917
918 * emacs.c (main): Close daemon_pipe on exec.
919
567826bb
CY
9202008-12-08 Chong Yidong <cyd@stupidchicken.com>
921
922 * termchar.h (struct tty): New members termcap_term_buffer and
923 termcap_strings_buffer.
924
925 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 926 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
927 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
928 All callers changed.
929 (init_tty): Store termcap data and string buffers in new struct
930 tty members termcap_term_buffer and termcap_strings_buffer.
931 (delete_tty): Free them.
4ccfa1c0 932 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 933
aa96c42b
SZ
9342008-12-07 Seiji Zenitani <zenitani@mac.com>
935
936 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 937 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 938
b7e1d896
CY
9392008-12-06 Chong Yidong <cyd@stupidchicken.com>
940
941 * coding.c (make_conversion_work_buffer): Disable buffer
942 modification hooks in the work buffer.
943
b5ec91a5
EZ
9442008-12-05 Eli Zaretskii <eliz@gnu.org>
945
946 * process.c (procfs_system_process_attributes): If `nread' has a
947 negative value, assign zero to it.
948
a5d2a52b
CY
9492008-12-05 Chong Yidong <cyd@stupidchicken.com>
950
68c5540b 951 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 952
7bf1bb21
KH
9532008-12-05 Kenichi Handa <handa@m17n.org>
954
955 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
956 second character is a combining character.
957
2fdc7d00
EZ
9582008-12-05 Eli Zaretskii <eliz@gnu.org>
959
960 * process.c (procfs_system_process_attributes): Don't use cmd,
961 cmdsize, and q without initializing them first.
962
bf6bfba8
JR
9632008-12-04 Jason Rumney <jasonr@gnu.org>
964
965 * w32font.c (w32font_draw): Initialize orig_clip before getting
966 it, and delete it when finished.
967
a3b1a468
DN
9682008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
969
970 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
971 case when running as a daemon before detaching.
972
8b8be8eb
JB
9732008-12-03 Juanma Barranquero <lekktu@gmail.com>
974
805f2638 975 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 976
b1bde622
KH
9772008-12-03 Kenichi Handa <handa@m17n.org>
978
e500c47d
KH
979 * font.c (font_at): Set `multibyte' at first.
980
ca516334
KH
981 * coding.c (decode_coding_charset): Check type of an element of
982 vector VALIDS.
7bf1bb21 983 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 984
4ccfa1c0 985 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
986 (font_for_char): Likewise.
987
1e5ecd37
CY
9882008-12-03 Chong Yidong <cyd@stupidchicken.com>
989
d5b01609 990 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
991 (font_update_lface): Handle fonts with corrupted size specs,
992 i.e. non-int and non-float.
d5b01609 993
11e3a6e4 994 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 995 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 996 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 997
ab06788b
CY
998 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
999
1e5ecd37 1000 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 1001 underline_minimum_offset for underline position.
1e5ecd37 1002
63c125ab
DN
10032008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
1004
1005 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
1006
1007 * character.c (c_string_width): Specify the type for LEN.
1008
3a8406e1
KH
10092008-12-03 Kenichi Handa <handa@m17n.org>
1010
4ccfa1c0 1011 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 1012 (decode_coding_utf_8): Likewise.
4ccfa1c0 1013 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 1014 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 1015
651df7d9
CY
10162008-12-02 Chong Yidong <cyd@stupidchicken.com>
1017
1018 * keyboard.c (make_lispy_position): Only use PT if the selected
1019 window is current.
1020
1f625c6c
AS
10212008-12-02 Andreas Schwab <schwab@suse.de>
1022
f7741ce9
AS
1023 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
1024
1f625c6c
AS
1025 * doprnt.c (doprnt1): Fix size of charbuf.
1026
92bc2678
CY
10272008-12-02 Chong Yidong <cyd@stupidchicken.com>
1028
1029 * keyboard.c (timer_check): Revert last change.
1030
93b9e8cc
JB
10312008-12-02 Juanma Barranquero <lekktu@gmail.com>
1032
1033 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
1034
fd7a37d5
JB
10352008-12-01 Juanma Barranquero <lekktu@gmail.com>
1036
1037 * makefile.w32-in: Update dependencies.
1038 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
1039
c115043b
AS
10402008-12-01 Andreas Schwab <schwab@suse.de>
1041
1042 * font.c (register_font_driver): Use xmalloc.
1043 (font_put_frame_data): Likewise.
1044
f5668d2a
CY
10452008-12-01 Chong Yidong <cyd@stupidchicken.com>
1046
860d96be
CY
1047 * xfaces.c (realize_x_face): Make abort condition clearer.
1048
f5668d2a
CY
1049 * gtkutil.c (update_frame_tool_bar): Initialize variable.
1050
379c17e7
CY
10512008-11-30 Chong Yidong <cyd@stupidchicken.com>
1052
1053 * keyboard.c (timer_check): After a timer runs, ensure that the
1054 selected window's buffer is current.
1055
35f36d65
JB
10562008-11-30 Juanma Barranquero <lekktu@gmail.com>
1057
f952c61c
JB
1058 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1059 It was accidentally restored by the Unicode merge.
1060
35f36d65
JB
1061 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1062
b23077df
JB
10632008-11-29 Juanma Barranquero <lekktu@gmail.com>
1064
1065 * w32proc.c: Include "coding.h".
1066 (Fw32_short_file_name): Encode filename passed to Windows API.
1067 (Fw32_long_file_name): Encode filename passed to Windows API and
1068 decode back the result. (Bug#1433)
1069
b8ebe9dd
KH
10702008-11-29 Kenichi Handa <handa@m17n.org>
1071
8cc53f96
KH
1072 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1073 not before accessing it.
1074
b8ebe9dd
KH
1075 * charset.c (Fdefine_charset_internal): After calculating
1076 min_char, max_char, and fastmap, copy the charset structure again.
1077 (encode_char): Fix the previous change.
1078
59bc82c0
SZ
10792008-11-28 Seiji Zenitani <zenitani@mac.com>
1080
1081 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1082
1083 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1084
1085 * nsterm.m (x_set_frame_alpha): New function.
1086
32247e3d
EZ
10872008-11-27 Eli Zaretskii <eliz@gnu.org>
1088
1089 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1090
b003e5ff
JB
10912008-11-27 Juanma Barranquero <lekktu@gmail.com>
1092
1093 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1094 pointer to check_face_name.
1095
708550f5
KH
10962008-11-27 Kenichi Handa <handa@m17n.org>
1097
1098 * category.h (SET_CATEGORY_SET): Call set_category_set.
1099 (set_category_set): Extern it.
1100
1101 * category.c (hash_get_category_set): New function.
1102 (Fmodify_category_entry): Adjusted for the change of
1103 char_table_ref_and_range. Call hash_get_category_set to get a
1104 category set to store in the table.
1105
1106 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1107 Funify_charset.
1108
2ae37cf0 1109 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
1110 (DECODE_CHAR): Check if the decoder vector is ready.
1111 (ENCODE_CHAR): Check if the encoder char-table is ready.
1112 (maybe_unify_char): Extern it.
1113
1114 * charset.c (Vchar_unified_charset_table): Delete it.
1115 (inhibit_load_charset_map): New variable.
1116 (temp_charset_work): New variable.
1117 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1118 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1119 New macros.
1120 (load_charset_map): Meaning of control_flag changed. If
1121 inhibit_load_charset_map is nonzero, setup a table in
1122 temp_charset_work.
1123 (load_charset): New argument control_flag.
1124 (map_charset_for_dump): New function.
1125 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1126 map_charset_for_dump.
1127 (Fdefine_charset_internal): If the charset method is MAP, load
1128 mapping tables by calling load_charset.
1129 (Funify_charset): Don't load a mapping table but directly set
1130 Vchar_unify_table.
1131 (maybe_unify_char): New function.
1132 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1133 Handle the case of inhibit_load_charset_map being nonzero.
1134 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1135 Handle the case of inhibit_load_charset_map being nonzero.
1136 (Fclear_charset_maps): Just free temp_charset_work.
1137 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1138 variable.
1139
1140 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1141 change of char_table_ref_and_range.
1142 (char_table_ref_and_range): Change the meaning of argument FROM
1143 and TO. Now the caller must provide initial values for *FROM
1144 and *TO.
1145
1146 * fontset.c (fontset_add): Adjusted for the change of
1147 char_table_ref_and_range.
1148 (fontset_get_font_group): Likewise.
1149 (Ffontset_info): Likewise.
1150
1151 * keymap.c (describe_vector): Adjusted for the change of
1152 char_table_ref_and_range. For char-table, put boundary between
1153 non-ASCII and 8-bit characters.
1154
1155 * print.c (print_object): For bool-vector, delete unnecessary
1156 check of ASCII_BYTE_P.
1157
9196133b
JR
11582008-11-26 Jason Rumney <jasonr@gnu.org>
1159
1160 * w32font.c (w32font_open_internal): Don't include external
9acef61c 1161 leading in font height. (Bug#879)
9196133b 1162
9f688acf
GM
11632008-11-26 Glenn Morris <rgm@gnu.org>
1164
1165 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1166 redefinition with ifdef. (Bug#1383)
1167
90d19aff
AR
11682008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1169
1170 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1171
4ccfa1c0 11722008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
1173
1174 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1175 New EmacsView methods.
1176 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1177 Fixes bug #1048,1357,1414.
1178
11792008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1180
1181 Fix bug #1362.
1182 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1183 is not an indexed color.
1184 * nsterm.m (free_indexed_color): Add argument checking.
1185 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1186
e7d5ecb3
CY
11872008-11-24 Chong Yidong <cyd@stupidchicken.com>
1188
1189 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1190 Document confirm-after-completion value for
1191 minibuffer-completion-confirm.
1192
c285743c
JR
11932008-11-24 Jason Rumney <jasonr@gnu.org>
1194
1195 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1196 warning.
1197
b0857706
JR
11982008-11-23 Jason Rumney <jasonr@gnu.org>
1199
1200 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1201 restored before returning.
1202
1203 * w32font.c (check_face_name): New function.
1204 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1205 fonts. (Bug#642)
b0857706 1206
ee50ff07
MR
12072008-11-22 Martin Rudalics <rudalics@gmx.at>
1208
1209 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1210 confirm-nonexistent-file-or-buffer in doc-string.
1211
b8ff72fa
SM
12122008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1213
1214 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1215 Fix copy/paste typo. Add checks.
1216
cee53ed4
KH
12172008-11-21 Kenichi Handa <handa@m17n.org>
1218
1219 * coding.c (detect_coding_iso_2022): Reject invalid composition
1220 sequence.
1221 (DECODE_COMPOSITION_START): If the current source is the last
1222 block, and the current composition doesn't end, regard this
1223 sequence as invalid.
1224 (decode_coding_iso_2022): Handle invalid composition sequence.
1225
f6ef1e65
MR
12262008-11-20 Martin Rudalics <rudalics@gmx.at>
1227
1228 * window.c (coordinates_in_window): Don't return
1229 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1230 line when the window is not the rightmost one. (Bug#1372)
1231
e08b1705
MR
12322008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1233
1234 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1235
ad98e89f
EZ
12362008-11-15 Eli Zaretskii <eliz@gnu.org>
1237
1238 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1239 and bright_bg if noninteractive is non-zero.
1240
fb098a4b
CY
12412008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1242
1243 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1244 x_draw_glyph_string_background.
1245
1246 * w32term.c (x_draw_glyph_string): Likewise.
1247
ce952b6e
CY
12482008-11-15 Chong Yidong <cyd@stupidchicken.com>
1249
1250 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1251 the next glyph string once past the overhang width.
1252
1253 * nsterm.m (ns_draw_glyph_string): Likewise.
1254
1255 * w32term.c (x_draw_glyph_string): Likewise.
1256
26ea7079
CY
12572008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1258
1259 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1260 double file close.
1261
1c33c906
MR
12622008-11-14 Martin Rudalics <rudalics@gmx.at>
1263
1264 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1265 dedicated status of window before attempting to display another
1266 buffer in it.
1267
8fc29035
JB
12682008-11-14 Juanma Barranquero <lekktu@gmail.com>
1269
1270 * msdos.c (Fmsdos_long_file_names):
1271 (syms_of_msdos) <dos-unsupported-char-glyph>:
1272 * dosfns.c (Fint86): Fix typos in docstrings.
1273
55fb4286
EZ
12742008-11-14 Eli Zaretskii <eliz@gnu.org>
1275
1276 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1277
3fda0315
KY
12782008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1279
1280 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1281
7e849c17
CY
12822008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1283
1284 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1285
1286 * frame.h: Negative alpha means "don't touch".
1287
1288 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1289
1290 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1291
b9fd67bd
DN
12922008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1293
1294 * hftctl.c:
1295 * chpdef.h:
1296 * acldef.h: Remove files used only for systems no longer supported.
1297
1298 * Makefile.in: Fix .o alphabetical ordering.
1299 (hftctl.o): Remove dependency, file removed.
1300 (keymap.o, print.o): Depend on charset.h.
1301
d5998e03
KH
13022008-11-10 Kenichi Handa <handa@m17n.org>
1303
2ae37cf0 1304 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1305
be70e183
CY
13062008-11-08 Chong Yidong <cyd@stupidchicken.com>
1307
1308 * dired.c (file_name_completion): If completion_ignore_case is
1309 enabled, ignore case when checking completion-regexp-list.
1310
7cf94eac
EZ
13112008-11-08 Eli Zaretskii <eliz@gnu.org>
1312
1313 * vm-limit.c (get_lim_data): Fix last change.
1314
ee107a89
KH
13152008-11-08 Kenichi Handa <handa@m17n.org>
1316
1317 * character.c (Fget_byte): New function.
1318 (syms_of_character): Defsubr Fget_byte.
1319
5fd15622
CY
13202008-11-07 Chong Yidong <cyd@stupidchicken.com>
1321
1322 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1323 cursor position is valid after scrolling.
1324
13d62fad
JB
13252008-11-06 Juanma Barranquero <lekktu@gmail.com>
1326
1327 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1328
a1dd2936
GM
13292008-11-06 Glenn Morris <rgm@gnu.org>
1330
1331 * xterm.c (handle_one_xevent): Don't let popup menus cause
1332 mouse-autoselect-window related window switching. (Bug#1261)
1333
860cd236
CY
13342008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1335
1336 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1337
653a3150
AS
13382008-11-04 Andreas Schwab <schwab@suse.de>
1339
1340 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1341
870f5cac
CY
13422008-11-03 Chong Yidong <cyd@stupidchicken.com>
1343
1344 * xfns.c (Fx_wm_set_size_hint): New function.
1345
1e02f3cb
MR
13462008-11-03 Martin Rudalics <rudalics@gmx.at>
1347
1348 * textprop.c (Fprevious_single_char_property_change): Return 0
1349 when there's no change in a string. (Bug#1301)
1350
e630dfc6
MR
13512008-11-02 Martin Rudalics <rudalics@gmx.at>
1352
1353 * frame.c (do_switch_frame): New argument NORECORD passed to
1354 Fselect_window.
1355 (Fselect_frame): New argument NORECORD passed to
1356 do_switch_frame.
1357 (Fset_frame_selected_window): New argument NORECORD passed to
1358 Fselect_frame.
1359 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1360 in call of do_switch_frame.
1361 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1362 Handle NORECORD argument in call of Fselect_frame.
1363 * lisp.h (do_switch_frame, Fselect_frame)
1364 (Fset_frame_selected_window): Adjust declarations.
1365 * window.c (select_frame_norecord): New function.
1366 (run_window_configuration_change_hook): Use it and call
1367 Fselect_frame with NORECORD set.
1368 (Fselect_window): Pass NORECORD to Fselect_frame.
1369 (Fset_window_configuration): Handle NORECORD argument in call of
1370 do_switch_frame.
1371 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1372 Fset_frame_selected_window.
1373 * keyboard.c (command_loop_1): Handle NORECORD in call of
1374 Fselect_frame (currently ifdefd).
1375
9020b223
GM
13762008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1377
1378 * emacs.c (USAGE2): Untabify.
1379
793ffee8
SM
13802008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1381
1382 * composite.c (fill_gstring_header): Fix copy/paste typo.
1383
ab6d1131
MR
13842008-10-31 Martin Rudalics <rudalics@gmx.at>
1385
1386 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1387 (Fother_window): Rename argument and rewrite doc-string.
1388 (select_window_norecord): Fix return value. (Bug#1276)
1389
601a9cf1
JB
13902008-10-30 Juanma Barranquero <lekktu@gmail.com>
1391
1392 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1393 new frames overriding foreground for tooltips. Based on similar patch
1394 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1395
813b0652
CY
13962008-10-29 Chong Yidong <cyd@stupidchicken.com>
1397
1398 * emacs.c (Fdaemon_initialized): Initialize nfd.
1399
4414f58f
MR
14002008-10-29 Martin Rudalics <rudalics@gmx.at>
1401
1402 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1403 (Fwindow_text_height): Clarify doc-strings.
1404 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1405 doc-string of window-scroll-functions.
1406
ecdcaa09
RS
14072008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1408
1409 * category.c (syms_of_category): Fix typo in docstring.
1410
23fe745a
JB
14112008-10-28 Juanma Barranquero <lekktu@gmail.com>
1412
1413 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1414 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1415 Fix typos in docstrings.
1416
ff808935
DN
14172008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1418
1419 * emacs.c (daemon_pipe): Make non-static.
1420 (IS_DAEMON): Move definition ...
1421 * lisp.h (IS_DAEMON): ... here.
1422 (daemon_pipe): Declare.
1423 (is_daemon): Remove.
1424 * dispnew.c (init_display): Use IS_DAEMON.
1425
fc012771
SM
14262008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1427
1428 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1429 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1430
1431 * emacs.c (is_daemon): Remove.
1432 (main): Don't set is_daemon.
1433 (IS_DAEMON): New macro.
1434 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1435 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1436 parent exits.
1437 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1438
d8bdbe6f
CY
14392008-10-27 Chong Yidong <cyd@stupidchicken.com>
1440
d1a072bf
CY
1441 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1442 over-sized glyph, draw it with the default glyph width.
1443
e2e325aa
CY
1444 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1445 glyph, draw it with the default glyph width.
1446
1447 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1448 glyph, draw it with the default glyph width.
1449
d8bdbe6f
CY
1450 * xdisp.c (try_scrolling): When computing the distance from the
1451 scroll margin to PT, try moving some distance past the window
1452 bottom before giving up.
1453
7bfac547
MR
14542008-10-27 Martin Rudalics <rudalics@gmx.at>
1455
1456 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1457 (Fset_window_buffer): Explain in doc-string that a window can be
1458 "strongly" dedicated to its buffer.
1459
4ff029f6
DN
14602008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1461
1462 * emacs.c (daemon_name): New variable.
1463 (main): Deal with --daemon=SERVER_NAME.
1464 (Fdaemonp): Return a name if one was passed to --daemon.
1465
5790ef40
DN
14662008-10-26 Romain Francoise <romain@orebokech.com>
1467
f9bd0df9 1468 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1469 (main): Create a pipe before forking, make the parent exit only after
1470 the child has closed its end of the pipe. Move closing the
1471 descriptors ...
1472 (Fdaemon_initialized): ... here. New function.
1473
f5385255
SM
14742008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1475
4d632321
SM
1476 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1477 the previous unoptimized table.
1478
f5385255
SM
1479 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1480 the distinction between non-nil and non-t value of `dedicated'.
1481
6c56a0f3
CY
14822008-10-25 Chong Yidong <cyd@stupidchicken.com>
1483
1484 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1485 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1486
fec89261
MR
14872008-10-25 Martin Rudalics <rudalics@gmx.at>
1488
1489 * window.c (Fget_buffer_window, Fdelete_windows_on)
1490 (Freplace_buffer_in_windows): Make buffer argument optional and
1491 rename to buffer_or_name.
1492
34fcddd0
CY
14932008-10-24 Chong Yidong <cyd@stupidchicken.com>
1494
f5385255
SM
1495 * xdisp.c (handle_single_display_spec, handle_display_prop):
1496 Undo 2005-05-16 change.
34fcddd0
CY
1497 (handle_stop): Pop iterator if it's loaded with an empty string.
1498 (get_overlay_strings_1): Don't save iterator if it's loaded with
1499 an empty string (bug#1201).
1500
064766f2
KH
15012008-10-24 Kenichi Handa <handa@m17n.org>
1502
1503 * ftfont.c (ftfont_otf_features): Fix previous change.
1504 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1505 calling ftfont_otf_features.
1506
f9bd0df9 15072008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1508
1509 * font.c (font_match_p): Fix for the case that a vector of
1510 characters is in script-representative-chars.
1511
1dae9197
MA
15122008-10-24 Michael Albinus <michael.albinus@gmx.de>
1513
1514 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1515 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1516 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1517 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1518 macro. (Bug#1186).
1519
f9bd0df9 15202008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1521
1522 * s/sol2-10.h: New file.
1523
878a4584
JB
15242008-10-23 Juanma Barranquero <lekktu@gmail.com>
1525
1526 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1527 poor beast has survived 9+ years and the jump from xterm.c!).
1528
cd265ca6
MR
15292008-10-23 Martin Rudalics <rudalics@gmx.at>
1530
1531 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1532 Reword doc-string.
f5385255 1533 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1534
472a4dc9
JB
15352008-10-23 Juanma Barranquero <lekktu@gmail.com>
1536
1537 * character.c (syms_of_character) <script-representative-chars>:
1538 <unicode-category-table>: Doc fixes.
1539
159bd5a2
NF
15402008-10-23 Noah Friedman <friedman@splode.com>
1541
1542 * coding.c (make_conversion_work_buffer): Check that
1543 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1544 Fget_buffer_create.
1545
49f9c344
KH
15462008-10-23 Kenichi Handa <handa@m17n.org>
1547
1548 * font.c (font_add_log): Check the values of extra properties.
1549
12bb3111
MR
15502008-10-22 Martin Rudalics <rudalics@gmx.at>
1551
1552 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1553 Reword doc-string.
1554 (Fset_window_parameter): Use NILP.
1555 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1556 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1557
bbeb4e99
JB
15582008-10-22 Juanma Barranquero <lekktu@gmail.com>
1559
1560 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1561
15622008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1563
1564 * nsfns.m (ns_appkit_version): New function.
1565 (x-server-version): Use it.
1566 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1567 (x-server-vendor): Don't check_ns().
1568
1569 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1570
a9b555d3
JB
15712008-10-22 Juanma Barranquero <lekktu@gmail.com>
1572
1573 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1574 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1575
4626499f
KH
15762008-10-22 Kenichi Handa <handa@m17n.org>
1577
e3681952
KH
1578 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1579 scripts.
1580
4626499f
KH
1581 * category.c (word_boundary_p): Check scripts instead of charset.
1582 Handle nil value in word-separating-categories and
1583 word-combining-categories.
1584 (syms_of_category): Fix docstrings of word-separating-categories
1585 and word-combining-categories.
1586
1560f91a
EZ
15872008-10-21 Eli Zaretskii <eliz@gnu.org>
1588
1589 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1590 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1591
f4668441
MR
15922008-10-21 Martin Rudalics <rudalics@gmx.at>
1593
1594 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1595 Rename arg "buffer" to "buffer_or_name".
1596 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1597 it optional.
1598 (no_switch_window): Remove since the return value is not used.
a9b555d3 1599 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1600 Consider window as dedicated when Fwindow_dedicated_p returns a
1601 non-nil value.
1602 * lisp.h: Remove prototype for no_switch_window.
1603
fd75ddb2
JD
16042008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1605
1606 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1607 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1608
07295713
KH
16092008-10-21 Kenichi Handa <handa@m17n.org>
1610
1611 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1612 check Vlatin_extra_code_table.
1613
712adc82
EZ
16142008-10-20 Eli Zaretskii <eliz@gnu.org>
1615
1616 * fileio.c (Fset_file_modes): Doc fix.
1617
f549eb0b
MA
16182008-10-19 Michael Albinus <michael.albinus@gmx.de>
1619
1620 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1621 in arrays.
1622
aac0c6e3
MR
16232008-10-19 Martin Rudalics <rudalics@gmx.at>
1624
1625 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1626 Mention kill-buffer in doc-string.
1627 (Fset_window_buffer): Reinsert tem check removed in last commit.
1628 (Fenlarge_window, Fshrink_window): Have argument names and
1629 doc-string follow Elisp manual more closely.
1630
16312008-10-18 Eli Zaretskii <eliz@gnu.org>
1632
1633 * fileio.c (Fset_file_modes): Doc fix.
1634
16352008-10-18 Martin Rudalics <rudalics@gmx.at>
1636
1637 * window.c (Fwindow_width, Fset_window_start)
1638 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1639 (Fdelete_windows_on, Freplace_buffer_in_windows):
1640 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1641 (Fwindow_dedicated_p): Make window argument optional.
1642 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1643 (Fset_window_buffer): Respect any non-nil dedicated value for
1644 window. Rename "buffer" argument to "buffer_or_name".
1645
16462008-10-18 Ulrich Mueller <ulm@gentoo.org>
1647
1648 * m/sh3.h: New file, machine description for SuperH.
1649
16502008-10-17 Martin Rudalics <rudalics@gmx.at>
1651
1652 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1653
16542008-10-17 Kenichi Handa <handa@m17n.org>
1655
1656 * ftfont.c (ftfont_otf_features): Fix indexing
1657 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1658
16592008-10-16 Magnus Henoch <mange@freemail.hu>
1660
1661 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1662 (Fdbus_call_method_asynchronously): Ditto.
1663 This change makes C-h f display the argument list.
1664
16652008-10-16 Chong Yidong <cyd@stupidchicken.com>
1666
1667 * fileio.c (Fexpand_file_name): Doc fix.
1668
1669 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1670 of :foreground and :background equivalent to unspecified (20.x
1671 compatibility).
1672
16732008-10-15 Eli Zaretskii <eliz@gnu.org>
1674
1675 * buffer.c (syms_of_buffer): Doc fix.
1676
16772008-10-14 Kenichi Handa <handa@m17n.org>
1678
1679 * font.c (font_clear_prop): When clearing font width, clear the
1680 average width field too.
1681
16822008-10-12 Andreas Schwab <schwab@suse.de>
1683
1684 * ftfont.c (ftfont_shape_by_flt): Make static.
1685 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1686
1687 * font.c: Don't include <m17n-flt.h>.
1688
16892008-10-10 Eli Zaretskii <eliz@gnu.org>
1690
1691 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1692
16932008-10-09 Eli Zaretskii <eliz@gnu.org>
1694
1695 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1696 away code.
1697
16982008-10-09 Chong Yidong <cyd@stupidchicken.com>
1699
1700 * dispnew.c (update_text_area): Avoid looping due to large glyph
1701 overhangs (bug#1070).
1702
17032008-10-09 Kenichi Handa <handa@m17n.org>
1704
1705 * fontset.c (face_for_char): If face->fontset is negative, just
1706 return ascii_face.
1707
f5385255
SM
1708 * font.c (font_delete_unmatched): Fix previous change.
1709 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1710
17112008-10-09 Martin Rudalics <rudalics@gmx.at>
1712
1713 * frame.c (Fraise_frame): On text-only terminals select frame in
1714 order to make it visible. (Bug#1061)
1715
17162008-10-08 Chong Yidong <cyd@stupidchicken.com>
1717
1718 * fontset.c (fontset_find_font): Check frame validity.
1719
17202008-10-07 Chong Yidong <cyd@stupidchicken.com>
1721
a9b555d3 1722 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1723 (xg_display_close): Allow Emacs to close all displays (bug#985).
1724
17252008-10-06 Andreas Schwab <schwab@suse.de>
1726
f5385255 1727 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1728
17292008-10-06 Chong Yidong <cyd@stupidchicken.com>
1730
f5385255 1731 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1732
a9b555d3 1733 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1734
1735 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1736 during initialization.
1737
17382008-10-04 Eli Zaretskii <eliz@gnu.org>
1739
1740 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1741 whole thing on MSDOS frames as well as on a TTY.
1742
1743 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1744 well as for TTY.
1745 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1746 well as on a TTY.
1747
1748 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1749 as well as for TTY.
1750
1751 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1752
1753 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1754 MSDOS frames as well.
1755
17562008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1757
1758 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1759 correct arguments.
1760 * menu.c (find_and_return_menu_selection) Add cast.
1761
17622008-10-03 Glenn Morris <rgm@gnu.org>
1763
1764 * emacs.c (USAGE1): Add --daemon.
1765
17662008-10-02 Eli Zaretskii <eliz@gnu.org>
1767
1768 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1769 100, so it's in percents as advertised.
1770
17712008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1772
1773 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1774 (ns_output.current_cursor, ns_output.desired_cursor)
1775 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1776 (FRAME_NEW_CURSOR_COLOR): Remove.
1777
1778 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1779 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1780 enumeration (HOLLOW_BOX_CURSOR, etc.).
1781
1782 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1783 (draw_window_cursor): Simplify code.
f5385255
SM
1784 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1785 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1786 updates manually.
a9b555d3
JB
1787 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1788 Use core Emacs cursor types.
aac0c6e3 1789
b8ff72fa 1790 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1791
17922008-10-02 Martin Rudalics <rudalics@gmx.at>
1793
1794 * process.c (Faccept_process_output): Fix doc-string.
1795
17962008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1797
1798 * gmalloc.c (__sbrk): Also define for uClibc.
1799
1800 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1801 for uClibc.
1802
18032008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1804
1805 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1806 styles.
1807 (nsfont_open): Reenable the cache.
1808
18092008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1810
1811 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1812 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1813
18142008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1815
1816 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1817 a suspended terminal.
1818
18192008-09-30 Michael Albinus <michael.albinus@gmx.de>
1820
1821 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1822
18232008-09-30 Eli Zaretskii <eliz@gnu.org>
1824
1825 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1826
18272008-09-30 Chong Yidong <cyd@stupidchicken.com>
1828
1829 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1830 in a continued line coincides with a line beginning.
1831
18322008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1833
1834 * nsfont.m (nsfont_trait_distance): Fix bug.
1835 (nsfont_list): Return a list rather than a vector (syncs with Handa
1836 changes of 2008-05-14).
1837 (nsfont_open): Improve logging.
1838
18392008-09-29 Andreas Schwab <schwab@suse.de>
1840
1841 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1842
18432008-09-28 Martin Rudalics <rudalics@gmx.at>
1844
1845 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1846 name as char-resolve-modifiers.
1847 Reported by: Markus Triska <markus.triska@gmx.at>
1848
18492008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1850
1851 * dispnew.c (init_display): Return earlier when running as a daemon.
1852
18532008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1854
1855 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1856
18572008-09-27 Eli Zaretskii <eliz@gnu.org>
1858
1859 * composite.c (Fcomposition_get_gstring)
1860 (Fcompose_region_internal, Fcompose_string_internal)
1861 (Ffind_composition_internal): Doc fix.
1862 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1863 (syms_of_composite) <auto-composition-function>: Doc fix.
1864 (syms_of_composite) <composition-function-table>: Doc fix.
1865
18662008-09-25 Chong Yidong <cyd@stupidchicken.com>
1867
1868 * search.c (wordify): New argument for lax word-ends.
1869 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1870
18712008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1872
1873 * lisp.h (is_daemon): Declare.
1874 * dispnew.c (init_display): Do not try to initialize the terminal
1875 when running as a daemon.
1876
18772008-09-22 Chong Yidong <cyd@stupidchicken.com>
1878
1879 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1880 x_display_pixel_height.
1881
18822008-09-22 Martin Rudalics <rudalics@gmx.at>
1883
1884 * undo.c (record_point): Don't call Fundo_boundary for first
1885 change. (Bug#731)
1886
18872008-09-22 Juanma Barranquero <lekktu@gmail.com>
1888
1889 * emacs.c (Fdaemonp): Doc fix.
1890
18912008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1892
1893 * emacs.c (main): Place #ifdef in the proper place.
1894
18952008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1896
1897 * emacs.c (standard_args): Add --daemon.
1898 (main): Disconnect from the terminal when --daemon is passed.
1899 (is_daemon): New variable.
1900 (Fdaemonp): New function.
1901 (syms_of_emacs): Defsubr it.
1902
19032008-09-20 Chong Yidong <cyd@stupidchicken.com>
1904
1905 * xdisp.c (get_next_display_element): Handle string display
1906 correctly when checking for the end of a box run.
1907
19082008-09-20 Glenn Morris <rgm@gnu.org>
1909
1910 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1911 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1912 (Frename_file): Avoid copying to trash if a rename involves
1913 a delete. (Bug#964).
1914
19152008-09-20 Eli Zaretskii <eliz@gnu.org>
1916
1917 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1918 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1919 frames as well as termcap frames.
1920 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1921 get_named_tty.
1922
19232008-09-19 Eli Zaretskii <eliz@gnu.org>
1924
1925 * process.c (procfs_system_process_attributes): Fix cmdline in
1926 case /proc/PID/cmdline is empty.
1927
1928 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1929 x_display_pixel_height.
1930
19312008-09-19 Juanma Barranquero <lekktu@gmail.com>
1932
1933 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1934
1935 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1936 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1937
19382008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1939
1940 * dispextern.h (struct it): Move line_wrap away from the middle of
1941 bitfields. Move voffset in struct iterator_stack_entry after the
1942 bitfields. Move tab_width near after another short.
1943
19442008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1945
1946 * frame.h (struct frame): Move alpha from the middle of bitfields.
1947
1948 * window.h (struct window): Move frozen_window_start_p after the
1949 rest of the bitfields to reduce padding.
1950
19512008-09-18 Chong Yidong <cyd@stupidchicken.com>
1952
1953 * xterm.h (x_display_info): Remove `height' and `width' members.
1954
1955 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1956
1957 * w32term.h (w32_display_info): Remove `height', `width',
1958 `height_in', and `width_in' members.
1959
b8ff72fa
SM
1960 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1961 New functions.
aac0c6e3
MR
1962 (x_calc_absolute_position): Use them.
1963 (x_term_init): Omit removed `height' and `width' members.
1964
b8ff72fa
SM
1965 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1966 New functions.
aac0c6e3
MR
1967 (w32_read_socket, x_calc_absolute_position): Use them.
1968 (w32_initialize_display_info, w32_term_init): Omit removed members
1969 of w32_display_info.
1970
b8ff72fa
SM
1971 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1972 New functions.
1973 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1974
b8ff72fa
SM
1975 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1976 New functions.
aac0c6e3
MR
1977 (x_calc_absolute_position): Use them.
1978 (x_term_init): Omit removed `height' and `width' members.
1979
1980 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1981 (compute_tip_xy):
1982 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1983 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1984 x_display_pixel_width.
1985
19862008-09-18 Kenichi Handa <handa@m17n.org>
1987
1988 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1989 (composition_compute_stop_pos): Fix handling of static composition.
1990 (Fcomposition_get_gstring): Check FROM and TO at first.
1991
19922008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1993
1994 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1995 mixup (YAILOM).
1996
19972008-09-17 Chong Yidong <cyd@stupidchicken.com>
1998
1999 * indent.c (Fvertical_motion): Use position reported by iterator
2000 instead of PT for determining screen motion (bug#943).
2001
20022008-09-17 Romain Francoise <romain@orebokech.com>
2003
2004 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
2005
20062008-09-17 Kenichi Handa <handa@m17n.org>
2007
2008 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
2009
2010 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
2011 if necessary.
2012
20132008-09-16 Kenichi Handa <handa@m17n.org>
2014
2015 * coding.c (make_conversion_work_buffer): Avoid calling
2016 Fget_buffer_create if it is not necessary.
2017
20182008-09-15 Martin Rudalics <rudalics@gmx.at>
2019
2020 * window.c (Fselect_window): Don't update window_select_count and
2021 use_time when norecord is not nil.
2022
20232008-09-14 Kenichi Handa <handa@m17n.org>
2024
2025 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
2026 specpdl_ptr.
2027
20282008-09-12 Kenichi Handa <handa@m17n.org>
2029
2030 * indent.c (scan_for_column): Don't handle automatic composition
2031 if the current buffer is not associated with a window.
2032
2033 * composite.c (composition_reseat_it): If the current buffer is
2034 not associated with a window, ignore the automatic composition.
2035 (find_automatic_composition): Likewise.
2036
20372008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2038
2039 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
2040 (Fgpm_mouse_stop): Use it.
2041 * termhooks.h (close_gpm): Declare.
2042 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
2043 connection if Gpm_GetEvent fails.
2044
2045 * window.c (set_window_buffer): Always preserve current-buffer.
2046
20472008-09-12 Glenn Morris <rgm@gnu.org>
2048
2049 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
2050
20512008-09-11 Glenn Morris <rgm@gnu.org>
2052
2053 * charset.c (charset-map-path): Doc fix.
2054
20552008-09-10 Kenichi Handa <handa@m17n.org>
2056
2057 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2058
2059 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2060 compose a grapheme cluster with the preceding base glyph.
2061
2062 * composite.c (composition_compute_stop_pos): Fix previous change.
2063 Reset cmp_it->id to -1 at first.
2064
20652008-09-10 Glenn Morris <rgm@gnu.org>
2066
2067 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2068
20692008-09-09 Chong Yidong <cyd@stupidchicken.com>
2070
2071 * keyboard.c (read_key_sequence): Reapply translation maps when
2072 switching keyboards.
2073
20742008-09-09 Kenichi Handa <handa@m17n.org>
2075
2076 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2077 characters.
2078
2079 * composite.c (FORWARD_CHAR): Fix calculation
2080 of (POSITION).pos_byte.
2081 (composition_compute_stop_pos): Limit the search of composition to
2082 at most 500 characters ahead. If we reach the limit or find a
2083 newline, set cmp_it->ch to -2 and return 0.
2084 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2085
20862008-09-08 Kenichi Handa <handa@m17n.org>
2087
2088 * indent.c (Fvertical_motion): Be sure to set
2089 it_overshoot_expected if it.cmp_it.id is non-negative.
2090
20912008-09-07 Andreas Schwab <schwab@suse.de>
2092
2093 * callproc.c (Fcall_process): Don't hold references to string data
2094 across garbage collection. Move initialisation of new_argv down
2095 to avoid compiler bug.
2096
20972008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2098
2099 * process.c (Fsystem_process_attributes): Doc fix.
2100
21012008-09-07 Chong Yidong <cyd@stupidchicken.com>
2102
2103 * callproc.c (Fcall_process): Canonicalize current directory name.
2104
2105 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2106 iterator advances to the next line if the current line ends in a
2107 continued tab.
2108
21092008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2110
2111 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2112 member to point to cmp_from.
2113
2114 * xdisp.c: Doc fix for references to gidx data member.
2115
21162008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2117
2118 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2119
21202008-09-07 Kenichi Handa <handa@m17n.org>
2121
2122 * composite.c (FORWARD_CHAR): Check STOP after
2123 incrementing (POSITION).pos.
2124
21252008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2126
2127 * process.c (Fsystem_process_attributes): Doc fix.
2128
21292008-09-06 Chong Yidong <cyd@stupidchicken.com>
2130
2131 * keyboard.c (Ftop_level): Doc fix.
2132
21332008-09-06 Eli Zaretskii <eliz@gnu.org>
2134
2135 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2136 minibuffer, don't let lower part of menu invade the echo area.
2137
2138 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2139 "char *q" to access menu text and advance through it. Revert the
2140 change that displayed ">" instead of ASCII character 0x10.
2141
21422008-09-05 Eli Zaretskii <eliz@gnu.org>
2143
2144 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2145 toggle boxes and radio buttons on MS-DOS as well.
2146
21472008-09-05 Kenichi Handa <handa@m17n.org>
2148
2149 * composite.c (autocmp_chars): Check lookback count.
2150 (composition_compute_stop_pos): Set cmp_it->lookback.
2151 (composition_reseat_it): Check lookback count.
2152 (struct position_record): New struct.
2153 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2154 (find_automatic_composition): New function.
2155 (composition_adjust_point): Use find_automatic_composition.
2156
2157 * dispextern.h (struct composition_it): New member lookback.
2158
21592008-09-02 Chong Yidong <cyd@stupidchicken.com>
2160
2161 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2162 if moving by a single line.
2163
21642008-09-02 Andreas Schwab <schwab@suse.de>
2165
2166 * xterm.c (x_delete_display): Fix merge error.
2167
2168 * fileio.c (Fexpand_file_name): Remove unused variables.
2169
21702008-09-02 Eli Zaretskii <eliz@gnu.org>
2171
2172 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2173 storage on all platforms, not just on DOS_NT.
2174
21752008-09-02 Jason Rumney <jasonr@gnu.org>
2176
b8ff72fa
SM
2177 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2178 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
2179
21802008-09-01 Chong Yidong <cyd@stupidchicken.com>
2181
2182 * xfaces.c (Finternal_set_alternative_font_family_alist)
2183 (Finternal_set_alternative_font_registry_alist): Properly copy
2184 entire alist structure.
2185
21862008-09-01 Kenichi Handa <handa@m17n.org>
2187
d66c0241 2188 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 2189 representative chars of the script is a vector.
d66c0241
JB
2190 (ftfont_list): Handle the case where the representative chars of
2191 the script is a vector.
aac0c6e3
MR
2192
2193 * character.c (syms_of_character): Docstring of
2194 script-representative-chars fixed.
2195
21962008-08-31 Eli Zaretskii <eliz@gnu.org>
2197
2198 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2199 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2200 the menu. Allocate larger buffer for `text', to account for
2201 possible ^C characters.
2202
22032008-08-31 Martin Rudalics <rudalics@gmx.at>
2204
2205 * xdisp.c (prepare_menu_bars): Don't call
2206 Vwindow_size_change_functions with arg Qt.
2207
22082008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2209
2210 * font.h (font_range):
2211 * fileio.c (report_file_error):
2212 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2213
22142008-08-30 Glenn Morris <rgm@gnu.org>
2215
2216 * data.c (Fmake_variable_frame_local): Doc fix.
2217
2218 * frame.c (Fmodify_frame_parameters): Doc fix.
2219
22202008-08-30 Eli Zaretskii <eliz@gnu.org>
2221
2222 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2223 needed by GetTokenInformation.
2224 (w32_system_process_attributes): Check return values of all system
2225 APIs.
2226
2227 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2228 only when the state changes.
2229 (IT_update_begin, IT_update_end): Add termscript trace.
2230
2231 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2232 clipboard is unavailable. Set dst to NULL if it doesn't point to
2233 malloc'ed data.
2234 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2235 passing random values to xfree.
2236
2237 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2238 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2239
22402008-08-29 Jason Rumney <jasonr@gnu.org>
2241
2242 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2243
22442008-08-29 Eli Zaretskii <eliz@gnu.org>
2245
2246 * composite.c (fill_gstring_body): Avoid compiler warnings.
2247
2248 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2249 LGLYPH_SET_CODE to avoid compiler warnings.
2250
2ae37cf0 2251 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2252
2253 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2254
2255 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2256 LGLYPH_SET_CODE.
2257
22582008-08-29 Kenichi Handa <handa@m17n.org>
2259
2260 * fileio.c (report_file_error): Don't downcase the first character
2261 of errstring if it is still unibyte.
2262
22632008-08-29 Kenichi Handa <handa@m17n.org>
2264
2265 These changes are to re-implement the automatic composition so
2266 that it doesn't use text properties.
2267
2268 * Makefile.in (ftfont.o): Depend on composite.h.
2269 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2270
2271 * character.h (Vunicode_category_table): Extern it.
2272
2273 * character.c (Vunicode_category_table): New variable.
2274 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2275
2276 * chartab.c (optimize_sub_char_table): Perform more greedy
2277 optimization.
2278
b8ff72fa
SM
2279 * composite.h (enum composition_method):
2280 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2281 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2282 (Vcomposition_function_table): Extern it.
2283 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2284 (composition_gstring_put_cache, composition_gstring_from_id)
2285 (composition_gstring_p, composition_gstring_width)
2286 (composition_compute_stop_pos, composition_reseat_it)
2287 (composition_update_it, composition_adjust_point): Extern them.
2288 (Fcomposition_get_gstring): EXFUN it.
2289
d66c0241 2290 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2291 (Vcomposition_function_table)
2292 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2293 (gstring_hash_table, gstring_work, gstring_work_headers):
2294 New variables.
aac0c6e3
MR
2295 (gstring_lookup_cache, composition_gstring_put_cache)
2296 (composition_gstring_from_id, composition_gstring_p)
2297 (composition_gstring_width, fill_gstring_header)
2298 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2299 (composition_reseat_it, composition_update_it)
b8ff72fa 2300 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2301 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2302 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2303 Defsubr compostion_get_gstring.
2304
2305 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2306 cmp_id.
2307 (struct glyph_string): Delete the member gidx. New members
2308 cmp_id, cmp_from, and cmp_to.
2309 (enum it_method): Delete GET_FROM_COMPOSITION.
2310 (struct composition_it): New struct.
2311 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2312 Delete c, len, cmp_id, cmp_len in u.comp.
2313
2314 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2315 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2316 (enum lglyph_indices): Likewise.
b8ff72fa 2317 (font_range): Adjust extern.
aac0c6e3
MR
2318 (font_fill_lglyph_metrics): Extern it.
2319
2320 * font.c (QCf): New variable.
2321 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2322 (font_prepare_composition): Delete this function.
2323 (font_range): Type and arguments changed.
2324 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2325 (font_fill_lglyph_metrics): New function.
b8ff72fa 2326 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2327 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2328 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2329 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2330
2331 * fontset.h (font_for_char): Extern it.
2332
2333 * fontset.c (font_for_char): New function.
2334
2335 * ftfont.c: Include composite.h.
2336 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2337 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2338
2339 * indent.c: Include composite.h and dispextern.h.
2340 (check_composition): Delete this function.
2341 (scan_for_column): Handle composition by
2342 composition_compute_stop_pos, composition_reseat_it, and
2343 composition_update_it.
2344 (compute_motion): Likewise.
2345 (Fvertical_motion): Fix checking of composition.
2346
2347 * keyboard.c (adjust_point_for_property): Check composition by
2348 composition_adjust_point.
2349
b8ff72fa 2350 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2351 struct glyph_string.
2352
b8ff72fa
SM
2353 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2354 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2355 struct glyph.
2356 (produce_composite_glyph): Likewise.
2357
b8ff72fa
SM
2358 * w32term.c (x_draw_composite_glyph_string_foreground):
2359 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2360 (x_draw_glyph_string): Likewise.
2361
2362 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2363 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2364
2365 * xdisp.c: Include font.h.
2366 (it_props): Delete the entry for Qauto_composed.
2367 (init_iterator): Initialize it->cmp_it.id to -1.
2368 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2369 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2370 (handle_auto_composed_prop): Delete it.
2371 (handle_composition_prop): Handle only static composition.
2372 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2373 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2374 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2375 (pop_it): Likewise.
2376 (get_next_element): Delete next_element_from_composition.
2377 (CHAR_COMPOSED_P): New macro.
2378 (get_next_display_element): For automatic composition, get a face
2379 from the font in the glyph-string.
2380 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2381 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2382 (next_element_from_string): Check if the character at the current
2383 position is composed by CHAR_COMPOSED_P.
2384 (next_element_from_buffer): Likewise.
d66c0241
JB
2385 (next_element_from_composition): Adjust for the change of struct it.
2386 Update it->cmp_it.
b8ff72fa
SM
2387 (dump_glyph): Adjust for the change of struct glyph.
2388 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2389 it and struct glyph. Don't handle automatic composition here.
2390 (fill_gstring_glyph_string): New function.
2391 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2392 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2393 (BUILD_GSTRING_GLYPH_STRING): New macro.
2394 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2395 automatic composition.
b8ff72fa 2396 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2397 struct glyph.
b8ff72fa 2398 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2399
b8ff72fa 2400 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2401 the change of struct glyph_string.
2402 (x_draw_glyph_string): Likewise.
2403
24042008-08-29 Glenn Morris <rgm@gnu.org>
2405
2406 * buffer.c (word-wrap): Doc fix.
2407 * xdisp.c (truncate-partial-width-windows): Doc fix.
2408 Increase default to 50.
2409
24102008-08-29 Chong Yidong <cyd@stupidchicken.com>
2411
2412 * xdisp.c (update_tool_bar_unwind): New function.
2413 (update_tool_bar): Temporarily set selected frame before building
2414 tool-bar items.
2415
24162008-08-28 Michael Albinus <michael.albinus@gmx.de>
2417
2418 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2419 snprintf, respectively.
2420 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2421
24222008-08-28 Chong Yidong <cyd@stupidchicken.com>
2423
2424 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2425 LDFLAGS to GNUstep CC invocation.
2426
24272008-08-27 Chong Yidong <cyd@stupidchicken.com>
2428
2429 * indent.c (Fvertical_motion): Revert last change. Handle the
2430 general case where we are moving forward, and PT spans multiple
2431 screen lines.
2432
2433 * eval.c (find_handler_clause): Temporarily increase
2434 max-lisp-eval-depth while printing the backtrace buffer, to
2435 guarantee that help-mode code can run.
2436
24372008-08-27 Eli Zaretskii <eliz@gnu.org>
2438
2439 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2440 colors under -rv.
2441 (IT_set_frame_parameters): Don't swap foreground and background
2442 colors if `(reverse . t)' is present in the frame properties.
2443 (internal_terminal_init): Call init_frame_faces only for the
2444 initial frame.
2445
24462008-08-27 Andreas Schwab <schwab@suse.de>
2447
2448 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2449
24502008-08-27 Andreas Schwab <schwab@suse.de>
2451
2452 * search.c (search_buffer): Set char_base to zero only at the end.
2453
24542008-08-27 Kenichi Handa <handa@m17n.org>
2455
b8ff72fa 2456 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2457
24582008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2459
2460 * xterm.c (x_term_init): Temporarily hide the partially
2461 initialized terminal while calling vendor-specific-keysyms.
2462
24632008-08-26 Eli Zaretskii <eliz@gnu.org>
2464
2465 * msdos.c (internal_terminal_init): Most initializations done only
2466 once, especially initial_screen_colors[] and termscript open.
2467
24682008-08-26 Chong Yidong <cyd@stupidchicken.com>
2469
2470 * eval.c (Fcondition_case): Doc fix.
2471
2472 * widgetprv.h (EmacsFramePart): Change font member to the new font
2473 struct.
2474
2475 * widget.c: Include character.h and font.h for XSETFONT.
2476 (setup_frame_gcs): Compute X font id from font struct, just once.
2477
24782008-08-26 Eli Zaretskii <eliz@gnu.org>
2479
2480 * term.c (get_named_tty): Fix last change.
2481
24822008-08-26 Chong Yidong <cyd@stupidchicken.com>
2483
2484 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2485 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2486
24872008-08-25 Eli Zaretskii <eliz@gnu.org>
2488
2489 * frame.c (do_switch_frame): Mark previously displayed frame as
2490 obscured for FRAME_MSDOS_P frames as well.
2491
24922008-08-24 Eli Zaretskii <eliz@gnu.org>
2493
2494 * frame.c (make_terminal_frame): Initialize f->terminal,
2495 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2496 Set the top frame to newly created frame.
2497 (Fmake_terminal_frame): Reuse the_only_display_info.
2498
2499 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2500 estimating available memory.
2501
b97439ce 25022008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2503
2504 * nsterm.m (ns_draw_window_cursor): Don't call
2505 NSDisableScreenUpdates and NSEnableScreenUpdates on
2506 non-NS_IMPL_COCOA systems.
2507
25082008-08-23 Andreas Schwab <schwab@suse.de>
2509
2510 * process.c (procfs_system_process_attributes): Fix use of
2511 uninitialized variables.
2512
25132008-08-23 Eli Zaretskii <eliz@gnu.org>
2514
2515 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2516
2517 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2518 calling tty-set-up-initial-frame-faces.
2519
b8ff72fa
SM
2520 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2521 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2522
2523 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2524 addition to output_termcap.
2525
2526 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2527
2528 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2529 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2530 highlight.
2531
2532 * process.c [!subprocesses]: Define QCname.
2533 (syms_of_process): Intern and staticpro it.
2534
2535 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2536 Adjust for changes in encoding/decoding routines.
2537 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2538 encode_coding and decode_coding.
2539
b8ff72fa 2540 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2541
2542 * dosfns.c: Include frame.h before termhooks.h.
2543 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2544 variable termscript.
2545
2546 * s/msdos.h (USER_FULL_NAME): Define.
2547 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2548
2549 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2550 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2551 pw->pw_gecos.
2552
2553 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2554 SELECTED_FRAME as additional (1st) argument.
2555 (tty_read_avail_input): Handle output_msdos_raw in
2556 addition to output_termcap.
2557
2558 * msdos.c: Include frame.h before termhooks.h.
2559 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2560 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2561 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2562 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2563 (IT_set_terminal_modes, IT_reset_terminal_modes)
2564 (IT_set_frame_parameters): Use tty->termscript instead of a global
2565 variable termscript.
2566 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2567 global variable terminal_coding. Don't refer to
2568 Vnonascii_translation_table.
2569 (internal_terminal_init): Set Vwindow_system in current_kboard.
2570 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2571 Announce date and time of session start, if termscript is open.
2572 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2573 term.c:init_tty). Open termscript only of not already open.
2574 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2575 here instead of dos_ttraw. Don't initialize display if this is an
2576 initial tty. Don't set FRAME_FONT.
2577 (Vwindow_system_version): Bump to 23.
2578 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2579 is available, set up mouse_position_hook.
2580 (dos_ttraw, IT_set_terminal_modes): If called with initial
2581 terminal, do nothing.
2582 (IT_set_frame_parameters): Handle the Qtty_type frame
2583 parameter by calling internal_terminal_init.
2584 (dos_set_window_size, show_mouse_face)
2585 (clear_mouse_face, IT_note_mode_line_highlight)
2586 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2587 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2588 (initialize_msdos_display): New function.
2589 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2590 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2591 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2592 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2593 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2594 (request_sigio, unrequest_sigio): Don't define, now defined on
2595 sysdep.c.
2596 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2597
2598 * term.c [MSDOS]: Include msdos.h.
2599 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2600 conditional to DOS_NT. Allow only one call to this function in a
2601 session. Don't allocate a new struct tty_display_info; instead,
2602 reuse the_only_display_info. Call get_tty_size to get screen
2603 dimensions. Call init_baud_rate to set bad_rate.
2604 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2605 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2606 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2607 (get_tty_terminal, get_named_tty, Ftty_type)
2608 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2609 output_termcap.
b8ff72fa
SM
2610 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2611 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2612 only when subprocesses are supported.
aac0c6e3
MR
2613
2614 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2615 f->output_data.x.
2616 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2617 terminal devices.
2618
5582fbc7 2619 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2620 x_output.
2621 (FRAME_FONT): Use output_data.tty.
2622 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2623 (struct x_display_info): Rename from display_info. Update all users in
2624 msdos.c.
aac0c6e3 2625 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2626 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2627 (dos_ttraw): Update prototype.
2628
2629 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2630 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2631
26322008-08-23 Jason Rumney <jasonr@gnu.org>
2633
2634 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2635 (fn_TIFFSetDirectory): New library function used.
2636 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2637 (tiff_load): Use :index to select among multiple images. Set count
2638 property when multiple images exist.
2639 (gif_format): Use :index, not :image.
2640
26412008-08-23 Chong Yidong <cyd@stupidchicken.com>
2642
2643 * xdisp.c (try_scrolling): Check INT_MAX instead of
2644 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2645 to obtain INT_MAX.
2646
26472008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2648
2649 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2650
26512008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2652
2653 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2654 GNUstep library location.
2655
26562008-08-21 Chong Yidong <cyd@stupidchicken.com>
2657
2658 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2659 before using it.
2660
2661 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2662
26632008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2664
2665 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2666 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2667 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2668 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2669 (EmacsApp-cursor_blink_handler): Remove declaration.
2670 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2671 match 01 Feb 2008 changes in xterm.c.
2672 (ns_read_socket): Add cast to avoid warning.
2673 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2674 GNUstep.
2675
26762008-08-20 Chong Yidong <cyd@stupidchicken.com>
2677
2678 * xselect.c (x_get_foreign_selection): Return nil if desired
2679 selection could not be obtained, instead of signalling an error.
2680
26812008-08-20 David Reitter <david.reitter@gmail.com>
2682
2683 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2684 * nsterm.m: Remove ns-specific code for cursor blinking.
2685 (ns_draw_window_cursor): Clear cursor properly rather than
2686 redrawing the area. Respect width of bar cursors.
2687 These changes enable the use of generic blink-cursor-mode and
2688 generic cursor types in NS and support smooth cursor movements (do
2689 not blink off after command).
2690 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2691 Nextstep, too.
2692
26932008-08-19 Kenichi Handa <handa@m17n.org>
2694
2695 * font.c (Vfont_log_deferred): New variable.
2696 (font_add_log): Check Vfont_log_deferred.
2697 (font_deferred_log): New function.
2698
2699 * font.h (font_deferred_log): Extern it.
2700
2701 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2702 for sorting.
2703 (face_for_char): Use deferred log.
2704
27052008-08-18 Kenichi Handa <handa@m17n.org>
2706
2707 * fontset.c (face_for_char): Add font log.
2708
2709 * font.c (font_add_log): Add the font properties :script, :lang,
2710 and :otf in the log.
2711
27122008-08-17 Chong Yidong <cyd@stupidchicken.com>
2713
2714 * xdisp.c: Remove dead code.
2715 (handle_invisible_prop, next_overlay_string): Defer call to
2716 setup_for_ellipsis.
2717 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2718
27192008-08-15 Chong Yidong <cyd@stupidchicken.com>
2720
2721 * xfaces.c (lookup_derived_face): Properly handle possible zero
2722 return value of get_lface_attributes.
2723 (merge_faces): Don't tell lookup_derived_face to signal an error
2724 if face is not found.
2725
2726 * dired.c (Fdirectory_files): Doc fix.
2727
2728 * process.c (make_process): Initialize kill_without_query struct
2729 member.
2730
27312008-08-15 Eli Zaretskii <eliz@gnu.org>
2732
2733 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2734 Alternative calculation of totphys for Visual Studio 6.
2735
2736 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2737
2738 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2739 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2740 All users changed.
2741 (stat): Only root directory passed to GetDriveType. Allow RAM
2742 disk as well as local fixed disk when w32-get-true-file-attributes
2743 is set to `local'.
2744 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2745 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2746 (w32_cached_id, w32_add_to_cache): New functions.
2747 (get_name_and_id): Look account names in the cache before calling
2748 lookup_account_sid.
2749 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2750 New initialization flags.
2751 (globals_of_w32): Initialize them to zero.
2752 (w32_system_process_attributes): Use w32_cached_id and
2753 w32_add_to_cache.
2754
27552008-08-14 Lawrence Mitchell <wence@gmx.li>
2756
2757 * lread.c (Fread_char, Fread_char_exclusive): If no character
2758 event is read before timeout is reached, return nil, rather than
2759 converting to a number.
2760
27612008-08-14 Chong Yidong <cyd@stupidchicken.com>
2762
2763 * fns.c (use_dialog_box): Doc fix.
2764
2765 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2766 on OS X.
2767
27682008-08-13 Chong Yidong <cyd@stupidchicken.com>
2769
2770 * frame.c (Qns_parse_geometry): New var.
2771 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2772
27732008-08-11 Chong Yidong <cyd@stupidchicken.com>
2774
2775 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2776 space character in calculating tabs.
2777
27782008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2779
2780 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2781
27822008-08-10 Glenn Morris <rgm@gnu.org>
2783
2784 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2785 silence gcc "limited range of data type" warnings in some
2786 make_fixnum_or_float calls.
2787
27882008-08-09 Eli Zaretskii <eliz@gnu.org>
2789
2790 * w32.c (w32_system_process_attributes): If the process does not
2791 exist, return nil.
2792
2793 * w32.c: Include thelp32.h, psapi.h and coding.h.
2794 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2795 declarations.
2796 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2797 (Process32Next_Proc): New typedefs.
2798 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2799 (g_b_init_process32_next, g_b_init_open_thread_token)
2800 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2801 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2802 (g_b_init_get_process_working_set_size)
2803 (g_b_init_global_memory_status_ex): New static variables.
2804 (globals_of_w32): Initialize them.
2805 (create_toolhelp32_snapshot, process32_first, process32_next)
2806 (open_thread_token, impersonate_self, revert_to_self)
2807 (get_process_memory_info, get_process_working_set_size)
2808 (global_memory_status, global_memory_status_ex): New wrapper
2809 functions.
2810 (w32_list_system_processes, w32_system_process_attributes)
2811 (enable_privilege, restore_privilege, ltime, process_times):
2812 New functions.
2813 (convert_time_raw): New function.
2814 (convert_time): Remove conversion of FILETIME into time in 100
2815 nsec units, call convert_time_raw instead.
2816
2817 * process.h (w32_list_system_processes, w32_system_process_attributes):
2818 Add prototypes.
2819 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2820 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2821 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2822 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2823
2824 * process.c (Fsystem_process_attributes): Doc fix.
2825
28262008-08-08 Chong Yidong <cyd@stupidchicken.com>
2827
2828 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2829 a continued multi-char glyph; if so, advance to the actual glyph.
2830
28312008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2832
2833 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2834
2835 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2836 (.m.o): Use it.
2837 * config.in: Regenerate.
2838
28392008-08-07 Chong Yidong <cyd@stupidchicken.com>
2840
2841 * xdisp.c (redisplay_window): Revert last change.
2842 (try_window): Check bottom scroll margin too.
2843
28442008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2845
2846 * config.in: Regenerate.
2847
2848 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2849 -list-load-path-shadows'.
2850 (nsgui.h): Reduce number of things depending on it.
2851
28522008-08-06 Chong Yidong <cyd@stupidchicken.com>
2853
2854 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2855 instead of window-end which does the wrong thing at eob.
2856 (try_cursor_movement): Minor optimization.
2857 (redisplay_window): If scroll margin is defined, don't assume
2858 window doesn't need scrolling.
2859
28602008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2861
2862 * config.in: Regenerate.
2863
2864 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2865 (mostlyclean): Don't delete *.d under NS.
2866
2867 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2868
28692008-08-06 Kenichi Handa <handa@m17n.org>
2870
2871 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2872
28732008-08-06 Andreas Schwab <schwab@suse.de>
2874
2875 * config.in: Regenerate.
2876
28772008-08-05 Chong Yidong <cyd@stupidchicken.com>
2878
2879 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2880 forcing a window start.
2881
2882 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2883 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2884
28852008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2886
2887 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2888 argument.
2889
28902008-08-05 Juanma Barranquero <lekktu@gmail.com>
2891
2892 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2893 <scroll-down-aggressively, before-change-functions>:
2894 <after-change-functions>: Reflow docstrings.
2895
28962008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2897 Ken Raeburn <raeburn@gnu.org>
2898
2899 Dock menu customization, based on a patch by Ken Raeburn, plus some
2900 other fixes.
2901 * nsmenu.m (dockMenu): New variable.
2902 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2903
2904 * nsterm.h (dockMenu): Declare.
2905
2906 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2907 (ns_term_init): Initialize dockMenu.
2908 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2909 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2910 left.
2911
2912 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2913
29142008-08-04 Chong Yidong <cyd@stupidchicken.com>
2915
2916 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2917
2918 * config.in: Regenerate.
2919
29202008-08-04 Seiji Zenitani <zenitani@mac.com>
2921
2922 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2923
29242008-08-04 Chong Yidong <cyd@stupidchicken.com>
2925
2926 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2927
29282008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2929
2930 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2931
2932 * keyboard.h: Comment an #endif.
2933
2934 * lisp.h (have_menus_p): Adjust comment.
2935
2936 * menu.c (find_and_return_menu_selection): Fix comparison with
2937 client_data.
2938
2939 * nsmenu.m (popup_activated_flag): New variable.
2940 (popup_activated): New function.
2941 (menu-or-popup-active-p): New exported lisp definition.
2942 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2943 when popup done.
2944 (ns_popup_dialog): Set popup_activated_flag.
2945
2946 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2947 version for GNUstep (handled by conditional typedef in nsterm.m).
2948 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2949 in rgb.txt).
2950
2951 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2952
2953 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2954
2955 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2956
2957 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2958 shortcircuit if popup_activated like GTK and X toolkit.
2959
2960 * m/inter386.h: Change DARWIN to DARWIN_OS.
2961
2962 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2963 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2964 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2965 comment on NO_SOCK_SIGIO.
2966
29672008-08-03 Chong Yidong <cyd@stupidchicken.com>
2968
2969 * nsterm.m (windowDidResize): Remove stopModal call.
2970
29712008-08-03 Andreas Schwab <schwab@suse.de>
2972
2973 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2974 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2975
29762008-08-02 Chong Yidong <cyd@stupidchicken.com>
2977
2978 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2979 Don't use uninitialized pointer variable when using getrlimit.
2980
29812008-08-02 Jason Rumney <jasonr@gnu.org>
2982
2983 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2984
29852008-08-02 Eli Zaretskii <eliz@gnu.org>
2986
2987 * alloc.c (NSTATICS): Bump to 0x640.
2988
2989 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2990
2991 * lisp.h: Add prototype for directory_files_internal.
2992
2993 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2994 New functions.
2995 (syms_of_process): Defsubr them. Add initializations for various
2996 Q* symbols used in procfs_system_process_attributes.
2997 (procfs_list_system_processes, procfs_system_process_attributes)
2998 [HAVE_PROCFS]: New functions.
2999 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
3000 (procfs_get_total_memory): New functions.
3001
30022008-08-01 Juanma Barranquero <lekktu@gmail.com>
3003
3004 * xfaces.c (Fx_load_color_file): Fix previous change;
3005 it is #ifdef WINDOWSNT, not WINDOWS_NT.
3006
30072008-08-01 Michael Albinus <michael.albinus@gmx.de>
3008
3009 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
3010
30112008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3012
3013 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
3014
30152008-08-01 Chong Yidong <cyd@stupidchicken.com>
3016
3017 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
3018
3019 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
3020 define NSApplicationDelegateReplySuccess.
3021 (EmacsView -converstationIdentifier): Use long instead of
3022 NSInteger for GNUstep, since it doesn't have NSInteger.
3023
3024 * xmenu.c: Revert last change.
3025
3026 * keyboard.h: Fix last change.
3027
30282008-08-01 Juanma Barranquero <lekktu@gmail.com>
3029
3030 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
3031 on Windows.
3032
30332008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3034
3035 Warning clearing and clean-up in NS port.
3036 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3037 Add prototypes.
3038 * nsgui.h (FACE_DEFAULT): Remove, unused.
3039 (XGCValues): Change colors to unsigned long.
3040 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
3041 nsterm.m.
3042 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
3043 (ns_list_fonts): Remove, unused.
3044 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
3045 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
3046 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
3047 (nsfont_draw): Compare face colors to 0, not nil.
3048 * nsmenu.m (struct widget_value): Drop unneeded declaration.
3049 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
3050 (-addSubmenuWithTitle:): Use NSMenuItem class.
3051 (ns_popup_menu): Use NO, not NULL, for enabled setting.
3052 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
3053 (ns_clip_to_row): Make gc arg a BOOL.
3054 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
3055 ns_clip_to_row() call.
3056 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3057 used). Cast FRAME_FONT assignments.
3058 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3059 (ns_string_to_lispmod): Change arg to const char.
3060 (ns_term_init): Use NSMenuItem class.
3061 (EmacsApp -openFile:): Move to different section of file.
3062 (EmacsApp -application:openFiles:): Don't return a value, call
3063 -replyToOpenOrPrint:.
3064 (EmacsView -keyDown:): Fix up cast.
3065 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3066 (EmacsView -menuDown:): Cast tag in call to
3067 find_and_call_menu_selection().
3068 (ns_list_fonts): Remove, unused.
3069 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3070 (ns_fontname_to_xlfd): Make static.
3071 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3072 Remove prototypes (now in keyboard.h).
3073 (next_menubar_widget_id): Remove, unused.
3074 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3075 Remove prototypes (now in keyboard.h).
3076 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3077
30782008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3079
3080 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3081 (floatfns.o): Depend on syssignal.h.
3082 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3083
3084 * systty.h: Fix previous change that removed BSD_TERMIOS.
3085 Add comments to #ifdefs.
3086
30872008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3088
3089 * w32fns.c (w32-load-color-file): Remove.
3090 (x-open-connection): Use renamed Fx_load_color_file.
3091 * xfaces.c (x-load-color-file): Add.
3092 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3093 Emacs.clr.
3094 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3095
30962008-07-31 Michael Albinus <michael.albinus@gmx.de>
3097
3098 * dbusbind.c (Fdbus_call_method_asynchronously)
3099 (Fdbus_method_error_internal): New defuns.
3100 (xd_read_message): Handle also reply messages.
3101 (Vdbus_registered_functions_table): Extend docstring.
3102
31032008-07-31 Juanma Barranquero <lekktu@gmail.com>
3104
3105 * keyboard.c (gobble_input): Fix previous change.
3106
31072008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3108
3109 * bitmaps/README:
3110 * xfns.c:
3111 * termcap.c:
3112 * term.c:
3113 * syswait.h:
3114 * systty.h:
3115 * systime.h:
3116 * syssignal.h:
3117 * sysdep.c:
3118 * process.h:
3119 * process.c:
3120 * print.c:
3121 * ndir.h:
3122 * lread.c:
3123 * keyboard.c:
3124 * getpagesize.h:
3125 * floatfns.c:
3126 * fileio.c:
3127 * emacs.c:
3128 * doc.c:
3129 * dispnew.c:
3130 * dired.c:
3131 * data.c:
3132 * callproc.c:
3133 * buffer.c:
3134 * README:
3135 * Makefile.in:
3136 * s/template.h:
3137 * s/msdos.h:
3138 * m/vax.h: Remove VMS support.
3139 * s/vms.h:
3140 * vlimit.h:
3141 * uaf.h:
3142 * temacs.opt:
3143 * param.h:
3144 * ioctl.h: Remove file.
3145
31462008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3147
3148 * s/ms-w32.h (MULTI_KBOARD): Remove.
3149 * xterm.c:
3150 * xselect.c:
3151 * xfns.c:
3152 * window.c:
3153 * w32term.c:
3154 * w32fns.c:
3155 * terminal.c:
3156 * termhooks.h:
3157 * term.c:
3158 * sysdep.c:
3159 * keyboard.h:
3160 * keyboard.c:
3161 * frame.h:
3162 * frame.c:
3163 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3164 * config.in: Regenerate.
3165
31662008-07-30 Jason Rumney <jasonr@gnu.org>
3167
3168 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3169
3170 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3171 (w32font_open_internal): Get unicode version of textmetrics.
3172 Don't enable or disable glyph indices here.
3173 (w32font_open): Disable use of glyph indices.
3174
3175 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3176
31772008-07-30 Chong Yidong <cyd@stupidchicken.com>
3178
3179 * minibuf.c (Vread_buffer_function): Doc fix.
3180
31812008-07-30 John Paul Wallington <jpw@pobox.com>
3182
3183 * minibuf.c (read_buffer_completion_ignore_case): New var.
3184 (Fread_buffer): Use it.
3185
31862008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3187
3188 * systty.h (sensemode): Remove empty #if. Remove reference to
3189 BSD_TERMIOS, unused.
3190
3191 * sysdep.c: Remove reference to DGUX.
3192 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3193
3194 * config.in: Regenerate.
3195
31962008-07-30 Jason Rumney <jasonr@gnu.org>
3197
3198 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3199
32002008-07-29 Jason Rumney <jasonr@gnu.org>
3201
3202 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3203 is populated.
3204 (uniscribe_encode_char): Always use uniscribe.
3205 Avoid using context if cache is populated.
3206
32072008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3208
3209 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3210 open menu.
3211
3212 * gtkutil.c (menu_nav_ended): Remove.
3213 (create_menus): Remove signal connect for menu_nav_ended.
3214
32152008-07-28 Chong Yidong <cyd@stupidchicken.com>
3216
3217 * xdisp.c (redisplay_window): Check return value of
3218 compute_window_start_on_continuation_line before forcing a window
3219 start.
3220
32212008-07-28 Jason Rumney <jasonr@gnu.org>
3222
3223 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3224
3225 * w32term.c (w32_enable_unicode_output, cleartype_active):
3226 Remove obsolete display options.
3227 (x_draw_glyph_string_background): Don't use old cleartype_active
3228 workaround.
3229 (w32_initialize): Remove cleartype_active initialization.
3230 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3231
32322008-07-28 Andreas Schwab <schwab@suse.de>
3233
3234 * lisp.h (init_weak_hash_tables, syms_of_font)
3235 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3236 (remove_hash_entry): Don't declare.
3237 * eval.c (maybe_call_debugger): Make static and move before use.
3238 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3239 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3240 * xterm.h (x_set_frame_alpha): Declare.
3241
32422008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3243
3244 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3245 (create_menus): Connect selection-done to menu_nav_ended.
3246
32472008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3248
3249 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3250 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3251 parameter with read of 'alpha' one.
3252 (Qns_frame_parameter): Remove.
5582fbc7 3253 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3254 (next-selection-coding-system, Vselection_coding_system)
3255 (Vnext_selection_coding_system): Drop.
3256
32572008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3258
3259 * nsfns.m (do-applescript, do_applescript): Rename to
3260 ns-do-applescript, ns_do_applescript, and move within file.
3261
32622008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3263
3264 Remove support for Mac Carbon.
3265 * mactoolbox.c:
3266 * macterm.h:
3267 * macterm.c:
3268 * macselect.c:
3269 * macmenu.c:
3270 * macgui.h:
3271 * macfns.c:
3272 * mac.c: Remove file.
3273 * s/darwin.h:
3274 * m/intel386.h:
3275 * xfaces.c:
3276 * xdisp.c:
3277 * window.c:
3278 * tparam.c:
3279 * termhooks.h:
3280 * termcap.c:
3281 * term.c:
3282 * syssignal.h:
3283 * sysselect.h:
3284 * sysdep.c:
3285 * process.c:
3286 * lread.c:
3287 * lisp.h:
3288 * keyboard.c:
3289 * image.c:
3290 * fringe.c:
3291 * frame.h:
3292 * frame.c:
3293 * fontset.c:
3294 * font.h:
3295 * font.c:
3296 * fns.c:
3297 * fileio.c:
3298 * emacs.c:
3299 * dispnew.c:
3300 * dispextern.h:
3301 * config.in:
3302 * atimer.c:
2ae37cf0 3303 * Makefile.in: Remove code for Carbon.
aac0c6e3 3304
f0131492 33052008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3306
3307 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3308
33092008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3310
3311 * macterm.h (kCGBitmapByteOrder32Host): New define for
3312 non-universal SDKs.
3313
3314 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3315 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3316
3317 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3318 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3319
33202008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3321
3322 * w32inevt.c: Include dispextern.h.
3323
33242008-07-26 Andreas Schwab <schwab@suse.de>
3325
3326 * print.c (print_object): Fix off-by-one in last change.
3327
33282008-07-25 Juanma Barranquero <lekktu@gmail.com>
3329
3330 * term.c (syms_of_term): Don't initialize default_orig_pair,
3331 default_set_foreground and default_set_background on Windows.
3332
33332008-07-25 Jason Rumney <jasonr@gnu.org>
3334
3335 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3336 ScriptItemize. Clean up return value checking. Remove unused
3337 variables.
3338 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3339 shaping engine.
3340
3341 * w32font.c (w32font_has_char): Handle the case where we can't
3342 determine the script for a character.
3343
33442008-07-25 Chong Yidong <cyd@stupidchicken.com>
3345
3346 * term.c (syms_of_term): Initialize default_orig_pair,
3347 default_set_foreground, and default_set_background.
3348
3349 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3350 clash (bug#86).
3351 (getloadavg): Callers changed.
3352
3353 * image.c (svg_load_image): Fix last change.
3354 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3355 image size is valid. Use g_object_unref instead of deprecated
3356 rsvg_handle_free to free rsvg handle.
3357 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3358
33592008-07-25 Jason Rumney <jasonr@gnu.org>
3360
3361 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3362 surrogates before looking up glyph index.
3363 (w32font_text_extents): Encode as surrogates if falling back to
3364 functions that need UTF-16 wide chars.
3365
3366 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3367 BMP as surrogates before looking up glyph index.
3368
33692008-07-25 Chong Yidong <cyd@stupidchicken.com>
3370
3371 * image.c (svg_load_image): Check for failure in return value of
3372 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3373
33742008-07-25 Jason Rumney <jasonr@gnu.org>
3375
3376 * w32font.c (Fx_select_font): Reverse sense of second arg.
3377
33782008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3379
3380 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3381 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3382
3383 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3384 (PURESIZE): Use it.
3385
33862008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3387
3388 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3389 * m/alpha.h (TEXT_END):
3390 * m/ibmrs6000.h (TEXT_END):
3391 * m/macppc.h (TEXT_END):
3392 * s/darwin.h (TEXT_END):
3393 * s/msdos.h (TEXT_END): Remove, unused.
3394 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3395 * s/cygwin.h: Remove comment.
3396
3397 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3398 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3399 * m/intel386.h (DOT_GLOBAL_START):
3400 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3401 (USG): Remove, file not used on USG platforms.
3402
3403 * Makefile.in (HAVE_X11): Remove empty #else.
3404
34052008-07-24 Andreas Schwab <schwab@suse.de>
3406
3407 * fileio.c (Finsert_file_contents): Properly adjust undo list
3408 after format conversion.
3409
34102008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3411
3412 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3413 (menu_nav_ended): Remove.
3414 (create_menus): Remove signal connect for menu_nav_ended.
3415 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3416 create_menus.
3417 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3418
34192008-07-23 Jason Rumney <jasonr@gnu.org>
3420
3421 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3422 with opened font.
3423 (w32font_open): Set font type to gdi.
3424
3425 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3426
34272008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3428
3429 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3430 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3431 defines it.
3432 * unexec.c (ADDR_CORRECT): Define unconditionally.
3433
3434 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3435
3436 * unexec.c: Remove code depending on !COFF and USG, the file is
3437 not used for such systems.
3438
3439 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3440 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3441 (LD_SWITCH_SYSTEM_1): Remove, update users.
3442
3443 * s/darwin.h (DATA_END):
3444 * m/intel386.h (DATA_END):
3445 * m/ibmrs6000.h (DATA_END):
3446 * m/alpha.h (DATA_END): Remove, unused.
3447
3448 * config.in: Regenerate.
3449 * s/ms-w32.h (subprocesses): Define unconditionally.
3450 * s/template.h (subprocesses): Update comment.
3451 * s/vms.h (subprocesses):
3452 * s/usg5-4.h (subprocesses):
3453 * s/hpux10-20.h (subprocesses):
3454 * s/gnu-linux.h (subprocesses):
3455 * s/cygwin.h (subprocesses):
3456 * s/bsd-common.h (subprocesses):
3457 * s/aix4-2.h (subprocesses):
3458 * s/darwin.h (subprocesses): Do not define, defined by default now.
3459
3460 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3461 Remove all references.
3462 (temacs): Add GNUstep specific ld flags.
3463
3464 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3465 similarly to what X does.
3466
34672008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3468
3469 * nsfns.m (x-list-fonts): Remove.
3470 (syms_of_nsfns): Drop the x-list-fonts declaration.
3471 * nsterm.m: Get rid of remaining "//" comments.
3472
34732008-07-22 Chong Yidong <cyd@stupidchicken.com>
3474
3475 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3476
3477 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3478 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3479 (Fns_own_selection_internal, Fx_disown_selection_internal)
3480 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3481
3482 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3483 ... */' style of docstrings. Doc fixes.
3484
34852008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3486
3487 * terminfo.c (UP, BC, PC): Undo previous change.
3488
3489 * nsfns.m: Rename ns prefixed functions/variables to the
3490 corresponding x versions. Update references.
3491
34922008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3493
3494 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3495
34962008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3497
3498 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3499 Remove forwarding functions.
3500 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3501 non-static.
3502 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3503 non-static.
3504 (ns_frame_parm_handlers): Use the new names.
3505 (syms_of_nsfns): Move to the end of file.
3506
3507 * nsterm.m (syms_of_nsterm): Move to the end of file.
3508
3509 * dispnew.c (init_display): Remove code for X10.
3510
35112008-07-22 Jason Rumney <jasonr@gnu.org>
3512
3513 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3514 bare drive.
3515
35162008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3517
3518 * nsterm.m (syms_of_nsterm): Remove debugging println.
3519
35202008-07-22 David Reitter <david.reitter@gmail.com>
3521
3522 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3523 Carbon implementation of the same functionality: execute arbitrary
3524 AppleScript code.
3525
35262008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3527
3528 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3529 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3530 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3531 (Fx_display_mm_height, Fx_display_mm_width)
3532 (Fx_display_backing_store, Fx_display_visual_class)
3533 (Fx_display_save_under, Fx_open_connection)
3534 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3535 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3536 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3537 (Fx_display_pixel_width, Fx_display_pixel_height)
3538 (Fx_display_usable_bounds, Fx_display_planes)
3539 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3540 ... */' style of docstrings.
3541
35422008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3543
3544 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3545 on this platform.
3546 (mips):
3547 * m/iris4d.h (mips): Do not define.
3548 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3549
3550 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3551
3552 * image.c:
3553 * nsfns.m:
3554 * nsselect.m:
3555 * nsterm.h:
3556 * nsterm.m: Rename ns prefixed functions/variables to the
3557 corresponding x versions. Update references.
3558
3559 * m/ibms390x.h (NO_REMAP): Do not undefine.
3560
3561 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3562
35632008-07-21 Chong Yidong <cyd@stupidchicken.com>
3564
3565 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3566 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3567 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3568 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3569 (Fns_display_mm_height, Fns_display_mm_width)
3570 (Fns_display_backing_store, Fns_display_visual_class)
3571 (Fns_display_save_under, Fns_open_connection)
3572 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3573 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3574 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3575 (Fns_display_pixel_width, Fns_display_pixel_height)
3576 (Fns_display_usable_bounds, Fx_display_planes)
3577 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3578
35792008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3580
3581 * print.c (print_object): Check print_depth before searching for
3582 circularities.
3583
35842008-07-21 Michael Albinus <michael.albinus@gmx.de>
3585
3586 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3587 only sprintf.
3588
35892008-07-21 Kenichi Handa <handa@m17n.org>
3590
3591 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3592
35932008-07-20 Andreas Schwab <schwab@suse.de>
3594
3595 * syntax.c (find_start_pos, find_start_value)
3596 (find_start_value_byte, find_start_begv, find_defun_start)
3597 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3598
35992008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3600
3601 * s/sol2-3.h: Insert contents of s/sol2.h.
3602 (LD_SWITCH_SYSTEM): Remove redundant definition.
3603 * s/sol2.h: Remove, unused.
3604
36052008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3606
3607 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3608
36092008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3610
3611 * Makefile.in (ns_appdir): Fix typo in find command.
3612
36132008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3614
3615 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3616
3617 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3618 added not supported anymore.
3619
3620 * s/usg5-4-2.h (LIBS_SYSTEM):
3621 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3622
3623 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3624 * s/lynxos.h (GETPGRP_NO_ARG):
3625 * s/hpux10-20.h (NO_SIOCTL_H):
3626 * s/gnu.h (GETPGRP_NO_ARG):
3627 * s/gnu-linux.h (NO_SIOCTL_H):
3628 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3629 * s/cygwin.h (GETPGRP_NO_ARG):
3630 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3631 (C_DEBUG_SWITCH): Remove duplicate definition.
3632
3633 * m/ibms390.h: Remove boilerplate comments.
3634
3635 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3636
3637 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3638 (wait_reading_process_output): Remove code for SunOS, platform not
3639 supported anymore. Use SOLARIS2 instead of sun.
3640
36412008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3642
3643 * font.c (font_open_by_name): Under NS, default lface height to zero.
3644 (font_open_for_lface): Under NS, set size based on frame fontsize.
3645 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3646 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3647
36482008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3649
3650 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3651 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3652 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3653 YES/NO.
3654 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3655 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3656 * Makefile.in (clean): Clear out build destination dir.
3657
36582008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3659
3660 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3661 xterm, xselect.
3662 * lisp.h: Remove declaration of hash_remove.
3663 * nsgui.h: Remove redefinitions of hash_remove.
3664 * fns.c (hash_remove): Rename to hash_remove_from_table.
3665
36662008-07-19 Seiji Zenitani <zenitani@mac.com>
3667
3668 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3669 strdup() the family UTF8String before modifying it.
3670
36712008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3672
3673 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3674 NS_FACE_BACKGROUND with 0 instead of nil.
3675 * nsfont.m (nsfont_draw): Same.
3676
36772008-07-19 Chong Yidong <cyd@stupidchicken.com>
3678
3679 * nsfns.m (ns_set_background_color): Fix crash.
3680
36812008-07-18 Chong Yidong <cyd@stupidchicken.com>
3682
3683 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3684
36852008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3686
3687 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3688
36892008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3690
3691 * gtkutil.c: Include <config.h> instead of "config.h".
3692
3693 * lisp.h (Foverlay_buffer): Add EXFUN.
3694
3695 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3696 child process to complete child_setup. Undo 2005-09-21 change.
3697
3698 * s/darwin.h: Mention setsid after vfork.
3699
37002008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3701
3702 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3703 Depend on macgui.h.
3704
3705 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3706 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3707
3708 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3709 and f19.
3710 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3711
3712 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3713 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3714 Remove enumerators.
3715
3716 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3717 Check if FACE_FROM_ID returns NULL.
3718
37192008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3720
3721 * w32inevt.c (change_frame_size): Remove extern declaration.
3722 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3723 change_frame_size.
3724
37252008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3726
3727 * getloadavg.c: Revert last change (2008-07-15).
3728
37292008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3730
3731 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3732 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3733 from configure.
3734
37352008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3736
3737 * s/sol2.h:
3738 * s/sol2-4.h: Reorganize conditionals.
3739
3740 * ecrt0.c: Remove code depending on m68000, not used anymore.
3741
3742 * fns.c (hash_remove): Make static.
3743 * lisp.h (hash_remove): Don't prototype.
3744
3745 * m/ibmrs6000.h:
3746 * m/ibms390x.h:
3747 * m/macppc.h: Remove boilerplate comments.
3748
3749 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3750 Solaris, which does not need them.
3751
3752 * m/vax.h: Remove comments about unsupported systems.
3753
3754 * s/darwin.h: Reorganize ifdefs.
3755
37562008-07-17 Andreas Schwab <schwab@suse.de>
3757
3758 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3759
37602008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3761
3762 Use SDATA. Follow coding convention of placing operators at
3763 beginning of next line rather than end of previous line, and placing
3764 spaces around infix operators.
3765
3766 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3767 in case it was defined already.
3768 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3769 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3770 ns_default.
3771 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3772 Lisp_Objects.
3773 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3774 (ns_defined_color, ns_color_to_lisp): Declare.
3775 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3776 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3777 it's accepted even with USE_LISP_UNION_TYPE.
3778 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3779 (update_frame_tool_bar): Remove apparently obsolete tests for
3780 non-integerness of f->tool_bar_lines.
3781 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3782 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3783 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3784 (nsfont_open): Don't confuse NULL for Qnil.
3785 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3786 * menu.h (find_and_call_menu_selection):
3787 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3788 (find_and_return_menu_selection): Always return something.
3789 * frame.h: Include dispextern.h for Display_Info.
3790 (display_x_get_resource): Declare.
3791
37922008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3793
3794 * syntax.c: Remove stdio.h include accidentally introduced in
3795 Emacs.app commit.
3796 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3797 NS_IMPL_COCOA.
3798 * keyboard.c (handle_async_input, input_available_signal): Remove
3799 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3800
38012008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3802
3803 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3804 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3805 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3806 Use SDATA.
3807
3808 * keymap.c: Remove all NS-specific code.
3809 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3810 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3811 where_is_preferred_modifier, return a different value depending on how
3812 preferred is the binding.
3813 (where_is_internal): Adjust accordingly.
3814 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3815 Adjust to new preferred_sequence_p.
3816 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3817 * keyboard.c (parse_solitary_modifier): Not static any more.
3818 * keyboard.h (parse_solitary_modifier): Declare.
3819
38202008-07-16 Andreas Schwab <schwab@suse.de>
3821
3822 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3823 of easymenu.
3824
38252008-07-16 Chong Yidong <cyd@stupidchicken.com>
3826
3827 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3828 that we don't move off the line.
3829
38302008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3831
3832 * keyboard.c (Qsuper): Remove.
3833 (parse_menu_item): Don't call where_is_internal specially for NS.
3834
38352008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3836
3837 * s/gnu-linux.h: Remove boilerplate comments.
3838
3839 * m/alpha.h (__ELF__): Consolidate conditions.
3840
3841 * m/m68k.h (linux): Use GNU_LINUX instead.
3842 Remove boilerplate comments.
3843
3844 * m/intel386.h: Undo refactoring from previous change.
3845 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3846 too, remove dead code.
3847 (linux): Use GNU_LINUX instead.
3848
38492008-07-16 Jason Rumney <jasonr@gnu.org>
3850
3851 * w32gui.h: Repeat 26 June changes lost by last change.
3852
38532008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3854
3855 * systty.h: Remove code for Aix on 386, unsupported platform.
3856
3857 * s/ms-w32.h: Remove boilerplate comments.
3858 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3859
3860 * s/gnu-linux.h (TERM): Remove support.
3861 (HAVE_SYSVIPC): Remove, unused.
3862 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3863 for this system.
3864
3865 * process.c: Remove support for IRIS, unused.
3866 Remove support for TERM, not relevant anymore.
3867
3868 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3869 used with the definition.
3870
3871 * s/aix4-2.h (static): Do not undef.
3872
3873 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3874 only used on Aix.
3875 (HAVE_SYSVIPC): Remove, unused.
3876
3877 * m/hp800.h (CANNOT_DUMP): Do not undef.
3878
3879 * m/alpha.h: Fix comment.
3880
3881 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3882 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3883 used by this configuration.
3884 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3885 * unexec.c: Remove code depending on HPUX and
3886 USG_SHARED_LIBRARIES, not used with this file. Remove code
3887 depending on IRIS, unused. Remove if 0-ed code.
3888
3889 * s/template.h: Remove comments about static.
3890
3891 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3892 Remove if 0-ed code.
3893 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3894 were the same as the default.
3895 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3896 Remove boilerplate comments.
3897 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3898 (HAVE_SYSVIPC): Remove, unused.
3899 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3900
3901 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3902 Remove boilerplate comments.
3903 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3904 Remove boilerplate comments.
3905 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3906 Remove boilerplate comments.
3907 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3908
3909 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3910 USG systems which do not use DATA_SEG_BITS.
3911 Refactor code. Remove boilerplate comments.
3912
3913 * m/ibms390.h:
3914 * m/m68k.h:
3915 * s/bsd-common.h:
3916 * s/cygwin.h:
3917 * s/darwin.h:
3918 * s/freebsd.h:
3919 * s/gnu.h:
3920 * s/msdos.h: Remove boilerplate comments.
3921
3922 * m/iris4d.h: Remove boilerplate comments and code for systems that
3923 do not use this file.
3924 (IRIS_4D): Remove, unused.
3925
3926 * m/mips.h: Remove boilerplate comments and code for systems that
3927 do not use this file.
3928 (SIGN_EXTEND_CHAR):
3929 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3930 * unexmips.c: Remove file, unused.
3931
3932 * editfns.c (Fuser_full_name): Replace the only use of
3933 USER_FULL_NAME with its value.
3934 * config.in: Regenerate.
3935
39362008-07-16 David Reitter <david.reitter@gmail.com>
3937
3938 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3939 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3940
39412008-07-16 Glenn Morris <rgm@gnu.org>
3942
3943 * emacs.c (system-type): Doc fix.
3944
39452008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3946
3947 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3948 If the cache doesn't work, let's fix it, rather than work around it.
3949
39502008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3951
3952 * Makefile.in: Correct additions for nsfont.o in last commit.
3953 * nsfont.m: New file (forgot last commit).
3954
39552008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3956
3957 * callproc.c (set_initial_environment): Initialize
3958 Vprocess_environment under CANNOT_DUMP (fixes crash when
3959 batch-compiling for bootstrap).
3960
39612008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3962 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3963
3964 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3965 fix crash due to different init order.
3966
39672008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3968
3969 Changes and additions for NeXTstep windowing system (Cocoa and
3970 GNUstep) support.
3971
3972 * Makefile.in:
3973 * config.in: Support defines and build commands for NS port.
3974 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3975 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3976 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3977 windowing.
3978 (struct face): Add synth_ital field.
3979 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3980 (init_display): Initialize Vinitial_window_system to "ns" when so
3981 compiled.
3982 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3983 (display_arg): Use under NS.
3984 (main): Under NS, allocate autorelease pool and handle command line
3985 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3986 (standard_args): Add NS-specific args.
3987 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3988 * font.c (DEFAULT_ENCODING): New variable.
3989 (font_find_for_lface): Use it.
3990 (syms_of_font): Load syms_of_nsfont under NS.
3991 * font.h: Declare nsfont_driver when compiled under NS.
3992 * fontset.c: When compiling under NS, include nsterm.h.
3993 (fontset_from_font): Autoconstruct fontset under NS.
3994 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3995 symbol, document and use it.
3996 (do_switch_frame): When for_deletion under Cocoa, add
3997 Fraise_frame(Qnil).
3998 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3999 (x_get_arg): Allow "yes" and "no" as boolean values.
4000 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
4001 Qright under Cocoa.
4002 (focus-follows-mouse): Default to 0 under NS.
4003 * frame.h (enum output_method): Add output_ns.
4004 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
4005 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
4006 (FRAME_WINDOW_P): NS-specific definition.
4007 * fringe.c (max_used_fringe_bitmap): Make public.
4008 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
4009 (getloadavg): Use NeXT code under descendant OS's.
4010 * image.c (includes and header section, x_create_bitmap_from_data)
4011 (x_create_bitmap_from_file, free_bitmap_record, image_background)
4012 (image_background_transparent, x_clear_image_1)
4013 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4014 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
4015 (x_to_xcolors, x_from_xcolors, x_disable_image)
4016 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
4017 other GUIs, including XPM support using code originally written for
4018 Carbon GUI.
4019 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
4020 using NS API.
4021 (image_ascent): Use font metrics macros instead of direct struct field
4022 access.
4023 * keyboard.c (includes): Add nsterm.h when compiling under NS.
4024 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
4025 Also, handle NS as GTK for menu bar purposes.
4026 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
4027 toolkit where they differ.
4028 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
4029 use cachelist, still needed under NS.
4030 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
4031 (struct widget_value): Define it here for menu.c.
4032 * keymap.c (includes): Include modifier internals.
4033 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
4034 NS.
4035 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
4036 support for preferring sequences using certain modifiers, specified by
4037 the FIRSTONLY argument.
4038 * lisp.h (hash_remove): Rename to avoid name clash when compiling
4039 under NS GNUstep implementation.
4040 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
4041 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
4042 * menu.c: Include nsterm.h under NS.
4043 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
4044 (free_menubar_widget_tree_value, update_submenu_strings)
4045 (find_and_call_menu_selection): Treat NS as X and NT.
4046 (find_and_return_menu_selection): New function, used for popup menus.
4047 * nsgui.h:
4048 * nsterm.h:
4049 * nsfns.m:
4050 * nsimage.m:
4051 * nsmenu.m:
4052 * nsselect.m:
4053 * nsterm.m: New files.
4054 * process.c (wait_reading_process_output): Under NS, call ns_select()
4055 instead of plain select().
4056 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4057 beginning of buffer.
4058 * sysselect.h (init_process): Rename when compiling under Cocoa to
4059 avoid name conflict.
4060 * termhooks.h (display_info): Add ns_display_info to union.
4061 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4062 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4063 COCOA environment.
4064 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4065 unexec() signature. (Note, this will dump, but the resulting file
4066 crashes; unexosx is used instead; keeping around for reference and
4067 possible aid in getting dump working under GNUstep.)
4068 * w32gui.h (button_type, widget_value): Remove definitions (now in
4069 keyboard.h).
4070 * window.c: Include nsterm.h when compiling under NS.
4071 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4072 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4073 other GUI windowing systems.
4074 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4075 GTK.
4076 (x_consider_frame_title): Under NS, set icon type and frame
4077 modified-state indicator; use ns_set_name_as_filename() when using
4078 formatted title.
4079 (update_window_cursor): Make public when compiling under NS.
4080 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4081 (hourglass_atimer, Vhourglass_delay
4082 * xfaces.c (header section, init_frame_faces, clear_font_table)
4083 (defined_color, unload_color, x_face_list_fonts)
4084 (prepare_face_for_display): Add NS support parallel to other GUIs.
4085 Emulate GCs like other non-X GUIs.
4086 (split_font_name): Don't lowercase font name under NS.
4087 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4088 under NS.
4089 * s/darwin.h: Add support for compilation under NS.
4090
40912008-07-15 Jason Rumney <jasonr@gnu.org>
4092
4093 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4094 (w32_show_hourglass): Rename from show_hourglass.
4095 (w32_hide_hourglass): Rename from hide_hourglass.
4096 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4097 (Vhourglass_delay): Declare extern.
4098 (hourglass_started): Remove.
4099
4100 * xdisp.c (Vhourglass_delay): Remove static.
4101 (hourglass_started, start_hourglass, cancel_hourglass):
4102 Don't include these versions on WINDOWSNT.
4103
41042008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4105
4106 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4107 variables (formerly in xfns.c).
4108 (show_hourglass, hide_hourglass): New prototypes (same).
4109 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4110 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4111 in xfns.c).
4112 (syms_of_xdisp): Declare/initialize display-hourglass,
4113 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4114 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4115 formerly in xfns.c.
4116 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4117 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4118 (start_hourglass, cancel_hourglass): Remove.
4119 (show_hourglass, hide_hourglass): Remove prototypes and static
4120 modifiers.
4121 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4122 hourglass_atimer, hourglass_shown_p declaration/initialization.
4123 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4124 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4125 (start_hourglass, cancel_hourglass): Remove.
4126 (show_hourglass, hide_hourglass): Remove prototypes and static
4127 modifiers.
4128 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4129 hourglass_atimer, hourglass_shown_p declaration/initialization.
4130 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4131 (DEFAULT_HOURGLASS_DELAY): Remove.
4132 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4133 hourglass_shown_p declaration/initialization.
4134
41352008-07-14 Jason Rumney <jasonr@gnu.org>
4136
4137 * w32fns.c (w32_get_arg): Remove wrapper function.
4138 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4139 directly.
4140 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4141
41422008-07-14 Kenichi Handa <handa@m17n.org>
4143
4144 * xfont.c (xfont_open): Add workaround for X's bug.
4145
41462008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4147
4148 * fontset.c: Include <stdio.h> unconditionally.
4149
41502008-07-13 Michael Albinus <michael.albinus@gmx.de>
4151
4152 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4153 for filtering.
4154
41552008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4156
4157 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4158
4159 * m/macppc.h:
4160 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4161
4162 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4163 (SPECIAL_EMACS_INT):
4164 * m/ia64.h (SPECIAL_EMACS_INT):
4165 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4166 * s/gnu.h (NLIST_STRUCT):
4167 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4168 * s/gnu-linux.h (LINUX):
4169 * s/msdos.h (HAVE_FACES):
4170 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4171
4172 * systty.h:
4173 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4174 anymore.
4175
41762008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4177
4178 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4179 always defined as int.
4180
4181 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4182 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4183 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4184 * s/freebsd.h (HAVE_WAIT_HEADER):
4185 * s/bsd-common.h (HAVE_UNION_WAIT):
4186 * s/aix4-2.h (HAVE_WAIT_HEADER):
4187 * m/mips.h (HAVE_UNION_WAIT):
4188 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4189 (COFF, static): Do not define, they are undefined later in the file.
4190
4191 * process.c (update_status): Don't use a union.
4192 (status_convert):
4193 (sigchld_handler): Use int instead of WAITTYPE.
4194
41952008-07-12 Chong Yidong <cyd@stupidchicken.com>
4196
4197 * indent.c (Fvertical_motion): Restore hscroll before moving to
4198 goal column.
4199
42002008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4201
4202 * lisp.h: Remove left over code.
4203
42042008-07-11 Andreas Schwab <schwab@suse.de>
4205
4206 * lisp.h: Fix logic in last change.
4207
4208 * menu.h: New file.
4209 * menu.c: Include it.
4210 * xmenu.c: Likewise.
4211 * Makefile.in: Update dependencies.
4212
42132008-07-11 Kenichi Handa <handa@m17n.org>
4214
4215 * fontset.c (fontset_from_font): Cancel the previous change.
4216
42172008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4218
4219 * lisp.h:
4220 * w32heap.c:
4221 * emacs.c:
4222 * alloc.c: Replace all references of NO_UNION_TYPE with
4223 USE_LISP_UNION_TYPE.
4224
4225 * m/xtensa.h (NO_UNION_TYPE):
4226 * m/vax.h (NO_UNION_TYPE):
4227 * m/template.h (NO_UNION_TYPE):
4228 * m/sparc.h (NO_UNION_TYPE):
4229 * m/mips.h (NO_UNION_TYPE):
4230 * m/macppc.h (NO_UNION_TYPE):
4231 * m/m68k.h (NO_UNION_TYPE):
4232 * m/iris4d.h (NO_UNION_TYPE):
4233 * m/intel386.h (NO_UNION_TYPE):
4234 * m/ibms390x.h (NO_UNION_TYPE):
4235 * m/ibms390.h (NO_UNION_TYPE):
4236 * m/ibmrs6000.h (NO_UNION_TYPE):
4237 * m/ia64.h (NO_UNION_TYPE):
4238 * m/hp800.h (NO_UNION_TYPE):
4239 * m/arm.h (NO_UNION_TYPE):
4240 * m/amdx86-64.h (NO_UNION_TYPE):
4241 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4242 defining it the same.
4243
42442008-07-10 Chong Yidong <cyd@stupidchicken.com>
4245
4246 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4247
42482008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4249
4250 * fileio.c:
4251 * sysdep.c
4252 * systty.h:
4253 * m/ibmrs6000.h:
4254 * m/iris4d.h:
4255 * s/aix4-2.h:
4256 * s/freebsd.h:
4257 * s/gnu-linux.h:
4258 * s/hpux10-20.h:
4259 * s/hpux11.h:
4260 * s/netbsd.h:
4261 * s/sol2-3.h:
4262 * s/sol2-4.h:
4263 * s/sol2.h:
4264 * s/usg5-4.h:
4265 * s/vms.h: Remove references to unused variables.
4266
42672008-07-10 Andreas Schwab <schwab@suse.de>
4268
4269 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4270 pattern before matching the generic family.
4271
42722008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4273
4274 * unexec.c:
4275 * s/vms.h:
4276 * s/usg5-4-2.h:
4277 * s/sol2-5.h:
4278 * s/freebsd.h:
4279 * s/darwin.h: Remove dead code.
4280
4281 * m/template.h:
4282 * m/sparc.h:
4283 * m/mips.h:
4284 * m/m68k.h:
4285 * m/iris4d.h:
4286 * m/intel386.h:
4287 * m/ibms390x.h:
4288 * m/ibms390.h:
4289 * m/ia64.h:
4290 * m/hp800.h:
4291 * m/arm.h:
4292 * m/amdx86-64.h: Remove dead code and references to unused
4293 and compiler defined symbols.
4294
4295 * unexmips.c:
4296 * unexelf.c: Remove references to desupported systems.
4297
4298 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4299
4300 * m/powermac.h: Remove boilerplate comments.
4301 (NO_REMAP): Remove unused definition.
4302
4303 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4304 define them.
4305
43062008-07-10 Kenichi Handa <handa@m17n.org>
4307
4308 * xfont.c (xfont_open): Log the reason of failure.
4309
43102008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4311
4312 * fontset.c (fontset_get_font_group):
4313 * font.c (font_check_otf): Specify argument types.
4314
43152008-07-09 Kenichi Handa <handa@m17n.org>
4316
4317 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4318 non-ASCII char is found.
4319
4320 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4321 (reorder_font_vector): Change the arg preferred_family to font.
4322 Prefer the spec matching with font.
4323 (fontset_get_font_group): New function.
4324 (fontset_find_font): Change the format of an element of a realized
4325 fontset. Use fontset_get_font_group.
4326 (fontset_font): Try the current fontset, the default fontset, the
4327 fallbacks of the current fontset, and the fallbacks of the default
4328 fontset in this order.
4329 (face_for_char): Delete the shortcut to use the current font.
4330 (fontset_from_font): Don't set fonts for Latin in the fontset.
4331
4332 * font.h (font_make_object, font_match_p): Adjust prototypes.
4333
4334 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4335
4336 * font.c (font_make_object): New arg entity and pixelsize.
4337 (font_check_otf_features, font_check_otf): New functions.
4338 (font_match_p): Check :lang, :script, and :otf properties.
4339
4340 * xfont.c (xfont_open): Adjust it for the change of
4341 font_make_object.
4342 (xfont_text_extents): Fix initial setting of metrics.
4343
4344 * ftfont.c (struct ftfont_info): New member index, delete member
4345 fc_charset_idx. Make the member order compatible with struct
4346 xftfont_info.
4347 (fc_charset_table): Change charset names to registry names.
4348 (ftfont_pattern_entity): Delete the args registry and
4349 fc_charset_idx. Change the value of :font-entity property
4350 to (FONTNAME . INDEX). Always set :registry property to
4351 `iso10646-1'.
4352 (struct ftfont_cache_data): New struct.
4353 (ftfont_lookup_cache): New arg for_face.
4354 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4355 (ftfont_driver): Set the member otf_capability.
4356 (ftfont_get_charset): Adjust it for the change of
4357 fc_charset_table.
4358 (OTF_TAG_SYM): New macro.
4359 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4360 for the change of fc_charset_table.
4361 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4362 ftfont_pattern_entity. Add FC_INDEX to objset.
4363 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4364 and ftfont_pattern_entity.
4365 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4366 font_make_object, struct ftfont_info.
4367 (ftfont_has_char): Use ftfont_get_fc_charset.
4368 (ftfont_otf_features, ftfont_otf_capability): New functions.
4369 (ftfont_shape): Use ftfont_get_otf.
4370 (ftfont_text_extents): Fix initial setting of metrics.
4371
4372 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4373 member order compatible with struct ftfont_info.
4374 (xftfont_open): Add FC_CHARSET to the pattern. Set
4375 xftfont_info->ft_size. Don't unlock the face. Check BDF
4376 properties if appropriate.
4377 (xftfont_close): Unlock the face.
4378 (xftfont_anchor_point, xftfont_shape): Deleted.
4379 (syms_of_xftfont): Don't set members anchor_point and shape of
4380 xftfont_driver.
4381
4382 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4383 font_make_object.
4384
4385 * w32font.c (w32font_open): Adjust it for the change of
4386 font_make_object.
4387 (w32font_open_internal): Don't set properties of font_object here.
4388
43892008-07-08 Chong Yidong <cyd@stupidchicken.com>
4390
4391 * macfns.c (x_create_tip_frame):
4392 * w32fns.c (x_create_tip_frame):
4393 * xfns.c (x_create_tip_frame): Pass parameter argument to
4394 face-set-after-frame-default.
4395
4396 * xfaces.c (Finternal_merge_in_global_face): Save merged
4397 attributes for the default face back into the face vector.
4398
43992008-07-08 Andreas Schwab <schwab@suse.de>
4400
4401 * fontset.h: Declare fontset_from_font. Don't declare
4402 new_fontset_from_font and fontset_from_font_name.
4403 * xterm.c: Include "fontset.h".
4404 * Makefile.in (xterm.o): Update dependencies.
4405
44062008-07-08 Glenn Morris <rgm@gnu.org>
4407
4408 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4409 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4410
44112008-07-07 Chong Yidong <cyd@stupidchicken.com>
4412
4413 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4414 (x_set_frame_parameters): Don't bind it.
4415
44162008-07-07 Juanma Barranquero <lekktu@gmail.com>
4417
4418 * w32fns.c (map_w32_filename): Declare extern.
4419
44202008-07-07 Jason Rumney <jasonr@gnu.org>
4421
4422 * w32term.c (WS_EX_LAYERED): Define if not already.
4423
44242008-07-06 Chong Yidong <cyd@stupidchicken.com>
4425
4426 * xfaces.c (set_font_frame_param): Don't try to set the font
4427 parameter if it is still unspecified in the lface.
4428
44292008-07-05 Chong Yidong <cyd@stupidchicken.com>
4430
4431 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4432 face if it didn't already exist.
4433
4434 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4435
44362008-07-05 Andreas Schwab <schwab@suse.de>
4437
4438 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4439
44402008-07-05 Chong Yidong <cyd@stupidchicken.com>
4441
4442 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4443 word-wrapping.
4444 (IT_DISPLAYING_WHITESPACE): New macro.
4445 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4446 when word-wrapping. Simplify word-wrapping logic. Use correct
4447 pixel positions when saving copies of the iterator.
4448 (display_line): Use proper wrap point if the last character on a
4449 line was preceded by whitespace.
4450
44512008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4452
4453 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4454
44552008-07-04 Kenichi Handa <handa@m17n.org>
4456
4457 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4458
4459 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4460
44612008-07-02 Jason Rumney <jasonr@gnu.org>
4462
4463 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4464 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4465
4466 * xdisp.c (next_element_from_display_vector): Move assignment out
4467 of if statement.
4468
44692008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4470
4471 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4472
4473 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4474 (syms_of_fileio): Initialize and export them.
4475 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4476
4477 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4478 (Fsystem_move_file_to_trash): New function.
4479 (syms_of_w32fns): Export it to lisp.
4480
44812008-07-01 Jason Rumney <jasonr@gnu.org>
4482
4483 * w32font.c (w32font_text_extents): Don't count overhang as part
4484 of width.
4485
44862008-06-30 Miles Bader <miles@gnu.org>
4487
4488 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4489 Add `avoid_cursor_p' field.
4490
4491 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4492 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4493 (append_glyph, append_composite_glyph, produce_image_glyph)
4494 (append_stretch_glyph): Initialize avoid_cursor_p.
4495 (get_it_property): Rename from `get_line_height_property'.
4496 (x_produce_glyphs): Use get_it_property.
4497 (handle_line_prefix, push_display_prop): New functions.
4498 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4499 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4500 New variables.
4501 (syms_of_xdisp): Initialize them.
4502
45032008-06-30 Kenichi Handa <handa@m17n.org>
4504
4505 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4506 XftDefaultSubstitute (they are called in XftFontMatch).
4507 (xftfont_open): Fix args to ftfont_font_format.
4508
4509 * ftfont.c (fc_charset_table): New member lang.
4510 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4511 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4512 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4513 (ftfont_open): Fix args to ftfont_font_format.
4514 (ftfont_font_format): New arg filename.
4515
45162008-06-30 Chong Yidong <cyd@stupidchicken.com>
4517
4518 * xfaces.c (Finternal_merge_in_global_face): If default face was
4519 modified, realize it again. Update the font face attribute.
4520
45212008-06-29 Jason Rumney <jasonr@gnu.org>
4522
4523 * w32term.c (x_set_frame_alpha): Fix logic.
4524
45252008-06-29 Kenichi Handa <handa@m17n.org>
4526
4527 * fontset.c (Finternal_char_font): Return font-object instead of
4528 font-name.
4529
4530 * composite.c (get_composition_id): Fix the width calculation for TAB.
4531
45322008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4533
4534 * indent.c (Fvertical_motion): Properly handle float column arg.
4535
45362008-06-28 Jason Rumney <jasonr@gnu.org>
4537
4538 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4539 (pfnSetLayeredWindowAttributes): New function pointer.
4540 (w32_initialize): Initialize it when supported.
4541 (x_set_frame_alpha): New function.
4542
4543 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4544 (w32_frame_parm_handlers): Set alpha handler.
4545
4546 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4547
45482008-06-27 Jason Rumney <jasonr@gnu.org>
4549
4550 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4551 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4552 (w32_to_x_charset, x_to_w32_charset)
4553 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4554 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4555 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4556 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4557 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4558 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4559 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4560 (Qw32_charset_unicode): Remove.
4561 (syms_of_w32fns): Update for above changes.
4562
4563 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4564 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4565 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4566 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4567 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4568 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4569 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4570 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4571 (syms_of_w32font): Update for above changes.
4572
45732008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4574
4575 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4576 removed #if.
4577 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4578
45792008-06-26 Juanma Barranquero <lekktu@gmail.com>
4580 Eli Zaretskii <eliz@gnu.org>
4581
4582 * makefile.w32-in (LOCAL_FLAGS):
4583 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4584
4585 * sysdep.c (_spawnlp, _getpid):
4586 Declare with explicit _cdecl instead of _CRTAPI1.
4587
4588 * editfns.c (Fget_internal_run_time):
4589 Check for WINDOWSNT with #ifdef, not #if.
4590
45912008-06-26 Jason Rumney <jasonr@gnu.org>
4592
4593 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4594
4595 * w32term.c (x_draw_glyph_string_foreground)
4596 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4597 Use FONT_HANDLE macro.
4598 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4599
4600 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4601 (uniscribe_encode_char): Use FONT_HANDLE macro.
4602
4603 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4604 (w32font_text_extents): Use precast w32_font.
4605 (w32font_close): Free cached metrics.
4606 (w32font_open_internal): Allocate space for name on stack.
4607
46082008-06-26 Chong Yidong <cyd@stupidchicken.com>
4609
4610 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4611
46122008-06-26 Jason Rumney <jasonr@gnu.org>
4613
4614 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4615 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4616
46172008-06-26 Juanma Barranquero <lekktu@gmail.com>
4618
4619 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4620
46212008-06-26 Jason Rumney <jasonr@gnu.org>
4622
4623 * w32bdf.c, w32bdf.h: Remove obsolete files.
4624
4625 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4626
4627 * w32gui.h: Don't include w32bdf.h.
4628 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4629 Remove obsolete font support.
4630
4631 * w32font.h (struct w32font_info): Remove compat_w32_font.
4632 Add hfont member.
4633 (FONT_COMPAT): Remove obsolete macro.
4634
4635 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4636 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4637 (w32font_open_internal): Remove compat code. Set new hfont member.
4638 (Fx_select_font): Use new hfont member.
4639
4640 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4641 (uniscribe_encode_char): Use new hfont member.
4642
4643 * w32term.c (x_draw_glyph_string_foreground)
4644 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4645 (x_draw_glyph_string): Use metrics in w32font_info.
4646
46472008-06-26 Kenichi Handa <handa@m17n.org>
4648
4649 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4650
46512008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4652
4653 * unexnext.c:
4654 * m/ews4800.h:
4655 * m/hp9000s300.h:
4656 * m/ibm370aix.h:
4657 * m/mips-siemens.h:
4658 * m/ncr386.h:
4659 * m/next.h:
4660 * m/pmax.h:
4661 * m/powerpcle.h:
4662 * m/tandem-s2.h:
4663 * s/386bsd.h:
4664 * s/bsd386.h:
4665 * s/bsd4-1.h:
4666 * s/bsd4-2.h:
4667 * s/bsdos2-1.h:
4668 * s/bsdos2.h:
4669 * s/bsdos3.h:
4670 * s/bsdos4.h:
4671 * s/nextstep.h:
4672 * s/ultrix4-3.h:
4673 * s/usg5-0.h:
4674 * s/usg5-2-2.h:
4675 * s/usg5-2.h:
4676 * s/usg5-4-3.h:
4677 * s/ux4800.h:
4678 * s/uxpds.h:
4679 * s/uxpv.h: Remove support for obsolete systems.
4680 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4681 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4682 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4683 Remove, insert contents in s/aix4-2.h.
4684 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4685 * s/bsd4-3.h: Rename to ...
4686 * s/bsd-common.h: ... this.
4687 * data.c:
4688 * doc.c:
4689 * ecrt0.c:
4690 * emacs.c:
4691 * fileio.c:
4692 * floatfns.c:
4693 * keyboard.c:
4694 * mem-limits.h:
4695 * print.c:
4696 * process.c:
4697 * sysdep.c:
4698 * syssignal.h:
4699 * systty.h:
4700 * syswait.h:
4701 * term.c:
4702 * unexec.c:
4703 * unexelf.c:
4704 * unexhp9k800.c:
4705 * m/hp800.h:
4706 * m/ibmrs6000.h:
4707 * m/mips.h:
4708 * m/vax.h:
4709 * s/darwin.h:
4710 * s/freebsd.h:
4711 * s/gnu.h:
4712 * s/ms-w32.h:
4713 * s/msdos.h:
4714 * s/netbsd.h:
4715 * s/template.h: Remove references to obsolete variables.
4716
4717 * Makefile.in: Add dependencies for all unexec files.
4718 (admindir): Remove unused variable.
4719 (UNEXEC_SRC): Remove references.
4720
47212008-06-25 Chong Yidong <cyd@stupidchicken.com>
4722
4723 * xfns.c (x_default_font_parameter): If Xft is available, first
4724 try Monospace-12 for the default font.
4725
47262008-06-25 Jason Rumney <jasonr@gnu.org>
4727
4728 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4729
47302008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4731
4732 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4733
4734 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4735
47362008-06-25 Juanma Barranquero <lekktu@gmail.com>
4737
4738 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4739 <scroll-conservatively>: Fix typo in docstring.
4740
4741 * xselect.c (Fx_send_client_event): Doc fix.
4742
47432008-06-25 Kenichi Handa <handa@m17n.org>
4744
4745 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4746
4747 * font.c (font_parse_fcname): Remove unused variables.
4748 (font_sort_entites): Delete the arg SPEC. Caller changed.
4749 Fix for the case of ! best_only.
4750 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4751
4752 * lisp.h (Fstring_to_unibyte): EXFUN it.
4753
4754 * character.h (str_to_unibyte): Extern it.
4755
4756 * character.c (str_to_unibyte): New function.
4757
4758 * fns.c (Fstring_to_unibyte): New function.
4759 (syms_of_fns): Defsubr it.
4760
47612008-06-24 Kenichi Handa <handa@m17n.org>
4762
4763 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4764 DPI too.
4765 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4766
47672008-06-24 Andreas Schwab <schwab@suse.de>
4768
4769 * Makefile.in (${lispsource}loaddefs.el): Rename from
4770 ../lisp/loaddefs.el.
4771 (bootstrap-clean): Do what distclean does but don't remove
4772 Makefile.
4773 (distclean): Depend on bootstrap-clean and remove Makefile.
4774
47752008-06-24 Chong Yidong <cyd@stupidchicken.com>
4776
4777 * buffer.h (struct buffer): New member word_wrap.
4778
4779 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4780 word-wrap.
4781 (init_buffer_once): Initialize them.
4782
4783 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4784 line_wrap enum possessing three possible values.
4785
4786 * termopts.h: Replace truncate_partial_width_windows with
4787 Vtruncate_partial_width_windows.
4788
4789 * dispnew.c (direct_output_for_insert): Avoid direct output when
4790 inserting a space with word wrap on.
4791
4792 * indent.c (compute_motion): Obey integer values of
4793 truncate-partial-width-windows.
4794
4795 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4796 replacing truncate_partial_width_windows.
4797 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4798 truncate only if the window width is below that integer.
4799 (start_display, resize_mini_window, produce_stretch_glyph)
4800 (display_string, move_it_in_display_line_to): Use line_wrap.
4801 (back_to_previous_visible_line_start, reseat_1): Reset
4802 string_from_display_prop_p.
4803 (display_line): Extend default face to end of line when wrapping.
4804
48052008-06-24 Kim F. Storm <storm@cua.dk>
4806
4807 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4808 to wrap continued lines at word boundaries.
4809
48102008-06-24 Jason Rumney <jasonr@gnu.org>
4811
4812 * font.c (Ffont_face_attributes): Multiply pixel size before point
4813 conversion to avoid multiplying rounding error.
4814
48152008-06-23 Jason Rumney <jasonr@gnu.org>
4816
4817 * w32term.c (x_draw_glyph_string_background)
4818 (x_draw_glyph_string): Remove old bdf font code.
4819
4820 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4821
48222008-06-22 Kenichi Handa <handa@m17n.org>
4823
4824 * font.c (font_find_for_lface): Try the adstyle specified in
4825 the property of LFACE_FONT of LFACE (if any).
4826
48272008-06-21 Seiji Zenitani <zenitani@mac.com>
4828 Ryo Yoshitake <ryo@shiftmode.net>
4829
4830 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4831
48322008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4833
4834 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4835 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4836 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4837 (witness-emacs): Remove.
4838 (lisp, shortlisp): Move loaddefs.el earlier.
4839 (mostlyclean): Forget about witness-emacs.
4840
48412008-06-22 Glenn Morris <rgm@gnu.org>
4842
4843 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4844 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4845
48462008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4847
4848 * Makefile.in (PRECOMP): Remove.
4849 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4850 (witness-emacs): Run `compile-first'.
4851 (.el.elc): Use the new compile-onefile target.
4852
48532008-06-21 Kenichi Handa <handa@m17n.org>
4854
4855 * xftfont.c (xftfont_open): Handle QCembolden only when
4856 FC_EMBOLDEN is defined.
4857
48582008-06-21 Andreas Schwab <schwab@suse.de>
4859
4860 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4861 (.el.elc): Likewise.
4862
48632008-06-21 Miles Bader <miles@gnu.org>
4864
4865 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4866 build dir, not the lisp source dir.
4867
48682008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4869
4870 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4871 (bootstrapclean): Remove.
4872 (.el.elc): New rule.
4873 (PRECOMP): New var.
4874 (../lisp/subdirs.el): Remove.
4875 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4876 (witness-emacs): New target.
4877 (mostlyclean): Remove witness-emacs as well.
4878 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4879 Add witness-emacs dependency.
4880
48812008-06-20 Chong Yidong <cyd@stupidchicken.com>
4882
4883 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4884 defined by the font.
4885
48862008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4887
4888 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4889 (bootstrap-clean): New target that keeps TAGS around.
4890 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4891 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4892
48932008-06-20 Jason Rumney <jasonr@gnu.org>
4894
4895 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4896 Remove obsolete font code.
4897
4898 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4899 to determine language support.
4900
49012008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4902
4903 * sysdep.c (cfsetspeed): New fun extracted from the code.
4904 (cfmakeraw): Move before first use.
4905
49062008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4907
4908 * sysdep.c (cfmakeraw): Provide fallback implementation.
4909 (serial_configure): Provide fallback implementation of cfsetspeed.
4910
49112008-06-20 Kenichi Handa <handa@m17n.org>
4912
4913 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4914 the pattern.
4915
4916 * fontset.c (fontset_from_font): Copy font_spec before changing
4917 the elements.
4918
4919 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4920
49212008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4922
4923 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4924 for explicit `font' parameters.
4925
4926 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4927
49282008-06-19 Kenichi Handa <handa@m17n.org>
4929
4930 * frame.c: Include <ctype.h>.
4931 (x_set_font_backend): Allow spacing characters in the X resource
4932 for FontBackend.
4933
49342008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4935
4936 * w32fns.c, xfns.c (Qfont_param): New var.
4937 (syms_of_w32fns): Initialize it.
4938 (x_default_font_parameter): Record explicit `font' into
4939 `font-parameter'.
4940
49412008-06-18 Kenichi Handa <handa@m17n.org>
4942
4943 * font.c (font_parse_xlfd): Fix previous change.
4944 (font_parse_fcname): Don't use :fc-unknown-spec.
4945 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4946 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4947 (font_add_log): Prepend the driver name to the resulting fonts.
4948
4949 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4950 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4951 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4952
4953 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4954 (QCembolden): New variables.
4955 (syms_of_xftfont): DEFSYM them.
4956 (xftfont_open): Call XftFontMatch. Don't trust the result of
4957 XftTextExtents8 if the pixel_size is less than 5.
4958
49592008-06-18 Andreas Schwab <schwab@suse.de>
4960
4961 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4962 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4963
49642008-06-18 Jason Rumney <jasonr@gnu.org>
4965
4966 * w32font.c (w32font_list, w32font_match): Add logging.
4967
4968 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4969
49702008-06-17 Chong Yidong <cyd@stupidchicken.com>
4971
4972 * font.c (font_parse_fcname): Store divider characters for
4973 unknown-spec list. For known key symbols, intern using correct
4974 symbol name.
4975
49762008-06-17 Kenichi Handa <handa@m17n.org>
4977
4978 * xfaces.c (realize_default_face): If the frame is not on window
4979 system, set the fontset of face to nil.
4980
49812008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4982
4983 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4984
49852008-06-16 Juanma Barranquero <lekktu@gmail.com>
4986
4987 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4988 (build_font_name_from_vector): Delete externs.
4989
4990 * xfaces.c (struct font_name): Don't declare.
4991
49922008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4993
4994 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4995
49962008-06-16 Chong Yidong <cyd@stupidchicken.com>
4997
4998 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4999
50002008-06-16 Juanma Barranquero <lekktu@gmail.com>
5001
5002 * font.c (Ffont_spec): Fix usage in docstring.
5003 (Ffont_face_attributes): Doc fix.
5004
50052008-06-16 Andreas Schwab <schwab@suse.de>
5006
5007 * font.c (Ffont_face_attributes): Fix definition.
5008
50092008-06-16 Jason Rumney <jasonr@gnu.org>
5010
5011 * font.h (font_style_symbolic_from_value): Remove.
5012
5013 * font.c (font_style_symbolic_from_value): Remove.
5014 (font_style_symbolic): Revert to pre 2008-06-13 version.
5015
5016 * w32font.c (w32_to_fc_weight): New function.
5017 (w32font_full_name, logfont_to_fcname): Use it.
5018
50192008-06-16 Kenichi Handa <handa@m17n.org>
5020
5021 * font.c (font_check_object): Delete it.
5022 (font_clear_cache): Check if a font-object is alive.
5023 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
5024 font-object to nil.
5025 (font_close_object): Don't check FONT_CLOSE_OBJECT.
5026 (font_at): Don't call font_check_object.
5027 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5028
50292008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
5030
5031 * puresize.h (BASE_PURESIZE): Increase to 1230000.
5032
50332008-06-16 Chong Yidong <cyd@stupidchicken.com>
5034
5035 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
5036
50372008-06-15 Chong Yidong <cyd@stupidchicken.com>
5038
5039 * font.c (font_parse_fcname): Only one decimal point.
5040 (font_unparse_fcname): Handle data in family and foundry indices
5041 as symbols, not strings.
5042 (font_unparse_gtkname, Ffont_face_attributes): New functions.
5043
5044 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
5045
5046 * font.h (font_unparse_gtkname): Add prototype.
5047
50482008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5049
5050 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
5051
50522008-06-15 Andreas Schwab <schwab@suse.de>
5053
5054 * font.c (font_update_drivers): Fix crash when no drivers match.
5055
50562008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5057
5058 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5059 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5060
50612008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5062
5063 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5064
50652008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5066
5067 * process.c (Fserial_process_configure, Fprocess_send_eof):
5068 Use EQ to compare Lisp_Objects.
5069
50702008-06-13 Jason Rumney <jasonr@gnu.org>
5071
5072 * w32fns.c (Fw32_select_font): Remove old font API function.
5073
5074 * w32font.c (logfont_to_fcname): New function.
5075 (Fx_select_font): New font dialog function compatible with
5076 GTK/fontconfig version.
5077
5078 * font.c (font_style_symbolic_from_value): New function.
5079 (font_style_symbolic): Use it.
5080
5081 * font.h (font_style_symbolic_from_value): Declare new function.
5082
50832008-06-13 Juanma Barranquero <lekktu@gmail.com>
5084
5085 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5086 <font-width-table>: Fix typos in docstrings.
5087
50882008-06-13 Daniel Engeler <engeler@gmail.com>
5089
5090 These changes add serial port access.
5091 * process.c: Add HAVE_SERIAL.
5092 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5093 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5094 (list_processes_1, select_wrapper, Fstop_process)
5095 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5096 (status_notify): Modify to handle serial processes.
5097 [HAVE_SERIAL] (Fserial_process_configure)
5098 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5099 New functions.
5100 * process.h (struct Lisp_Process): Add `type'.
5101 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5102 New functions.
5103 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5104 serial ports.
5105 (serial_open, serial_configure) New functions.
5106 * w32.h: Add FILE_SERIAL.
5107 (struct _child_process): Add ovl_read, ovl_write.
5108
51092008-06-13 Kenichi Handa <handa@m17n.org>
5110
5111 * dispextern.h (enum lface_attribute_index): New member
5112 LFACE_FOUNDRY_INDEX.
5113
5114 * font.c (font_score): Delete arg alternate_families. Check only
5115 weight, slant, width, and size. Ignore the difference of alias
5116 style symbols.
5117 (font_sort_entites): Adjust for the above change. Reflect the
5118 order of font-driver to scores.
5119 (font_list_entities): Don't check alternate_familes here.
5120 (font_clear_prop): Handle foundry.
5121 (font_update_lface): Don't parse "foundry-family" form here.
5122 Handle FONT_FOUNDRY_INDEX.
5123 (font_find_for_lface): Likewise. Handle alternate families here.
5124 If registry is nil, try iso8859-1 and ascii-0.
5125 (font_open_for_lface): Pay attention to size in ENTITY.
5126 (font_open_by_name): Simplify by calling font_load_for_lface.
5127 (free_font_driver_list): Delete it.
5128 (font_update_drivers): Preserve the order of backends.
5129 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5130 of font_score and font_sort_entites.
5131 (font_update_sort_order): Likewise.
5132
5133 * xfaces.c (LFACE_FOUNDRY): New macro.
5134 (check_lface_attrs): Check foundry.
5135 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5136 (merge_face_vectors): Check foundry.
5137 (merge_face_ref): Likewise.
5138 (Finternal_set_lisp_face_attribute): Likewise.
5139 (x_update_menu_appearance): Likewise.
5140 (Finternal_get_lisp_face_attribute): Likewise.
5141 (lface_hash): Likewise.
5142 (lface_same_font_attributes_p): Likewise.
5143 (x_supports_face_attributes_p): Likewise.
5144 (tty_supports_face_attributes_p): Likewise.
5145 (Finternal_set_alternative_font_family_alist): Intern strings.
5146 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5147 (realize_default_face): Set LFACE_FOUNDRY (lface).
5148
5149 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5150 font-driver at first.
5151
5152 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5153
51542008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5155
5156 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5157
51582008-06-12 Jim Meyering <meyering@redhat.com>
5159
5160 Make unexec_free handle NULL the same way free does.
5161 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5162
51632008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5164
5165 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5166 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5167 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5168 (WEAK_ALIAS): Simplify.
5169 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5170 when searching a unibyte buffer.
5171
51722008-06-12 Chong Yidong <cyd@stupidchicken.com>
5173
5174 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5175
51762008-06-12 Juanma Barranquero <lekktu@gmail.com>
5177
5178 * w32font.c: Include ctype.h.
5179
51802008-06-11 Jason Rumney <jasonr@gnu.org>
5181
5182 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5183 misreported as space.
5184 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5185 as aliases for registry iso10646-1.
5186
51872008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5188
5189 * buffer.c (clone_per_buffer_values): Skip `name'.
5190
51912008-06-11 Chong Yidong <cyd@stupidchicken.com>
5192
5193 * font.c (font_parse_fcname): Fix last change; accept decimal
5194 points in font size.
5195
51962008-06-10 Jason Rumney <jasonr@gnu.org>
5197
5198 * w32uniscribe.c (add_opentype_font_name_to_list):
5199 Skip non unicode fonts.
5200
52012008-06-10 Chong Yidong <cyd@stupidchicken.com>
5202
5203 * xfns.c (Fx_font_dialog): New function.
5204
5205 * gtkutil.c (xg_dialog_response_cb): Rename from
5206 xg_file_response_callback.
5207 (pop_down_dialog): Rename from pop_down_file_dialog.
5208 (xg_get_file_name): Callers changed.
5209 (xg_get_font_name): New function.
5210
5211 * gtkutil.h (xg_get_font_name): Insert prototype.
5212
52132008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5214
5215 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5216 x_underline_minimum_display_offset.
5217 (syms_of_xdisp): Declare it here rather than in xterm.c.
5218 * dispextern.h (underline_minimum_offset): Declare it.
5219 * w32term.c (x_draw_glyph_string): Use it.
5220 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5221 (syms_of_xterm): Don't declare it any more.
5222 (x_draw_glyph_string): Adjust to the new name.
5223
52242008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5225
5226 * xterm.c (x_underline_minimum_display_offset): New var.
5227 (x_draw_glyph_string): Use it.
5228 (syms_of_xterm): Declare it.
5229
52302008-06-10 Chong Yidong <cyd@stupidchicken.com>
5231
5232 * font.c (font_parse_fcname): Accept GTK-style font names too.
5233
52342008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5235
5236 * dired.c (file_name_completion): Don't return t if the match is exact
5237 but with different capitalization.
5238 * minibuf.c (Ftry_completion): Simplify.
5239
5240 * window.c (Vwindow_point_insertion_type): New var.
5241 (set_window_buffer): Use it.
5242 (syms_of_window): Init and export it to Lisp.
5243
52442008-06-10 Kenichi Handa <handa@m17n.org>
5245
5246 * font.h (font_intern_prop): Prototype adjusted.
5247
5248 * font.c (font_intern_prop): New arg force_symbol.
5249 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5250 Adjust for the change of font_intern_prop.
5251
5252 * ftfont.c (ftfont_pattern_entity):
5253 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5254 (w32_registry):
5255 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5256 the change of font_intern_prop.
5257
52582008-06-09 Juanma Barranquero <lekktu@gmail.com>
5259
5260 * w32menu.c (digest_single_submenu): Declare extern.
5261
52622008-06-09 Jason Rumney <jasonr@gnu.org>
5263
5264 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5265
5266 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5267 (parse_single_submenu): Remove.
5268 (digest_single_submenu): Remove.
5269 (syms_of_w32menu): Don't initialise variables that have moved
5270 to menu.c.
5271 (set_frame_menubar): Sync with version in xmenu.c.
5272 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5273
5274 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5275 Make static again.
5276
52772008-06-09 Jason Rumney <jasonr@gnu.org>
5278
5279 Changes to w32 files related to the move of common menu code
5280 to menu.c on 2008-06-08 by Chong Yidong.
5281
5282 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5283 defs to w32gui.h.
5284 (single_keymap_panes, push_menu_item, push_menu_pane):
5285 Make globally visible.
5286
5287 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5288 (local_free, malloc_widget_value, free_widget_value)
5289 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5290 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5291 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5292 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5293 (menu_items, menu_items_allocated, menu_items_used)
5294 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5295 (init_menu_items, finish_menu_items, discard_menu_items)
5296 (grow_menu_items, push_submenu_start, push_submenu_end)
5297 (push_left_right_boundary, push_menu_pane, push_menu_item)
5298 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5299 (free_menubar_widget_tree_value, parse_single_submenu)
5300 (update_submenu_strings): Remove functions.
5301 (xmalloc_widget_value): Remove and declare extern.
5302
5303 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5304 (OBJ1): Build it.
5305
5306 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5307 (local_heap, local_alloc, local_free, malloc_widget_value)
5308 (free_widget_value): Define here.
5309
53102008-06-09 Kenichi Handa <handa@m17n.org>
5311
5312 * font.h (Qascii_0): Extern it.
5313
5314 * font.c (Qascii_0): New variable.
5315 (syms_of_font): DEFSYM it.
5316 (font_open_by_name): If the registry "iso8859-1" fails, try also
5317 "ascii-0".
5318
5319 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5320
53212008-06-08 Kenichi Handa <handa@m17n.org>
5322
5323 * .gdbinit (xfont): New command.
5324
53252008-06-08 Andreas Schwab <schwab@suse.de>
5326
5327 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5328 * Makefile.in (menu.o): Update dependencies.
5329
5330 * Makefile.in (obj): Always add menu.o.
5331 * emacs.c (main): Always call syms_of_menu.
5332 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5333
53342008-06-08 Chong Yidong <cyd@stupidchicken.com>
5335
5336 * Makefile.in: Compile menu.c.
5337
5338 * lisp.h: Declare syms_of_menu.
5339
5340 * emacs.c (main): Call syms_of_menu.
5341
5342 * keyboard.h: Relocate platform-independent menu definitions from
5343 xmenu.c.
5344
5345 * menu.c: New file. Relocate platform-independent menu
5346 definitions from xmenu.c. Suggested by Adrian Robert.
5347
5348 * xmenu.c: Remove platform-independent menu definitions.
5349 (menu_items menu_items_inuse, menu_items_allocated)
5350 (menu_items_used, menu_items_n_panes)
5351 (menu_items_submenu_depth): Move to keyboard.h.
5352 (init_menu_items, finish_menu_items, unuse_menu_items)
5353 (discard_menu_items, restore_menu_items, save_menu_items)
5354 (grow_menu_items, push_submenu_start, push_submenu_end)
5355 (push_left_right_boundary, push_menu_pane, push_menu_item)
5356 (keymap_panes, single_keymap_panes, single_menu_item)
5357 (list_of_panes, list_of_items, find_and_call_menu_selection)
5358 (xmalloc_widget_value, free_menubar_widget_value_tree)
5359 (parse_single_submenu, digest_single_submenu)
5360 (update_submenu_strings): Move to menu.c.
5361
53622008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5363
5364 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5365
53662008-06-06 Miles Bader <miles@gnu.org>
5367
5368 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5369 face, not frame default.
5370
53712008-06-05 Martin Rudalics <rudalics@gmx.at>
5372
5373 * window.c (pop_up_windows, pop_up_frames)
5374 (display_buffer_reuse_frames, Vpop_up_frame_function)
5375 (Vdisplay_buffer_function, Veven_window_heights)
5376 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5377 (Vspecial_display_function, Vsame_window_buffer_names)
5378 (Vsame_window_regexps, split_height_threshold)
5379 (Vsplit_window_preferred_function): Move those vars to window.el.
5380 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5381 (Fdisplay_buffer): Move those functions to window.el.
5382 (syms_of_window): Remove corresponding declarations.
5383 (display_buffer): New function.
5384 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5385 * dispnew.c (Flast_nonminibuf_frame): New function.
5386 * buffer.c (Fpop_to_buffer): Move to window.el.
5387
53882008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5389
5390 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5391
53922008-06-05 Kenichi Handa <handa@m17n.org>
5393
5394 * coding.c (detect_coding): Fix previous change.
5395 (detect_coding_system): Likewise.
5396
53972008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5398
5399 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5400
5401 * keymap.c (Vminibuffer_local_filename_must_match_map):
5402 Rename from Vminibuffer_local_must_match_filename_map.
5403 (syms_of_keymap):
5404 * minibuf.c (Fcompleting_read): Adjust accordingly.
5405 * commands.h: Rename declaration as well.
5406
54072008-06-05 Kenichi Handa <handa@m17n.org>
5408
5409 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5410 family name.
5411 (Ffont_put): Likewise.
5412
5413 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5414 current font-spec.
5415
5416 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5417 is unspecified.
5418
5419 * xfaces.c (realize_x_face): If the font-related face attributes
5420 are the same as those of default face, realize a new fontset from
5421 default->fontset.
5422 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5423
54242008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5425
5426 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5427 (move_it_in_display_line): New wrapper.
5428
5429 * window.c (window_scroll_pixel_based_preserve_x)
5430 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5431 (window_scroll_pixel_based, window_scroll_line_based):
5432 Use them to preserve column positions.
5433 (syms_of_window): Initialize them.
5434
5435 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5436 (HPOS . VPOS) pair.
5437
5438 * dispextern.h (move_it_in_display_line): Declare.
5439
54402008-06-05 Juanma Barranquero <lekktu@gmail.com>
5441
5442 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5443 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5444 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5445
54462008-06-04 Juanma Barranquero <lekktu@gmail.com>
5447
5448 * window.c (Fset_window_parameter): Doc fix.
5449 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5450
54512008-06-04 Joakim Verona <joakim@verona.se>
5452
5453 * window.h (struct window): Add new member window_parameters.
5454
5455 * window.c (Fwindow_parameters, Fwindow_parameter)
5456 (Fset_window_parameter): New defuns.
5457 (syms_of_window): Defsubr the new defuns.
5458 (make_window): Initialize window_parameters to nil.
5459
54602008-06-04 John Paul Wallington <jpw@pobox.com>
5461
5462 * eval.c (Fdefmacro): Doc fix.
5463
54642008-06-04 Kenichi Handa <handa@m17n.org>
5465
5466 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5467 Be sure to call setup_coding_system when we find a proper coding system.
5468 (detect_coding_system): Fix handling of coding->head_ascii.
5469
54702008-06-03 Andreas Schwab <schwab@suse.de>
5471
5472 * font.c (font_prop_validate_spacing): Fix last change.
5473
54742008-06-03 Kenichi Handa <handa@m17n.org>
5475
5476 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5477 (font_parse_fcname): Fix handling of unknown key.
5478
5479 * xfont.c (xfont_list): Try an alias.
5480
5481 * charset.c (char_charset): Return NULL if the arg charset_list is
5482 specified and C doesn't belong to any of them.
5483
54842008-06-02 Chip Coldwell <coldwell@redhat.com>
5485
5486 * font.c (font_pixel_size): Don't take cdr of an integer.
5487
54882008-06-02 Jim Meyering <meyering@redhat.com>
5489
5490 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5491 * alloc.c (xfree): Return right away for a NULL arg.
5492 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5493 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5494 * mac.c (create_apple_event_from_event_ref): Likewise.
5495 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5496 Likewise.
5497 * doprnt.c (doprnt1): Likewise.
5498 * frame.c (frame): Likewise.
5499 * keyboard.c (wipe_kboard): Likewise.
5500 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5501 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5502 * term.c (tty_default_color_capabilities, maybe_fatal)
5503 (delete_tty): Likewise.
5504 * w16select.c (string): Likewise.
5505 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5506 * w32bdf.c (w32_free_bdf_font): Likewise.
5507 * w32fns.c (w32_unload_font): Likewise.
5508 * w32font.c (w32font_close): Likewise.
5509 * window.c (size_window): Likewise.
5510 * xselect.c (receive_incremental_selection): Likewise.
5511 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5512 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5513 * w32.c (stat): Likewise.
5514
5515 Remove useless if-before-free tests.
5516 * editfns.c (Fset_time_zone_rule): Likewise.
5517 * lread.c (nosuffix): Likewise.
5518 * ralloc.c (get_bloc): Likewise.
5519 * regex.c (reg_free): Likewise.
5520 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5521 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5522 * xsmfns.c (smc_save_yourself_CB): Likewise.
5523
55242008-06-02 Kenichi Handa <handa@m17n.org>
5525
5526 * font.c (font_find_for_lface): Handle float font size.
5527 (font_open_for_lface): Likewise.
5528
5529 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5530 comparing the properties.
5531
55322008-06-01 Jason Rumney <jasonr@gnu.org>
5533
5534 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5535 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5536 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5537 Don't add empty script list.
5538 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5539
55402008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5541
5542 * Makefile.in (dot, dotdot): Remove, update users.
5543 ".." has been used elsewhere in the file for a long time.
5544 (LIBXT_STATIC): Remove conditional based on unused variable.
5545
55462008-06-01 Miles Bader <miles@gnu.org>
5547
5548 * xfaces.c (Vface_remapping_alist): New variable.
5549 (syms_of_xfaces): Initialize it.
5550 (enum named_merge_point_kind): New type.
5551 (struct named_merge_point): Add `named_merge_point_kind' field.
5552 (push_named_merge_point): Make cycle detection respect different
5553 named-merge-point kinds.
5554 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5555 Remove face-name alias resolution.
5556 (lface_from_face_name): New definition using
5557 `lface_from_face_name_no_resolve'.
5558 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5559 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5560 (get_lface_attributes): New definition that layers face-remapping on
5561 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5562 (lookup_basic_face): New function.
5563 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5564 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5565 `get_lface_attributes'.
5566 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5567 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5568 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5569
5570 * xdisp.c (init_iterator): Pass base_face_id through
5571 `lookup_basic_face' when we actually use it as a face-id.
5572 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5573 DEFAULT_FACE_ID.
5574
5575 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5576 lookup the initial face-id.
5577
5578 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5579
55802008-06-01 Juanma Barranquero <lekktu@gmail.com>
5581
5582 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5583 (Fremove_text_properties): Fix typos in docstrings.
5584
55852008-05-31 Kenichi Handa <handa@m17n.org>
5586
5587 * font.c (font_list_entities): Fix the car part of data to be
5588 stored in the cache.
5589
5590 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5591
55922008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5593
5594 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5595 Add a `test' argument so another predicate than `equal' can be used.
5596 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5597 (map_char_table): Remove unused vars `c' and `i'.
5598 * lisp.h (Foptimize_char_table): Adjust declaration.
5599 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5600
56012008-05-30 Kenichi Handa <handa@m17n.org>
5602
5603 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5604 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5605 defined.
5606
56072008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5608
5609 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5610 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5611 frame-local settings for the same variable.
5612
56132008-05-30 Kenichi Handa <handa@m17n.org>
5614
5615 * fontset.c (Ffont_info): Move to font.c.
5616 (syms_of_fontset): Delete defsubr of Sfont_info.
5617
5618 * font.c (font_style_to_value, font_score): Delete casting of the
5619 args to xstcasecmp.
5620 (register_font_driver): Increment num_font_drivers only when
5621 registering the driver globally.
5622 (Ffont_info): Move from fontset.c. Handle a font object too.
5623 (syms_of_font): Defsubr Sfont_info.
5624
56252008-05-29 Kenichi Handa <handa@m17n.org>
5626
5627 * coding.h (enum define_coding_utf8_arg_index): New enum.
5628 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5629 coding_attr_utf_bom.
5630 (enum utf_bom_type): Rename from utf_16_bom_type.
5631 (struct utf_16_spec): Adjust for the above change.
5632 (struct coding_system): Add utf_8_bom in `spec' union.
5633
5634 * coding.c (CODING_UTF_8_BOM): New macro.
5635 (enum coding_category): Delete coding_category_utf_8, add
5636 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5637 coding_category_utf_8_sig.
5638 (CATEGORY_MASK_UTF_8): Delete it.
5639 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5640 (CATEGORY_MASK_UTF_8_SIG): New macros.
5641 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5642 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5643 CATEGORY_MASK_UTF_8_SIG.
5644 (CATEGORY_MASK_UTF_8): New macro.
5645 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5646 (detect_coding_utf_8): Check BOM.
5647 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5648 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5649 (encode_coding_utf_16): Likewise.
5650 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5651 (detect_coding, detect_coding_system): Handle utf-8-auto.
5652 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5653 (syms_of_coding): Fix setting up of Vcoding_category_table.
5654
56552008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5656
5657 * process.c (Faccept_process_output): If `millisec' is non-nil,
5658 `seconds' default to 0.
5659 (wait_reading_process_output): Also return non-nil if we read output
5660 from a non-running process.
5661
56622008-05-29 Jason Rumney <jasonr@gnu.org>
5663
5664 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5665 `raster' specified.
5666 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5667 in the uniscribe backend, but disallow any font that has no
5668 unicode subrange support.
5669
56702008-05-29 Juanma Barranquero <lekktu@gmail.com>
5671
5672 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5673 Fix typos in docstrings.
5674
56752008-05-29 Kenichi Handa <handa@m17n.org>
5676
5677 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5678 (Fx_family_fonts): Set frame correctly.
5679
56802008-05-28 Jason Rumney <jasonr@gnu.org>
5681
5682 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5683
56842008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5685
5686 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5687 calling build_annotations.
5688
56892008-05-28 Juanma Barranquero <lekktu@gmail.com>
5690
5691 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5692 (Fencode_coding_string):
5693 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5694 <latin-extra-code-table>: Fix typos in docstrings.
5695 (syms_of_coding) <coding-system-alist>: Doc fix.
5696 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5697
56982008-05-28 Kenichi Handa <handa@m17n.org>
5699
5700 * fontset.c (Ffont_info): Don't call font_close_object.
5701
5702 * font.c (font_parse_family_registry): Use Ffont_put to validate
5703 foundry and family.
5704 (font_delete_unmatched): Don't check spacing.
5705 (font_list_entities): Add spacing to the spec to list fonts.
5706
5707 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5708 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5709
5710 * coding.c (encode_coding_raw_text): Fix previous change.
5711 (encode_coding_object): When the dst_object is a buffer and is
5712 different from src_object, move gap to PT.
5713
57142008-05-27 Chong Yidong <cyd@stupidchicken.com>
5715
5716 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5717
57182008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5719
5720 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5721 all branches. Compute it differently.
5722
5723 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5724
57252008-05-27 Juanma Barranquero <lekktu@gmail.com>
5726
5727 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5728 into "else if () ... else ...".
5729
57302008-05-27 Jason Rumney <jasonr@gnu.org>
5731
5732 * w32font.c (w32font_open_internal): Determine if glyph indices
5733 are likely to work here.
5734
57352008-05-27 Chong Yidong <cyd@stupidchicken.com>
5736
5737 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5738 draw overlap glyphs with appropriate highlighting.
5739
57402008-05-27 Kenichi Handa <handa@m17n.org>
5741
5742 * xfont.c (xfont_open): Fix calculation of font->average_width.
5743
57442008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5745
5746 * casefiddle.c (casify_object): Try to guess better whether the
5747 argument is a byte or a char.
5748
57492008-05-26 Andreas Schwab <schwab@suse.de>
5750
5751 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5752 Always send multiples of format size.
5753
5754 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5755
57562008-05-26 Jason Rumney <jasonr@gnu.org>
5757
5758 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5759 (compute_metrics): Don't set failure if we just cleared the cache.
5760 (w32_weight_table): Remove unused variable.
5761 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5762 backwards compatibility.
5763
57642008-05-25 Kenichi Handa <handa@m17n.org>
5765
5766 * w32term.c (x_draw_glyph_string):
5767 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5768
5769 * xfaces.c: Delete unused function prototypes.
5770 (xstrlwr, font_frame): Delete them.
5771 (clear_face_cache): Delete unused variable.
5772
5773 * xftfont.c (xftfont_open): Delete unused variable.
5774 If underline_thickness is not 1, adjust underline_position.
5775
5776 * ftxfont.c (ftxfont_open): Delete unused variable.
5777
5778 * fontset.c (face_for_char): Optimize for the case of no charset
5779 property.
5780
5781 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5782 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5783 (otf_open, font_otf_capability, generate_otf_features)
5784 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5785 Comment out by surrounding "#if 0" and "#endif" for the moment.
5786 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5787 (syms_of_font): Codes for accessing above commented out.
5788
57892008-05-24 Eli Zaretskii <eliz@gnu.org>
5790
5791 * w32proc.c: Include dispextern.h.
5792
5793 * w32.c: Include dispextern.h.
5794
57952008-05-23 Juanma Barranquero <lekktu@gmail.com>
5796
5797 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5798 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5799 Fix typos in docstrings.
5800
58012008-05-23 Jason Rumney <jasonr@gnu.org>
5802
5803 * xsmfns.c: Remove includes that are already included by config.h.
5804
58052008-05-23 Kenichi Handa <handa@m17n.org>
5806
5807 * charset.c (Qemacs, charset_emacs): New variables.
5808 (char_charset): Fix for non-Unicode characters.
5809 (syms_of_charset): Define charset_emacs.
5810
5811 * w32term.c (x_draw_glyph_string): Be sure to update
5812 s->underline_thickness and s->underline_position. Be sure to draw
5813 underline within the current line area.
5814
5815 * xterm.c (x_draw_glyph_string): Be sure to update
5816 s->underline_thickness and s->underline_position. Be sure to draw
5817 underline within the current line area.
5818
5819 * fontset.c: Delete unused variables and add casting for char *
5820 throughout the file.
5821 (fontset_font): Try the fallback fonts of the current fontset
5822 before consulting the default fontset.
5823
5824 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5825
5826 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5827
58282008-05-22 Jason Rumney <jasonr@gnu.org>
5829
5830 * font.c: Don't include strings.h.
5831
5832 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5833
5834 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5835 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5836 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5837 to call xstrcasecmp.
5838
5839 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5840
5841 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5842
5843 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5844
5845 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5846
58472008-05-22 Kenichi Handa <handa@m17n.org>
5848
5849 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5850
5851 * font.c (font_prop_validate_style): Adjust for the format
5852 change of font_style_table.
5853
5854 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5855 two args.
5856
5857 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5858 two args.
5859
58602008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5861
5862 * minibuf.c (keys_of_minibuf): Delete.
5863 * lisp.h (keys_of_minibuf): Delete.
5864 * emacs.c (main): Don't call keys_of_minibuf.
5865
58662008-05-22 Kenichi Handa <handa@m17n.org>
5867
5868 * ftfont.c (ftfont_resolve_generic_family): Rename from
5869 ftfont_list_generic_family. Return a single family for each
5870 generic family.
5871 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5872 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5873 Call font_add_log.
5874 (ftfont_match): Call font_add_log.
5875
5876 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5877 (FONT_DEBUG): Define it.
5878 (font_add_log): Extern it.
5879 (font_assert): Rename from xassert.
5880
5881 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5882 (xfont_list_family): Call font_add_log.
5883 (xfont_match): Likewise.
5884 (memq_no_quit): Delete.
5885
5886 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5887 call of Ffont_xlfd_name.
5888
5889 * xfaces.c (struct table_entry, slant_table, weight_table)
5890 (swidth_table): Move to font.c.
5891
5892 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5893 xassert are changed to font_assert. Delete many unused variables.
5894 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5895 New variables.
5896 (struct table_entry): Move from xfaces.c and modified.
5897 (weight_table, slant_table, width_table): Move from xfaces.c and
5898 contents adjusted for the change of struct table_entry.
5899 (font_style_to_value, font_style_symbolic): Adjust for the
5900 format change of font_style_table.
5901 (font_parse_family_registry): Don't overwrite existing foundry and
5902 family of font_spec.
5903 (font_score): Fix calculation of diff for sizes.
5904 (font_sort_entites): Call font_add_log.
5905 (font_delete_unmatched): Return a newly created list.
5906 (font_list_entities): Fix previous change. Call font_add_log.
5907 (font_matching_entity, font_open_entity, font_close_entity):
5908 Call font_add_log.
5909 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5910 (Finternal_set_font_style_table): Delete.
5911 (BUILD_STYLE_TABLE): New macro.
5912 (build_style_table): New function.
5913 (Vfont_log, font_log_env_checked): New variables.
5914 (font_add_log): New function.
5915 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5916 Declare Lisp variables "font-weight-table", "font-slant-table",
5917 "font-width-table", and "font-log". Initialize font_style_table.
5918
59192008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5920
5921 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5922
59232008-05-21 Seiji Zenitani <zenitani@mac.com>
5924 Ryo Yoshitake <ryo@shiftmode.net>
5925
5926 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5927 (Vframe_alpha_lower_limit): New variable.
5928 (x_set_alpha): New function.
5929
5930 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5931
5932 * xfns.c (x-create-frame, Qalpha):
5933 Initialize the frame parameter `alpha'.
5934 * xterm.c (OPAQUE, OPACITY): New.
5935 (x_set_frame_alpha): New function.
5936 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5937
5938 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5939 * w32fns.c (w32_frame_parm_handlers): Likewise.
5940
59412008-05-20 Jason Rumney <jasonr@gnu.org>
5942
5943 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5944 truetype fonts to opentype list.
5945
59462008-05-20 Juanma Barranquero <lekktu@gmail.com>
5947
5948 * fontset.c (Ffontset_info): Doc fix.
5949 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5950 <ignore-relative-composition>: Fix typos in docstrings.
5951
5952 * font.c (syms-of-font) <font-encoding-alist>:
5953 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5954 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5955 (Ffont_otf_alternates): Doc fixes.
5956
59572008-05-20 Kenichi Handa <handa@m17n.org>
5958
5959 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5960 font.h through out the file.
5961 (FONT_DRIVERS): Rename from FONTOBJ.
5962 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5963 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5964
5965 * emacs.c (main): Call syms_of_font unconditionally.
5966
5967 * font.h (find_font_encoding): Extern it.
5968
5969 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5970 fontset.c.
5971 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5972 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5973 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5974 only when HAVE_WINDOW_SYSTEM is defined.
5975 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5976 when HAVE_WINDOW_SYSTEM is defined.
5977
5978 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5979 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5980
5981 * xfaces.c: Include font.h unconditionally.
5982 (merge_face_ref, merge_face_vectors)
5983 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5984
59852008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5986
5987 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5988 indirect_variable.
5989 * eval.c (lisp_indirect_variable): New fun.
5990 (Fuser_variable_p): Use it.
5991
59922008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5993
5994 * lisp.h (indirect_variable):
5995 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5996 Use Lisp_Symbol pointers rather than Lisp_Object.
5997 Adjust callers.
5998 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5999 To this end, change calling-convention.
6000
6001 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
6002 if some non-hidden buffers are selected by string&pred.
6003
60042008-05-19 Chong Yidong <cyd@stupidchicken.com>
6005
6006 * process.c (wait_reading_process_output): Always check status
6007 when in batch mode.
6008
60092008-05-19 Kenichi Handa <handa@m17n.org>
6010
6011 * font.c (font_list_entities): Fix handling of cache.
6012 (font_matching_entity): Likewise.
6013
6014 * ftfont.c (cs_iso8859_1): Delete.
6015 (ft_face_cache): New variable.
6016 (struct ftfont_info): New member fc_charset_idx.
6017 (ftfont_build_basic_charsets): Delete.
6018 (fc_charset_table): New variable.
6019 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
6020 . FC_CHARSET_IDX) as :font-entity property in the font entity.
6021 Callers changed.
6022 (ftfont_lookup_cache, ftfont_get_charset): New functions.
6023 (ftfont_spec_pattern): New argument fc_charset_idx.
6024 Check registry more rigidly. Change callers.
6025 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
6026 change of :font-entity property of the font.
6027
6028 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
6029 property of the font.
6030
60312008-05-18 Juanma Barranquero <lekktu@gmail.com>
6032
6033 * coding.c (Fcoding_system_p): Rename argument to match docstring.
6034 (Funencodable_char_position, Fcheck_coding_systems_region)
6035 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
6036 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
6037 (Ffind_operation_coding_system, Fset_coding_system_priority)
6038 (Fcoding_system_eol_type): Doc fixes.
6039
60402008-05-17 Glenn Morris <rgm@gnu.org>
6041
6042 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
6043
60442008-05-16 Eli Zaretskii <eliz@gnu.org>
6045
6046 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
6047 and st_gid.
6048
6049 * frame.c (Fdelete_frame): Don't call font_update_drivers if
6050 HAVE_WINDOW_SYSTEM is not defined.
6051
6052 * xfaces.c (merge_face_ref, merge_face_vectors)
6053 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
6054 HAVE_WINDOW_SYSTEM is defined.
6055 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
6056
60572008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6058
6059 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6060
60612008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6062
6063 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6064
60652008-05-15 Kenichi Handa <handa@m17n.org>
6066
6067 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6068 preference.
6069
60702008-05-15 Glenn Morris <rgm@gnu.org>
6071
6072 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6073
60742008-05-15 Chong Yidong <cyd@stupidchicken.com>
6075
6076 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6077 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6078
6079 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6080
60812008-05-15 Kenichi Handa <handa@m17n.org>
6082
6083 * ftfont.c (ftfont_list): Downcase family name to check generic
6084 families.
6085
6086 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6087 font-spec for QCfont value.
6088
6089 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6090 buffer. Check the return value of it.
6091
60922008-05-14 Jason Rumney <jasonr@gnu.org>
6093
6094 * w32term.c (w32_get_glyph_overhangs): Remove.
6095 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6096
60972008-05-14 Kenichi Handa <handa@m17n.org>
6098
6099 * font.c (font_prop_validate): Make nil a valid value.
6100 (font_clear_cache): Check if the cached vector of entities is nil
6101 or not.
6102
61032008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6104
6105 * emacs.c (main_thread): Conditionalize on
6106 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6107 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6108
6109 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6110 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6111 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6112
61132008-05-14 Kenichi Handa <handa@m17n.org>
6114
6115 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6116 has no corresponding coding system.
6117
61182008-05-14 Jason Rumney <jasonr@gnu.org>
6119
6120 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6121
6122 * w32font.h (w32font_open_internal): Update declaration.
6123
6124 * w32font.c (w32font_open_internal): Change last argument from
6125 w32font_info struct to font object. Fill in font object from
6126 font_entity. Get Outline metrics if possible. Use them to
6127 calculate underline position and thickness. Use xlfd name as name
6128 property. Don't set codepage.
6129 (w32font_open): Pass font_object to w32font_open_internal. Don't
6130 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6131 (w32font_draw): Use s->font.
6132 (clear_cached_metrics): Don't clear non-existent blocks.
6133
6134 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6135 font was not found.
6136 (x_draw_glyph_string): Use underline position and thickness from font.
6137
6138 * w32uniscribe.c (uniscribe_open): Pass font_object to
6139 w32font_open_internal.
6140
61412008-05-14 Kenichi Handa <handa@m17n.org>
6142
6143 These changes are to delete all legacy font-handling codes, and
6144 make Emacs use only font-backends.
6145
6146 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6147 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6148
6149 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6150
6151 * charset.h (Vcharset_non_preferred_head)
6152 (Vcurrent_iso639_language): Extern them.
6153
6154 * charset.c (Vcharset_non_preferred_head): New variable.
6155 (Vcurrent_iso639_language): New variable.
6156 (syms_of_charset): Declare it as a Lisp variable.
6157 (char_charset): Don't check non preferred charsets. As a last
6158 resort, return charset_unicode.
6159 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6160
6161 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6162 conditionals. Don't check enable_font_backend. Delete all codes
6163 used only when USE_FONT_BACKEND is not defined.
6164
6165 * dispextern.h (struct glyph_string): Change type of `font' to
6166 `struct font *'.
6167 (struct glyph_string): New member underline_position and
6168 underline_thickness.
6169 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6170 (struct face): Change type of `font' to `struct font *'. Remove
6171 members `font_name', `font_info_id'.
6172 (per_char_metric, encode_char): Delete externs.
6173 (calc_pixel_width_or_height): Adjust the prototype.
6174
6175 * emacs.c (enable_font_backend): Delete extern.
6176 (main): Don't set enable_font_backend. Don't check the command
6177 line argument "-disable-font-backend".
6178
6179 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6180 (enum font_property_index): New members FONT_DPI_INDEX,
6181 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6182 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6183 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6184 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6185 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6186 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6187 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6188 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6189 (struct font_spec, struct font_entity): New structs.
6190 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6191 (struct font): Many members from old "struct font_info" moved to
6192 here. Members font and entity deleted.
6193 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6194 the new font-related objects.
6195 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6196 (CHECK_FONT_GET_OBJECT): Likewise.
6197 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6198 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6199 (struct font_driver): New members case_sensitive anc check. Type
6200 of the member list and open changed.
6201 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6202 (font_symbolic_width, font_find_object, font_get_spec)
6203 (font_set_lface_from_name): Delete extern.
6204 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6205
6206 * font.c: Include <strings.h>.
6207 (enable_font_backend): Delete it.
6208 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6209 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6210 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6211 (null_string): Delete it.
6212 (null_vector): Make it static.
6213 (font_family_alist): Delete it.
6214 (Qnormal): Extern it.
6215 (QCextra, QClanguage): Delete it.
6216 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6217 (font_make_spec, font_make_entity, font_make_object)
6218 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6219 the string. Callers changed.
6220 (font_pixel_size): Adjusted for the format change of font-related
6221 objects.
6222 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6223 (font_style_to_value, font_style_symbolic): New function.
6224 (build_font_family_alist): Delete it.
6225 (font_registry_charsets): Use Fassoc_string instead of
6226 assq_no_quit.
6227 (font_prop_validate_symbol): Don't return null_string.
6228 (font_prop_validate_style): Adjusted for the change of
6229 style-related values in a font vector.
6230 (font_property_table): Delete entries for QClanguage and
6231 QCantialias, add entries for QCavgwidth.
6232 (get_font_prop_index): Delete the 2nd argument FROM.
6233 (font_prop_validate): Arguments changed.
6234 (font_put_extra): Adjusted for the change of font-related objects.
6235 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6236 (font_parse_fcname, font_unparse_fcname)
6237 (font_prepare_composition): Likewise.
6238 (font_parse_family_registry): Renamed from font_merge_old_spec.
6239 (otf_open): Delete the 1st arg entity.
6240 (font_otf_capability): Adjusted for the above change.
6241 (font_score): New arg alternate_families. Adjusted for the change
6242 of font-related objects.
6243 (font_sort_entites): New arg best_only.
6244 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6245 Delete them.
6246 (font_match_p): Check alternate families.
6247 (font_find_object): Delete it.
6248 (font_check_object): New function.
6249 (font_clear_cache): Adjusted for the change of font-related objects.
6250 (font_delete_unmatched): New arg.
6251 (font_list_entities): Call font_driver->list with a spec that
6252 doesn't specify style-related properties.
6253 (font_matching_entity): Arguments changed. Caller changed.
6254 (font_open_entity): Adjusted for the change of font-related objects.
6255 (font_close_object, font_has_char, font_encode_char)
6256 (font_get_name, font_get_spec): Likewise.
6257 (font_spec_from_name, font_clear_prop, font_update_lface):
6258 New functions.
6259 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6260 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6261 (font_at): Adjusted for the change of font-related objects.
6262 (font_range): New function.
6263 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6264 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6265 (Fcopy_font_spec, Fmerge_font_spec): New function.
6266 (Ffont_family_list): Renamed from list-families.
6267 (Finternal_set_font_style_table): Arguments changed.
6268 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6269 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6270 change of font-related objects.
6271 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6272
6273 * fontset.h (struct font_info): Delete it. Most members go to
6274 struct font.
6275 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6276 (enum FONT_SPEC_INDEX): Delete it.
6277 (font_info, list_fonts_func, load_font_func, query_font_func)
6278 (set_frame_fontset_func, find_ccl_program_func)
6279 (get_font_repertory_func, new_fontset_from_font_name): Delete
6280 externs.
6281 (fontset_from_font_name): Extern it.
6282 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6283 (FONT_INFO_FROM_FACE): Deleted.
6284 (face_for_font): Adjust prototype.
6285
6286 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6287 conditionals. Don't check enable_font_backend. Delete all codes
6288 used only when USE_FONT_BACKEND is not defined.
6289 (get_font_info_func, list_font_func, load_font_func)
6290 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6291 (get_font_repertory_func): Delete them.
6292 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6293 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6294 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6295 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6296 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6297 (fontset_compare_rfontdef): New function.
6298 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6299 rfont-defs by qsort. Adjusted for the change of font-group vector.
6300 (load_font_get_repertory): Deleted.
6301 (fontset_find_font): Use new macros to ref/set elements of
6302 font-def and rfont-def.
6303 (fontset_font): Fix the timing of remembering that no font for C.
6304 (free_face_fontset): Do nothing if the face has no fontset.
6305 (face_suitable_for_char_p): Use new macros to ref/set elements of
6306 rfont-def.
6307 (face_for_char): Likewise. Call face_for_char with font_object.
6308 (fs_load_font): Delete. Delete #pragma surrounding it.
6309 (fs_query_fontset): Use strcasecmp instead of strcmp.
6310 (generate_ascii_font_name): Adjusted for the format change of
6311 font-spec.
6312 (Fset_fontset_font): Likewise. Use new macros to set elements of
6313 font-def.
6314 (Fnew_fontset): Use font_unparse_xlfd to generate
6315 FONTSET_ASCII (fontset).
6316 (new_fontset_from_font_name): Deleted.
6317 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6318 a fontset is already created for the font. FIx updating of
6319 Vfontset_alias_alist.
6320 (fontset_ascii_font): Deleted.
6321 (Ffont_info): Adjusted for the format change of font-spec.
6322 (Finternal_char_font): Likewise.
6323 (Ffontset_info): Likewise.
6324 (syms_of_fontset): Don't check load_font_func.
6325
6326 * fns.c (internal_equal): Handle PREV_FONT.
6327
6328 * frame.h: Delete USE_FONT_BACKEND conditional.
6329
6330 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6331 conditionals. Don't check enable_font_backend. Delete all codes
6332 used only when USE_FONT_BACKEND is not defined.
6333 (x_set_font): Call x_new_font, not x_new_fontset2.
6334 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6335 already set for the frame.
6336
6337 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6338 a font-entity by font_make_entity. Use font_intern_prop instead
6339 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6340 font property. If a font is scalable, set avgwidth property to 0.
6341 Set font-entity property by font_put_extra.
6342 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6343 (ffont_driver): Adjusted for the change of struct font_driver.
6344 (ftfont_spec_pattern): New function.
6345 (ftfont_list): Return a list, not vector.
6346 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6347 (ftfont_list_family): Don't downcase names.
6348 (ftfont_free_entity): Deleted.
6349 (ftfont_open): Return a font-object. Adjusted for the change of
6350 struct font. Get underline_thickness and underline_position from
6351 font property. Don't update dpyinfo->smallest_font_height and
6352 dpyinfo->smallest_char_width.
6353 (ftfont_close): Don't free `struct font'.
6354 (ftfont_has_char): Adjusted for the format change of font-entity.
6355 (ftfont_encode_char, ftfont_text_extents): Likewise.
6356
6357 * ftxfont.c (ftxfont_list): Return a list, not vector.
6358 (ftxfont_open): Return a font-object. Adjusted for the change of
6359 struct font. Get underline_thickness and underline_position from
6360 font property. Don't update dpyinfo->smallest_font_height and
6361 dpyinfo->smallest_char_width.
6362 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6363 (ftxfont_draw): Adjusted for the change of struct font.
6364
6365 * image.c (image_ascent): Don't include "charset.h". Include
6366 "character.h" and "font.h".
6367
6368 * lisp.h (enum pvec_type): New member PREV_FONT.
6369 (Fassoc_string): EXFUN it.
6370
6371 * print.c: Include font.h.
6372 (print_object): Handle font-related objects.
6373
6374 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6375 conditionals. Don't check enable_font_backend. Delete all codes
6376 used only when USE_FONT_BACKEND is not defined.
6377 (handle_auto_composed_prop): Do nothing if it->f is not on a
6378 window system. Check how many following characters can be
6379 displayed by the same font.
6380 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6381 'struct font *'.
6382 (get_char_face_and_encoding): Assign the whole encoding task to
6383 the `encode-char' method of a font driver.
6384 (fill_composite_glyph_string): Adjusted for the change of `struct
6385 face' and `struct glyph_string'.
6386 (fill_glyph_string): Likewise.
6387 (get_per_char_metric): Arguments changed.
6388 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6389 and `struct glyph_string'.
6390 (produce_stretch_glyph, calc_line_height_property)
6391 (x_produce_glyphs): Likewise.
6392
6393 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6394 conditionals. Don't check enable_font_backend. Delete all codes
6395 used only when USE_FONT_BACKEND is not defined. Use
6396 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6397 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6398 (Qp): Extern them.
6399 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6400 Deleted.
6401 (struct font_name): Deleted.
6402 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6403 (compare_fonts_by_sort_order): New function.
6404 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6405 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6406 Deleted.
6407 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6408 compare_fonts_by_sort_order.
6409 (Fx_font_family_list): Call Ffont_family_list.
6410 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6411 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6412 (face_symbolic_slant, face_symbolic_swidth)
6413 (split_font_name_into_vector, build_font_name_from_vector)
6414 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6415 (font_rescale_ratio, split_font_name, build_font_name)
6416 (free_font_names, sort_fonts, x_face_list_fonts)
6417 (face_font_available_p, sorted_font_list, cmp_font_names)
6418 (font_list_1, concat_font_list, font_list, remove_duplicates):
6419 Deleted.
6420 (Fx_list_fonts): Use Ffont_list.
6421 (LFACE_AVGWIDTH): Deleted.
6422 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6423 by FONTP.
6424 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6425 (set_lface_from_font_name): Delete it.
6426 (set_lface_from_font): Renamed from
6427 set_lface_from_font_and_fontset. Caller changed. Don't set
6428 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6429 for face.
6430 (merge_face_vectors): Copy font-spec if necessary.
6431 Clear properties of the font-spec if necessary.
6432 (merge_face_ref): Clear properties of the font-spec if necessary.
6433 (Finternal_set_lisp_face_attribute): Likewise.
6434 (set_font_frame_param): Use font_load_for_lface to load a
6435 font-object, and call Fmodify_frame_parameters with it.
6436 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6437 font name by Ffont_xlfd_name.
6438 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6439 QCslant, and QCwidth.
6440 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6441 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6442 Compare fonts by EQ.
6443 (lookup_non_ascii_face): Deleted.
6444 (face_for_font): The 2nd argument changed.
6445 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6446 Check atomic font properties by case insensitive.
6447 (realize_non_ascii_face): Set face->overstrike correctly.
6448 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6449 (dump_realized_face): Get font name from
6450 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6451
6452 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6453 conditionals. Don't check enable_font_backend. Delete all codes
6454 used only when USE_FONT_BACKEND is not defined.
6455 (xic_create_xfontset): Original code deleted and renamed from
6456 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6457 (x_make_gc): Don't set GCFont in GCs.
6458 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6459 opened by "fixed".
6460 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6461 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6462 get_font_repertory_func.
6463
6464 * xfont.c: Include <stdlib.h> and "ccl.h".
6465 (struct xfont_info): New structure.
6466 (xfont_query_font): Deleted.
6467 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6468 moved from xterm.c.
6469 (xfont_driver): Adjusted for the change of struct font_driver.
6470 (compare_font_names): New function.
6471 (xfont_list_pattern): Sort font names case insensitively. Make
6472 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6473 (xfont_list): Return a list, not vector.
6474 (xfont_match): If the font doesn't have QCname property, generate
6475 a name from the other font properties.
6476 (xfont_open): Return a font-object. Adjusted for the change of
6477 struct font. Get underline_thickness and underline_position from
6478 font property. Don't update dpyinfo->smallest_font_height and
6479 dpyinfo->smallest_char_width.
6480 (xfont_close): Don't free struct font.
6481 (xfont_prepare_face): Adjusted for the change of struct font.
6482 (xfont_done_face): Deleted.
6483 (xfont_has_char): Adjusted for the change of struct font.
6484 (xfont_encode_char, xfont_draw): Likewise.
6485 (xfont_check): New function.
6486
6487 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6488 callback function.
6489 (xftfont_match): Adjusted for the format change of font-entity.
6490 (xftfont_open): Adjusted for the format change of font-entity and
6491 font-object. Adjusted for the change of struct font. Return a
6492 font-object. Don't update dpyinfo->smallest_font_height and
6493 dpyinfo->smallest_char_width.
6494 (xftfont_close): Block input while calling XftFontClose.
6495 (xftfont_prepare_face): Don't block input while calling
6496 xftfont_get_colors. Adjusted for the change of struct font.
6497 (xftfont_shape): Return value of error case fixed.
6498
6499 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6500
6501 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6502 conditionals.
6503 (FONT_WIDTH): Return (f)->max_width.
6504 (struct x_display_info): Delete member `font'.
6505 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6506 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6507 (struct x_output): Change type of `font' to `struct font *'.
6508
6509 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6510 conditionals. Don't check enable_font_backend. Delete all codes
6511 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6512 (x_per_char_metric, x_encode_char): Deleted.
6513 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6514 (x_compute_glyph_string_overhangs): Adjusted for the change of
6515 `struct face'.
6516 (x_draw_glyph_string_foreground)
6517 (x_draw_composite_glyph_string_foreground): Likewise.
6518 (x_draw_glyph_string): Likewise. Use font->underline_position and
6519 font->underline_thickness.
6520 (x_new_font): Renamed from x_new_fontset2.
6521 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6522 (x_check_font): Call `check' method of a font driver.
6523 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6524 (x_query_font, x_get_font_repertory): Deleted.
6525 (x_find_ccl_program): Renamed and moved to xfont.c.
6526 (x_redisplay_interface): Adjusted for the change of `struct
6527 redisplay_interface'.
6528
6529 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6530 conditionals. Don't check enable_font_backend. Delete all codes
6531 used only when USE_FONT_BACKEND is not defined. Surround non-used
6532 code by "#ifdef OLD_FONT" and "endif".
6533 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6534
6535 * w32font.h (struct w32font_info): New member.
6536 (FONT_COMPAT): New macro.
6537 (w32font_open_internal): Prototype adjusted.
6538
6539 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6540 OLD_FONT" and "endif".
6541
6542 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6543 conditionals. Don't check enable_font_backend. Delete all codes
6544 used only when USE_FONT_BACKEND is not defined.
6545 (w32font_open): Return a font-object. Make a font-object by
6546 font_make_object. Adjusted for the change of struct w32font_info.
6547 (w32font_close): Don't free struct font. Adjusted for the change
6548 of struct w32font_info.
6549 (w32font_encode_char, w32font_text_extents, w32font_draw):
6550 Adjusted for the change of struct w32font_info.
6551 (w32font_draw): Likewise.
6552 (w32font_list_internal): Return a list, not vector.
6553 (w32font_open_internal): Change the 4th arg to font-object.
6554 Adjusted for the change of struct w32font_info and font-object format.
6555 (add_font_name_to_list): Don't downcase names.
6556 (w32_enumfont_pattern_entity): Make a font-entity by
6557 font_make_entity. Adjusted for the format change of font-entity.
6558 Use FONT_SET_STYLE to set a style-related font property. If a
6559 font is scalable, set avgwidth property to 0. Set font-entity
6560 property by font_put_extra.
6561 (font_matches_spec): Adjusted for the format change of font-entity.
6562 (w32_weight_table, w32_decode_weight): New variables.
6563 (w32_encode_weight): New function.
6564 (fill_in_logfont): Adjusted for the format change of font-spec.
6565 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6566 weight value.
6567 (w32font_driver): Adjusted for the change of struct font_driver.
6568
6569 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6570 conditionals. Don't check enable_font_backend. Surround non-used
6571 code by "#ifdef OLD_FONT" and "endif".
6572 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6573 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6574
6575 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6576 conditionals. Don't check enable_font_backend. Delete all codes
6577 used only when USE_FONT_BACKEND is not defined. Surround non-used
6578 code by "#ifdef OLD_FONT" and "endif".
6579
6580 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6581 (uniscribe_open): Return value changed to font-object.
6582 Adjusted for the format change of font-object.
6583 (uniscribe_otf_capability): Adjusted for the change of struct font.
6584 (add_opentype_font_name_to_list): Don't downcase names.
6585 (uniscribe_font_driver): Adjusted for the change of struct
6586 font_driver.
6587
65882008-05-13 Chong Yidong <cyd@stupidchicken.com>
6589
6590 * dispnew.c (update_frame_1): Check if tty output is still valid
6591 before flushing it.
6592
65932008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6594
6595 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6596 to Gtk+ menus.
6597
65982008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6599
6600 * dired.c (file_name_completion): Tweak the code so as to always do it
6601 in a single pass. Tighten the scope of some variables.
6602
6603 * dired.c (Qdefault_directory): New var.
6604 (file_name_completion): Use it instead of Fexpand_file_name.
6605 (syms_of_dired): Initialize it.
6606
66072008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6608
6609 * fileio.c (double_dollars): Remove dead code.
6610
66112008-05-10 Eli Zaretskii <eliz@gnu.org>
6612
6613 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6614 Mention w32-get-true-file-attributes in doc string.
6615
6616 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6617
66182008-05-09 Glenn Morris <rgm@gnu.org>
6619
6620 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6621 2008-04-23.
6622
66232008-05-09 Eli Zaretskii <eliz@gnu.org>
6624
6625 Support for reporting owner and group of each file on MS-Windows:
6626 * dired.c (stat_uname, stat_gname): New functions, with special
6627 implementation for w32.
6628 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6629
6630 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6631 (dflt_group_name): New static variable.
6632 (dflt_group): Rename from the_group.
6633 (init_user_info): Init dflt_group fields. Get user's group name
6634 from LookupAccountSid.
6635 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6636 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6637 New initialization states.
6638 (globals_of_w32): Initialize them to zero. Initialize the default
6639 group name to "None".
6640 (GetFileSecurity_Name): New global var, the name of the function
6641 to call for GetFileSecurity.
6642 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6643 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6644 (get_file_security, get_security_descriptor_owner)
6645 (get_security_descriptor_group, is_valid_sid)
6646 (get_file_security_desc, get_rid, get_name_and_id)
6647 (get_file_owner_and_group): New functions.
6648 (stat): Use get_file_security_desc and get_file_owner_and_group to
6649 report the owner and primary group of each file. Don't ignore the
6650 high 32 bits of file's size, now that st_size is 64-bit wide.
6651 Fix test when to get true file attributes.
6652 (init_user_info): Use get_rid instead of equivalent inline code.
6653 (fstat): Don't ignore the high 32 bits of file's size.
6654
66552008-05-09 Chong Yidong <cyd@stupidchicken.com>
6656
6657 * image.c (png_load): Use correct bit-depth for setting background
6658 color.
6659
66602008-05-08 Eli Zaretskii <eliz@gnu.org>
6661
6662 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6663 epa-hook.elc.
6664
66652008-05-08 Juanma Barranquero <lekktu@gmail.com>
6666
6667 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6668
66692008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6670
6671 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6672 because the original parameters are in pure storage now.
6673 (mac_window): Remove unused params. Update callers.
6674
66752008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6676
6677 * lread.c (substitute_object_recurse): Use lower-level primitives.
6678 Don't signal errors when traversing sub-char-tables.
6679 Don't loop over all the possible characters when traversing char-tables.
6680
6681 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6682 just like we do in print.c.
6683
66842008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6685
6686 * minibuf.c (Ftry_completion): Remove code left over from when we used
6687 scmp instead of Fcompare_strings.
6688
66892008-05-04 Juanma Barranquero <lekktu@gmail.com>
6690
6691 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6692
66932008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6694
6695 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6696 Create bitmap context in native byte order.
6697
6698 * macterm.c (XDrawLine)
6699 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6700 context in native byte order.
6701
67022008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6703
6704 * config.in: Regenerate.
6705
6706 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6707 New definitions for Image I/O support.
6708 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6709 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6710 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6711 (mac_data_provider_release_data, image_load_image_io)
6712 [USE_MAC_IMAGE_IO]: New functions.
6713 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6714 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6715 (init_image_func_pointer) [MAC_OSX]: Remove function.
6716 (image_load_quartz2d) [MAC_OSX]: Check availability of
6717 CGImageCreateWithPNGDataProvider at compile time.
6718 Use lowercase `false' for boolean constant.
6719 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6720 Use image_load_image_io.
6721 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6722 Don't check MyCGImageCreateWithPNGDataProvider.
6723 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6724 Don't call init_image_func_pointer.
6725
6726 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6727
6728 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6729 Make variable non-static.
6730 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6731 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6732
6733 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6734 (RED_FROM_ULONG): Mask off higher bits.
6735 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6736
6737 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6738 Include AvailabilityMacros.h.
6739 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6740 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6741
67422008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6743
6744 * chartab.c (Fset_char_table_range): If range is t, really set all
6745 chars to that value.
6746
67472008-05-03 Eli Zaretskii <eliz@gnu.org>
6748
6749 * dired.c (Ffile_attributes): Don't allow the device number become
6750 negative.
6751
67522008-05-02 Daiki Ueno <ueno@unixuser.org>
6753
6754 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6755
67562008-05-02 Juri Linkov <juri@jurta.org>
6757
6758 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6759 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6760 DEFAULT argument as a list of default values in docstrings.
6761
67622008-05-01 Chong Yidong <cyd@stupidchicken.com>
6763
6764 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6765
67662008-05-01 Martin Rudalics <rudalics@gmx.at>
6767
6768 * dispnew.c (change_frame_size_1): Preserve small windows when
6769 shrinking frames by calling set_window_height|width with third
6770 arg 2.
6771
6772 * window.h (struct window): Replace field too_small_ok by field
6773 resize_proportionally.
6774
6775 * window.c (make_window): Initialize resize_proportionally.
6776 (enlarge_window): Temporarily set resize_proportionally to make
6777 sure that shrink_windows does scale the window proportionally.
6778 (shrink_windows): When window has resize_proportionally set try
6779 to shrink it proportionally by stealing from other windows.
6780 (struct saved_window, Fset_window_configuration)
6781 (compare_window_configurations): Handle resize_proportionally.
6782 (WINDOW_TOTAL_SIZE): New macro.
6783 (window_min_size, shrink_windows, size_window): Use it.
6784 (check_min_window_sizes): Remove. Invalid values of
6785 window-min-height|width are handled by window_min_size_2 now.
6786 (size_window, Fsplit_window, enlarge_window)
6787 (adjust_window_trailing_edge, grow_mini_window): Don't call
6788 check_min_window_sizes.
6789 (window_min_size_2, window_min_size_1, window_min_size):
6790 New argument safe_p for retrieving "safe" minimum sizes.
6791 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6792 (adjust_window_trailing_edge, grow_mini_window):
6793 Adjust arguments of window_min_size... functions.
6794 (shrink_windows): Argument min_size removed. New argument
6795 safe_p allows shrinking windows to their safe minimum sizes.
6796 Calculate minimum size and decide whether a window shall be
6797 deleted for each window individually.
6798 (size_window): When nodelete_p equals 2, tell shrink_windows to
6799 delete windows only if their new minimum size is no more safe.
6800 (shrink_window_lowest_first): Call window_min_size_1 to make
6801 sure to preserve modeline of bottom-most window when resizing
6802 the minibuffer.
6803 (Fset_window_configuration, Fcurrent_window_configuration)
6804 (compare_window_configurations): Do not handle
6805 window-min-height|width any more.
6806 (syms_of_window): Clarify window-min-height|width doc-strings.
6807
68082008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6809
6810 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6811 some more. Copy some of the code from Ftry_completions.
6812 Remove special case code that dates back to initial revision when the
6813 slash was only added when necessary and that can't trigger nowadays.
6814
68152008-04-27 Kenichi Handa <handa@m17n.org>
6816
6817 * font.c (font_prop_validate): Signal `error' instead of `font'.
6818
68192008-04-29 Jason Rumney <jasonr@gnu.org>
6820
6821 * w32fns.c (Fw32_battery_status): New defun.
6822 (syms_of_w32fns): Defsubr it.
6823
68242008-04-28 Andreas Schwab <schwab@suse.de>
6825
6826 * dired.c (file_name_completion): Fix another mixing of encoded
6827 and decoded names.
6828
68292008-04-28 Juanma Barranquero <lekktu@gmail.com>
6830
6831 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6832
68332008-04-27 Juanma Barranquero <lekktu@gmail.com>
6834
6835 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6836
68372008-04-27 Andreas Schwab <schwab@suse.de>
6838
6839 * dired.c (file_name_completion): Fix inappropriate mixing of
6840 encoded and decoded names.
6841
6842 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6843
6844 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6845
68462008-04-26 Eli Zaretskii <eliz@gnu.org>
6847
6848 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6849 2008-03-31, it's not needed anymore with `struct stat' definition
6850 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6851 for the same reasons.
6852
68532008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6854
6855 * m/sparc.h: Additional redefinitions for GNU/Linux.
6856
68572008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6858
6859 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6860 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6861 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6862 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6863 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6864 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6865 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6866 Likewise.
6867
6868 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6869 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6870 (mac_ax_number_of_characters): Add externs.
6871 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6872 [USE_MAC_TSM]: Likewise.
6873 (mac_handle_text_input_event) [MAC_OSX]:
6874 Handle kEventTextInputOffsetToPos for no active input area case.
6875 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6876 (mac_handle_document_access_event)
6877 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6878 (install_application_handler) [MAC_OSX]: Register handlers for
6879 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6880 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6881 Register mac_handle_document_access_event.
6882
6883 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6884 Make functions non-static.
6885
68862008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6887
6888 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6889 (read_file_name_completion_ignore_case, insert_default_directory)
6890 (Qdefault_directory): Move to minibuffer.el.
6891 (Fread_file_name): Call the new `read-file-name' instead.
6892
68932008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6894
6895 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6896 Make function non-static.
6897 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6898 Remove function.
6899 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6900 Move to mactoolbox.c.
6901 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6902
6903 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6904 (mac_rect_make): New macro.
6905
6906 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6907 instead of float.
6908 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6909 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6910 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6911 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6912 CGRectMake.
6913 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6914 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6915 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6916 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6917 instead of WindowRef in argument type.
6918 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6919 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6920 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6921 instead of DISPLAY. All uses changed.
6922 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6923 (x_calc_absolute_position): Simplify so as not to use
6924 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6925
6926 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6927 instead of WindowRef in argument type.
6928 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6929 [TARGET_API_MAC_CARBON]: Remove externs.
6930 (create_apple_event, mac_event_parameters_to_lisp)
6931 [TARGET_API_MAC_CARBON]: Add externs.
6932
6933 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6934 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6935 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6936 is clicked.
6937 (x_activate_menubar): Remove extern for saved_menu_event_location.
6938 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6939 Move from mac.c.
6940
69412008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6942
6943 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6944 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6945
69462008-04-23 Jason Rumney <jasonr@gnu.org>
6947
6948 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6949 attributes only for local files.
6950
6951 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6952 default to Qlocal.
6953
69542008-04-22 Juri Linkov <juri@jurta.org>
6955
6956 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6957 read-buffer-to-switch instead of using the letter "B".
6958
69592008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6960
6961 * fileio.c (Qdefault_directory): New variable.
6962 (Fread_file_name): Use it to pass `dir' to the completion functions.
6963
69642008-04-20 Chong Yidong <cyd@stupidchicken.com>
6965
6966 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6967
69682008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6969
6970 * keyboard.c (Vpre_help_message): Remove.
6971 (show_help_echo): Remove default C code.
6972
6973 * dired.c (directory_files_internal, file_name_completion):
6974 Only call ENCODE_FILE if the string is indeed decoded.
6975
69762008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6977
6978 * Makefile.in (TOOLKIT_DEFINES): Remove.
6979 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6980
69812008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6982
6983 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6984 (mactoolbox.o): New target.
6985
6986 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6987 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6988
6989 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6990 Use mac_set_frame_window_background instead of XSetWindowBackground.
6991 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6992 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6993 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6994 instead of SetWindowTitleWithCFString.
6995 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6996 Move function to mactoolbox.c.
6997 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6998 Use mac_set_window_modified instead of SetWindowModified.
6999 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
7000 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
7001 (Fx_focus_frame): Use mac_front_non_floating_window instead of
7002 FrontNonFloatingWindow. Use mac_activate_window instead of
7003 ActivateWindow. Use mac_active_non_floating_window instead of
7004 ActiveNonFloatingWindow.
7005 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
7006 Use mac_show_hourglass and mac_hide_hourglass.
7007 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
7008 instead of GetGlobalMouse.
7009 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
7010 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
7011 Use mac_bring_window_to_front instead of BringToFront.
7012 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
7013 mactoolbox.c.
7014 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
7015 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
7016 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
7017 mactoolbox.c.
7018
7019 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
7020 (XtPointer): Move typedef from macmenu.c.
7021 (enum button_type): Move enum from macmenu.c.
7022 (widget_value): Move typedef from macmenu.c.
7023 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
7024 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7025 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7026 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7027 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7028 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7029 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7030 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
7031 (Selection): Move typedef from macselect.c.
7032 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
7033 macterm.c.
7034 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
7035 (mac_is_window_collapsed, mac_bring_window_to_front)
7036 (mac_send_window_behind, mac_hide_window, mac_show_window)
7037 (mac_collapse_window, mac_front_non_floating_window)
7038 (mac_active_non_floating_window, mac_activate_window)
7039 (mac_move_window_structure, mac_move_window, mac_size_window)
7040 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
7041
7042 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
7043 (enum mac_menu_kind): Move enum to mactoolbox.c.
7044 (min_menu_id): Move variable to mactoolbox.c.
7045 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
7046 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
7047 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
7048 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
7049 [TARGET_API_MAC_CARBON]: Likewise.
7050 (XtPointer): Move typedef to macgui.h.
7051 (enum button_type): Move enum to macgui.h.
7052 (widget_value): Move typedef to macgui.h.
7053 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7054 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7055 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7056 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7057 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7058 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7059 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7060 (popup_activated_flag): Make variable non-static.
7061 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7062 (add_menu_item, fill_menu, dispose_menus):
7063 Move functions to mactoolbox.c.
7064 (restore_show_help_function, menu_target_item_handler)
7065 (install_menu_target_item_handler, mac_handle_dialog_event)
7066 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7067 [TARGET_API_MAC_CARBON]: Likewise.
7068 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7069 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7070 (find_and_call_menu_selection, name_is_separator): Make function
7071 non-static.
7072 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7073 to mactoolbox.c.
7074 (set_frame_menubar): Don't call install_menu_quit_handler.
7075 (menu_item_selection): New variable.
7076 (mac_menu_show): Use create_and_show_popup_menu.
7077 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7078 selection but set variable menu_item_selection. All uses changed.
7079 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7080 Call install_menu_quit_handler. Move to mactoolbox.c.
7081
7082 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7083 (Selection): Move typedef to macgui.h.
7084 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7085 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7086 Make variables non-static.
7087 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7088 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7089 Make functions non-static.
7090 (Vmac_service_selection) [MAC_OSX]: Likewise.
7091 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7092 (mac_valid_selection_target_p, mac_clear_selection)
7093 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7094 (mac_put_selection_value, mac_selection_has_target_p)
7095 (mac_get_selection_value, mac_get_selection_target_list)
7096 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7097 Move functions to mactoolbox.c.
7098 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7099 Likewise.
7100 (copy_scrap_flavor_data, mac_handle_service_event)
7101 (install_service_handler) [MAC_OSX]: Likewise.
7102 (syms_of_macselect) <Vmac_dnd_known_types>:
7103 Use mac_dnd_default_known_types.
7104
7105 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7106 Move to mactoolbox.c.
7107 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7108 (Fx_selection_owner_p): Add EXFUN.
7109 (install_window_handler, remove_window_handler, XSetWindowBackground):
7110 Remove externs.
7111 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7112 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7113 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7114 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7115 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7116 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7117 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7118 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7119 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7120 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7121 (mac_valid_selection_target_p, mac_clear_selection)
7122 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7123 (mac_put_selection_value, mac_selection_has_target_p)
7124 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7125 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7126 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7127 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7128 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7129 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7130 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7131 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7132 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7133
7134 * mactoolbox.c: New file.
7135
71362008-04-18 Jason Rumney <jasonr@gnu.org>
7137
7138 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7139
71402008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7141
7142 * character.c (Fmultibyte_char_to_unibyte):
7143 Return latin1 chars unchanged.
7144
7145 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7146 relocated if it points to `name'.
7147
71482008-04-17 Kenichi Handa <handa@m17n.org>
7149
7150 * data.c (Faset): Allow setting a multibyte character in an
7151 ASCII-only unibyte string.
7152
7153 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7154
71552008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7156
7157 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7158 done in config.h.
7159
71602008-04-16 Juanma Barranquero <lekktu@gmail.com>
7161
7162 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7163 (Fchar_direction): Add usage in the docstring.
7164
71652008-04-15 Chong Yidong <cyd@stupidchicken.com>
7166
7167 * keyboard.c (read_key_sequence): Remove always-true checks.
7168
71692008-04-14 Jason Rumney <jasonr@gnu.org>
7170
7171 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7172 compatibility struct, for better underline positioning.
7173
71742008-04-13 David Hansen <david.hansen@gmx.net>
7175
7176 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7177 string.
7178
71792008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7180
7181 * m/hp800.h (XUINT, XSET): Remove.
7182
71832008-04-12 Juanma Barranquero <lekktu@gmail.com>
7184
7185 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7186 previous change.
7187
71882008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7189
7190 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7191 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7192
71932008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7194
7195 * keymap.h (map_keymap_canonical): Declare.
7196 * xmenu.c (single_keymap_panes): Use it.
7197
71982008-04-11 Glenn Morris <rgm@gnu.org>
7199
7200 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7201 set the target's value to that of the alias.
7202
72032008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7204
7205 * term.c (set_tty_color_mode): Left over typo.
7206
72072008-04-10 Michael Albinus <michael.albinus@gmx.de>
7208
7209 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7210 only after check for file name handler functions. Signal, when
7211 native functionality is not supported.
7212 (syms_of_fileio): Declare it unconditionally.
7213
72142008-04-10 Jason Rumney <jasonr@gnu.org>
7215
7216 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7217 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7218
7219 * w32.c (logon_network_drive): Also logon to remote drives that
7220 are mapped to drive letters.
7221
72222008-04-10 Glenn Morris <rgm@gnu.org>
7223
7224 * xdisp.c (truncate-partial-width-windows): Doc fix.
7225
72262008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7227
7228 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7229 Move functions to minibuffer.el.
7230 (syms_of_fileio): Don't declare them.
7231
72322008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7233
7234 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7235 (syms_of_minibuf): Remove its initialization.
7236
7237 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7238
72392008-04-09 Juanma Barranquero <lekktu@gmail.com>
7240
7241 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7242
72432008-04-09 Jason Rumney <jasonr@gnu.org>
7244
7245 * makefile.w32-in (distclean): Delete makefile too.
7246 (maintainer-clean): New target.
7247
7248 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7249
7250 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7251 for new font backend and composite cases.
7252
72532008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7254
7255 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7256 Most of the code moved to run_timers.
7257 (do_pending_atimers): Call run_timers.
7258 (run_timers): New function.
7259
7260 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7261 run atimers.
7262
7263 * process.c (wait_reading_process_output): The same as above.
7264
72652008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7266
7267 * minibuf.c (last_exact_completion): Remove variable.
7268 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7269 (complete_and_exit_1, complete_and_exit_2)
7270 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7271 (Fdisplay_completion_list, display_completion_list_1)
7272 (Fminibuffer_completion_help, Fself_insert_and_exit)
7273 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7274 minibuffer.el.
7275 (syms_of_minibuf): Remove corresponding initializations.
7276
7277 * keyboard.c (Qdeactivate_mark): New var.
7278 (command_loop_1): Use it to call `deactivate-mark'.
7279 (syms_of_keyboard): Initialize it.
7280
7281 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7282 to another frame.
7283 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7284 Don't call set_tty_color_mode.
7285 (store_frame_param): Reset previous_frame rather than call
7286 set_tty_color_mode.
7287 * term.c (set_tty_color_mode): Rewrite.
7288 * dispextern.h (set_tty_color_mode): New type.
7289 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7290
72912008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7292
7293 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7294 for generic chars, which do not exist any more in emacs-unicode.
7295
72962008-04-08 Michael Albinus <michael.albinus@gmx.de>
7297
7298 * coding.c (detect_coding_emacs_mule)
7299 (Ffind_operation_coding_system): Fix typo.
7300
73012008-04-08 Jason Rumney <jasonr@gnu.org>
7302
7303 * w32uniscribe.c (SNAME): Extract only symbol name.
7304
7305 * w32font.h (struct w32_metric_cache): New struct.
7306 (w32font_info): Use it.
7307 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7308 (CACHE_BLOCKSIZE): New constants.
7309
7310 * w32font.c (Qja, Qko, Qzh): New symbols.
7311 (syms_of_w32font): Initialise them.
7312 (font_matches_spec): Use them to filter by language.
7313 (recompute_cached_metrics): Remove function.
7314 (compute_metrics, clear_cached_metrics): New functions.
7315 (w32font_encode_char): Use them to manage metric cache.
7316 (w32font_text_extents): Cache metrics for all glyphs on demand.
7317 Delay converting glyph indices to WORD until needed.
7318 (w32font_open_internal): Initialize metric cache to empty.
7319 (registry_to_w32_charset): Charset should always be a symbol.
7320 (fill_in_logfont, list_all_matching_fonts): Family should
7321 always be a symbol.
7322
73232008-04-06 Jason Rumney <jasonr@gnu.org>
7324
7325 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7326 Give up if glyph indices not supported. Use uniscribe obtained
7327 ABC widths for individual metrics. Map glyph clusters back to
7328 characters using fClusterStart flag. Return number of glyphs
7329 produced, not chars processed.
7330 (uniscribe_shape): Map char at FROM to current glyph.
7331
73322008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7333
7334 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7335 Use SetMenuItemHierarchicalMenu.
7336
73372008-04-05 Jason Rumney <jasonr@gnu.org>
7338
7339 * image.c (pbm_load): Allow color values up to 65535.
7340 Throw an error if max_color_idx is outside the supported range.
7341 Report an error when image size is invalid.
7342 Read two bytes at a time when raw images have max_color_idx above 255.
7343
73442008-04-05 Eli Zaretskii <eliz@gnu.org>
7345
7346 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7347 cFileName a file name that includes `?' characters, use the 8+3
7348 alias in cAlternateFileName instead.
7349
73502008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7351
7352 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7353 append "CCL: Quitted" when the CCL program is quitted.
7354 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7355
7356 * ccl.h (struct ccl_program): New member quit_silently.
7357
73582008-04-05 Chong Yidong <cyd@stupidchicken.com>
7359
7360 * search.c (compile_pattern_1): Treat non-nil and non-string of
7361 search-spaces-regexp as nil.
7362
7363 * minibuf.c (Fassoc_string): Tweak docstring.
7364
73652008-04-05 Eli Zaretskii <eliz@gnu.org>
7366
7367 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7368 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7369 2008-03-14 to force inode be positive.
7370
7371 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7372 _S_* ones, since we now use our own sys/stat.h.
7373 (stat, fstat): Don't mangle the inode number.
7374 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7375
73762008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7377
7378 * frame.h (struct frame): Give one more bit to `visible' since we use
7379 values larger than 1 to indicate obscured frames on ttys.
7380
7381 * keymap.c (Qkeymap_canonicalize): New var.
7382 (Fmap_keymap_internal): New fun.
7383 (describe_map): Use keymap-canonicalize.
7384
7385 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7386 (Fundo_boundary): Set them.
7387 (syms_of_undo): Initialize them.
7388 (record_point): Use them instead of last_point_position*.
7389 (last_undo_buffer): Change type.
7390
73912008-04-04 Jason Rumney <jasonr@gnu.org>
7392
7393 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7394 (recompute_cached_metrics): Don't set ascent and descent per char.
7395
7396 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7397 (uniscribe_check_otf): Add GC protection before consing.
7398 Rearrange loop for counting features.
7399
74002008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7401
7402 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7403 buffer with byte-size of source buffer.
7404
74052008-04-03 Chong Yidong <cyd@stupidchicken.com>
7406
7407 * callint.c (Fcall_interactively): Handle temporary region even
7408 when shift-select-mode is off.
7409
74102008-04-03 Jason Rumney <jasonr@gnu.org>
7411
7412 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7413
74142008-04-03 Kenichi Handa <handa@m17n.org>
7415
7416 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7417 (CATEGORY_MASK_UTF_16): Likewise.
7418 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7419 binary file.
7420 (detect_coding): Add null-byte detection for a binary file.
7421 (detect_coding_system): Likewise.
7422
74232008-04-03 Jason Rumney <jasonr@gnu.org>
7424
7425 * w32uniscribe.c: New file.
7426
7427 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7428
7429 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7430
7431 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7432 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7433 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7434 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7435 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7436 (Qphonetic): New symbols.
7437 (syms_of_w32font): Initialize them.
7438 (font_supported_scripts): Use them.
7439 (w32font_list_family): List all charsets.
7440 (w32font_text_extents, recompute_cached_metrics): Fix metric
7441 calculations.
7442 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7443 Give opentype fonts their own format.
7444 (font_matches_spec): New arguments backend and logfont.
7445 Handle :otf spec for uniscribe backend.
7446 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7447 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7448
7449 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7450 font backend.
7451 (globals_of_w32fns): Initialize uniscribe font backend.
7452
7453 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7454 dependencies.
7455 (w32uniscribe.$(O)): New file to build.
7456 (FONT_OBJ): Include w32uniscribe.$(O).
7457 (LIBS): Add uniscribe libraries.
7458
7459 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7460
74612008-04-02 Chong Yidong <cyd@stupidchicken.com>
7462
7463 * callint.c (Vshift_select_mode): New var.
7464 (Finteractive): Document new ^ spec.
7465 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7466 is present.
7467
7468 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7469 (command_loop_1): Avoid running the direct display versions of
7470 forward-char and backward-char if shift-selection may occur.
7471 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7472 shift-translation takes place.
7473
7474 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7475 avoid clobbering by define-minor-mode.
7476
7477 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7478 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7479
7480 * syntax.c (Fforward_word): Add ^ interactive spec.
7481
7482 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7483 (Fscroll_right): Add ^ interactive spec.
7484
74852008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7486
7487 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7488
7489 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7490
7491 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7492
74932008-03-31 Juri Linkov <juri@jurta.org>
7494
7495 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7496
74972008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7498
7499 * gtkutil.c (xg_set_geometry): Fix indentation.
7500 (xg_resize_outer_widget): Remove.
7501 (x_wm_size_hint_off): Fix indentation.
7502 (xg_frame_set_char_size): Call flush_and_sync after
7503 gtk_window_resize.
7504 (x_wm_set_size_hint): Pass NULL as geometry window to
7505 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7506 Add menu bar and tool bar height to base height.
7507 (xg_update_frame_menubar, free_frame_menubar)
7508 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7509 (update_frame_tool_bar, free_frame_tool_bar):
7510 Change xg_resize_outer_widget to xg_frame_set_char_size.
7511
75122008-03-30 Michael Albinus <michael.albinus@gmx.de>
7513
7514 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7515 (Fdbus_call_method): New parameter TIMEOUT.
7516 (dbus-send-signal): Optimize UNGCPRO call.
7517
75182008-03-29 Juri Linkov <juri@jurta.org>
7519
7520 * window.c (Fdisplay_buffer): Move call to
7521 Vsplit_window_preferred_function out of conditions that check
7522 if window is eligible for vertical splitting.
7523 When Vsplit_window_preferred_function is non-nil, call it and use
7524 its non-nil return value as window. Otherwise, continue doing
7525 vertical splitting using Fsplit_window with arg horflag=nil.
7526 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7527 default value from `split-window' to nil.
7528
75292008-03-29 Juri Linkov <juri@jurta.org>
7530
7531 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7532 for interactive code letters 'b' and 'B'.
7533
75342008-03-29 Eli Zaretskii <eliz@gnu.org>
7535
7536 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7537 multibyte string.
7538
75392008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7540
7541 * keyboard.c (pending_funcalls): New var.
7542 (timer_check): Run it.
7543 (syms_of_keyboard): Initialize it.
7544 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7545 (Vdelete_terminal_functions): New vars.
7546 (syms_of_terminal): Initialize them.
7547 (Fdelete_terminal): Run delete-terminal-functions.
7548 * xdisp.c (safe_eval): Rewrite.
7549 (safe_call2): New fun.
7550 * frame.c (Qdelete_frame_functions): New var.
7551 (syms_of_frame): Initialize it.
7552 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7553 * lisp.h (safe_call2, pending_funcalls): Declare.
7554
75552008-03-28 Andreas Schwab <schwab@suse.de>
7556
7557 * indent.c (Fmove_to_column): Move declaration before statements.
7558
75592008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7560
7561 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7562 (struct frame): Use bit fields for boolean vars.
7563
7564 * process.c (server_accept_connection): Simplify naming.
7565 (emacs_get_tty_pgrp): Use SDATA.
7566
7567 * coding.c (decode_coding_object): Fix last change.
7568
75692008-03-27 Jason Rumney <jasonr@gnu.org>
7570
7571 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7572
75732008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7574
7575 * charset.c (Fdefine_charset_internal): Change the way of
7576 registering charsets in Vcharset_order_list.
7577 (syms_of_charset): Make the charset `eight-bit' supplementary.
7578
75792008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7580
7581 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7582 operations, to avoid having the difference between pointers
7583 overflow.
7584
75852008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7586
7587 * indent.c (check_display_width): New fun.
7588 (scan_for_column): Use it.
7589
7590 * data.c (syms_of_data): Mark most-positive-fixnum and
7591 most-negative-fixnum as constants.
7592
7593 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7594
7595 * indent.c (scan_for_column): Extract from current_column_1.
7596 Merge with the same code from Fmove_to_column.
7597 (current_column_1, Fmove_to_column): Use it.
7598
75992008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7600
7601 * keymap.c (map_keymap_internal): New fun.
7602 (map_keymap): Use it.
7603 (Fmap_keymap_internal): New fun.
7604 (Fmap_keymap): Remove left-out test from before make_save_value.
7605
7606 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7607
7608 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7609 Use XCAR/XCDR.
7610
7611 * process.h (struct Lisp_Process): Remove filter_multibyte.
7612 * process.c (QCfilter_multibyte): Remove.
7613 (setup_process_coding_systems): Don't use filter_multibyte.
7614 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7615 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7616 (Fset_process_filter_multibyte): Change the coding-system to
7617 approximate the previous behavior.
7618 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7619 coding-system.
7620
7621 * coding.c (decode_coding_object): When not decoding into a buffer,
7622 obey the coding system's preference of (uni|multi)byte.
7623
76242008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7625
7626 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7627 every char is changed and has a different byte-length.
7628 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7629 Fix int -> EMACS_INT.
7630
76312008-03-23 David Hansen <david.hansen@gmx.net>
7632
7633 * dbusbind.c (xd_read_message): Remove extra copying of message
7634 strings. Check for NULL `interface' or `member'.
7635
76362008-03-22 Eli Zaretskii <eliz@gnu.org>
7637
7638 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7639 cFileName a file name that includes `?' characters, use the 8+3
7640 alias in cAlternateFileName instead.
7641
76422008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7643
7644 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7645
76462008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7647
7648 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7649 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7650 work on current_buffer only instead (that was already the case
7651 for some of the code anyway).
7652 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7653 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7654 (SET_PT, SET_PT_BOTH): Adjust.
7655 * intervals.h (set_point, temp_set_point, set_point_both)
7656 (temp_set_point_both): Remove redundant declarations.
7657
76582008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7659
7660 * fileio.c (Finsert_file_contents):
7661 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7662 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7663 when buffer != current_buffer anyway.
7664
76652008-03-20 Andreas Schwab <schwab@suse.de>
7666
7667 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7668 as default.
7669
76702008-03-19 Jason Rumney <jasonr@gnu.org>
7671
7672 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7673 (syms_of_w32fns): Initialize them.
7674 (HOURGLASS_ID): New constant.
7675 (x_window_to_frame): Don't check hourglass_window.
7676 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7677 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7678 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7679 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7680 Only change the cursor if hourglass is not active.
7681 (Fx_create_frame): Initialize frame's current_cursor.
7682 (hourglass_atimer): Remove.
7683 (hourglass_started): New function.
7684 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7685 (show_hourglass): Adapt to w32, changing argument to frame.
7686
7687 * w32term.h (struct w32_output): Remove hourglass_window.
7688 Add current_cursor.
7689
7690 * eval.c (call_debugger, Fsignal):
7691 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7692 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7693 (Fexecute_extended_command, cancel_hourglass_unwind):
7694 * minibuf.c (read_minibuf):
7695 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7696
76972008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7698
7699 * window.c (run_funs): New fun.
7700 (run_window_configuration_change_hook): Use it to run the buffer-local
7701 and the global part of the hook.
7702
7703 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7704 (unwind_format_mode_line): Restore selected window.
7705 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7706
77072008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7708
7709 * editfns.c (Fchar_equal): Check they are valid characters.
7710
7711 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7712
77132008-03-17 Andreas Schwab <schwab@suse.de>
7714
7715 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7716 against a charset.
7717
7718 * lisp.h (Fbuffer_list): Declare.
7719
77202008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7721
aac0c6e3
MR
7722 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7723 handlebox_widget is != 0.
7724
77252008-03-16 Juri Linkov <juri@jurta.org>
7726
7727 * callint.c (Fcall_interactively): For interactive code letters
7728 'b' and 'B' put the buffer list into the list of default "future"
7729 values of the minibuffer.
7730
77312008-03-16 Andreas Schwab <schwab@suse.de>
7732
7733 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7734 modifiers.
7735
7736 * regex.c (re_match_2_internal): Correct matching of a charset
7737 against latin-1 characters.
7738
77392008-03-16 Kenichi Handa <handa@m17n.org>
7740
7741 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7742 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7743 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7744 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7745 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7746 CHAR_STRING_ADVANCE.
7747 (produce_chars): Fix for the case that the source and the
7748 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7749 instead of CHAR_STRING_ADVANCE.
7750 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7751 STRING_CHAR_ADVANCE.
7752
77532008-03-15 Andreas Schwab <schwab@suse.de>
7754
7755 * regex.c (re_match_2_internal): Correct matching of eight bit
7756 characters in unibyte strings.
7757
77582008-03-15 Martin Rudalics <rudalics@gmx.at>
7759
7760 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7761 at end of range when it coincides with the end of the buffer.
7762
77632008-03-14 Eli Zaretskii <eliz@gnu.org>
7764
7765 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7766
7767 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7768
77692008-03-14 Jason Rumney <jasonr@gnu.org>
7770
7771 * editfns.c (initial_tz): New variable.
7772 (syms_of_editfns): Initialize it.
7773 (Fset_time_zone_rule): Set it when first called.
7774 Use it when TZSTRING is nil.
7775
7776 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7777 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7778 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7779 (globals_of_w32fns): Initialize them.
7780 (compute_tip_xy): Use them to position tooltips.
7781
77822008-03-14 Glenn Morris <rgm@gnu.org>
7783
7784 * emacs.c (main): Revert previous change.
7785 (standard_args): Revert -internal-script back to -scriptload,
7786 and remove the long-option form.
7787
77882008-03-13 Glenn Morris <rgm@gnu.org>
7789
7790 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7791 Remove option -enable-font-backend.
7792
77932008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7794
7795 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7796
77972008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7798
7799 * xterm.c (x_connection_closed): For GTK: If this is the last
7800 terminal just exit without closing the display.
7801
78022008-03-11 Jason Rumney <jasonr@gnu.org>
7803
7804 * w32font.c (w32font_full_name): Use floor to round.
7805
f0131492 78062008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7807
7808 * sound.c (alsa_configure): Declare vol at beginning of block.
7809
7810 * fontset.c (Ffontset_info): Remove extra semicolon.
7811
78122008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7813
7814 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7815 size of resulting string.
7816
78172008-03-10 Jason Rumney <jasonr@gnu.org>
7818
7819 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7820
78212008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7822
7823 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7824 Don't pretend as if characters with display property haven't been
7825 consumed for string-replacing-string case.
7826
78272008-03-08 Kim F. Storm <storm@cua.dk>
7828
7829 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7830 (get_next_display_element, next_element_from_string)
7831 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7832
78332008-03-08 Andreas Schwab <schwab@suse.de>
7834
7835 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7836
78372008-03-06 Jason Rumney <jasonr@gnu.org>
7838
7839 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7840 when charset not specified. Only translate ANSI to unicode when
7841 font_type is truetype.
7842 (w32font_coverage_ok): New function.
7843 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7844
78452008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7846
7847 * lread.c (Fread_char): Resolve modifiers.
7848 (Fread_char_exclusive): Likewise.
7849
7850 * character.c (char_resolve_modifier_mask): New function.
7851 (char_string): Use char_resolve_modifier_mask.
7852 (Fchar_resolve_modifiers): New function.
7853 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7854 function.
7855
78562008-03-04 Jason Rumney <jasonr@gnu.org>
7857
7858 * makefile.w32-in: Always include w32font.c in the build.
7859 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7860
78612008-03-04 Andreas Schwab <schwab@suse.de>
7862
7863 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7864 (versionclean): Likewise.
7865
78662008-03-04 Juanma Barranquero <lekktu@gmail.com>
7867
7868 * .cvsignore: Add oo.
7869
78702008-03-03 Andreas Schwab <schwab@suse.de>
7871
7872 * coding.c (decode_coding_object): Inhibit gap shrinking while
7873 decoding in place.
7874
78752008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7876
7877 * w32term.c: Remove unused include "gnu.h".
7878 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7879
7880 * gnu.h: Rename to ...
7881 * emacs-icon.h: ... this.
7882 * xterm.c: Use emacs-icon.h instead of gnu.h.
7883 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7884
78852008-03-03 Juanma Barranquero <lekktu@gmail.com>
7886
7887 * w32font.c: Include math.h.
7888
78892008-03-03 Jason Rumney <jasonr@gnu.org>
7890
7891 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7892 Compute options separately.
7893 (w32font_open_internal): Set glyph_idx before caching metrics.
7894
7895 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7896 Define if system headers don't.
7897 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7898 (w32font_encode_char): Don't declare here.
7899
7900 * w32font.c (Quniscribe, QCformat): New symbols.
7901 (syms_of_w32font): Define them.
7902 (w32font_has_char): Indicate uncertainty.
7903 (w32font_encode_char): Encode as glyph point. Make static.
7904 (recompute_cached_metrics): New function.
7905 (w32font_open_internal): Use it. Set font to use glyph points
7906 initially. Set format based on type of font.
7907 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7908 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7909 on it. Set format based on information available here.
7910 (add_font_entity_to_list): Identify backend based on opentype_only.
7911
79122008-03-02 Andreas Schwab <schwab@suse.de>
7913
7914 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7915
7916 * coding.c (decode_coding_big5, produce_chars):
7917 Fix typos in last change.
7918
79192008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7920
7921 * gnu.h: New icon.
7922
79232008-03-02 Kenichi Handa <handa@m17n.org>
7924
7925 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7926 `dos', don't decode '\r' if that is the last in the source.
7927 (decode_coding_utf_16, decode_coding_emacs_mule)
7928 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7929 (decode_coding_raw_text, decode_coding_charset): Likewise.
7930 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7931
79322008-03-01 Jason Rumney <jasonr@gnu.org>
7933
7934 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7935
79362008-03-01 Kim F. Storm <storm@cua.dk>
7937
7938 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7939
79402008-03-01 Jason Rumney <jasonr@gnu.org>
7941
7942 * w32font.c (w32font_full_name): New function.
7943 (w32font_open_internal): Use it.
7944
79452008-03-01 Kim F. Storm <storm@cua.dk>
7946
7947 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7948
79492008-03-01 Jason Rumney <jasonr@gnu.org>
7950
7951 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7952
79532008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7954
7955 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7956 xg_frame_resized when the event is for the edit widget.
7957
7958 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7959
7960 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7961 set_char_size.
7962 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7963 operations on widgets here. Just set frame size if needed.
7964 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7965 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7966 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7967 the whole frame.
7968 (xg_create_tool_bar): Move attachment of the tool bar to
7969 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7970 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7971
79722008-03-01 Jason Rumney <jasonr@gnu.org>
7973
7974 * w32fns.c (w32_msg_pump): Disable debug code.
7975
79762008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7977
7978 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7979
79802008-02-29 Chong Yidong <cyd@stupidchicken.com>
7981
7982 * xdisp.c (next_overlay_string): Don't set
7983 overlay_strings_at_end_processed_p if we're currently reading from
7984 a display string.
7985
79862008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7987
7988 * xdisp.c (get_overlay_strings_1): Fix typo.
7989
79902008-02-29 Chong Yidong <cyd@stupidchicken.com>
7991
7992 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7993
79942008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7995
7996 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7997
7998 * xdisp.c (display_mode_element): Cancel the previous change.
7999 (decode_mode_spec): Likewise.
8000 (handle_auto_composed_prop): Don't make composition if it->string
8001 is a string.
8002
80032008-02-27 Kim F. Storm <storm@cua.dk>
8004
8005 * lisp.h (GLYPH): Change type from int to struct with separate char
8006 and face_id members.
8007 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
8008 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
8009 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
8010 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
8011 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
8012 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
8013 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
8014 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
8015 handle new Lisp glyph code encoding, either an integer or a cons.
8016
8017 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
8018 (GLYPH_ALIAS): Delete.
8019 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
8020 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
8021 (GLYPH_FROM_CHAR): Replace macro by ...
8022 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
8023
8024 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
8025 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
8026 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
8027 (GLYPH_INVALID_P): New macro.
8028 (spec_glyph_lookup_face): Update prototype.
8029
8030 * dispnew.c (line_draw_cost): Adapt to new glyph type.
8031 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
8032 new glyph code encoding.
8033 (spec_glyph_lookup_face): No return value; update passed glyph instead.
8034 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
8035
8036 * xdisp.c (get_next_display_element, next_element_from_display_vector):
8037 Adapt to new glyph type and new glyph code encoding.
8038
8039 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
8040
8041 * indent.c (current_column, current_column_1, Fmove_to_column)
8042 (compute_motion): Adapt to new glyph code encoding.
8043
8044 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
8045
80462008-02-27 Chong Yidong <cyd@stupidchicken.com>
8047
8048 * process.c (wait_reading_process_output): Check for window
8049 changes caused by timers.
8050 Suggested by Johan Bockgård.
8051
80522008-02-27 Glenn Morris <rgm@gnu.org>
8053
8054 * emacs.c (USAGE1): Add `--disable-font-backend'.
8055
80562008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8057
8058 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8059 is made to the buffer.
8060
80612008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8062
8063 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8064 (face_at_string_position):
8065 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8066 (face_at_string_position):
8067 * xdisp.c (display_string, next_overlay_change):
8068 * buffer.h (overlays_at):
8069 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8070 Update callers.
8071
80722008-02-26 Chong Yidong <cyd@stupidchicken.com>
8073
8074 * editfns.c (Fformat): Doc fix.
8075
80762008-02-26 Juanma Barranquero <lekktu@gmail.com>
8077
8078 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8079 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8080 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8081
80822008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8083
8084 * buffer.c (Fbuffer_swap_text): New function.
8085 (syms_of_buffer): Defsubr it.
8086
80872008-02-25 Chong Yidong <cyd@stupidchicken.com>
8088
8089 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8090
80912008-02-25 Jason Rumney <jasonr@gnu.org>
8092
8093 * w32font.c (w32font_draw): Draw one character at a time when padding.
8094
80952008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8096
8097 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8098 Handle a nil arg. Use run_window_configuration_change_hook.
8099 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8100 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8101 Use run_window_configuration_change_hook.
8102
81032008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8104
8105 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8106 1-pixel width.
8107
81082008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8109
8110 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8111 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8112 if the glyph in the font is zero pixel with.
8113
8114 * dispextern.h (struct glyph_string): New member padding_p.
8115
8116 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8117
8118 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8119
8120 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8121
8122 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8123
8124 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8125
81262008-02-25 Jason Rumney <jasonr@gnu.org>
8127
8128 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8129
81302008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8131
8132 Allow fine-grained image-cache flushing.
8133 * dispextern.h (struct image): Add `dependencies' field.
8134 (clear_image_caches): Change arg to Lisp_Object.
8135 * image.c (make_image): Initialize `dependencies' field.
8136 (clear_image_cache): Change arg to allow fine-grained flushing.
8137 Perform the flush even if image-cache-eviction-delay is nil.
8138 (clear_image_caches): Change arg to Lisp_Object.
8139 (Fclear_image_cache): Expand meaning of the argument.
8140 (mark_image): Mark `dependencies' field.
8141 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8142 (lface_hash): Use XHASH rather than XFASTINT.
8143 (face_at_buffer_position): Fix int -> EMACS_INT position.
8144 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8145 (select_frame_for_redisplay): Remove code duplication.
8146 (redisplay_internal): Adapt arg to call to clear_image_caches.
8147
81482008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8149
8150 * s/vms4-0.h:
8151 * s/vms4-2.h:
8152 * s/vms4-4.h:
8153 * s/vms5-5.h: Remove, unused.
8154
8155 * s/irix5-2.h:
8156 * s/irix6-0.h:
8157 * s/riscos5.h:
8158 * s/mach-bsd4-3.h:
8159 * m/mips4.h: Remove files for obsolete systems.
8160
8161 * Makefile.in:
8162 * filelock.c:
8163 * unexmips.c:
8164 * m/hp9000s300.h:
8165 * m/iris4d.h:
8166 * s/aix3-1.h:
8167 * s/hpux.h:
8168 * s/msdos.h:
8169 * s/usg5-0.h:
8170 * s/usg5-2-2.h:
8171 * s/usg5-2.h:
8172 * s/usg5-3.h: Remove references to obsolete variables.
8173
8174 * s/irix5-0.h: Remove, move all the contents ...
8175 * s/irix6-5.h: ... here. Simplify.
8176 * config.in: Regenerate.
8177
81782008-02-24 Jason Rumney <jasonr@gnu.org>
8179
8180 * w32term.c (x_draw_glyph_string_background): Clear the background
8181 manually when cleartype is in use.
8182 (x_draw_glyph_string_foreground): Draw text transparently when
8183 cleartype is in use.
8184
8185 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8186 a font into it unless we have to.
8187
81882008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8189
8190 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8191 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 8192
aac0c6e3
MR
81932008-02-18 Jason Rumney <jasonr@gnu.org>
8194
8195 * w32fns.c (Fw32_shell_execute): Encode parameters.
8196
81972008-02-09 Eli Zaretskii <eliz@gnu.org>
8198
8199 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8200
82012008-02-05 Juanma Barranquero <lekktu@gmail.com>
8202
8203 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8204
82052008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8206
8207 * xterm.c (x_set_offset): Don't change the gravity if
8208 CHANGE_GRAVITY is -1.
8209
82102008-02-23 Chong Yidong <cyd@stupidchicken.com>
8211
8212 * fileio.c (auto_save_error_occurred): New var.
8213 (auto_save_error): Set it.
8214 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8215 error occurred.
8216
82172008-02-23 Eli Zaretskii <eliz@gnu.org>
8218
8219 * w32.c (globals_of_w32): Add initializations for
8220 g_b_init_get_sid_sub_authority and
8221 g_b_init_get_sid_sub_authority_count.
8222
82232008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8224
8225 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8226 (font_parse_xlfd): Use them for sanity check.
8227 (Finternal_set_font_style_table): Make sure the table is bijective.
8228
8229 Consolidate the image_cache to the terminal struct.
8230 * termhooks.h (P_): Remove redundant def.
8231 (struct terminal): New field `image_cache'.
8232 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8233 of FRAME_X_IMAGE_CACHE.
8234 * xterm.h (struct x_display_info): Remove image_cache field.
8235 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8236 * w32term.h (struct w32_display_info): Remove image_cache field.
8237 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8238 * macterm.h (struct mac_display_info): Remove image_cache field.
8239 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8240 * xterm.c (x_term_init):
8241 * w32term.c (w32_term_init):
8242 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8243 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8244 Remove declarations.
8245 (clear_image_caches, mark_image_cache): New declarations.
8246 * xfaces.c (clear_face_cache):
8247 * xdisp.c (redisplay_internal): Use clear_image_caches.
8248 * image.c (clear_image_cache): Don't check that a frame is on
8249 a window-system before checking if it shares the same cache.
8250 (clear_image_caches): New function.
8251 (Fclear_image_cache): Use it.
8252 (mark_image): Move from allo.c.
8253 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8254 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8255 (mark_object): Don't call mark_image_cache for frames.
8256 (mark_terminals): Call mark_image_cache.
8257
8258 * lisp.h (Fdelete_terminal): Declare.
8259
8260 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8261 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8262 wrong_type_argument.
8263
82642008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8265
8266 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8267 malayalam.el, and tamil.el. Add sinhala.el.
8268
82692008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8270
8271 * xterm.c (x_connection_closed): Consolidate identical tests.
8272 (x_delete_terminal): Don't crash if called via x_connection_closed.
8273
82742008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8275
8276 * xdisp.c (decode_mode_spec): New arg string.
8277 (display_mode_element): Adjust for the above change.
8278
82792008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8280
8281 * callint.c (Fcall_interactively): Use AREF.
8282
82832008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8284
8285 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8286
82872008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8288
8289 * xfns.c (Fx_show_tip): Set string to " " if empty.
8290
82912008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8292
8293 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8294 with Qt.
8295
82962008-02-17 Kenichi Handa <handa@m17n.org>
8297
8298 * ftfont.c (ftfont_shape): Return Lispy number.
8299
8300 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8301 for GCs.
8302 (Finternal_set_font_selection_order): Call font_update_sort_order
8303 only when enable_font_backend is set.
8304 (realize_x_face): Set face->font_info to that of default face only
8305 when enable_font_backend is set.
8306
8307 * xdisp.c (handle_composition_prop): Set it->c to the fist
8308 character of the composed region.
8309 (fill_composite_glyph_string): Set base_face->font_info to
8310 s->font_info. Get a face for ascii from base_face->ascii_face.
8311 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8312 with a face already decided.
8313 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8314 non-negative.
8315 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8316 call font_prepare_composition unconditionally.
8317
8318 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8319
8320 * xterm.h (struct x_display_info): New member font.
8321
8322 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8323 (x_set_mouse_face_gc, x_new_font): Likewise.
8324 (x_term_init): Setup display_info->font.
8325 (x_delete_terminal): Free display_info->font.
8326
8327 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8328
8329 * ftxfont.c (ftxfont_default_fid): Delete it.
8330 (ftxfont_open): Set xfont->fid to 0.
8331 (ftxfont_end_for_frame): Clear data specific to the frame and the
8332 font-driver.
8333
8334 * xftfont.c (xftfont_default_fid): Delete it.
8335 (xftfont_open): Set xfont->fid to 0.
8336
8337 * fontset.c (FONTSET_OBJLIST): New macro.
8338 (fontset_find_font): Update font-object list of the fontset.
8339 (free_realized_fontset): New function.
8340 (free_face_fontset): Call free_realized_fontset.
8341 (Ffont_info): Call font_close_object only when enable_font_backend
8342 is set.
8343
8344 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8345 [HAVE_NTGUI]: Include w32term.h.
8346 [MAC_OS]: Include macterm.ch.
8347 (font_otf_ValueRecord): Use make_number.
8348 (font_finish_cache): Fix handling of reference count.
8349 (font_clear_cache): Update num_fonts.
8350 (font_open_entity): Update smallest_char_width and
8351 smallest_font_height of the frame.
8352 (font_close_object): Update num_fonts.
8353 (Fclear_font_cache): Fix finding the target cache data.
8354
83552008-02-16 Glenn Morris <rgm@gnu.org>
8356
8357 * fontset.c (Finternal_char_font): Fix compilation warning.
8358
83592008-02-16 Eli Zaretskii <eliz@gnu.org>
8360
8361 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8362 instead of char arrays. Enlarge the size of array passed to
8363 get_token_information.
8364
8365 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8366 warnings.
8367
83682008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8369
8370 * .gdbinit: Don't set `args', it breaks gdb --args.
8371
83722008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8373
8374 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8375 within a narrowed buffer.
8376
83772008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8378
8379 * coding.c (decode_coding_object, encode_coding_object):
8380 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8381
83822008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8383
8384 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8385 hardcoding 1.
8386 (detect_coding_system):
8387 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8388 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8389 * insdel.c (insert_from_gap):
8390 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8391 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8392 (string_to_multibyte):
8393 * character.c (chars_in_text, multibyte_chars_in_text):
8394 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8395
8396 * character.h (FETCH_STRING_CHAR_ADVANCE)
8397 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8398 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8399 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8400
8401 * casefiddle.c (casify_region): Only call after-change and composition
8402 functions on the part of the region that was changed.
8403
8404 * keyboard.c (read_avail_input):
8405 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8406
84072008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8408
8409 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8410 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8411
84122008-02-11 Juanma Barranquero <lekktu@gmail.com>
8413
8414 * w32menu.c (push_submenu_start, push_submenu_end)
8415 (push_left_right_boundary, push_menu_pane, push_menu_item):
8416 * keyboard.c (read_key_sequence): Don't pass args with side effects
8417 to AREF, it fails when compiling with -DENABLE_CHECKING.
8418
84192008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8420
8421 * Makefile.in (${lispsource}international/charprop.el):
8422 Delete this target.
8423
8424 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8425 emacs-unicode-2.
8426
84272008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8428
8429 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8430
84312008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8432
8433 * frame.c (Qnoelisp): New symbol.
8434 (syms_of_frame): Initialize it.
8435 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8436 harmless Elisp code, from a strong `force' from x_connection_closed.
8437 * frame.h (Qnoelisp): Declare.
8438 * xterm.c (x_connection_closed): Pass `noelisp'.
8439
8440 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8441 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8442 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8443 rather than `int' for the type of `type'.
8444
84452008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8446
8447 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8448
8449 * Makefile.in (GNUC): Remove support for gcc-1.x.
8450
84512008-02-10 Richard Stallman <rms@gnu.org>
8452
8453 * lisp.h (ASET): Use AREF, not ASLOT.
8454
84552008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8456
8457 * lisp.h (ASET): Check bounds.
8458
84592008-02-10 Glenn Morris <rgm@gnu.org>
8460
8461 * buffer.c (mode-name): Doc fix.
8462
84632008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8464
8465 * Makefile.in:
8466 * emacs.c:
8467 * gmalloc.c:
8468 * keyboard.c:
8469 * lisp.h:
8470 * m/ibm370aix.h:
8471 * process.c:
8472 * regex.c:
8473 * s/hpux.h:
8474 * sysdep.c:
8475 * sysselect.h:
8476 * systty.h:
8477 * unexec.c:
8478 * w32term.c:
8479 * xsmfns.c:
8480 * xterm.c: Remove code that deals with obsolete variables.
8481
8482 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8483
8484 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8485 nothing else needs it anymore.
8486
84872008-02-09 Eli Zaretskii <eliz@gnu.org>
8488
8489 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8490 instead of unibyte_char_to_multibyte.
8491
84922008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8493
8494 * s/gnu-linux.h: Remove commented out code.
8495
8496 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8497
8498 * Makefile.in: Update what RMS says about using autoconf.
8499 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8500 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8501 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8502 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8503
85042008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8505
8506 * keymap.c (Fkey_description): Move side effect outside of macro call.
8507
8508 * xfaces.c (Finternal_make_lisp_face):
8509 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8510
8511 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8512 (syms_of_fontset): Use ASET.
8513
8514 * fns.c (concat): Move side effect outside of macro call.
8515 (hash_clear): Use ASET.
8516
85172008-02-08 Richard Stallman <rms@gnu.org>
8518
8519 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8520 If FORCE, and frame has a surrogate minibuffer for another frame,
8521 delete the other frame first.
8522
85232008-02-07 Timo Savola <timo.savola@iki.fi>
8524
8525 * xterm.c (x_detect_focus_change): Handle embed client message.
8526 (handle_one_xevent): Ditto.
8527 (handle_one_xevent): If embedded and we get a button press/release,
8528 request focus.
8529 (xembed_set_info, xembed_send_message): New functions.
8530 (x_make_frame_visible): Call xembed_set_info if embedded.
8531 (x_make_frame_invisible): Call xembed_set_info if embedded.
8532 (x_term_init): Initialize Xatom_XEMBED.
8533 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8534 (x_iconify_frame): Ditto.
8535
8536 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8537 (enum xembed_info, enum xembed_message, enum xembed_focus)
8538 (enum xembed_modifier, enum xembed_accelerator): New.
8539 (xembed_set_info, xembed_send_message): Declare.
8540 (FRAME_X_EMBEDDED_P): New.
8541
8542 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8543 gtk_plug_new.
8544
8545 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8546 window ID of a frame.
8547 (x_window): Reparent frame if embedded.
8548 (Fx_create_frame): Don't set border width if embedded.
8549
8550 * emacs.c (USAGE3): Add --parent-id.
8551 (standard_args): Ditto.
8552
85532008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8554
8555 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8556
85572008-02-07 Jim Meyering <meyering@redhat.com>
8558
8559 Use "do...while (0)", not "if (1)...else" in macro definitions.
8560 The latter provokes a warning from gcc about the empty else, when
8561 followed by ";". Also, without that trailing semicolon, it would
8562 silently swallow up any following statement.
8563 * syntax.h (SETUP_SYNTAX_TABLE)
8564 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8565 * buffer.h (DECODE_POSITION): Likewise.
8566 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8567 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8568 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8569 (FETCH_CHAR_ADVANCE): Likewise.
8570 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8571
85722008-02-07 Jim Meyering <meyering@redhat.com>
8573
8574 * lread.c [lint]: Don't include <sys/inode.h>.
8575
85762008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8577
8578 * xselect.c (x_handle_dnd_message):
8579 * xmenu.c (digest_single_submenu, xmenu_show):
8580 * xdisp.c (with_echo_area_buffer_unwind_data)
8581 (format_mode_line_unwind_data, unwind_format_mode_line)
8582 (display_menu_bar):
8583 * eval.c (Ffetch_bytecode):
8584 * doc.c (store_function_docstring):
8585 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8586 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8587 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8588
85892008-02-07 Kenichi Handa <handa@m17n.org>
8590
8591 * ftxfont.c (ftxfont_open): Don't set
8592 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8593
8594 * ftfont.c (ftfont_open): Fix previous change.
8595
85962008-02-06 Jason Rumney <jasonr@gnu.org>
8597
8598 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8599 Use cached metrics for ASCII characters.
8600 (w32font_open_internal): Don't set font's owning_frame.
8601 Cache metrics for ASCII characters.
8602
8603 * w32font.h (struct w32font_info): Add ascii_metrics.
8604 Remove owning_frame.
8605
86062008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8607
8608 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8609 to negative value.
8610
8611 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8612
8613 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8614
8615 * charset.c (syms_of_charset): Set QCtest and Qeq.
8616
86172008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8618
8619 * process.c (Fstart_process):
8620 * callproc.c (Fcall_process): Handle the case where
8621 Funhandled_file_name_directory returns nil.
8622
8623 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8624 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8625 * font.c (check_gstring): Use them and AREF to access the vector before
8626 we know it's really a gstring.
8627 (Ffont_shape_text): Fix typo.
8628 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8629
8630 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8631 Declare.
8632
8633 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8634
86352008-02-05 Jason Rumney <jasonr@gnu.org>
8636
8637 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8638 Set smallest_font_height and smallest_char_width in display info.
8639
86402008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8641
8642 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8643
86442008-02-05 Miles Bader <miles@gnu.org>
8645
8646 * xfaces.c (get_lface_attributes, merge_named_face)
8647 (lookup_named_face, lookup_derived_face, realize_named_face):
8648 Revert 2008-02-01 change by cyd@stupidchicken.com.
8649
86502008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8651
8652 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8653 fallback fonts.
8654 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8655
86562008-02-04 Jason Rumney <jasonr@gnu.org>
8657
8658 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8659 set full_name.
8660 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8661
86622008-02-03 Jason Rumney <jasonr@gnu.org>
8663
8664 * makefile.w32-in (OBJ1): Include font.o here.
8665 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8666
86672008-02-02 Jason Rumney <jasonr@gnu.org>
8668
8669 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8670
86712008-02-01 Jason Rumney <jasonr@gnu.org>
8672
8673 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8674
8675 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8676
86772008-02-01 Andreas Schwab <schwab@suse.de>
8678
8679 * Makefile.in (shortlisp, lisp): Update for rename of
8680 ../lisp/language/myanmar.el.
8681
86822008-02-01 Chong Yidong <cyd@stupidchicken.com>
8683
8684 * xfaces.c (get_lface_attributes): Delete function.
8685 (merge_named_face, lookup_named_face, lookup_derived_face)
8686 (realize_named_face): Call lface_from_face_name directly, and use
8687 the fact that merge_face_vectors does not alter its FROM argument.
8688
86892008-02-01 Jason Rumney <jasonr@gnu.org>
8690
8691 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8692 input in the default locale. Handle non-Unicode multibyte input.
8693
86942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8695
8696 * fontset.c (reorder_font_vector): Exclude nil elements from the
8697 font group. Don't try multiple fonts.
8698 (fontset_font): Adjust for the above change.
8699 (Finternal_char_font): Return nil if the found font doesn't
8700 contain the character ch.
8701
8702 * Makefile.in (lisp, shortlisp): Add cham.el.
8703
87042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8705
8706 * font.h (FONTP): Make it return 1 also for a font-object.
8707
8708 * .gdbinit (xfontset): New function.
8709
8710 * font.c (font_find_for_lface): Check if the character C is
8711 supported or not only for the first font.
8712
8713 * fontset.c (reorder_font_vector): Fix typo.
8714 (fontset_find_font): Don't add a font-spec specifying a script.
8715 Use 0 (not Qt) for the indication of empty font-group. Change the
8716 format of RFONT-DEF. Return Qt if no font in the font-group
8717 support the character.
8718 (fontset_font): Adjust for the above change. If no font was
8719 found the character, remember that.
8720 (face_for_char): Adjust for the change of RFONT-DEF.
8721 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8722 no font for the target.
8723 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8724
87252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8726
8727 * font.c (font_load_for_face): Handle the case that the font in
8728 face->lface is a string.
8729
87302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8731
8732 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8733
87342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8735
8736 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8737 Fix previous change. If the frame is not on a window system,
8738 signal an error.
8739
87402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8741
8742 * coding.c (decode_coding_object, encode_coding_object): Adjust
8743 marker positions after conversion.
8744
8745 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8746
87472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8748
8749 * font.c (font_find_for_lface): Fix the handling of the return
8750 value of font_has_char.
8751 (Ffont_shape_text): Fix previous change.
8752
8753 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8754 (fontset_ref_and_range): Delete it.
8755 (fontset_find_font): Call char_table_ref_and_range instead of
8756 FONTSET_REF_AND_RANGE.
8757 (make_fontset): Don't setup font groups of Latin here.
8758 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8759 (new_fontset_from_font): Make the specified font the default for
8760 all Latin characters.
8761
87622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8763
8764 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8765 is on a window system before accessing the fontset of the frame.
8766
87672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8768
8769 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8770
8771 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8772 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8773
8774 * font.c (Ffont_shape_text): If the font driver doesn't have a
8775 shaper function, make zero-width glyphs to have at least one-pixel
8776 width. Fix setting of `to' field of glyphs.
8777
87782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8779
8780 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8781 glyphs.
8782
8783 * font.h (struct font_driver): Improve docstring of member `shape'.
8784
87852008-02-01 Kenichi Handa <handa@m17n.org>
8786
8787 * composite.c (syms_of_composite): Fix docstring of
8788 auto-composition-function.
8789
8790 * font.h (LGLYPH_SIZE): New macro.
8791
8792 * font.c (Ffont_fill_gstring): Stop filling when a character not
8793 supported by the font is found.
8794 (Ffont_shape_text): When a shape callback function returns nil,
8795 try at most two more times with larger gstring.
8796 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8797
8798 * xdisp.c (handle_auto_composed_prop): Change the argument to
8799 auto-composition-function.
8800
8801 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8802 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8803 Lispy glyph and store it in the lgstring.
8804
8805 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8806
8807 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8808
88092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8810
8811 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8812
8813 * fontset.c (Vfont_encoding_charset_alist): New variable.
8814 (syms_of_fontset): DEFVAR it.
8815 (reorder_font_vector, fontset_find_font): Optimize for the case of
8816 no need of reordering.
8817 (face_for_char): Map the charset property by
8818 Vfont_encoding_charset_alist.
8819
88202008-02-01 Jason Rumney <jasonr@gnu.org>
8821
8822 * w32font.c (logfonts_match): Don't check adstyle here.
8823 (font_matches_spec): Check here against physical font instead.
8824 (add_font_entity_to_list): Avoid some substitutions.
8825
8826 * font.c (font_parse_fcname): Default weight and slant to normal.
8827 (font_score): Prefer normal fonts if weight or slant unspecified.
8828 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8829 match freetype scores.
8830
88312008-02-01 Jason Rumney <jasonr@gnu.org>
8832
8833 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8834 font, as it may have been deleted.
8835 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8836 most common hyphenless variation.
8837 (logfonts_match): Check generic family.
8838 (font_matches_spec): Don't check generic family here.
8839 (fill_in_logfont): Set generic family based on adstyle.
8840
8841 * w32font.h (w32font_get_cache): Update declaration.
8842
88432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8844
8845 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8846
8847 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8848 If none of the new drivers are available, call font_update_drivers
8849 with the old drivers.
8850
8851 * w32font.c (w32font_get_cache): Adjust the argument type.
8852
8853 * xfont.c (xfont_get_cache): Adjust the argument type.
8854
8855 * font.h (struct font_driver): Change argument type of get_cache.
8856
8857 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8858
8859 * font.c (Ffont_get): Fix arguments to Fassoc.
8860 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8861 (font_clear_cache): New function.
8862 (font_list_entities, font_matching_entity): Use font_get_cache.
8863 (font_update_drivers): Call font_clear_cache when finishing a driver.
8864
8865 * fontset.c (fontset_find_font): Fix previous change.
8866
88672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8868
8869 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8870 dpyinfo->font_table.
8871 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8872 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8873
8874 * font.c (font_at): Handle the case that the arg C is negative.
8875 Handle the unibyte case.
8876 (Ffont_at): Call font_at with the arg C -1.
8877
8878 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8879 the position here, and call font_at with the arg C -1.
8880 Don't check the range of the existing composition at the point.
8881
88822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8883
8884 * fontset.c (fontset_add): New args charset_id and family.
8885 Change caller.
8886 (load_font_get_repertory, fontset_find_font): Assume that
8887 font_spec is always a font-spec object.
8888 (Fset_fontset_font): Always store a font-spec object in a fontset.
8889
8890 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8891 instead of get_property_and_range.
8892
88932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8894
8895 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8896 (xftfont_open): Don't keep locking face.
8897 (xftfont_close): Don't unlock face.
8898 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8899
8900 * fontset.c (fontset_find_font): Don't prefer a font of
8901 supplementary charset.
8902
89032008-02-01 Kenichi Handa <handa@m17n.org>
8904
8905 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8906 script, langsys_tag to langsys, new member script.
8907 (OTF_TAG_STR): Terminate by '\0'.
8908 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8909 listing to the script specified in that property. Fix arg to
8910 OTF_check_features.
8911
89122008-02-01 Jason Rumney <jasonr@gnu.org>
8913
8914 * w32font.h: New file.
8915
8916 * w32font.c: Include it.
8917 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8918 (w32font_open): Set owning_frame.
8919 (w32font_text_extents): Use owning_frame.
8920 (struct font_callback_data): Add opentype_only field.
8921 (add_font_entity_to_list): Use it to filter fonts.
8922 Don't check against full name.
8923 (w32font_list_internal): New function.
8924 (w32font_list): Use it.
8925 (w32font_match_internal): New function.
8926 (w32font_match): Use it.
8927 (w32font_open_internal): New function.
8928 (w32font_open): Use it.
8929 (w32font_get_cache, w32font_close, w32font_has_char)
8930 (w32font_encode_char, w32font_text_extents, w32font_draw):
8931 Make non-static.
8932
8933 * makefile.w32-in (w32font.o): Depend on w32font.h.
8934
89352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8936
8937 * charset.c (Fdefine_charset_internal): Record a supplementary
8938 charset at the tail of Vcharset_order_list.
8939
8940 * font.c (Ffont_shape_text): Fix the return value.
8941
8942 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8943
8944 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8945
89462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8947
8948 * ftfont.c (struct OpenTypeSpec): New struct.
8949 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8950 (ftfont_get_open_type_spec): New function.
8951 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8952
8953 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8954
89552008-02-01 Jason Rumney <jasonr@gnu.org>
8956
8957 * w32font.c (add_font_entity_to_list): Compare only the beginning
8958 of full name.
8959
89602008-02-01 Kenichi Handa <handa@m17n.org>
8961
8962 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8963 Never return HANDLED_RECOMPUTE_PROPS.
8964
89652008-02-01 Kenichi Handa <handa@m17n.org>
8966
8967 * font.c (font_gstring_produce): Delete it.
8968
8969 * composite.h (COMPOSITION_METHOD):
8970 Handle COMPOSITION_WITH_GLYPH_STRING.
8971
89722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8973
8974 * xfont.c (Qx): Delete.
8975 (syms_of_xfont): Don't initialize Qx.
8976
8977 * composite.h (enum composition_method):
8978 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8979
89802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8981
8982 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8983 (choose_face_font): Accept new form of font-spec.
8984
8985 * frame.h (font_driver_list): Declare it unconditionally.
8986 (struct frame): Define members font_driver_list and font_data_list
8987 unconditionally.
8988
8989 * fontset.c: Include "font.h" unconditionally.
8990 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8991 (Fset_fontset_font): Accept a font-spec object.
8992
8993 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8994 PIXEL_SIZE part a wild card.
8995
8996 * dispextern.h (struct glyph_string): Define members clip and
8997 num_clips unconditionally.
8998 (struct face): Define members font_info and extra unconditionally.
8999
9000 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
9001 ftfont_info only when HAVE_LIBOTF is defined.
9002
90032008-02-01 Andreas Schwab <schwab@suse.de>
9004
9005 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
9006 and end.
9007
90082008-02-01 Jason Rumney <jasonr@gnu.org>
9009
9010 * w32font.c (w32font_driver): Add new fields.
9011
90122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9013
9014 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
9015 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
9016 (LIBES): Add @M17N_FLT_CFLAGS@.
9017
9018 * composite.c (compose_text): Don't treat the new style
9019 composition specially.
9020
9021 * emacs.c (main): Call syms_of_font unconditionally.
9022
9023 * font.h (FONT_ENTITY_NOT_LOADABLE)
9024 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
9025 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
9026 (struct font_driver): New member shape.
9027 (font_registry_charsets): Extern it.
9028 (font_find_for_lface, font_prepare_composition): Adjust prototype.
9029 (font_otf_capability, font_drive_otf): Delete their externs.
9030
9031 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
9032 (font_charset_alist, font_registry_charsets): Move from xfont.c
9033 and rename.
9034 (font_prop_validate_otf): New function.
9035 (font_property_table): Register it for QCotf.
9036 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
9037 (font_drive_otf): Delete.
9038 (font_prepare_composition): New arg F. Adjust for the change of
9039 lispy gstring.
9040 (font_find_for_lface): New arg C.
9041 (font_load_for_face): Adjust for the change of font_find_for_lface.
9042 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
9043 lispy gstring.
9044 (Ffont_shape_text): New function.
9045 (Fopen_font): If the font size is not given, use 12-pixel.
9046 (Ffont_at): New arg STRING.
9047 (syms_of_font): Initalize font_charset_alist.
9048 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
9049 conditionally.
9050
9051 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
9052 fonts of the same font-spec. Change the format of RFONT-DEF.
9053 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
9054 Adjust for the change of RFONT-DEF.
9055 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
9056
9057 * ftfont.h: New file.
9058
9059 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9060 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9061 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9062 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9063 font_otf_capability and font_drive_otf, set ftfont_shape.
9064 (ftfont_list): Adjust for the change of :otf property value.
9065 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9066 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9067 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9068 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9069 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9070 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9071
9072 * w32term.c (x_draw_composite_glyph_string_foreground):
9073 Adjust for the change of lispy gstring.
9074
9075 * xdisp.c (handle_composition_prop): Adjust for the change of
9076 lispy gstring. Call a function for auto-composition with the
9077 third arg it->window.
9078 (fill_composite_glyph_string): Adjust for the change of lispy string.
9079 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9080
9081 * xfaces.c (set_font_frame_param): Adjust for the change of
9082 font_find_for_lface.
9083
9084 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9085 (xfont_registry_charsets): Likewise. Change caller.
9086 (syms_of_xfont): Don't handle x_font_charset_alist.
9087
9088 * xftfont.c: Include "ftfont.h".
9089 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9090 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9091 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9092 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9093 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9094 Set xftfont_driver.shape to xftfont_shape.
9095
9096 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9097 the change of lispy gstring.
9098
90992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9100
9101 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9102
91032008-02-01 Jason Rumney <jasonr@gnu.org>
9104
9105 * w32font.c (w32font_draw): Fill background manually.
9106
91072008-02-01 Jason Rumney <jasonr@gnu.org>
9108
9109 * font.c (Qfontp): Remove unused symbol.
9110 (QCantialias): New symbol.
9111 (syms_of_font): Define it.
9112 (font_property_table): Set a validator for QCantialias.
9113
9114 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9115 Define if not already.
9116 (QCfamily): Share with xfaces.c.
9117 (Qstandard, Qsubpixel, Qnatural): New symbols.
9118 (syms_of_w32font): Define them. Don't define QCfamily here.
9119 (w32_antialias_type, lispy_antialias_type): New functions.
9120 (w32_enumfont_pattern_entity): New arg requested_font.
9121 Set antialias parameter if non-default was requested.
9122 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9123
91242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9125
9126 * lread.c (read1): Undo the previous change.
9127
91282008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9129
9130 * frame.c (Fdelete_frame): Call font_update_drivers only when
9131 USE_FONT_BACKEND is defined.
9132
91332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9134
9135 * font.h (struct font_bitmap): New member bits_per_pixel.
9136 (struct font_driver): New members start_for_frame and end_for_frame.
9137 (struct font_data_list): New struct.
9138 (font_put_frame_data, font_get_frame_data): Extern them.
9139
9140 * frame.h (struct frame): New member font_data_list.
9141
9142 * font.c (font_update_drivers): Call driver->start_for_frame and
9143 driver->end_for_frame at proper timings.
9144 (font_put_frame_data, font_get_frame_data): New functions.
9145 (Ffont_spec): Add usage in the docstring.
9146
9147 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9148 (Fdelete_frame): Call font_update_drivers.
9149
9150 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9151 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9152 (xftfont_get_xft_draw): New function.
9153 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9154 (xftfont_end_for_frame): New function.
9155 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9156
9157 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9158 Change argument. Cache GCs in the per-frame data.
9159 (struct ftxfont_frame_data): New struct.
9160 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9161 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9162 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9163 (ftxfont_end_for_frame): New function.
9164 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9165
9166 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9167
91682008-02-01 Kenichi Handa <handa@m17n.org>
9169
9170 * xselect.c (Vselection_coding_system)
9171 (Vnext_selection_coding_system): Delete them.
9172 (syms_of_xselect): Don't declare selection-coding-system and
9173 next-selection-coding-system. They are declared in select.el.
9174
91752008-02-01 Jason Rumney <jasonr@gnu.org>
9176
9177 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9178
9179 * w32fns.c: Include imm.h.
9180 (get_composition_string_fn, get_ime_context_fn): New optional
9181 system functions.
9182 (globals_of_w32fns): Load them from imm32.dll.
9183 (ignore_ime_char): New flag.
9184 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9185 WM_IME_ENDCOMPOSITION messages.
9186
9187 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9188 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9189
91902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9191
9192 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9193 (READCHAR_REPORT_MULTIBYTE): New macro.
9194 (readchar): New 2nd arg MULTIBYTE.
9195 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9196 Make symbol's name multibyte according to the multibyteness of the
9197 source.
9198
91992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9200
9201 * xfaces.c (face_for_overlay_string): Call lookup_face with
9202 correct arguments (fix of synching with the trunk).
9203
92042008-02-01 Kenichi Handa <handa@m17n.org>
9205
9206 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9207 (font_prop_validate_non_neg, font_prop_validate_spacing):
9208 Delete argument prop_index.
9209 (font_property_table): Change arguments to validater. Change Callers.
9210 (font_lispy_object): Delete.
9211 (font_at): Use font_find_object instead fo font_lispy_object.
9212
92132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9214
9215 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9216 and file names.
9217
92182008-02-01 Jason Rumney <jasonr@gnu.org>
9219
9220 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9221 (font_matches_spec): Remove debug output.
9222 (add_font_entity_to_list): Avoid using substituted fonts.
9223
92242008-02-01 Jason Rumney <jasonr@gnu.org>
9225
9226 * doc.c (Fsnarf_documentation):
9227 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9228
92292008-02-01 Miles Bader <miles@gnu.org>
9230
9231 * dispextern.h (struct glyph_row): Only define "clip" field if
9232 HAVE_WINDOW_SYSTEM is defined.
9233
92342008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9235
9236 Fix up multi-tty merge.
9237
9238 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9239 and indentation.
9240
9241 * xfaces.c (free_realized_face, clear_face_gcs):
9242 Include font_done_for_face in the input_blocked section, just in case.
9243
9244 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9245 (get_char_face_and_encoding): Undo last change and remove the *other*
9246 duplicate definition (i.e. keep the one that's better scoped and that
9247 includes code for the font-backend).
9248
9249 * terminal.c (create_terminal): Default keyboard_coding to
9250 `no-conversion' and terminal_coding to `undecided'.
9251
9252 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9253
9254 * fontset.c (free_realized_fontsets): Check that the table entry does
9255 contain a fontset before trying to compare it to `base'.
9256
9257 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9258 syms_of_charset, and syms_of_coding earlier because init_window_once
9259 now needs Vcoding_system_hash_table to be setup.
9260
9261 * coding.h (default_buffer_file_coding): Remove.
9262
9263 * coding.c (default_buffer_file_coding): Remove.
9264 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9265 than ->symbol, and use the terminal-local coding system.
9266 (syms_of_coding): Don't setup the coding-systems that are not
9267 terminal-local.
9268 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9269
9270 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9271 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9272
9273 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9274 in chartab.c and were re-added here by mistake.
9275 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9276
9277 * doc.c (Fsnarf_documentation):
9278 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9279 src to etc.
9280
9281 * ChangeLog.10: Add mistakenly removed entry.
9282
92832008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9284
9285 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9286
92872008-02-01 Miles Bader <miles@gnu.org>
9288
9289 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9290 Add extra args to FACE_FOR_CHAR.
9291
92922008-02-01 Kenichi Handa <handa@m17n.org>
9293
9294 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9295 in sequence.
9296
9297 * chartab.c (map_sub_char_table, map_char_table): If the range
9298 contains just one character, call the function with that character
9299 even if the depth is not 3.
9300
93012008-02-01 Jason Rumney <jasonr@gnu.org>
9302
9303 * w32font.c (w32font_text_extents): Calculate metrics for the
9304 whole string.
9305
93062008-02-01 Jason Rumney <jasonr@gnu.org>
9307
9308 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9309
93102008-02-01 Jason Rumney <jasonr@gnu.org>
9311
9312 * w32term.c (x_set_glyph_string_clipping): Use
9313 get_glyph_string_clip_rects.
9314 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9315 Adjust for the change of struct glyph_string.
9316
9317 * w32font.c (w32font_draw): Do clipping here.
9318
93192008-02-01 Kenichi Handa <handa@m17n.org>
9320
9321 * xftfont.c (xftfont_draw): Adjust for the change of struct
9322 glyph_string.
9323
9324 * xterm.c (x_set_glyph_string_clipping): Use
9325 get_glyph_string_clip_rects.
9326 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9327 Adjust for the change of struct glyph_string.
9328
9329 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9330 the resulting clip(s}.
9331 (expose_overlaps): Add arg r. Change callers. Set it to
9332 row->clip temporarily.
9333 (expose_window): Redraw rows overlapping the exposed area.
9334
9335 * dispextern.h (struct glyph_row): New member clip.
9336 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9337 clip_height, new member clip, and num_clips.
9338
93392008-02-01 Kenichi Handa <handa@m17n.org>
9340
9341 * data.c (Fchar_or_string_p): Fix docstring.
9342
93432008-02-01 Kenichi Handa <handa@m17n.org>
9344
9345 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9346 create a temporary XftDraw object.
9347
93482008-02-01 Kenichi Handa <handa@m17n.org>
9349
9350 * font.c (Ffontp): Fix docstring.
9351
9352 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9353 strong evidence of ISO-2022.
9354
93552008-02-01 Kenichi Handa <handa@m17n.org>
9356
9357 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9358 SYNTAX_ENTRY_FOLLOW_PARENT.
9359
93602008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9361
9362 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9363 its type.
9364 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9365 Update to the new type of weak_hash_tables and next_weak.
9366
9367 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9368 a plain C pointer to Lisp_Hash_Table.
9369
9370 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9371 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9372 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9373 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9374 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9375 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9376 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9377 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9378 (GC_EQ): Remove since they've been identical to their non-GC_
9379 alter-egos ever since the markbit was eradicated.
9380
9381 * alloc.c:
9382 * buffer.c:
9383 * buffer.h:
9384 * data.c:
9385 * fileio.c:
9386 * filelock.c:
9387 * fns.c:
9388 * frame.h:
9389 * lisp.h:
9390 * macterm.c:
9391 * print.c:
9392 * process.c:
9393 * w32fns.c:
9394 * w32menu.c:
9395 * w32term.c:
9396 * xfns.c:
9397 * xmenu.c:
9398 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9399
94002008-02-01 Kenichi Handa <handa@m17n.org>
9401
9402 * chartab.c (map_sub_char_table): Make it work for the top-level
9403 char-table. Fix handling of parent char-table.
9404 (map_char_table): Adjust for the above change.
9405
94062008-02-01 Jason Rumney <jasonr@gnu.org>
9407
9408 * w32font.c (Qgdi): Rename from Qw32.
9409
94102008-02-01 Jason Rumney <jasonr@gnu.org>
9411
9412 * w32bdf.c (get_quoted_string): Make function static.
9413
94142008-02-01 Kenichi Handa <handa@m17n.org>
9415
9416 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9417 bigger ascent and descent than those of the font, use them as
9418 font's ascent and descent.
9419
94202008-02-01 Kenichi Handa <handa@m17n.org>
9421
9422 * Makefile.in (${lispsource}international/charprop.el): Move this
9423 target within "#ifdef HAVE_UNIDATA" and "#endif".
9424
94252008-02-01 Kenichi Handa <handa@m17n.org>
9426
9427 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9428 (shortlisp): Add ../lisp/language/tai-viet.el.
9429
94302008-02-01 Ulrich Mueller <ulm@gentoo.org>
9431
9432 * Makefile.in (${lispsource}international/charprop.el): Depend on
9433 temacs${EXEEXT}.
9434
94352008-02-01 Jason Rumney <jasonr@gnu.org>
9436
9437 * w32font.c (w32font_close): Delete the GDI font object.
9438
9439 * w32menu.c: Include character.h.
9440
9441 * w32proc.c: Likewise.
9442
9443 * w32select.c: Likewise.
9444
9445 * makefile.w32-in (w32proc.o): Depend on character.h.
9446
94472008-02-01 Jason Rumney <jasonr@gnu.org>
9448
9449 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9450
9451 * w32menu.c (syms_of_w32menu): Likewise.
9452
9453 * w32proc.c (syms_of_ntproc): Likewise.
9454
9455 * w32select.c (syms_of_w32select): Likewise.
9456
9457 * w32term.c (syms_of_w32term): Likewise.
9458
94592008-02-01 Jason Rumney <jasonr@gnu.org>
9460
9461 * w32font.c (w32font_draw): Delete brush after using it.
9462
94632008-02-01 Jason Rumney <jasonr@gnu.org>
9464
9465 * w32font.c (w32font_open): Don't set font_idx.
9466 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9467 to font settings.
9468 (w32font_draw): Fill background explicitly.
9469
94702008-02-01 Jason Rumney <jasonr@gnu.org>
9471
9472 * w32term.c (w32_initialize): Don't call w32font_initialize.
9473
9474 * w32font.c (w32font_info): Remove subranges.
9475 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9476 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9477 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9478 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9479 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9480 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9481 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9482 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9483 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9484 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9485 New symbols.
9486 (font_callback_data): New struct.
9487 (w32font_list, w32font_match): Use it.
9488 (w32font_open): Don't populate subranges.
9489 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9490 (w32font_encode_char): Always return unicode code-point as-is.
9491 (w32font_text_extents): Supply a transformation matrix to
9492 GetGlyphOutline. Never look up by glyph index. Avoid looping
9493 twice. Use unicode version of GetTexExtentPoint32 instead of
9494 glyph index version.
9495 (set_fonts_frame): Remove.
9496 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9497 set frame parameter. Use backward compatible fake foundries.
9498 Save generic family in extra slot under QCfamily. Make width slot
9499 constant. Save QCspacing value. Save list of scripts instead of
9500 binary subranges.
9501 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9502 (add_font_entity_to_list): Use font_callback_data struct. Filter
9503 unwanted fonts.
9504 (add_one_font_entity_to_list): Use font_callback_data struct.
9505 (w32_registry): Default to iso10646_1.
9506 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9507 string font registries. Don't fill in font name if it is a generic
9508 family name, fill family instead. Use spacing, family and script
9509 extra info to fill pitch, family and charset fields.
9510 (list_all_matching_fonts): Use font_callback_data struct.
9511 (unicode_range_for_char): Remove.
9512 (font_supported_scripts): New function.
9513 (w32font_initialize): Remove.
9514 (syms_of_w32font): Update which symbols are defined.
9515
95162008-02-01 Jason Rumney <jasonr@gnu.org>
9517
9518 * font.c (font_pixel_size): Reverse assq_no_quit args.
9519
9520 * w32term.h (FONT_WIDTH): Report max width, not average.
9521 (FONT_MAX_WIDTH): Remove.
9522 (FONT_AVG_WIDTH): New macro.
9523
9524 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9525 redefinition of FONT_WIDTH.
9526
9527 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9528 (w32_cache_char_metrics): Use FONT_WIDTH.
9529
9530 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9531
95322008-02-01 Jason Rumney <jasonr@gnu.org>
9533
9534 * w32font.c (w32font_open): Make lfHeight negative.
9535
9536 * w32fns.c (x_default_font_parameter): Use new style font name.
9537 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9538
95392008-02-01 Jason Rumney <jasonr@gnu.org>
9540
9541 * w32font.c (QCsubranges): New symbol.
9542 (w32font_open, w32font_has_char): Get subranges from subproperty
9543 of extra.
9544 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9545 (syms_of_w32font): Define :subranges symbol.
9546
9547 * font.c (font_put_extra): Expose externally.
9548
9549 * font.h (font_put_extra): Move declaration from font.c.
9550
9551 * font.c (Ffont_get): Use font driver to determine otf capability.
9552 (adjust_anchor): Check if driver defines anchor_point before using.
9553
9554 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9555 (w32font_draw): Use options.
9556 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9557 Fix detection of truetype fonts.
9558 (registry_to_w32_charset): Handle charsets other than iso8859-1
9559 expressed as lisp symbols.
9560 (w32_registry): Express charset as lisp symbol.
9561 (fill_in_logfont): Reverse pixel and point height logic.
9562 Don't set width here. Set quality to default.
9563
9564 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9565 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9566
9567 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9568 Remove redundant loop and allocation.
9569
9570 * makefile.w32-in (font.o, w32font.o): New objects.
9571 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9572 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9573
9574 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9575 STORE_XCHARB a valid l-value.
9576
9577 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9578 calculations for non-Truetype fonts.
9579 (x_draw_glyph_string): Sync with xterm.c.
9580 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9581 Remove redundant code.
9582 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9583
9584 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9585 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9586
9587 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9588 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9589
9590 * w32font.c: New file for w32 font backend.
9591
95922008-02-01 Kenichi Handa <handa@m17n.org>
9593
9594 * term.c: Don't include "buffer.h" twice.
9595
95962008-02-01 Kenichi Handa <handa@m17n.org>
9597
9598 * character.c (Funibyte_string): New function.
9599 (syms_of_character): Defsubr it.
9600
96012008-02-01 Jason Rumney <jasonr@gnu.org>
9602
9603 * w32term.c [USE_FONT_BACKEND]:
9604 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9605 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9606 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9607 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9608 (x_free_frame_resources): Sync with xterm.c.
9609
96102008-02-01 Andreas Schwab <schwab@suse.de>
9611
9612 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9613 char-table size.
9614
96152008-02-01 Kenichi Handa <handa@m17n.org>
9616
9617 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9618
96192008-02-01 Kenichi Handa <handa@m17n.org>
9620
9621 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9622 font_otf_gpos, add font_drive_otf.
9623
9624 * fontset.c (fontset_find_font): Pay attention to font size
9625 specified for a font.
9626 (reorder_font_vector): Check contents of font_def.
9627
9628 * font.c (struct otf_list): Delete it.
9629 (otf_list): Make it a lisp variable.
9630 (otf_open): Use lispy otf_list.
9631 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9632 (check_otf_features): New function.
9633 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9634 New functions.
9635 (font_drive_otf): New function merging font_otf_gsub and
9636 font_otf_gpos.
9637 (font_open_for_lface): New arg spec. Change argument order.
9638 (font_load_for_face): Adjust for the change of font_open_for_lface.
9639 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9640 Ffont_otf_gpos.
9641 (syms_of_font): Staticpro otf_list. Delete defsubr of
9642 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9643
9644 * xfaces.c (set_font_frame_param): Adjust for the change of
9645 font_open_for_lface.
9646
9647 * font.h (font_open_for_lface): Adjust prototype.
9648 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9649 member otf_drive.
9650 (font_otf_gsub, font_otf_gpos): Delete externs.
9651 (font_drive_otf): Extern it.
9652
96532008-02-01 Kenichi Handa <handa@m17n.org>
9654
9655 * font.c (font_at): If the window W is not on a window system,
9656 return Qnil.
9657
9658 * coding.c (produce_chars, encode_coding): Don't call
9659 insert_from_gap if no characters to produce.
9660
96612008-02-01 Kenichi Handa <handa@m17n.org>
9662
9663 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9664 Fclear_face_cache.
9665
9666 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9667
96682008-02-01 Miles Bader <miles@gnu.org>
9669
9670 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9671 Parse "--disable-font-backend" option.
9672 (standard_args): Add "--disable-font-backend" option.
9673
96742008-02-01 Kenichi Handa <handa@m17n.org>
9675
9676 * fontset.c (fontset_find_font): New function.
9677 (fontset_font): Use fontset_find_font.
9678 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9679 Register the specified font for all Latin characters.
9680 (new_fontset_from_font): Register the specified font for all Latin
9681 characters.
9682 (dump_fontset): For a realized fontset, include the base fontset
9683 name in the returned vector.
9684
96852008-02-01 Kenichi Handa <handa@m17n.org>
9686
9687 * character.h (CHAR_STRING): Cast C to unsigned on calling
9688 char_string.
9689
9690 * character.c (char_string): Type of arg C changed to unsigned.
9691 Signal an error if C is an invalid character code.
9692
9693 * editfns.c (general_insert_function, Fchar_to_string):
9694 Use CHARACTERP, not INTEGERP.
9695
96962008-02-01 Kenichi Handa <handa@m17n.org>
9697
9698 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9699 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9700
9701 * regex.c (analyse_first): Fix for multibyte characters in "case
9702 charset:" and "case categoryspec:".
9703
97042008-02-01 Andreas Schwab <schwab@suse.de>
9705
9706 * Makefile.in (LIBES): Move standard libraries to the end.
9707
97082008-02-01 Kenichi Handa <handa@m17n.org>
9709
9710 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9711 nonzero, don't shrink the buffer nextb.
9712
9713 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9714
9715 * coding.c (coding_alloc_by_making_gap): New arg offset.
9716 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9717 offset.
9718 (decode_coding_iso_2022): Update coding->safe_charsets.
9719 (decode_coding_gap): Temporarily set
9720 current_buffer->text->inhibit_shrinking to 1.
9721
97222008-02-01 Kenichi Handa <handa@m17n.org>
9723
9724 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9725 indexing into elements of s->cmp and s->char2b.
9726
97272008-02-01 Juanma Barranquero <lekktu@gmail.com>
9728
9729 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9730
97312008-02-01 Kenichi Handa <handa@m17n.org>
9732
9733 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9734 target_multibyte instead of multibyte.
9735 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9736 (bcmp_translate): Change the argument name from multibyte to
9737 target_multibyte.
9738
97392008-02-01 Kenichi Handa <handa@m17n.org>
9740
9741 These changes are to compile a regexp into a pattern that can be
9742 used both for multibyte and unibyte targets.
9743
9744 * Makefile.in (search.o): Depend on charset.h.
9745
9746 * character.c (multibyte_char_to_unibyte_safe): New function.
9747
9748 * search.c: Include "charset.h".
9749 (compile_pattern_1): Delete argument multibyte. Don't set
9750 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9751 (compile_pattern): Don't compare cp->buf.target_multibyte.
9752 Compare cp->buf.charset_unibyte.
9753 (compile_pattern): Set cp->buf.target_multibyte.
9754
9755 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9756
9757 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9758
9759 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9760 multibyte. Change callers.
9761 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9762 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9763 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9764 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9765 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9766 (regex_compile): Make the compiled pattern usable both for
9767 multibyte and unibyte targets.
9768 (analyse_first): Make the fastmap usable both for multibyte and
9769 unibyte targets.
9770 (TRANSLATE_VIA_MULTIBYTE): Delete.
9771 (re_match_2_internal): Pay attention to the case that the
9772 multibyteness of bufp and target may be different.
9773
97742008-02-01 Kenichi Handa <handa@m17n.org>
9775
9776 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9777 empty box occupy at least one column width.
9778
97792008-02-01 Miles Bader <miles@gnu.org>
9780
9781 * Makefile.in: Remove redundant HAVE_XFT clause.
9782
97832008-02-01 Kenichi Handa <handa@m17n.org>
9784
9785 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9786
97872008-02-01 Kenichi Handa <handa@m17n.org>
9788
9789 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9790 being nil.
9791
97922008-02-01 Kenichi Handa <handa@m17n.org>
9793
9794 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9795
97962008-02-01 Kenichi Handa <handa@m17n.org>
9797
9798 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9799
98002008-02-01 Kenichi Handa <handa@m17n.org>
9801
9802 * search.c (simple_search): Fix previous change.
9803
98042008-02-01 Kenichi Handa <handa@m17n.org>
9805
9806 * xftfont.c (ftfont_font_format): Extern declaration.
9807
9808 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9809
9810 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9811 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9812
9813 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9814 (ftfont_font_format): Fix previous change.
9815
9816 * font.h (Ffont_xlfd_name): EXFUN it.
9817
9818 * font.c (font_parse_xlfd): Fix the array size of `f'.
9819 (register_font_driver): Use EQ to compare driver->type.
9820
9821 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9822 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9823 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9824
98252008-02-01 Kenichi Handa <handa@m17n.org>
9826
9827 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9828 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9829
98302008-02-01 Kenichi Handa <handa@m17n.org>
9831
9832 * xfont.c (xfont_open): Set font->format.
9833
9834 * xftfont.c (xftfont_open): Set font->format.
9835
9836 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9837 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9838 (ftfont_open): Set font->format.
9839 (ftfont_font_format): New function.
9840
9841 * font.h (struct font): New member format.
9842
9843 * font.c (Qopentype): New variable.
9844 (syms_of_font): Defsym it.
9845 (Fquery_font): Change the format of the last element of the return
9846 value.
9847
98482008-02-01 Kenichi Handa <handa@m17n.org>
9849
9850 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9851 last resort.
9852
98532008-02-01 Kenichi Handa <handa@m17n.org>
9854
9855 * coding.c (detect_coding_charset): Fix detection of multi-byte
9856 charset.
9857
98582008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9859
9860 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9861
98622008-02-01 Kenichi Handa <handa@m17n.org>
9863
9864 * xdisp.c (get_next_display_element): Set it->face_id for the
9865 first component of a composition.
9866 (x_produce_glyphs): Check if the font is changed or not for composition.
9867
98682008-02-01 Kenichi Handa <handa@m17n.org>
9869
9870 * fontset.c (Qlatin): New variable.
9871 (syms_of_fontset): Define it as a lisp symbol.
9872 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9873
98742008-02-01 Kenichi Handa <handa@m17n.org>
9875
9876 * font.c (font_unparse_fcname): Pay attention to the case that
9877 some of font property is a null string.
9878
98792008-02-01 Kenichi Handa <handa@m17n.org>
9880
9881 * term.c: Include "composite.h".
9882 (encode_terminal_code): Output all components of composition.
9883 Check the size of encode_terminal_src.
9884 (produce_glyphs): For composition, call produce_composite_glyph.
9885 (append_composite_glyph, produce_composite_glyph): New functions.
9886
9887 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9888 is not found, get font_info from the current ascii face.
9889
98902008-02-01 Kenichi Handa <handa@m17n.org>
9891
9892 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9893 buffer-file-name to Qnil before calling insert_from_buffer.
9894
9895 * font.c (font_unparse_fcname): Pay attention to the case that
9896 foundry is a null string.
9897
98982008-02-01 Kenichi Handa <handa@m17n.org>
9899
9900 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9901
9902 * font.c (Qunicode_sip): New variable.
9903 (syms_of_font): Declare it as a Lisp symbol.
9904
9905 * font.h (Qunicode_sip): Extern it.
9906
99072008-02-01 Kenichi Handa <handa@m17n.org>
9908
9909 * composite.c (get_composition_id): Pay attention to TAB component.
9910
9911 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9912 TAB. Adjust for the change of s->char2b which always points to
9913 the first element of allocated memory.
9914
9915 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9916
9917 * xdisp.c (handle_composition_prop): Set it->c to the first
9918 non-TAB component.
9919 (fill_composite_glyph_string): Change argument.
9920 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9921 (x_produce_glyphs): Fix handling of left/right padding.
9922
99232008-02-01 Kenichi Handa <handa@m17n.org>
9924
9925 * coding.c (detect_coding_system): Fix for handling off
9926 inhibit_iso_escape_detection. Fix for the case that no coding
9927 system is defined for a specific coding category.
9928
99292008-02-01 Kenichi Handa <handa@m17n.org>
9930
9931 * font.c (font_matching_entity): Delete unused local var.
9932
9933 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9934 opening a font.
9935
9936 * fileio.c (Finsert_file_contents): On recovering a file, assume
9937 Unix-like eol.
9938 (choose_write_coding_system): On auto-saving a file, force
9939 Unix-like eol.
9940
9941 * coding.c (setup_coding_system): Fix setting of
9942 coding->common_flags based on eol_type.
9943 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9944 inherit from it.
9945
99462008-02-01 Kenichi Handa <handa@m17n.org>
9947
9948 * alloc.c (NSTATICS): Increas to 0x600.
9949
99502008-02-01 Kenichi Handa <handa@m17n.org>
9951
9952 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9953 (ftfont_list): Don't check :name property.
9954 (ftfont_match): New function.
9955 (ftfont_pattern_entity): If the pattern doesn't contain
9956 FC_SPACING, don't assume FC_MONO.
9957
9958 * font.h (struct font_driver): New member `match'.
9959 (font_update_drivers): Adjust prototype.
9960
9961 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9962 property of FONT.
9963 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9964 them unconditionally.
9965 (font_matching_entity): New function.
9966 (font_open_by_name): Try font_matching_entity if exact match is
9967 not found.
9968 (font_update_drivers): Delete the arg FONT. Return a list of
9969 actually used backends. Don't free faces, font caches here.
9970 Don't store data in frame parameters. Don't call x_set_font.
9971 (Ffont_spec): Store :name property as is.
9972 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9973 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9974 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9975 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9976 Call font->driver->otf_gsub instead of font_otf_gsub.
9977
9978 * frame.c (x_set_font_backend): Do more works that were done in
9979 font_update_drivers before.
9980
9981 * xfont.c (xfont_match): New function.
9982 (xfont_driver): Set xfont_driver.match to xfont_match.
9983 (xfont_draw): Set font in GC if necessary.
9984
9985 * ftxfont.c (ftxfont_match): New function.
9986 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9987
9988 * xftfont.c (xftfont_match): New function.
9989 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9990
99912008-02-01 Kenichi Handa <handa@m17n.org>
9992
9993 * font.h (struct font): New member scalable.
9994 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9995 (font_otf_gsub): Adjust prototype.
9996
9997 * font.c (font_otf_capability): Fix handling of the default langsys.
9998 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9999 Check the contents of SPEC.
10000 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
10001 (check_gstring): New function.
10002 (REPLACEMENT_CHARACTER): New macro.
10003 (font_otf_gsub): New arg alternate_subst. Be sure to set all
10004 glyph codes of GSTRING.
10005 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
10006 (font_prepare_composition): Set cmp->glyph_len.
10007 (font_open_entity): Set font->scalable.
10008 (Ffont_get): Handle :otf property.
10009 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
10010 functions.
10011 (Fquery_font): Use font->font.full_name.
10012 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
10013 Sfont_otf_alternates.
10014
10015 * ftfont.c (ftfont_open): Set font->font.full_name and
10016 font->font.name properly. Fix calculation of font->font.height
10017 and font->min_width.
10018
10019 * ftxfont.c (ftxfont_create_gcs): New function.
10020 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
10021 (ftxfont_draw_backgrond): Fix filling region.
10022 (ftxfont_default_fid): New function.
10023 (ftxfont_open): Set xfont->fid to the return value of
10024 ftxfont_default_fid.
10025 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
10026 (ftxfont_done_face): Free only GCs that are created by
10027 ftxfont_create_gcs.
10028 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
10029
10030 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
10031 Clip to src->width, etc (not src->clip_XXX).
10032
10033 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
10034 FontBackend frame parameter.
10035
100362008-02-01 Kenichi Handa <handa@m17n.org>
10037
10038 * font.h (struct font_driver_list): New member `on'.
10039 (Fclear_font_cache): EXFUN it.
10040 (font_update_drivers): Extern it.
10041
10042 * font.c (font_unparse_fcname): Fix typo (swidth->width).
10043 (font_list_entities): Check driver_list->on.
10044 (register_font_driver): Initalize `on' member to 0.
10045 (font_update_drivers): New function.
10046 (Fclear_font_cache): Check driver_list->on.
10047
10048 * frame.h (Qfont_backend): Extern it.
10049 (x_set_font_backend): Extern it.
10050
10051 * frame.c (Qfont_backend): New variable.
10052 (frame_parms): New element for font-backend.
10053 (x_set_font_backend): New function.
10054
10055 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
10056 FontBackend frame parameter.
10057 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10058 x_set_font_backend.
10059
10060 * xfont.c (xfont_list): Don't try listing by :name property if the
10061 name is not for XLFD.
10062
100632008-02-01 Kenichi Handa <handa@m17n.org>
10064
10065 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10066 (LGLYPH_SET_TO): New macros.
10067 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10068 element of G is vector or not.
10069 (font_at): Extern it.
10070
10071 * font.c: Include window.h.
10072 (font_lispy_object): New function.
10073 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10074 end of valid glyph.
10075 (font_close_object): Fix getting (struct font *).
10076 (font_at): New function.
10077 (Ffont_get): If FONT is a font-object, get entity from it.
10078 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10079 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10080 range check.
10081 (Ffont_at): New function.
10082 (syms_of_font): Defsubr Sfont_at.
10083
10084 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10085 before the entry for Qcomposition.
10086 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10087 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10088 the font in gstring.
10089 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10090 LGLYPH_FORM (g) to detect the end of valid glyph.
10091 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10092 we are composing with gstring.
10093
10094 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10095 Check if adjustment is vector or not.
10096
10097 * Makefile.in (font.o): Make it depends on window.h.
10098
100992008-02-01 Kenichi Handa <handa@m17n.org>
10100
10101 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10102 adjustment is vector or not.
10103
101042008-02-01 Miles Bader <miles@gnu.org>
10105
10106 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10107
101082008-02-01 Kenichi Handa <handa@m17n.org>
10109
10110 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10111 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10112 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10113
10114 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10115 (DEVICE_DELTA): Fix typo.
10116 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10117 LGLYPH format.
10118
10119 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10120 the change of LGLYPH format.
10121
101222008-02-01 Kenichi Handa <handa@m17n.org>
10123
10124 * ftfont.c (ftfont_list): Fix typo.
10125 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10126
101272008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10128
10129 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10130
10131 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10132 xftface_info is non-NULL.
10133
101342008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10135
10136 * ftfont.c (ftfont_list): Move misplaced #endif.
10137
101382008-02-01 Kenichi Handa <handa@m17n.org>
10139
10140 * ftfont.c (ftfont_list): Pay attention to the case that
10141 FC_CAPABILITY is not defined.
10142
101432008-02-01 Kenichi Handa <handa@m17n.org>
10144
10145 * xftfont.c (xftfont_open): Set charset related members to -1.
10146
10147 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10148 QCname.
10149 (ftfont_open): Set charset related members to -1.
10150
10151 * fontset.c (Votf_script_alist): New variable.
10152 (syms_of_fontset): Initialize it.
10153 (fontset_font): Delete unused variable.
10154
10155 * fontset.h (Votf_script_alist): Extern it.
10156
10157 * font.c (font_find_for_lface): Optimize code.
10158
10159 * font.h (font_close_object, font_merge_old_spec): Extern them.
10160
101612008-02-01 Kenichi Handa <handa@m17n.org>
10162
10163 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10164 (syms_of_font): Initialize them.
10165 (font_pixel_size): Allow float value in dpi.
10166 (font_prop_validate_type): Delete.
10167 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10168 Change caller.
10169 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10170 (font_prop_validate_extra): Delete.
10171 (font_prop_validate_spacing): New function.
10172 (font_property_table): Add elements for all known properties.
10173 (get_font_prop_index): Rename from check_font_prop_name. New
10174 argument FROM. Change caller.
10175 (font_prop_validate): Validate all known properties.
10176 (font_put_extra): Delete argument force. Change caller.
10177 (font_expand_wildcards): Make it static. Fix the way of shrinking
10178 the possible range.
10179 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10180 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10181 Change caller.
10182 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10183 (font_parse_fcname): Delete argument merge. Fix parsing of point
10184 size. Don't validate properties values here. Change caller.
10185 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10186 (font_open_by_name): Delete unused variable.
10187 (Ffont_spec): Likewise. Validate property values.
10188 (Ffont_match_p): New function.
10189
10190 * font.h (QCscalable): Extern it.
10191 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10192
10193 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10194
10195 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10196 (xfont_list_pattern): New function.
10197 (xfont_list): Use xfont_list_pattern.
10198
101992008-02-01 Kenichi Handa <handa@m17n.org>
10200
10201 * font.h (Flist_fonts): EXFUN it.
10202
102032008-02-01 Jason Rumney <jasonr@gnu.org>
10204
10205 * w32term.c (w32_initialize): Add back smoothing_type and
10206 smoothing_enabled definitions.
10207
102082008-02-01 Kenichi Handa <handa@m17n.org>
10209
10210 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10211 s->face->font on determining underline position.
10212
102132008-02-01 Kenichi Handa <handa@m17n.org>
10214
10215 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10216 (font_has_char): Accept font-object too.
10217 (font_find_for_lface): Try at first with a size specified in face.
10218
102192008-02-01 Kenichi Handa <handa@m17n.org>
10220
10221 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10222 font_open_by_name.
10223
102242008-02-01 Kenichi Handa <handa@m17n.org>
10225
10226 * font.h (QCspacing, QCdpi): Extern them.
10227 (enum font_spacing): New enum.
10228 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10229
10230 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10231 (QCspacing, QCdpi): New variables.
10232 (syms_of_font): Initialize them.
10233 (font_pixel_size): New function.
10234 (font_put_extra): New function.
10235 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10236 in FONT_EXTRA.
10237 (font_parse_fcname): Handle enumerated values (e.g. bold).
10238 Fix handling font size. Add QCname property that contains only
10239 unknown properties.
10240 (font_score): Change argument. Change caller. Pay attention to
10241 FONT_PIXEL_SIZE_QUANTUM.
10242 (font_sort_entites, font_list_entities, font_find_for_lface)
10243 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10244 (Ffont_spec): Add QCname property that contains only unknown properties.
10245
10246 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10247 include weight in listing pattern, instead check weight of each
10248 listed font. Don't include scalable in pattern. Pay attention to
10249 FONT_PIXEL_SIZE_QUANTUM.
10250
102512008-02-01 Kenichi Handa <handa@m17n.org>
10252
10253 * font.c (font_parse_fcname): Fix parsing of point-size.
10254 (font_unparse_fcname): Produce symbolic names for style properties.
10255 (font_list_entities): Handle float size correctly.
10256 (font_open_by_name): Prefer `normal' property values if the name
10257 doesn't specify them.
10258
10259 * fontset.c (Finternal_char_font): Use font_get_name, not
10260 Ffont_xlfd_name.
10261
10262 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10263 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10264 pattern. Don't force scalable.
10265
10266 * xftfont.c (xftfont_open): For generating a name, start from
10267 96-byte buffer.
10268
102692008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10270
10271 * frame.h (x_new_fontset2): Fix prototype.
10272
102732008-02-01 Kenichi Handa <handa@m17n.org>
10274
10275 * font.h (struct font_driver): Delete member parse_name.
10276 (font_match_p, font_get_spec, font_parse_fcname)
10277 (font_unparse_fcname): Extern them.
10278 (font_get_name): Adjust prototype.
10279
10280 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10281 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10282 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10283 unnecessary checks for weight, slant, and swidth.
10284 (font_parse_fcname): New function.
10285 (font_unparse_fcname): New function.
10286 (font_parse_name): New function.
10287 (font_match_p): New function.
10288 (font_get_name): Change return value to Lisp string.
10289 (font_get_spec): New function.
10290 (Qunspecified, Qignore_defface): Don't extern them.
10291 (font_find_for_lface): Assume that LFACE is fully specified.
10292 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10293 object, use it for FACE.
10294 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10295 driver->parse_name.
10296 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10297
10298 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10299 prototype.
10300
10301 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10302 argument F. Don't call Fnew_fontset. Instead, directly call
10303 make_fontset.
10304
10305 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10306
10307 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10308 of x_new_fontset2.
10309
10310 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10311 (Qsans__serif): New variables.
10312 (ftfont_generic_family_list): New variable.
10313 (syms_of_ftfont): Initialize the above variables.
10314 (ftfont_pattern_entity): Delete argument NAME.
10315 (ftfont_list_generic_family): New function.
10316 (ftfont_parse_name): Delete this function.
10317 (ftfont_list): Try generic family only when FcFontList found no font.
10318 (ftfont_list_family): Fix args to FcObjectSetBuild.
10319
10320 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10321 object in attrs[LFACE_FONT_INDEX].
10322 (set_lface_from_font_name): Cancel all changes for font-backend.
10323 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10324 function.
10325 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10326 font object in QCfont attribute.
10327 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10328 (realize_default_face) [USE_FONT_BACKEND]: Call
10329 set_lface_from_font_and_fontset.
10330
10331 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10332 "fixed", and signal error here if no suitable font was found.
10333
10334 * xfont.c (xfont_parse_name): Delete this function.
10335
10336 * xftfont.c (xftfont_open): Change coding style of error
10337 handling. Generate fontconfig's fontname pattern.
10338
10339 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10340 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10341
10342 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10343 Both args FONTSET and FONT_OBJECT must be existing ones.
10344
103452008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10346
10347 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10348
103492008-02-01 Kenichi Handa <handa@m17n.org>
10350
10351 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10352
10353 * font.h (struct font): Fix typo.
10354
10355 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10356 XLFD_XXX_INDEX.
10357 (enum xlfd_field_mask): New enum.
10358 (intern_font_field): Changed argument. Change caller. If digits
10359 are followed by non-digits, return a symbol.
10360 (font_expand_wildcards): New function.
10361 (font_parse_xlfd): Fix wildcard handling.
10362 (Ffont_spec): If :name is specified, reflect the info in the other
10363 properties.
10364
10365 * ftfont.c (ftfont_pattern_entity): Fix typo.
10366 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10367 locale.
10368
103692008-02-01 Kenichi Handa <handa@m17n.org>
10370
10371 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10372
10373 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10374 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10375 registry doesn't specify encoding part.
10376 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10377 (font_open_by_name): At first try parsing the name.
10378 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10379 as Lisp symbols.
10380
10381 * fontset.c (reorder_font_vector): Pay attention to the case that
10382 the 3rd element of font_def is nil.
10383 (fontset_font): For the default fontset, append one more fontset
10384 elements for a script-based font specification. Don't add script
10385 attribute on finding a font.
10386 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10387 font name.
10388 (fontset_ascii_font): If a font can't be opened, return nil.
10389
10390 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10391 (ftfont_pattern_entity): New function.
10392 (ftfont_get_cache): Assume that freetype_font_cache is already
10393 initialized.
10394 (ftfont_list): Handle the case that a file is specified in font
10395 name. Use ftfont_pattern_entity to generate entities.
10396 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10397 (syms_of_ftfont): Initialize freetype_font_cache.
10398
10399 * xftfont.c (xftfont_open): Make the font name fontconfig's
10400 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10401 (xftfont_close): Free font->font.name if not NULL.
10402
10403 * xfont.c (xfont_list): If script is specified for a font, return
10404 null_vector.
10405 (xfont_list_family): Declare argument type.
10406
10407 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10408 name, set LFACE_FONT (lface) to nil.
10409
10410 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10411 return Qnil.
10412
104132008-02-01 Kenichi Handa <handa@m17n.org>
10414
10415 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10416 (standard_args): Add "-enable-font-backend".
10417
104182008-02-01 Kenichi Handa <handa@m17n.org>
10419
10420 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10421 (struct xftdraw_list, xftdraw_list): Delete them.
10422 (register_xftdraw, check_xftdraw): Delete them.
10423 (xftfont_prepare_face): Don't call register_xftdraw.
10424 (xftfont_done_face): Don't call check_xftdraw.
10425 (xftfont_draw): Get background color only when with_background is
10426 nonzero.
10427
10428 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10429
104302008-02-01 Kenichi Handa <handa@m17n.org>
10431
10432 These changes are for the new font handling codes.
10433
10434 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10435 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10436 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10437 (FONTSRC, FONTOBJ): New variables.
10438 (obj): Add $(FONTOBJ).
10439 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10440 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10441 @LIBOTF_LIBS@.
10442 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10443 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10444
10445 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10446
10447 * character.h (Vscript_representative_chars): Extern it.
10448
10449 * character.c (Vscript_representative_chars): New variable.
10450 (syms_of_character): Declare it as a Lisp variable.
10451
10452 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10453 enable_font_backend is nonzero, accept the composition method
10454 COMPOSITION_WITH_GLYPH_STRING.
10455
10456 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10457 enumeration COMPOSITION_WITH_GLYPH_STRING.
10458
10459 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10460 members clip_x, clip_y, clip_width, and clip_height.
10461 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10462
10463 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10464 --enable-font-backend. Call syms_of_font.
10465
10466 * fns.c (assoc_no_quit): New function.
10467
10468 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10469 (face_for_font, new_fontset_from_font)
10470 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10471
10472 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10473 (fontset_font, fontset_ascii, face_for_char)
10474 (make_fontset_for_ascii_face, Ffont_info)
10475 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10476 is nonzero, use font-backend mechanism.
10477 (find_font_encoding): Make it non-static.
10478 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10479 New functions.
10480
10481 * frame.h (struct frame): New members resx and resy.
10482 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10483 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10484
10485 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10486 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10487
10488 * lisp.h (assoc_no_quit): Extern it.
10489
10490 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10491 Through out the file, use FONT_INFO_FROM_FACE instead of
10492 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10493 rif->per_char_metric.
10494 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10495 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10496 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10497 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10498 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10499 nonzero, use font-backend mechanism.
10500 (get_per_char_metric): New function.
10501
10502 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10503 (set_lface_from_font_name)
10504 (set_font_frame_param, free_realized_face)
10505 (prepare_face_for_display, clear_face_gcs)
10506 (Finternal_set_font_selection_order, realize_x_face)
10507 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10508 font-backend mechanism.
10509 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10510 (load_face_font) [USE_FONT_BACKEND]: Abort.
10511 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10512 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10513
10514 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10515 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10516 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10517 nonzero, register all available font drivers. Call
10518 x_default_font_parameter for deciding a font.
10519 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10520
10521 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10522 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10523 (x_set_glyph_string_clipping_exactly)
10524 (x_compute_glyph_string_overhangs)
10525 (x_draw_glyph_string_foreground)
10526 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10527 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10528 enable_font_backend is nonzero, use font-backend mechanism.
10529 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10530
105312008-02-01 Kenichi Handa <handa@m17n.org>
10532
10533 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10534 system_eol_type.
10535 (syms_of_coding): Initialize system_eol_type.
10536
10537 * process.c (Fset_process_coding_system): Inherit system's eol
10538 format if necessary.
10539
105402008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10541
10542 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10543
105442008-02-01 Kenichi Handa <handa@m17n.org>
10545
10546 * coding.c (decode_eol): Pay attention to buffer relocation in
10547 del_range_2.
10548 (decode_coding): Call decode_eol before restoring undo_list.
10549
105502008-02-01 Kenichi Handa <handa@m17n.org>
10551
10552 * charset.c (Fdefine_charset_internal): Fix setting of
10553 emacs_mule_bytes.
10554
105552008-02-01 Kenichi Handa <handa@m17n.org>
10556
10557 * keyboard.c (read_char): Check if C is a character or not before
10558 looking up Vkeyboard_translate_table.
10559
105602008-02-01 Kenichi Handa <handa@m17n.org>
10561
10562 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10563 condition to terminate the loop.
10564
105652008-02-01 Kenichi Handa <handa@m17n.org>
10566
10567 * coding.c (produce_composition): Compare charbuf[i] instead of
10568 args[i] against 0.
10569 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10570
105712008-02-01 Kenichi Handa <handa@m17n.org>
10572
10573 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10574 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10575 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10576 detect_coding.
10577 (emacs_mule_char): Handle old style (Emacs 20) component character
10578 of a composition.
10579 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10580 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10581 composition rule.
10582 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10583
105842008-02-01 Kenichi Handa <handa@m17n.org>
10585
10586 * coding.c (encode_coding_ccl): Allocate destination dynamically
10587 when necessary.
10588
105892008-02-01 Kenichi Handa <handa@m17n.org>
10590
10591 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10592 the loop. When quitted, show a proper error message.
10593
105942008-02-01 Kenichi Handa <handa@m17n.org>
10595
10596 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10597 src->clip_head and src->clip_tail temporarily instead of src->hl.
10598
10599 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10600 character sequence.
10601 (Fccl_execute_on_string): Use ASET, not XSET.
10602
106032008-02-01 Kenichi Handa <handa@m17n.org>
10604
10605 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10606
106072008-02-01 Kenichi Handa <handa@m17n.org>
10608
10609 * coding.c (decode_coding): Fix the condition of terminating the
10610 decoding loop.
10611
106122008-02-01 Kenichi Handa <handa@m17n.org>
10613
10614 * data.c (Faset): On setting a character bigger than 255 in a
10615 unibyte string, signal an error instead of make the string multibyte.
10616
106172008-02-01 Kenichi Handa <handa@m17n.org>
10618
10619 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10620 made by a mapping table.
10621
106222008-02-01 Kenichi Handa <handa@m17n.org>
10623
10624 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10625 not.
10626 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10627 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10628
10629 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10630 s->face is NULL or not.
10631
106322008-02-01 Kenichi Handa <handa@m17n.org>
10633
10634 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10635 (x_draw_glyph_string): Fix drawing of right_overhang and
10636 left_overhang around/on cursor.
10637
10638 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10639
106402008-02-01 Kenichi Handa <handa@m17n.org>
10641
10642 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10643
106442008-02-01 Kenichi Handa <handa@m17n.org>
10645
10646 * coding.c (Fdefine_coding_system_internal)
10647 (Fdefine_coding_system_alias): Avoid a duplicated element in
10648 Vcoding_system_alist.
10649
106502008-02-01 Kenichi Handa <handa@m17n.org>
10651
10652 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10653
10654 * coding.c (Qcoding_system_define_form): New variable.
10655 (syms_of_coding): Intern and staticpro it.
10656 (Fcoding_system_p): Check Qcoding_system_define_form.
10657 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10658
10659 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10660 Fcoding_system_p.
10661 (CHECK_CODING_SYSTEM): If ID is not available, call
10662 Fcheck_coding_system.
10663 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10664 Try also Fcheck_coding_system.
10665
106662008-02-01 Kenichi Handa <handa@m17n.org>
10667
10668 * coding.c (code_conversion_restore): GCPRO arg.
10669
106702008-02-01 Kenichi Handa <handa@m17n.org>
10671
10672 * character.c (lisp_string_width): Check multibyteness of STRING.
10673
106742008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10675
10676 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10677 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10678 (decode_mac_font_name): Use decode_coding_c_string instead of
10679 decode_coding.
10680 (x_load_font): Initialize fontp->fontset to -1. Set
10681 fontp->encoding_type.
10682
106832008-02-01 Kenichi Handa <handa@m17n.org>
10684
10685 * search.c (search_buffer): Give up BM search on case-fold-search
10686 if one of a target character has a case-equivalence of different
10687 byte length even if that target charcter is an ASCII.
10688 (simple_search): Fix calculation of byte length of matched text.
10689 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10690
106912008-02-01 Kenichi Handa <handa@m17n.org>
10692
10693 * coding.c (decode_coding): Fix handling of invalid bytes.
10694
106952008-02-01 Kenichi Handa <handa@m17n.org>
10696
10697 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10698 Unicode characters.
10699
107002008-02-01 Kenichi Handa <handa@m17n.org>
10701
10702 * coding.c (encode_coding_object): If a pre-write-conversion
10703 function makes a new buffer, kill it.
10704
107052008-02-01 Kenichi Handa <handa@m17n.org>
10706
10707 * coding.c (QCascii_compatible_p): New variable.
10708 (syms_of_coding): Initialize it.
10709 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10710 calling string_char.
10711 (record_conversion_result): Add `default:' case.
10712 (coding_charset_list): Delete unused variable `coding_type'.
10713 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10714 property in the plist of the coding system.
10715 (Fcoding_system_put): Check QCascii_compatible_p.
10716
107172008-02-01 Miles Bader <miles@gnu.org>
10718
10719 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10720 removed calculation of frame `f', as it's now used.
10721
107222008-02-01 Kenichi Handa <handa@m17n.org>
10723
10724 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10725 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10726 (UNIDATA): New variable.
10727 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10728 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10729 $(RUN_TEMACS) unconditionally.
10730
107312008-02-01 Kenichi Handa <handa@m17n.org>
10732
10733 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10734 (admindir): New variable.
10735 ($(lispsource)international/charprop.el): New target.
10736
107372008-02-01 Miles Bader <miles@gnu.org>
10738
10739 * character.c (chars-in-region): Remove obsolete function.
10740 (syms_of_character): Remove its initialization.
10741
107422008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10743
10744 * w32select.c (validate_coding_system)
10745 (setup_windows_coding_system): New functions.
10746 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10747 setup_windows_coding_system.
10748 (setup_config, Fw32_get_clipboard_data): Use
10749 validate_coding_system.
10750 (Fx_selection_exists): Move call to setup_config to a place
10751 where signals are allowed.
10752
10753 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10754 (Fcheck_coding_system): Add declarations.
10755
107562008-02-01 Kenichi Handa <handa@m17n.org>
10757
10758 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10759
107602008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10761
10762 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10763 string as the second argument for x_new_fontset.
10764
107652008-02-01 Kenichi Handa <handa@m17n.org>
10766
10767 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10768 (encode_coding_object): Use safe_call instead of call2.
10769
107702008-02-01 Kenichi Handa <handa@m17n.org>
10771
10772 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10773
10774 * Makefile.in (lisp): Include charprop.el.
10775
107762008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10777
10778 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10779 Not sure if it's unnecessary.
10780
107812008-02-01 Steven Tamm <steventamm@mac.com>
10782
10783 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10784 some possibly unnecessary fontset checking code that crashed
10785 when creating a new frame.
10786
107872008-02-01 Kenichi Handa <handa@m17n.org>
10788
10789 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10790 lookup_face.
10791
10792 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10793
10794 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10795
107962008-02-01 Kenichi Handa <handa@m17n.org>
10797
10798 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10799 (coding_charset_list): New function.
10800
10801 * coding.h (coding_charset_list): Extern it.
10802
108032008-02-01 Kenichi Handa <handa@m17n.org>
10804
10805 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10806 concatenation of family and registry.
10807
108082008-02-01 Kenichi Handa <handa@m17n.org>
10809
10810 * character.h (BYTE8_STRING): Fix typo.
10811
10812 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10813 string to multibyte (sync to HEAD).
10814
10815 * casefiddle.c (casify_region): Handle changes in byte-length
10816 using replace_range_2 (sync to HEAD).
10817
108182008-02-01 Andreas Schwab <schwab@suse.de>
10819
10820 * chartab.c (map_char_table): GCPRO table and arg.
10821
108222008-02-01 Kenichi Handa <handa@m17n.org>
10823
10824 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10825 already at limit.
10826
108272008-02-01 Kenichi Handa <handa@m17n.org>
10828
10829 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10830 instead of fast_c_string_match_ignore_case.
10831 (find_font_encoding): Change argument to Lisp_Object. Use
10832 fast_string_match_ignore_case instead of
10833 fast_c_string_match_ignore_case. Change caller.
10834
108352008-02-01 Kenichi Handa <handa@m17n.org>
10836
10837 * xdisp.c (get_next_display_element): In unibyte case, decide to
10838 display in octal form by checking a character by
10839 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10840
10841 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10842
10843 * character.c (unibyte_has_multibyte_table): New variable.
10844
10845 * character.h (unibyte_has_multibyte_table): Extern it.
10846 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10847
108482008-02-01 Kenichi Handa <handa@m17n.org>
10849
10850 * coding.c (encode_coding_iso_2022): Fix handling of charset
10851 annotation.
10852
108532008-02-01 Kenichi Handa <handa@m17n.org>
10854
10855 * coding.c (setup_coding_system): If coding_system is nil, use
10856 Qundecided.
10857 (Fterminal_coding_system): Return nil if terminal coding system is
10858 `undecided'.
10859 (syms_of_coding): Define coding-system `undecided' here. Setup
10860 terminal_coding as `undecided'.
10861
108622008-02-01 Kenichi Handa <handa@m17n.org>
10863
10864 * xdisp.c (message_dolog, set_message_1): Call
10865 unibyte_char_to_multibyte with arg type int.
10866
10867 * lread.c (read1): Fix reading of a char-table.
10868
10869 * print.c (print_object): Include sub char-table in circularities
10870 detection.
10871
108722008-02-01 Kenichi Handa <handa@m17n.org>
10873
10874 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10875 Append the found sequences in car of ARGS instead of prepending.
10876
108772008-02-01 Kenichi Handa <handa@m17n.org>
10878
10879 * fileio.c (report_file_error): Make a unibyte string from
10880 strerror (errorno).
10881 (Fsubstitute_in_file_name): Fix the arg to
10882 unibyte_char_to_multibyte. It is evaluated twice.
10883
108842008-02-01 Kenichi Handa <handa@m17n.org>
10885
10886 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10887
108882008-02-01 Kenichi Handa <handa@m17n.org>
10889
10890 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10891 BOM is not found.
10892 (detect_coding, detect_coding_system): Optimization for ISO-2022
10893 when no 8-bit data is found.
10894
108952008-02-01 Jason Rumney <jasonr@gnu.org>
10896
10897 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10898
108992008-02-01 Kenichi Handa <handa@m17n.org>
10900
10901 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10902 CHARS.
10903
109042008-02-01 Steven Tamm <steventamm@mac.com>
10905
10906 * macterm.c (mac_encode_char): Add charset argument and update
10907 to use encoding_type.
10908 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10909 switch to pure fontset.
10910 (decode_mac_font_name): Temporarily remove decoding.
10911 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10912 (x_load_font): Temporarily remove encoding.
10913
109142008-02-01 Kenichi Handa <handa@m17n.org>
10915
10916 * xfaces.c (Fface_font): If frame is not on a window system,
10917 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10918 refer to face->font.
10919 (split_font_name_into_vector, build_font_name_from_vector)
10920 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10921 when HAVE_WINDOW_SYSTEM is defined.
10922
109232008-02-01 Kenichi Handa <handa@m17n.org>
10924
10925 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10926 (x_produce_glyphs): Fix setting of members of cmp in case
10927 cmp->glyph_len is zero.
10928
10929 * fontset.c (Fset_fontset_font): Fix docstring.
10930 (Ffontset_info): Make it backward compatible. New arg ALL.
10931
109322008-02-01 Kim F. Storm <storm@cua.dk>
10933
10934 * process.c (read_process_output): Grow decoding_buf when needed;
10935 this could cause a crash in allocate_string and compact_small_strings.
10936
109372008-02-01 Kenichi Handa <handa@m17n.org>
10938
10939 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10940
109412008-02-01 Kenichi Handa <handa@m17n.org>
10942
10943 * coding.c (setup_coding_system): Set coding->common_flags
10944 correctly for raw-text.
10945 (consume_chars): On encoding unibyte text by raw-text, don't check
10946 multibyte form.
10947 (encode_coding): On encoding by raw-text, never use translation tables.
10948
10949 * fileio.c (e_write): Short cut for the case of no encoding.
10950
109512008-02-01 Kenichi Handa <handa@m17n.org>
10952
10953 * coding.c (detect_coding, detect_coding_system): Delete unused
10954 variables.
10955
109562008-02-01 Kenichi Handa <handa@m17n.org>
10957
10958 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10959 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10960
109612008-02-01 Kenichi Handa <handa@m17n.org>
10962
10963 * coding.c (Ffind_coding_systems_region_internal): Include
10964 raw-text and no-conversion in the result.
10965
109662008-02-01 Kenichi Handa <handa@m17n.org>
10967
10968 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10969 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10970 FONT_DEF.
10971 (font_def_arg, add_arg, from_arg, to_arg): New args.
10972 (set_fontset_font): Change argument.
10973 (Fset_fontset_font): Fix for the case that TARGET is a script
10974 name and charset name.
10975 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10976
109772008-02-01 Kenichi Handa <handa@m17n.org>
10978
10979 * fontset.c (fontset_font): Rename from fontset_face. Change return
10980 value.
10981 (face_suitable_for_char_p, face_for_char): Adjust for the change
10982 of fontset_font.
10983 (make_fontset_for_ascii_face): Fix setting of the fontset element
10984 for ASCII.
10985 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10986 to get a font name.
10987 (Ffontset_info): Adjust for the change of fontset_font.
10988
10989 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10990
10991 * character.h (LEADING_CODE_LATIN_1_MIN)
10992 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10993
109942008-02-01 Kenichi Handa <handa@m17n.org>
10995
10996 * editfns.c (check_translation): New function.
10997 (Ftranslate_region_internal): Handle M:N mapping.
10998
109992008-02-01 Kenichi Handa <handa@m17n.org>
11000
11001 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
11002
110032008-02-01 Kenichi Handa <handa@m17n.org>
11004
11005 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
11006 goto invalid_code.
11007 (decode_coding_iso_2022): Fix handling of invalid designation.
11008
11009 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
11010 after calling code_conversion_save.
11011
110122008-02-01 Kenichi Handa <handa@m17n.org>
11013
11014 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
11015
11016 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
11017
11018 * fontset.c: Include "intervals.h".
11019 (fontset_face): Fix comparing of Lisp_Objects.
11020 (free_face_fontset, new_fontset_from_font_name): Fix
11021 Lisp_Object/int mixup.
11022
11023 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
11024
11025 * coding.c: Add many prototypes for static functions.
11026 (get_translation_table): Allow max_lookup to be NULL.
11027 (decode_coding, Ffind_coding_systems_region_internal)
11028 (Funencodable_char_position, Fcheck_coding_systems_region): Call
11029 get_translation_table with max_lookup NULL.
11030
110312008-02-01 Kenichi Handa <handa@m17n.org>
11032
11033 * coding.c (get_translation_table): Declare it as Lisp_Object.
11034 (LOOKUP_TRANSLATION_TABLE): New macro.
11035 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
11036 instead of CHAR_TABLE_REF.
11037
110382008-02-01 Kenichi Handa <handa@m17n.org>
11039
11040 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
11041 annotation data format.
11042 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
11043 Change arguments FROM and TO to single argument NCHARS. Change caller.
11044 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
11045 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11046 (decode_coding_ccl, decode_coding_charset): Pay attention to
11047 coding->charbuf_used.
11048 (get_translation): New function.
11049 (produce_chars): New arguments translation_table and last_block.
11050 Translate characters here. Return number of carryover chars.
11051 Change caller.
11052 (produce_composition): New argument pos. Change caller.
11053 Adjust for the change of annotation data format.
11054 (produce_charset, produce_annotation): Likewise.
11055 (decode_coding, encode_coding): Don't call translate_chars.
11056 (consume_chars): New arg translation_table. Change caller.
11057 (translate_chars): Delete.
11058 (syms_of_coding): Make translation-table's number of extra slots 2.
11059
110602008-02-01 Kenichi Handa <handa@m17n.org>
11061
11062 * search.c (simple_search): Fix setting this_pos_byte in backward
11063 search.
11064
11065 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11066 byte sequence.
11067 (detect_coding_ccl): Fix setting of the variable valids.
11068
110692008-02-01 Kenichi Handa <handa@m17n.org>
11070
11071 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11072
11073 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11074
11075 * editfns.c (Ftranslate_region_internal): Rename from
11076 Ftranslate_region. Accept a char-table in TABLE.
11077 (syms_of_editfns): Defsubr Stranslate_region_internal.
11078
11079 * xfaces.c (set_lface_from_font_name): If a font is specified for
11080 a frame, generate a fontset from the font.
11081 (build_scalable_font_name): If the scalable font is requested for
11082 a specific size, don't change that size.
11083 (try_font_list): Try a scalable font also in the case that a
11084 pattern string is specified.
11085
110862008-02-01 Kenichi Handa <handa@m17n.org>
11087
11088 * xfaces.c (Fface_font): New optional arg CHARACTER.
11089
110902008-02-01 Kenichi Handa <handa@m17n.org>
11091
11092 * charset.h (CHARSET_OFFSET): New macro.
11093
110942008-02-01 Kenichi Handa <handa@m17n.org>
11095
11096 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11097
11098 * fontset.c (fontset_face): Handle the case that repertory is a
11099 char-table.
11100 (find_font_encoding): Return nil for unknown encoding.
11101 (Fset_fontset_font): Ignore a font of unknown encoding.
11102
111032008-02-01 Kenichi Handa <handa@m17n.org>
11104
11105 * keymap.c (describe_vector): Handle default value of a char table.
11106
11107 * fontset.c (fontset_face): Handle fallback fonts correctly.
11108 (Ffontset_info): Return infomation about fallback fonts.
11109
111102008-02-01 Kenichi Handa <handa@m17n.org>
11111
11112 * fontset.c (FONTSET_DEFAULT): New macro.
11113 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11114 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11115 the case that it is nil.
11116 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11117 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11118
11119 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11120 subset or superset.
11121
111222008-02-01 Kenichi Handa <handa@m17n.org>
11123
11124 * emacs.c (main): Call init_charset after syms_of_XXX.
11125
11126 * charset.c (Vcharset_map_directory): Delete.
11127 (Vcharset_map_path): New variable.
11128 (load_charset_map_from_file): Use Vcharset_map_path instead.
11129 (init_charset): Initialize Vcharset_map_path.
11130 (syms_of_charset): Delete declaration of "charset-map-directory",
11131 add declaration of "charset-map-path".
11132
111332008-02-01 Kenichi Handa <handa@m17n.org>
11134
11135 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11136 ASCII only string.
11137
11138 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11139
11140 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11141 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11142
111432008-02-01 Kenichi Handa <handa@m17n.org>
11144
11145 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11146
11147 * coding.c (QCmnemonic, QCdefalut_char)
11148 (QCdecode_translation_table, QCencode_translation_table)
11149 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11150 (get_translation_table): Return a list of translation tables if
11151 necessary.
11152 (decode_coding): Call get_translation_table with ENCODEP 0.
11153 (char_encodable_p): If translation_table is non-nil, always call
11154 translate_char.
11155 (Fdefine_coding_system_internal): Accept list of translation
11156 tables as :encode-translation-table and :decode-translation-table.
11157 (Fcoding_system_put): New function.
11158 (syms_of_coding): Declare new symbols. Defsubr
11159 Scoding_system_put.
11160 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11161 typically JISX0212.
11162
11163 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11164 when the charset is superset type.
11165
11166 * character.c (translate_char): Accept list of translation tables.
11167
111682008-02-01 Kenichi Handa <handa@m17n.org>
11169
11170 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11171 (CODING_ATTR_TRANS_TBL): New macro.
11172
11173 * coding.c (get_translation_table): New function.
11174 (translate_chars): Fix the bug of skipping annotation data.
11175 (decode_coding, encode_coding): Utilize get_translation_table.
11176 (char_encodable_p, Funencodable_char_position): Translate char if
11177 necessary.
11178 (Ffind_coding_systems_region_internal)
11179 (Fcheck_coding_systems_region): Setup translation table for encode
11180 in a coding system attribute vector in advance.
11181 (Fdefine_coding_system_internal): Allow a symbol as translation
11182 table. For shift-jis type coding system, allow 4th charset.
11183
111842008-02-01 Kenichi Handa <handa@m17n.org>
11185
11186 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11187
11188 * xdisp.c (get_next_display_element): Pass -1 as POS to
11189 FACE_FOR_CHAR if displaying a C-string.
11190
111912008-02-01 Kenichi Handa <handa@m17n.org>
11192
11193 * composite.c (get_composition_id): Handle xoff and yoff in a
11194 composition rule.
11195
11196 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11197 (struct composition): New member lbearing and rbearing.
11198
11199 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11200 (x_get_glyph_overhangs): Handle a composition glyph.
11201 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11202
11203 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11204 composition glyph.
11205
112062008-02-01 Kenichi Handa <handa@m17n.org>
11207
11208 * print.c: Include charset.h.
11209 (Vprint_charset_text_property): New variable.
11210 (Qdefault): Extern it.
11211 (PRINT_STRING_NON_CHARSET_FOUND)
11212 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11213 (print_check_string_result): New variable.
11214 (print_check_string_charset_prop): New function.
11215 (print_prune_charset_plist): New variable.
11216 (print_prune_string_charset): New function.
11217 (print_object): Call print_prune_string_charset if
11218 Vprint_charset_text_property is not t.
11219 (print_interval): Print nothing if interval->plist is nil.
11220 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11221 variable. Init and staticpro print_prune_charset_plist.
11222
112232008-02-01 Kenichi Handa <handa@m17n.org>
11224
11225 * fontset.c (new_fontset_from_font_name): Use the specified font
11226 for all characters in the new fontset.
11227
11228 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11229 OBJECT args.
11230
11231 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11232 OBJECT args for composition too.
11233
11234 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11235 OBJECT args.
11236
112372008-02-01 Kenichi Handa <handa@m17n.org>
11238
11239 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11240
11241 * fontset.c (reorder_font_vector): Adjust for the change of
11242 FONT_DEF format.
11243 (fontset_face): New arg id. Change caller.
11244 (face_for_char): New args pos and object.
11245 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11246 (fs_query_fontset): Check NAME by Fassoc too.
11247 (Fset_fontset_font): Allow non-XLFD font name.
11248 (Ffontset_info): Adjust for the change of FONT_DEF format.
11249
11250 * fontset.h (face_for_char): Adjust prototype.
11251
11252 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11253 (append_space, extend_face_to_end_of_line)
11254 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11255 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11256
11257 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11258 POS and OBJECT args.
11259
11260 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11261 POS and OBJECT args.
11262
112632008-02-01 Jason Rumney <jasonr@gnu.org>
11264
11265 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11266 of GlobalAlloc'ed memory.
11267
112682008-02-01 Kenichi Handa <handa@m17n.org>
11269
11270 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11271
11272 * charset.h (charset_table_used): Delete extern.
11273
11274 * charset.c (charset_table_used): Make it static.
11275 (map_charset_chars): Fix args to c_function with.
11276
11277 * chartab.c (map_sub_char_table_for_charset): Fix args to
11278 c_function with.
11279
11280 * coding.h (enum coding_result_code): Delete
11281 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11282
11283 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11284 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11285 (Vlast_code_conversion_error): New variables.
11286 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11287 (ONE_MORE_BYTE): Record error if any instead of signaling an
11288 error. If non-ASCII multibyte char is found, return the negative
11289 value of the code. All callers changed to check it.
11290 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11291 (record_conversion_result): New function. Change all codes setting
11292 coding->result to call this function.
11293 (detect_coding_utf_8, decode_coding_utf_8)
11294 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11295 Don't use the local variable incomplete.
11296 (emacs_mule_char): Change the second arg to `const'.
11297 (decode_coding): Fix of flushing out unprocessed data.
11298 (make_conversion_work_buffer): Fix making of a work buffer.
11299 (decode_coding_object): Return coding->dst_object.
11300
11301 * fontset.c (set_fontset_font): Fix args.
11302
11303 * lisp.h (CHARACTERBITS): Define as 22.
11304
11305 * process.c (send_process): Be sure to set coding->src_multibyte.
11306
11307 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11308
113092008-02-01 Kenichi Handa <handa@m17n.org>
11310
11311 * xdisp.c (handle_auto_composed_prop): Give limit to
11312 Fnext_single_char_property_change.
11313
113142008-02-01 Kenichi Handa <handa@m17n.org>
11315
11316 * composite.c (syms_of_composite): Don't make the composition hash
11317 table weak.
11318
11319 * fontset.c (Fset_fontset_font): Fix docstring.
11320
11321 * lisp.h (detect_coding_system): Adjust prototype.
11322
11323 * fileio.c (kill_workbuf_unwind): Delete this function.
11324 (Finsert_file_contents): Adjust the call of detect_coding_system.
11325 Get conversion_buffer by code_conversion_save. Use the macro
11326 CODING_MAY_REQUIRE_DECODING. After decoding, update
11327 coding_system.
11328
11329 * coding.h (make_conversion_work_buffer): Delete extern.
11330 (code_conversion_save): Extern it.
11331
11332 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11333 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11334 (decode_coding_utf_8): Don't do eol converion.
11335 (detect_coding_utf_16): Check coding->src_chars, not
11336 coding->src_bytes. Add heuristics for those that have no signature.
11337 (decode_coding_emacs_mule, decode_coding_iso_2022)
11338 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11339 Don't do eol converion.
11340 (adjust_coding_eol_type): Return a new coding system.
11341 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11342 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11343 each change.
11344 (decode_coding): Pay attention to undo_list. Do eol conversion for
11345 all types of coding-systems (if necessary).
11346 (Vcode_conversion_work_buf_list): Delete it.
11347 (Vcode_conversion_reused_workbuf): Rename from
11348 Vcode_conversion_reused_work_buf.
11349 (Vcode_conversion_workbuf_name): New variable.
11350 (reused_workbuf_in_use): New variable.
11351 (make_conversion_work_buffer): Delete the arg DEPTH.
11352 (code_conversion_restore): Change argument to cons.
11353 (code_conversion_save): Delete the argument BUFFER. Change callers.
11354 (detect_coding_system): New argument src_chars. Change callers.
11355 Fix for utf-16 detection.
11356 (init_coding_once): Don't use ISO_carriage_return.
11357 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11358 reused_workbuf_in_use.
11359
113602008-02-01 Kenichi Handa <handa@m17n.org>
11361
11362 * keymap.c (store_in_keymap): Pay attention to the case that idx
11363 is a cons specifying a character range.
11364
113652008-02-01 Kenichi Handa <handa@m17n.org>
11366
11367 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11368 HANDLED_RECOMPUTE_PROPS.
11369
11370 * coding.c (Fdefine_coding_system_internal): Fix checking of
11371 ascii compatibility.
11372
113732008-02-01 Kenichi Handa <handa@m17n.org>
11374
11375 * charset.c (find_charsets_in_text): Delete unused locale variable.
11376 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11377
11378 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11379 Resync charset_list to Vemacs_mule_charset_list.
11380
11381 * keymap.c (store_in_keymap): Pay attention to the case that idx
11382 is a cons specifying a character range.
11383
113842008-02-01 Kenichi Handa <handa@m17n.org>
11385
11386 * composite.c (update_compositions): Bind inhibit-read-only, etc
11387 to t before calling remove-list-of-text-properties.
11388
11389 * print.c (print_object): Always print ASCII chars as is.
11390
113912008-02-01 Kenichi Handa <handa@m17n.org>
11392
11393 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11394
11395 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11396 is a char table.
11397
113982008-02-01 Kenichi Handa <handa@m17n.org>
11399
11400 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11401
114022008-02-01 Kenichi Handa <handa@m17n.org>
11403
11404 * xfaces.c (set_lface_from_font_name): Fix for the case that
11405 FONTNAME is not fontset name.
11406
114072008-02-01 Kenichi Handa <handa@m17n.org>
11408
11409 * fns.c (base64_encode_1): Fix previous change.
11410
114112008-02-01 Kenichi Handa <handa@m17n.org>
11412
11413 * fontset.c (set_fontset_font): New function.
11414 (Fset_fontset_font): If a font is specified for a charset, use
11415 map_charset_chars to store the font spec in a fontset.
11416
114172008-02-01 Kenichi Handa <handa@m17n.org>
11418
11419 * fontset.c (fontset_face): Create a fallback fontset on demand.
11420 (make_fontset): Don't create a fallback fontset here.
11421 (free_face_fontset): Free a fallback fontset (if any) too.
11422 (n_auto_fontsets): Delete this variable.
11423 (auto_fontset_alist): New variable.
11424 (new_fontset_from_font_name): Check auto_fontset_alist.
11425 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11426 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11427 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11428 Defsubr Sfontset_list_all.
11429
114302008-02-01 Kenichi Handa <handa@m17n.org>
11431
11432 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11433
114342008-02-01 Kenichi Handa <handa@m17n.org>
11435
11436 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11437
114382008-02-01 Kenichi Handa <handa@m17n.org>
11439
11440 * editfns.c (Fgoto_char): Fix docstring.
11441
114422008-02-01 Kenichi Handa <handa@m17n.org>
11443
11444 * insdel.c (insert_from_gap): Adjust intervals correctly.
11445
114462008-02-01 Jason Rumney <jasonr@gnu.org>
11447
11448 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11449 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11450 (w32_initialize): Try to load it.
11451 (x_get_font_repertory): Use it if available.
11452 (w32_encode_char): Add shortcut for unicode output.
11453
11454 * w32fns.c (w32_load_system_font): Default charset to -1.
11455 (x_to_w32_charset): Match all fonts for unicode.
11456 (w32_to_x_charset): New parameter matching. Don't return partial
11457 or wildcard charsets.
11458 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11459 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11460 (w32_to_x_font): Match charset to real charset.
11461 (enum_font_cb2): Always list unicode versions.
11462
11463 * makefile.w32-in (temacs): Increase EMHEAP.
11464
114652008-02-01 Jason Rumney <jasonr@gnu.org>
11466
11467 * w32term.c (w32_encode_char): New charset parameter.
11468 font_info.encoding becomes encoding_type.
11469 (x_get_font_repertory): New function. Warning: stub only!
11470 (x_new_font): Return quickly if font already set.
11471 (x_new_fontset): fontsetname parameter is Lisp_Object.
11472 Use new fs_query_fontset. Try new_fontset_from_font_name.
11473 Use fontset_name for return value.
11474
11475 * w32term.h: Declare x_get_font_repertory.
11476
11477 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11478 place of find_charset_in_text. Use encode_coding_object in place
11479 of encode_coding.
11480 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11481 decode_coding.
11482
11483 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11484 of x_new_fontset.
11485 (w32_load_system_font): Initialize charset as unicode.
11486 font_info.encoding becomes encoding_type.
11487 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11488 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11489 (syms_of_w32fns): Set get_font_repertory_func.
11490
11491 * w32console.c: Include character.h. Use terminal_encode_buffer
11492 from term.c.
11493 (write_glyphs): Use new version of encode_terminal_code. Use
11494 encode_coding_object in place of encode_coding.
11495
11496 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11497 encoding becomes encoding_type.
11498
11499 * term.c (terminal_encode_buffer): Make externally visible.
11500
11501 * makefile.w32-in: Add character.h dependancies.
11502 (character.o, chartab.o): New targets.
11503
115042008-02-01 Kenichi Handa <handa@m17n.org>
11505
11506 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11507 CODING_ID_EOL_TYPE.
11508
115092008-02-01 Andreas Schwab <schwab@suse.de>
11510
11511 * coding.c (produce_chars): Revert last change.
11512
115132008-02-01 Kenichi Handa <handa@m17n.org>
11514
11515 * charset.h (charset_unicode): Extern it.
11516
11517 * charset.c (string_xstring_p): Check by (C >= 0x100).
11518 (find_charsets_in_text): Change format of the arc CHARSETS. New
11519 arg MULTIBYTE.
11520 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11521 change of find_charsets_in_text.
11522 (Fsplit_char): Fix doc. Never return unknown.
11523
11524 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11525
11526 * coding.c (Fdefine_coding_system_alias): Update
11527 Vcoding_system_list.
11528
11529 * fontset.c (load_font_get_repertory): Pay attention to the case
11530 that ENCODING of a font is specified by a char-table.
11531
11532 * xterm.c (x_get_font_repertory): Handle the case that the
11533 encoding of font is other than Unicode.
11534
115352008-02-01 Kenichi Handa <handa@m17n.org>
11536
11537 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11538 if a character is encodable by the terminal coding system. If
11539 not, produces proper number of `?'s. Update
11540 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11541 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11542
115432008-02-01 Kenichi Handa <handa@m17n.org>
11544
11545 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11546 variables.
11547 (encode_terminal_code): Change argument. Encode multiple
11548 characters at once. Store the result of encoding in
11549 terminal_encode_buffer.
11550 (write_glyphs, insert_glyphs): Adjust for the change of
11551 encode_terminal_code.
11552 (term_init): Initialize terminal_encode_buffer and
11553 terminal_encode_buf_size.
11554
11555 * coding.c (consume_chars): If coding->src_object is nil, don't
11556 check annotation.
11557
115582008-02-01 Kenichi Handa <handa@m17n.org>
11559
11560 * character.c (char_string): Use ASCII_CHAR_P instead of
11561 SINGLE_BYTE_CHAR_P.
11562
115632008-02-01 Kenichi Handa <handa@m17n.org>
11564
11565 * xdisp.c (handle_auto_composed_prop): Check if the last
11566 characters of auto-composed region is newly composed with the
11567 following characters.
11568 (handle_composition_prop): Fix checking of point being inside
11569 composition.
11570
115712008-02-01 Kenichi Handa <handa@m17n.org>
11572
11573 * fns.c (concat): Don't change multibyteness of the result by
11574 concatenating an 8-bit character.
11575
11576 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11577 multibyteness of the result when newelt is an 8-bit character.
11578
115792008-02-01 Dave Love <fx@gnu.org>
11580
11581 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11582 EMACS_INT.
11583
11584 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11585
11586 * xfaces.c (face_numeric_value): Declare dim size_t.
11587 (Finternal_lisp_face_equal_p): Remove unused f.
11588
11589 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11590 (MATRIX_ROW): Remove unused vars.
11591 (draw_glyphs, x_insert_glyphs, fast_find_position)
11592 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11593 byte/char counts.
11594
11595 * regex.c (regex_compile): Remove unused var.
11596
11597 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11598
11599 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11600 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11601
11602 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11603
11604 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11605
11606 * fileio.c (Fwrite_region): Remove unused var.
11607
11608 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11609 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11610
11611 * composite.c (Fremove_list_of_text_properties): Declare.
11612
11613 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11614 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11615 (coding_inherit_eol_type): Remove unused attrs.
11616 (detect_coding): Cast arg of detect_eol.
11617
11618 * charset.c (syms_of_charset): Remove unused var p.
11619 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11620 byte/char counts.
11621
11622 * casetab.c (set_case_table): Remove unused var.
11623
11624 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11625 unused vars.
11626
116272008-02-01 Dave Love <fx@gnu.org>
11628
11629 * xterm.c (x_bitmap_mask): Declare.
11630
116312008-02-01 Dave Love <fx@gnu.org>
11632
11633 * xterm.c (x_term_init): Fix type error.
11634
11635 * lisp.h: Add Funibyte_char_to_multibyte.
11636
11637 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11638 (Fset_coding_system_priority): Doc fix.
11639
11640 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11641
11642 * indent.c (check_composition): Make start and end EMACS_INT.
11643
11644 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11645
11646 * xdisp.c (handle_composition_prop, check_point_in_composition):
11647 Make buffer positions EMACS_INT.
11648
11649 * composite.c (find_composition, run_composition_function)
11650 (update_compositions, Ffind_composition_internal): Make buffer
11651 positions EMACS_INT.
11652
11653 * composite.h (find_composition, update_compositions): Make
11654 position args EMACS_INT.
11655
11656 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11657
11658 * intervals.c (get_property_and_range):
11659 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11660
11661 * unexalpha.c: Don't include varargs.h.
11662
116632008-02-01 Dave Love <fx@gnu.org>
11664
11665 * coding.h (ENCODE_UTF_8): New.
11666
11667 * Makefile.in (gtkutil.o): Depend on coding.h.
11668
11669 * coding.c (Fset_coding_system_priority): Doc fix.
11670
116712008-02-01 Kenichi Handa <handa@m17n.org>
11672
11673 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11674 the case of auto saving.
11675
116762008-02-01 Andreas Schwab <schwab@suse.de>
11677
11678 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11679 `range' from GC.
11680
116812008-02-01 Kenichi Handa <handa@m17n.org>
11682
11683 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11684
116852008-02-01 Kenichi Handa <handa@m17n.org>
11686
11687 * fileio.c (choose_write_coding_system): Return a decided coding system.
11688 (Fwrite_region): Set Vlast_coding_system_used to the return value
11689 of choose_write_coding_system.
11690
116912008-02-01 Kenichi Handa <handa@m17n.org>
11692
11693 * charset.c (Fset_charset_priority): Pay attention to duplicated
11694 arguments.
11695
11696 * coding.c (QCcategory): New variable.
11697 (syms_of_coding): Defsym it. Set all elements of
11698 Vcoding_category_table and their symbol values.
11699 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11700 coding-category-XXX, and coding-category-list.
11701 (Fdefine_coding_system_internal): Add category in the plist.
11702
117032008-02-01 Kenichi Handa <handa@m17n.org>
11704
11705 * callproc.c (Fcall_process): Handle carryover correctly.
11706
11707 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11708 (raw_text_coding_system): Check NILP (coding_system).
11709 (coding_inherit_eol_type): Check NILP (coding_system) and
11710 NILP (parent).
11711 (consume_chars): Fix for the case of raw-text.
11712
11713 * process.c (read_process_output): Handle carryover correctly.
11714
117152008-02-01 Dave Love <fx@gnu.org>
11716
11717 * regex.c (re_search_2): Fix last change.
11718
117192008-02-01 Kenichi Handa <handa@m17n.org>
11720
11721 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11722 target_multibyte. Even in a unibyte case, return a converted
11723 multibyte char.
11724 (GET_CHAR_AFTER): New macro.
11725 (PATFETCH): Translate via multibyte char.
11726 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11727 (SETUP_MULTIBYTE_RANGE): New macro.
11728 (regex_compile): Setup compiled code so that its multibyteness
11729 matches that of a target. Fix the handling of "[X-YZ]" using
11730 SETUP_MULTIBYTE_RANGE.
11731 (analyse_first) <charset>: For filling fastmap for all multibyte
11732 characters, don't check by BASE_LEADING_CODE_P.
11733 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11734 the same as RE_MULTIBYTE_P (bufp) now.
11735 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11736 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11737 (TRANSLATE_VIA_MULTIBYTE): New macro.
11738 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11739 It is the same as RE_MULTIBYTE_P (bufp) now.
11740 <exactn>: Translate via multibyte.
11741 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11742 translate it.
11743 <charset, charset_not>: Fetch a character by
11744 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11745 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11746 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11747 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11748 by GET_CHAR_AFTER.
11749 (bcmp_translate): Likewise.
11750
11751 * search.c (compile_pattern): Check the member target_multibyte,
11752 not the member multibyte of buf.
11753
11754 * lread.c (read1): While reading a string, set force_singlebyte
11755 and force_multibyte correctly.
11756
11757 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11758 up of unibyte_to_multibyte_table.
11759
117602008-02-01 Kenichi Handa <handa@m17n.org>
11761
11762 * coding.c (setup_coding_system): If coding has
11763 post-read-conversion or pre-write-conversion, set
11764 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11765 respectively.
11766 (decode_coding_gap): Run post-read-conversion if any.
11767
11768 * fileio.c (Finsert_file_contents): Even if we read into a
11769 unibyte buffer, check if we must decode the result or not.
11770
117712008-02-01 Kenichi Handa <handa@m17n.org>
11772
11773 * coding.c (make_conversion_work_buffer): Change the work buffer
11774 name to the same one as that of Emacs 21.
11775
117762008-02-01 Kenichi Handa <handa@m17n.org>
11777
11778 * coding.h (make_conversion_work_buffer): Adjust prototype.
11779 (code_conversion_restore): Don't extern it.
11780
11781 * coding.c (detected_mask): Delete unused variable.
11782 (decode_coding_iso_2022): Pay attention to the byte sequence of
11783 CTEXT extended segment, and retain those bytes as is.
11784 (decode_coding_ccl): Delete unused variable `valids'.
11785 (setup_coding_system): Delete unused variable `category'.
11786 (consume_chars): Delete unused variable `category'. Make it work
11787 for non-multibyte case.
11788 (make_conversion_work_buffer): Change argument.
11789 (saved_coding): Delete unused variable.
11790 (code_conversion_restore): Don't check saved_coding->destination.
11791 (code_conversion_save): New function.
11792 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11793 instead of record_unwind_protect.
11794 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11795 (detect_coding_system): Delete unused variable `mask'.
11796 (Fdefine_coding_system_internal): Delete unused variable id.
11797
11798 * fileio.c (kill_workbuf_unwind): New function.
11799 (Finsert_file_contents): On replacing, call
11800 make_conversion_work_buffer with correct args, and call
11801 record_unwind_protect with the first arg kill_workbuf_unwind.
11802
11803 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11804
118052008-02-01 Kenichi Handa <handa@m17n.org>
11806
11807 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11808 (fontset_add): Fix for the case that TO is less than TO1.
11809 (Ffontset_info): Don't use fallback fontset on checking the
11810 default fontset.
11811 (dump_fontset): New function for debugging.
11812
11813 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11814 coding_type is Qcharset.
11815
118162008-02-01 Kenichi Handa <handa@m17n.org>
11817
11818 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11819 (map_char_table): Don't inherit the value from the parent on
11820 initializing VAL. Adjust for the above change.
11821
118222008-02-01 Kenichi Handa <handa@m17n.org>
11823
11824 * coding.c (Qsignature, Qendian): Delete these variables.
11825 (syms_of_coding): Don't initialize them.
11826 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11827 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11828 detect_info->found.
11829 (decode_coding_utf_16): Don't detect BOM here.
11830 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11831 is NOT utf_16_without_bom.
11832 (setup_coding_system): For a coding system of type utf-16, check
11833 if the attribute :endian is Qbig or not (not nil or not), and set
11834 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11835 (detect_coding): If coding type is utf-16 and BOM detection is
11836 required, detect it.
11837 (Fdefine_coding_system_internal): For a coding system of type
11838 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11839
118402008-02-01 Kenichi Handa <handa@m17n.org>
11841
11842 * coding.c (coding_set_source): Fix for the case that the current
11843 buffer is different from coding->src_object.
11844 (decode_coding_object): Don't use the conversion work buffer if
11845 DST_OBJECT is a buffer.
11846
118472008-02-01 Dave Love <fx@gnu.org>
11848
11849 * lread.c (read_emacs_mule_char) [len==2]: Index
11850 emacs_mule_charset correctly.
11851
118522008-02-01 Dave Love <fx@gnu.org>
11853
11854 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11855 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11856 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11857 treated specially.)
11858 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11859 (detected_mask): Remove Big5 bits.
11860
118612008-02-01 Kenichi Handa <handa@m17n.org>
11862
11863 The following changes are to make the font rescaling facility
11864 compatible with Emacs 21.
11865
11866 * xfaces.c (Vface_font_rescale_alist): Rename from
11867 Vface_resizing_fonts.
11868 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11869 (font_rescale_ratio): Rename from font_resizing_ratio.
11870 (split_font_name): Set font->rescale_ratio.
11871 (better_font_p): Pay attention to font->rescale_ratio.
11872 (build_scalable_font_name): Likewise. Change RESX, and RESY
11873 fields.
11874 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11875
118762008-02-01 Kenichi Handa <handa@m17n.org>
11877
11878 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11879 (Qutf_16_le): Remove these variables.
11880 (syms_of_coding): Don't DEFSYM them.
11881 (decode_coding_utf_16): Fix handling of BOM.
11882 (encode_coding_utf_16): Fix handling of BOM.
11883
118842008-02-01 Kenichi Handa <handa@m17n.org>
11885
11886 * fileio.c (Finsert_file_contents): On replacing, before decoding
11887 the file into the work buffer, set point of the work buffer to the end.
11888
118892008-02-01 Dave Love <fx@gnu.org>
11890
11891 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11892
118932008-02-01 Dave Love <fx@gnu.org>
11894
11895 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11896 and fix C types.
11897
118982008-02-01 Kenichi Handa <handa@m17n.org>
11899
11900 * xdisp.c (SKIP_GLYPHS): New macro.
11901 (set_cursor_from_row): Pay attention to string display properties.
11902
11903 * category.c (copy_category_entry): Fix for the case that RANGE
11904 is an integer.
11905
11906 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11907
11908 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11909
119102008-02-01 Kenichi Handa <handa@m17n.org>
11911
11912 * charset.c (Fcharset_id_internal): New function.
11913 (syms_of_charset): Defsubr it.
11914
11915 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11916 with the last arg charset_list acquired from coding.
11917 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11918 the attribute coding_attr_ccl_valids.
11919
11920 * coding.h (enum define_coding_ccl_arg_index): Set the first
11921 member coding_arg_ccl_decoder to coding_arg_max.
11922
11923 * ccl.h (ccl_driver): Adjust prototype.
11924
11925 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11926 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11927 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11928 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11929 last arg Qnil.
11930
119312008-02-01 Kenichi Handa <handa@m17n.org>
11932
11933 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11934 call encode_char.
11935
11936 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11937
119382008-02-01 Dave Love <fx@gnu.org>
11939
11940 * composite.c (syms_of_composite): Make composition_hash_table weak.
11941
119422008-02-01 Kenichi Handa <handa@m17n.org>
11943
11944 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11945 (font_name_registry): Don't extern them.
11946 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11947
11948 * fontset.h (Qfontset): Don't extern it.
11949 (new_fontset_from_font_name): Extern it.
11950
11951 * fontset.c: Give 8 extra slots to fontset objects.
11952 (Qfontset_info): New variable.
11953 (syms_of_fontset): Defsym it.
11954 (FONTSET_FALLBACK): New macro.
11955 (fontset_face): Try also the default fontset.
11956 (make_fontset): Realize a fallback fontset from the default fontset.
11957 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11958 using split_font_name_into_vector and build_font_name_from_vector.
11959 (Fset_fontset_font): Access the elements of font_spec by enum
11960 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11961 name by using split_font_name_into_vector.
11962 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11963 generate a proper font name from the fontset name. Update
11964 Vfontset_alias_alist.
11965 (n_auto_fontsets): New variable.
11966 (new_fontset_from_font_name): New function.
11967 (Ffont_info): Store the information about fonts generated from the
11968 default fontset in the first extra slot of the returned char-table.
11969
11970 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11971 (font_name_registry): Delete function.
11972 (split_font_name_into_vector): New function.
11973 (build_font_name_from_vector): New function.
11974 (font_list): The argument REGISTRY is now a list of registry names.
11975 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11976 specifies an explicit font name, return the name as is. Make a
11977 list of registy names.
11978
11979 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11980 of x_new_fontset.
11981 (Fx_create_frame): Don't call x_new_fontset here. Just use
11982 x_list_fonts to check the existence of fonts.
11983
11984 * xterm.h (x_new_fontset): Adjust prototype.
11985
11986 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11987 string. Use new_fontset_from_font_name to create a fontset from a
11988 font name.
11989
119902008-02-01 Kenichi Handa <handa@m17n.org>
11991
11992 * syntax.c (Vfind_word_boundary_function_table): New name for
11993 Vnext_word_boundary_function_table.
11994 (find-word-boundary-function-table): New name for
11995 next-word-boundary-function-table.
11996
119972008-02-01 Dave Love <fx@gnu.org>
11998
11999 * Makefile.in: Fix some dependencies.
12000
12001 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
12002 set it to nil before returning.
12003
12004 * composite.c (update_compositions): Fix type error.
12005
12006 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
12007
120082008-02-01 Kenichi Handa <handa@m17n.org>
12009
12010 * xterm.c (x_new_font): Optimize for the case that the font is
12011 already set for the frame.
12012
120132008-02-01 Kenichi Handa <handa@m17n.org>
12014
12015 * chartab.c (char_table_ascii): Check if the char table contents
12016 is sub-char-table or not.
12017 (char_table_set, char_table_set_range): Fix argument to
12018 char_table_ascii.
12019
12020 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
12021 (detect_coding_utf_8, detect_coding_utf_16)
12022 (detect_coding_emacs_mule, detect_coding_iso_2022)
12023 (detect_coding_sjis, detect_coding_big5)
12024 (detect_coding_ccl, detect_coding_charset): Change argument MASK
12025 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
12026 sequence is valid in this coding system. Change callers.
12027 (MAX_ANNOTATION_LENGTH): New macro.
12028 (ADD_ANNOTATION_DATA): New macro.
12029 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
12030 ADD_ANNOTATION_DATA. Change the format of annotation data.
12031 (ADD_CHARSET_DATA): New macro.
12032 (emacs_mule_char): New argument ID. Change callers.
12033 (decode_coding_emacs_mule, decode_coding_iso_2022)
12034 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12035 Produce charset annotation data in coding->charbuf.
12036 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
12037 to charset annotation data in coding->charbuf.
12038 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
12039 coding->common_flags if the coding system is iso-2022 based and
12040 uses designation.
12041 (produce_composition): Adjust for the new annotation data format.
12042 (produce_charset): New function.
12043 (produce_annotation): Handle charset annotation.
12044 (handle_composition_annotation, handle_charset_annotation): New
12045 functions.
12046 (consume_chars): Handle charset annotation. Utilize the above two
12047 functions.
12048 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
12049 buffer, get the deleted text as a string and set
12050 coding->src_object to that string.
12051 (detect_coding, detect_coding_system): Use the new struct
12052 coding_detection_info.
12053
12054 * coding.h (struct coding_detection_info): New structure.
12055 (struct coding_system): Adjust prototype of the member `detector'.
12056 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12057
120582008-02-01 Kenichi Handa <handa@m17n.org>
12059
12060 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12061
120622008-02-01 Dave Love <fx@gnu.org>
12063
12064 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12065 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12066 to new local and nullify apropos_accumulate before returning.
12067 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12068
120692008-02-01 Kenichi Handa <handa@m17n.org>
12070
12071 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12072 correctly.
e3eea1fc 12073
aac0c6e3
MR
120742008-02-01 Dave Love <fx@gnu.org>
12075
12076 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12077
120782008-02-01 Kenichi Handa <handa@m17n.org>
12079
12080 The following changes are to make character composition happen
12081 automatically on displaying.
12082
12083 * Makefile.in (lisp, shortlisp): Add composite.elc.
12084
12085 * composite.h (Qauto_composed, Vauto_composition_function)
12086 (Qauto_composition_function): Extern them.
12087
12088 * composite.c (Vcomposition_function_table)
12089 (Qcomposition_function_table): Delete variables.
12090 (Qauto_composed, Vauto_composition_function)
12091 (Qauto_composition_function): New variables.
12092 (run_composition_function): Don't call
12093 compose-chars-after-function.
12094 (update_compositions): Clear `auto-composed' text property.
12095 (compose_chars_in_text): Delete this function.
12096 (syms_of_composite): Staticpro Qauto_composed and
12097 Qauto_composition_function. Declare Vauto_composition_function as
12098 a Lisp variable.
12099
12100 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12101
12102 * xdisp.c (it_props): Add an entry for Qauto_composed.
12103 (handle_auto_composed_prop): New function.
12104
12105 * xselect.c (selection_data_to_lisp_data): Don't call
12106 compose_chars_in_text.
12107
121082008-02-01 Dave Love <fx@gnu.org>
12109
12110 * keyboard.c (read_char): Modify checking around use of
12111 Vkeyboard_translate_table.
12112
12113 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12114 and fix C types.
12115
121162008-02-01 Kenichi Handa <handa@m17n.org>
12117
12118 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12119 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12120 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12121 the case that the last byte is '\r' correctly.
12122 (decode_coding): Flush out the unprocessed data correctly.
12123 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12124
121252008-02-01 Dave Love <fx@gnu.org>
12126
12127 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12128 Add XK_ISO... case.
12129 (xaw_scroll_callback): Revert last change.
12130
121312008-02-01 Kenichi Handa <handa@m17n.org>
12132
12133 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12134
121352008-02-01 Kenichi Handa <handa@m17n.org>
12136
12137 * xfaces.c (Vface_resizing_fonts): New variable.
12138 (struct font_name): New member `resizing_ratio'.
12139 (font_resizing_ratio): New function.
12140 (split_font_name): Set font->resizing_ratio.
12141 (better_font_p): Pay attention to font->resizing_ratio.
12142 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12143 RESX, and RESY fields.
12144 (try_alternative_families): Try scalable fonts if
12145 Vscalable_fonts_allowed is not Qt.
12146 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12147
121482008-02-01 Dave Love <fx@gnu.org>
12149
12150 * xterm.c (xaw_scroll_callback): Cast correctly.
12151
121522008-02-01 Dave Love <fx@gnu.org>
12153
12154 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12155 (lispy_kana_keys): Comment out.
12156 (make_lispy_event) [XK_kana_A]: Comment out.
12157
12158 * xterm.c (xaw_scroll_callback): Cast call_data.
12159 (XTread_socket): Deal with ASCII keysyms.
12160 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12161
121622008-02-01 Dave Love <fx@gnu.org>
12163
12164 * xterm.c (Vx_keysym_table): New.
12165 (syms_of_xterm): Initialize it.
12166 (XTread_socket): Use it.
12167 From head: Eliminate incorrect optimization that tried to avoid
12168 decoding the output of X*LookupString.
12169 (x_get_font_repertory): Delete charset declaration.
12170
121712008-02-01 Kenichi Handa <handa@m17n.org>
12172
12173 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12174 return 0.
12175 (Fdefine_coding_system_internal): Setup
12176 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12177
121782008-02-01 Dave Love <fx@gnu.org>
12179
12180 * coding.c (Fcheck_coding_system): Doc fix.
12181
12182 * editfns.c (Finsert_byte): Return a proper value.
12183
121842008-02-01 Kenichi Handa <handa@m17n.org>
12185
12186 * coding.c (decode_coding): Fix args to translate_chars. Pay
12187 attention to Vstandard_translation_table_for_decode.
12188 (encode_coding): Fix args to translate_chars. Pay attention to
12189 Vstandard_translation_table_for_encode.
12190
12191 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12192 SINGLE_BYTE_CHAR_P.
12193
12194 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12195 not by SINGLE_BYTE_CHAR_P.
12196
12197 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12198 SINGLE_BYTE_CHAR_P.
12199
12200 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12201 SINGLE_BYTE_CHAR_P.
12202
12203 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12204 by SINGLE_BYTE_CHAR_P.
12205
12206 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12207 SINGLE_BYTE_CHAR_P.
12208
122092008-02-01 Dave Love <fx@gnu.org>
12210
12211 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12212
122132008-02-01 Dave Love <fx@gnu.org>
12214
12215 * fns.c (Flanginfo): Fix typo.
12216
12217 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12218
122192008-02-01 Kenichi Handa <handa@m17n.org>
12220
12221 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12222 (detect_coding_emacs_mule, detect_coding_iso_2022)
12223 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12224 incomplete byte sequence. Don't update *mask when correctly detected.
12225 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12226 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12227 (detect_coding, detect_coding_system): Adjust for the changes above.
12228
122292008-02-01 Kenichi Handa <handa@m17n.org>
12230
12231 * character.c (char_string): Rename from
12232 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12233 (string_char): Rename from string_char.
12234
12235 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12236 if C is greater than MAX_3_BYTE_CHAR.
12237 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12238 string_char instead of string_char_with_unification.
12239
122402008-02-01 Dave Love <fx@gnu.org>
12241
12242 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12243
122442008-02-01 Kenichi Handa <handa@m17n.org>
12245
12246 * keymap.c (push_key_description): Pay attention to force_multibyte.
12247
12248 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12249
122502008-02-01 Dave Love <fx@gnu.org>
12251
12252 * charset.c (define_charset_internal): Rename `supprementary'.
12253
12254 * Makefile.in (lisp, shortlisp): Remove latin-N.
12255
122562008-02-01 Dave Love <fx@gnu.org>
12257
12258 * xfns.c (x_window, x_window): Use use_xim.
12259
12260 * xterm.c (use_xim): Initialize.
12261 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12262 (x_term_init): Maybe set use_xim.
12263
12264 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12265
122662008-02-01 Kenichi Handa <handa@m17n.org>
12267
12268 * search.c (search_buffer): Fix case-fold-search of multibyte
12269 characters.
12270 (boyer_moore): Rename the last argument to char_high_bits.
12271
122722008-02-01 Kenichi Handa <handa@m17n.org>
12273
12274 * xdisp.c (display_string): Fix for the case of zero width glyph.
12275
12276 * xfns.c (x_set_font): Change the error message of the case that
12277 x_new_fontset returns Qt.
12278
12279 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12280 (Finternal_set_lisp_face_attribute): Use signal_error for the
12281 error of invalid fontset.
12282
12283 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12284 fontset, return Qt.
12285
122862008-02-01 Dave Love <fx@gnu.org>
12287
12288 * unexelf.c (unexec): Make .got handling not SGI-specific.
12289
12290 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12291
12292 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12293
12294 * keyboard.c (read_key_sequence): Fix type error.
12295
12296 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12297 type error.
12298
12299 * fontset.c (fontset_add): Return Lisp_Object.
12300
123012008-02-01 Dave Love <fx@gnu.org>
12302
12303 * charset.h (charset_ordered_list_tick): Declare extern.
12304
123052008-02-01 Kenichi Handa <handa@m17n.org>
12306
12307 The following changes (and some of 2008-02-01 changes of mine) are
12308 for handling syntax, category, and case conversion for unibyte
12309 characters by converting them to multibyte on the fly. With these
12310 changes, we don't have to setup syntax and case tables for unibyte
12311 characters in each language environment.
12312
12313 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12314 multibyte if necessary.
12315
12316 * bytecode.c (Fbyte_code): Likewise.
12317
12318 * character.h (LEADING_CODE_LATIN_1_MIN)
12319 (LEADING_CODE_LATIN_1_MAX): New macros.
12320 (unibyte_to_multibyte_table): Extern it.
12321 (unibyte_char_to_multibyte): New macro.
12322 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12323 (CHAR_LEADING_CODE): New macro.
12324 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12325
12326 * character.c (unibyte_to_multibyte_table): New variable.
12327 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12328 (multibyte_char_to_unibyte): If C is an eight-bit character,
12329 convert it to the corresponding byte value.
12330
12331 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12332 not 1, signals an error. Update the elements of
12333 unibyte_to_multibyte_table.
12334 (init_charset_once): Initialize unibyte_to_multibyte_table.
12335 (syms_of_charset): Define the charset `iso-8859-1'.
12336
12337 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12338 as is without converting it to unibyte. In a unibyte buffer,
12339 convert C to multibyte before checking the syntax.
12340
12341 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12342
12343 * minibuf.c (Fminibuffer_complete_word): Use the macro
12344 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12345
12346 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12347
12348 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12349 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12350 that is zero, convert an eight-bit char to multibyte.
12351 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12352 non-emacs case.
12353 (PATFETCH): Convert an eight-bit char to multibyte.
12354 (HANDLE_UNIBYTE_RANGE): New macro.
12355 (regex_compile): Setup the compiled pattern for multibyte chars
12356 even if the given regex string is unibyte. Use PATFETCH_RAW
12357 instead of PATFETCH in many places. To handle `charset'
12358 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12359 only for ASCII chars.
12360 (analyse_first) <exactn>: Simplify because the compiled pattern
12361 is multibyte.
12362 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12363 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12364 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12365 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12366 multibyte always 1.
12367 (re_search_2): In emacs, set the locale variable multibyte to 1,
12368 otherwise to 0. New local variable target_multibyte. Check it
12369 to decide the multibyteness of STR1 and STR2. If
12370 target_multibyte is zero, convert unibyte chars to multibyte
12371 before translating and checking fastmap.
12372 (TARGET_CHAR_AND_LENGTH): New macro.
12373 (re_match_2_internal): In emacs, set the locale variable multibyte
12374 to 1, otherwise to 0. New local variable target_multibyte. Check
12375 it to decide the multibyteness of STR1 and STR2. Use
12376 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12377 <charset, charset_not>: If multibyte is nonzero, check fastmap
12378 only for ASCII chars. Call bcmp_translate with
12379 target_multibyte, not with multibyte.
12380 <begline>: Declare the local variable C as `unsigned'.
12381 (bcmp_translate): Change the last arg name to target_multibyte.
12382
12383 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12384 the regexp pattern and the matching target. Set cp->buf.multibyte
12385 to the multibyteness of the regexp pattern. Set
12386 cp->but.target_multibyte to the multibyteness of the matching target.
12387 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12388 FETCH_STRING_CHAR_ADVANCE.
12389 (Freplace_match): Convert unibyte chars to multibyte.
12390
12391 * syntax.c (char_quoted, back_comment, scan_words)
12392 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12393 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12394 unibyte chars to multibyte.
12395 (skip_chars): Delete the arg syntaxp, and move the code for
12396 handling syntaxes to skip_syntaxes. Change callers.
12397 Fix the case that the multibyteness of STRING and the current
12398 buffer doesn't match.
12399 (skip_syntaxes): New function.
12400 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12401 SINGLE_BYTE_CHAR_P.
12402
124032008-02-01 Kenichi Handa <handa@m17n.org>
12404
12405 * xfaces.c (QCfontset): New variable.
12406 (LFACE_FONTSET): New macro.
12407 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12408 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12409 (Finternal_set_lisp_face_attribute)
12410 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12411 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12412 check also LFACE_FONTSET_INDEX.
12413 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12414 attrs[LFACE_FONT_INDEX].
12415 (syms_of_xfaces): Intern and staticpro QCfontset.
12416
12417 * dispextern.h (enum lface_attribute_index): New member
12418 LFACE_FONTSET_INDEX.
12419
12420 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12421
124222008-02-01 Kenichi Handa <handa@m17n.org>
12423
12424 * coding.c (coding_set_destination): Fix coding->destination for
12425 the case converting a region.
12426 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12427 (encode_coding_object): Fix coding->dst_pos and
12428 coding->dst_pos_byte for the case converting a region.
12429
12430 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12431
12432 * character.h (BYTE8_STRING): New macro.
12433
12434 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12435
124362008-02-01 Kenichi Handa <handa@m17n.org>
12437
12438 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12439 characters by octal form.
12440
12441 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12442
12443 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12444 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12445 _fetch_multibyte_char_len.
12446 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12447
12448 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12449
12450 * casefiddle.c (casify_object): Simplify. Handle the case that
12451 the case conversion change the byte length.
12452 (casify_region): Likewise.
12453
12454 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12455
12456 * character.c (_fetch_multibyte_char_len): Delete this variable.
12457 (syms_of_character): Setup Vprintable_chars.
12458
12459 * editfns.c (Fchar_equal): Fix for the unibyte case.
12460 (Finsert_byte): New function.
12461 (syms_of_editfns): Defsubr it.
12462
12463 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12464 of direct code 0x3ffff.
12465
12466 * search.c (Freplace_match): Fix for the unibyte case.
12467
124682008-02-01 Kenichi Handa <handa@m17n.org>
12469
12470 * lread.c (safe_to_load_p): Fix the logic.
12471
12472 * syntax.c (scan_words): Don't treat characters belonging to
12473 different scripts as constituting a word.
12474
12475 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12476
12477 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12478
12479 * emacs.c (main): In the case of --unibyte, instead of aborting on
12480 finding non-empty buffer, make it unibyte.
12481
124822008-02-01 Kenichi Handa <handa@m17n.org>
12483
12484 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12485 to create a fontset.
12486
124872008-02-01 Dave Love <fx@gnu.org>
12488
12489 * character.c (Funibyte_char_to_multibyte): Doc fix.
12490
12491 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12492
124932008-02-01 Kenichi Handa <handa@m17n.org>
12494
12495 * fontset.c (fontset_add): Make the type `int'.
12496 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12497
12498 * character.c (unibyte_char_to_multibyte)
12499 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12500 charset_unibyte, not charset_primary.
12501
12502 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12503
12504 * charset.c (charset_unibyte): Rename from charset_primary.
12505 (Funibyte_charset): Rename from Fprimary_charset.
12506 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12507 (syms_of_charset): Adjust for the above changes.
12508
12509 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12510 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12511 it->multibyte_p is zero.
12512
12513 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12514 Delete extern.
12515
125162008-02-01 Kenichi Handa <handa@m17n.org>
12517
12518 * coding.c (Fdefine_coding_system_internal): Fix category setting
12519 for a coding system of type iso-2022.
12520
125212008-02-01 Kenichi Handa <handa@m17n.org>
12522
12523 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12524
125252008-02-01 Kenichi Handa <handa@m17n.org>
12526
12527 * syntax.c (Vnext_word_boundary_function_table): New variable.
12528 (next-word-boundary-function-table): Declare it as a Lisp variable
12529 in syms_of_syntax.
12530 (scan_words): Call functions in Vnext_word_boundary_function_table
12531 if any.
12532
12533 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12534
12535 * fontset.c (fs_load_font): If fontp->charset is not negative,
12536 return fontp without setting its members.
12537
125382008-02-01 Dave Love <fx@gnu.org>
12539
12540 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12541
12542 * m/sparc.h (HAVE_ALLOCA): Delete.
12543
12544 * s/irix6-5.h: Don't include strings.h.
12545 (bcopy, bzero, bcmp): Don't undef.
12546
12547 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12548
12549 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12550 (TIOCSIGSEND): Don't test IRIX6.
12551 (bcopy, bzero, bcmp): Define conditionally.
12552
125532008-02-01 Kenichi Handa <handa@m17n.org>
12554
12555 * buffer.c (Qas, Qmake, Qto): New variables.
12556 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12557 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12558
12559 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12560 we are inserting a process output into a multibyte buffer.
12561
12562 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12563 multibyte_char_to_unibyte.
12564
12565 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12566 by the primary charset, make it eight-bit char.
12567 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12568
12569 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12570 (charset_8_bit__control, charset_8_bit_graphic)
12571 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12572 (define_charset_internal): New function.
12573 (syms_of_charset): Call define_charset_internal for pre-defined
12574 charsets.
12575
12576 * charset.h (charset_8_bit): Extern it.
12577
12578 * coding.c (make_conversion_work_buffer): Adjust for the change
12579 of Fset_buffer_multibyte.
12580 (encode_coding_raw_text): Increment p0 in the loop.
12581
12582 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12583
12584 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12585 for the change of Fset_buffer_multibyte.
12586
12587 * fns.c (Fstring_to_multibyte): New function.
12588 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12589
125902008-02-01 Dave Love <fx@gnu.org>
12591
12592 * xfns.c (x_put_x_image): Declare args.
12593
12594 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12595 (try_font_list): Declare an arg.
12596
12597 * xdisp.c (message2_nolog, set_message): Declare an arg.
12598
12599 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12600
12601 * syntax.c (scan_sexps_forward): Declare an arg.
12602
12603 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12604 Declare an arg.
12605
12606 * lisp.h (Fnew_fontset): Declare.
12607
12608 * keymap.c (push_key_description): Call CHARACTERP correctly.
12609
12610 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12611 (face_for_char): Delete unused vars.
12612 (Fset_fontset_font): Doc fix. Delete unused vars.
12613
12614 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12615
12616 * composite.c (update_compositions): Declare arg.
12617
12618 * cm.c (calccost, cmgoto): Declare args.
12619
12620 * charset.c: Remove `emacs' conditional. Doc fixes.
12621 (map_char_table_for_charset): Declare.
12622
12623 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12624
12625 * ccl.c: Remove `emacs' conditional.
12626
126272008-02-01 Kenichi Handa <handa@m17n.org>
12628
12629 The following changes are to allow specifying multiple font
12630 patterns for a character range (specified by script or charset).
12631
12632 * Makefile.in (abbrev.o): Depend on syntax.h.
12633 (xfaces.o): Depend on charset.h.
12634
12635 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12636 SINGLE_BYTE_CHAR_P.
12637
12638 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12639
12640 * character.h (Vchar_script_table): Extern it.
12641
12642 * character.c (Vscript_alist): Delete.
12643 (Vchar_script_table, Qchar_script_table): New variable.
12644 (syms_of_character): Declare Vchar_script_table as a lisp variable
12645 and initialize it.
12646
12647 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12648 have property char-table-extra-slots, make no extra slot.
12649
12650 * dispextern.h (struct face): Delete member `charset'.
12651 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12652 SINGLE_BYTE_CHAR_P.
12653 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12654 Add prototypes.
12655 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12656 (generate_ascii_font_name): Rename from generate_ascii_font.
12657
12658 * fontset.h (get_font_repertory_func): New prototype.
12659 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12660 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12661
12662 * fontset.c (Qprepend, Qappend): New variables.
12663 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12664 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12665 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12666 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12667 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12668 (load_font_get_repertory): New functions.
12669 (fontset_set): Delete.
12670 (fontset_face): New arg FACE. Return face ID, not face.
12671 Complete re-write to handle new fontset structure. Change caller.
12672 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12673 (face_for_char): Don't call lookup_face.
12674 (make_fontset_for_ascii_face): New arg FACE.
12675 (fs_load_font): New arg CHARSET_ID. Don't check
12676 Vfont_encoding_alist here.
12677 (find_font_encoding): New function.
12678 (list_fontsets): Use STRINGP, not ! NILP.
12679 (accumulate_script_ranges): New function.
12680 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12681 re-written to handle new fontset structure.
12682 (Ffontset_font): Return a copy of element.
12683 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12684 docstring of font-encoding-alist.
12685
12686 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12687 (Fset_fotset_font): Fix arguments to 5.
12688
12689 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12690
12691 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12692 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12693 (highlight_trailing_whitespace): Adjust for the change of
12694 lookup_named_face.
12695
12696 * xfaces.c: Include charset.h.
12697 (load_face_font): Delete argument C. Change caller.
12698 (generate_ascii_font_name): Rename from generate_ascii_font.
12699 (font_name_registry): New function.
12700 (cache_face): Store ascii faces before non-ascii faces in buckets.
12701 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12702 Lookup only ascii faces.
12703 (lookup_non_ascii_face): New function.
12704 (lookup_named_face): Delete argument C. Change caller.
12705 (lookup_derived_face): Delete argument C. Change caller.
12706 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12707 a string, just call font_list with it.
12708 (choose_face_font): Delete arguments FACE and C. New arg
12709 FONT_SPEC. Change caller.
12710 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12711 Change caller.
12712 (realize_non_ascii_face): New function.
12713 (realize_x_face): Call load_face_font here.
12714 (realize_tty_face): Delete argument C. Change caller.
12715 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12716 get a face ID.
12717 (dump_realized_face): Don't print charset of FACE.
12718
12719 * xfns.c (x_set_font): Always call x_new_fontset and
12720 store_frame_parameter.
12721 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12722 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12723
12724 * xterm.h (x_get_font_repertory): Extern it.
12725
12726 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12727 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12728 it->multibyte_p is zero.
12729 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12730 (x_new_fontset): If FONTSETNAME doesn't match any existing
12731 fontsets, create a new one.
12732 (x_get_font_repertory): New function.
12733
127342008-02-01 Kenichi Handa <handa@m17n.org>
12735
12736 * coding.c (Ffind_coding_systems_region_internal): Detect an
12737 ASCII only string correctly.
12738
12739 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12740 version is 0.
12741
127422008-02-01 Kenichi Handa <handa@m17n.org>
12743
12744 * lread.c: Include "coding.h".
12745 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12746 (load_each_byte, unread_char): New variables.
12747 (readchar_backlog): Delete.
12748 (readchar): Return a character unless load_each_byte is nonzero.
12749 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12750 cons. If unread_char is not -1, simply return it.
12751 (unreadchar): Handle the case that readcharfun is
12752 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12753 (read_multibyte): Delete.
12754 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12755 (read_emacs_mule_char): New functions.
12756 (Fload): Even if the file doesn't have the extension ".elc", if
12757 safe_to_load_p returns a positive version number, assume that the
12758 file contains bytecompiled code. If the version is less than 22,
12759 load the file while decoding multibyte sequences by emacs-mule.
12760 (readevalloop): Don't use readchar_backlog.
12761 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12762 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12763 (read_escape): Delete the arg BYTEREP.
12764 (read1): Set load_each_byte to 1 temporarily while handling
12765 #@NUMBER. Don't call read_multibyte.
12766 (read_vector): Call Fread with a cons. If readcharfun is
12767 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12768 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12769 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12770 and Qload_force_doc_strings.
12771
127722008-02-01 Kenichi Handa <handa@m17n.org>
12773
12774 * xdisp.c (face_before_or_after_it_pos): Call
12775 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12776
127772008-02-01 Kenichi Handa <handa@m17n.org>
12778
12779 * character.h (TRAILING_CODE_P): New macro.
12780 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12781 (string_char_with_unification): Fix prototype.
12782 (Vscript_alist): Extern it.
12783
12784 * character.c (Vscript_alist): New variable.
12785 (string_char_with_unification, str_as_unibyte)
12786 (string_escape_byte8): Add `const' to local variables.
12787 (syms_of_character): Declare script-alist as a Lisp variable.
12788
12789 * charset.h (Vcharset_ordered_list): Extern it.
12790 (charset_ordered_list_tick): Extern it.
12791 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12792 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12793 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12794 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12795 (Funify_charset): Adjust for the change of Funify_charset.
12796
12797 * charset.c (charset_ordered_list_tick): New variable.
12798 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12799 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12800 deunify intead of unify a charset.
12801 (string_xstring_p): Add `const' to local variables.
12802 (find_charsets_in_text): Add `const' to arguments and local variables.
12803 (encode_char): Adjust for the change of Funify_charset. Fix
12804 detecting of invalid code.
12805 (Fset_charset_priority): Increment charset_ordered_list_tick.
12806 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12807 and TO_CODE.
12808
12809 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12810 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12811 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12812 (decode_coding_ccl, consume_chars)
12813 (Ffind_coding_systems_region_internal)
12814 (Fcheck_coding_systems_region): Add `const' to local variables.
12815
12816 * print.c (print_object): Use octal form for printing the
12817 contents of a bool vector.
12818
128192008-02-01 Dave Love <fx@gnu.org>
12820
12821 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12822 <version == 20>: Refuse to load.
12823
128242008-02-01 Dave Love <fx@gnu.org>
12825
12826 * fns.c: Move coding.h.
12827 (Qcodeset, Qdays, Qmonths): New.
12828 (concat): Use CHARACTERP instead of INTEGERP.
12829 (Flocale_codeset): Delete.
12830 (Flanginfo): New function.
12831 (syms_of_fns): Change accordingly.
12832
12833 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12834
128352008-02-01 Dave Love <fx@gnu.org>
12836
12837 * casetab.c (init_casetab_once, init_casetab_once): Fix
12838 CHAR_TABLE_SET call.
12839
12840 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12841
12842 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12843
12844 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12845 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12846 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12847
12848 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12849
12850 * coding.c (ENCODE_DESIGNATION, decode_eol)
12851 (make_conversion_work_buffer, code_conversion_restore)
12852 (Fdefine_coding_system_internal): Convert Lisp types.
12853 (code_conversion_restore): Use EQ, not ==.
12854 (Fencode_coding_string): Fix code_convert_string call.
12855
12856 * coding.h (code_convert_region): Fix prototype.
12857
12858 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12859
12860 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12861 (Ffontset_info): Convert Lisp types.
12862
12863 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12864
12865 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12866
12867 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12868
12869 * chartab.c: Include "...h", not <...h> in some cases.
12870
12871 * callproc.c (Fcall_process): Remove unused variables.
12872
128732008-02-01 Dave Love <fx@gnu.org>
12874
12875 * coding.c (Fset_coding_system_priority): Allow null arg list.
12876
128772008-02-01 Dave Love <fx@gnu.org>
12878
12879 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12880 (Fself_insert_and_exit): Use CHARACTERP.
12881
12882 * callproc.c (Fcall_process): Remove unused vars.
12883
12884 * xterm.c (XTread_socket): Add extra dead keysyms.
12885
12886 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12887
12888 * dispextern.h: Remove prototypes for redraw_frame,
12889 redraw_garbaged_frames.
12890
12891 * cmds.c (Fself_insert_command): Use CHARACTERP.
12892
12893 * chartab.c (make_sub_char_table): Remove unused var.
12894 (Fset_char_table_default, Fmap_char_table): Doc fix.
12895
12896 * keymap.c (access_keymap): Remove generic char code.
12897 (push_key_description): Use CHARACTERP.
12898
128992008-02-01 Dave Love <fx@gnu.org>
12900
12901 * charset.c: Doc fixes.
12902 (Funify_charset): Extra checking.
12903
129042008-02-01 Dave Love <fx@gnu.org>
12905
12906 * lread.c: Remove some unused variables.
12907 (safe_to_load_p): If safe, return the magic number version byte.
12908 (Fload): Maybe use load-with-code-conversion.
12909
129102008-02-01 Kenichi Handa <handa@m17n.org>
12911
12912 * category.c (Fmodify_category_entry): Don't modify the contents
12913 of category_set for characters out of the range. Avoid
12914 unnecessary modification.
12915
12916 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12917 Vchar_unify_table. The default value of the table is now nil.
12918
12919 * character.c (syms_of_character): Setup Vchar_width_table for
12920 eight-bit-control and raw-byte chars.
12921
12922 * charset.h (enum define_charset_arg_index): Delete
12923 charset_arg_parents and add charset_arg_subset and
12924 charset_arg_superset.
12925 (enum charset_attr_index): Delete charset_parents and add
12926 charset_subset and charset_superset.
12927 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12928 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12929 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12930 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12931 (CHARSET_SUPERSET): New macros.
12932 (charset_work): Extern it.
12933 (ENCODE_CHAR): Use charset_work.
12934 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12935 (map_charset_chars): Extern it.
12936
12937 * charset.c (load_charset_map): Set the default value of encoder
12938 and deunifier char-tables to nil.
12939 (map_charset_chars): Change argument. Change callers. Use
12940 map_char_table_for_charset instead of map_char_table.
12941 (Fmap_charset_chars): New optional args from_code and to_code.
12942 (Fdefine_charset_internal): Adjust for the change of
12943 `define-charset' (:parents -> :subset or :superset).
12944 (charset_work): New variable.
12945 (encode_char, syms_of_charset): Adjust for the change of
12946 Fdefine_charset_internal.
12947 (Ffind_charset_string): Setup the vector `charsets' correctly.
12948
12949 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12950 the previous change.
12951 (char_table_ref_and_range): Adjust for the above change.
12952 (map_sub_char_table_for_charset): New function.
12953 (map_char_table_for_charset): New function.
12954
12955 * keymap.c (describe_vector): Handle a char-table directly here.
12956 (describe_char_table): Delete.
12957
12958 * lisp.h (map_charset_chars): Delete.
12959
129602008-02-01 Dave Love <fx@gnu.org>
12961
12962 * fns.c (count_combining): Comment out (unused).
12963 (Flocale_codeset): New.
12964 (syms_of_fns): Defsubr it.
12965
12966 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12967 (size_t): Remove.
12968
129692008-02-01 Dave Love <fx@gnu.org>
12970
12971 * Makefile.in (chartab.o): Depend on charset.h.
12972
129732008-02-01 Kenichi Handa <handa@m17n.org>
12974
12975 * character.c (syms_of_character): Set the default value of
12976 Vprintable_chars to Qnil.
12977
129782008-02-01 Dave Love <fx@gnu.org>
12979
12980 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12981
129822008-02-01 Kenichi Handa <handa@m17n.org>
12983
12984 * charset.c (load_charset_map): Handle the case that from < to
12985 correctly.
12986
12987 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12988 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12989 Pay attention to raw-8-bit chars.
12990
129912008-02-01 Kenichi Handa <handa@m17n.org>
12992
12993 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12994 It is not bytecompiled now.
12995
12996 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12997 (charset_jisx0208): New variables.
12998 (Fdefine_charset_internal): Setup them if appropriate.
12999 (init_charset_once): Initialize them to -1.
13000
13001 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
13002 (charset_jisx0208): Extern them.
13003
13004 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
13005 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
13006 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
13007 (setup_iso_safe_charsets): Fix arguments to Fassq.
13008 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
13009 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
13010 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
13011 (encode_coding_iso_2022): Change the 1st arg to
13012 ENCODE_ISO_CHARACTER to a variable.
13013
130142008-02-01 Kenichi Handa <handa@m17n.org>
13015
13016 * charset.h (enum define_charset_arg_index): New enums
13017 charset_arg_min_code and charset_arg_max_code.
13018 (struct charset): New member char_index_offset.
13019
13020 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
13021 Take charset->char_index_offset into account.
13022 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
13023 args[charset_arg_max_code]. Setup charset.char_index_offset.
13024 (syms_of_charset): Fix args to Fdefine_charset_internal.
13025
130262008-02-01 Dave Love <fx@gnu.org>
13027
13028 * coding.c (decode_coding_utf_8): Reject overlong sequences.
13029
130302008-02-01 Dave Love <fx@gnu.org>
13031
13032 * coding.c: Doc fixes.
13033 (Fcoding_system_aliases): Fix return value.
13034 (Qmac): Remove (duplicated) definition.
13035
130362008-02-01 Dave Love <fx@gnu.org>
13037
13038 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
13039 functions.
13040
13041 * character.c (Fstring): Doc fix.
13042
13043 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
13044
13045 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
13046 ids.
13047 (font-encoding-alist): Doc fix.
13048
130492008-02-01 Dave Love <fx@gnu.org>
13050
13051 * term.c (costs_set): Declare static, non-initialized for pcc.
13052 (encode_terminal_code): Remove unused var.
13053
13054 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13055 for K&R.
13056
13057 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13058
13059 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13060 (suffixes): Move out of make_subsidiaries for K&R.
13061
13062 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13063
13064 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13065
130662008-02-01 Dave Love <fx@gnu.org>
13067
13068 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13069
13070 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13071
130722008-02-01 Yong Lu <lyongu@asia-infonet.com>
13073
13074 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13075
13076 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13077
130782008-02-01 Kenichi Handa <handa@m17n.org>
13079
13080 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13081 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13082
130832008-02-01 Kenichi Handa <handa@m17n.org>
13084
13085 * coding.c (decode_coding_charset): Adjust for the change of
13086 Fdefine_coding_system_internal.
13087 (Fdefine_coding_system_internal): For a coding system of
13088 `charset' type, store a list of charset IDs in
13089 `charset_attr_charset_valids' element of coding attributes.
13090
130912008-02-01 Kenichi Handa <handa@m17n.org>
13092
13093 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13094 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13095 caller. Handle 2-byte and 3-byte charsets correctly.
13096 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13097 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13098 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13099 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13100 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13101 sequence.
13102 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13103 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13104 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13105 and alt&rule composition.
13106 (decode_coding_iso_2022): Handle composition correctly.
13107 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13108
13109 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13110 re-defining a charset. If the charset has :emacs-mule-id, setup
13111 emacs_mule_bytes.
13112 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13113
131142008-02-01 Kenichi Handa <handa@m17n.org>
13115
13116 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13117 (encode_coding_big5, encode_coding_charset): If coding requires safe
13118 encoding, produce a character specified by
13119 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13120
131212008-02-01 Dave Love <fx@gnu.org>
13122
13123 * xterm.c (XSetIMValues): Declare.
13124
13125 * process.c: Conditionally include sys/wait.h, pty.h.
13126
13127 * print.c (print_object): Fix print format for 64-bit systems.
13128
13129 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13130
13131 * buffer.c (emacs_strerror): Declare.
13132
13133 * fontset.c (Fclear_face_cache): Declare.
13134 (accumulate_font_info): Comment-out (unused).
13135 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13136 variables.
13137
13138 * character.h (string_escape_byte8): Declare.
13139
13140 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13141 unused vars.
13142 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13143 (Fmap_charset_chars): Doc fix.
13144
13145 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13146 (Fset_coding_system_priority, Fset_coding_system_priority)
13147 (Fdefine_coding_system_internal): Doc fix.
13148
131492008-02-01 Dave Love <fx@gnu.org>
13150
13151 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13152
131532008-02-01 Kenichi Handa <handa@m17n.org>
13154
13155 * character.c (string_escape_byte8): Make multibyte string with
13156 correct size.
13157
13158 * charset.c (Fmake_char): Delete unnecessary code.
13159
131602008-02-01 Kenichi Handa <handa@m17n.org>
13161
13162 * xfns.c (x_encode_text): Allocate coding.destination here, and
13163 call encode_coding_object with dst_object Qnil.
13164
13165 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13166 multibyte form correctly.
13167
13168 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13169 against Vfont_encoding_alist.
13170
13171 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13172 handling of charset list.
13173 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13174 (decode_coding_object): Move point to coding->dst_pos before
13175 calling post-read-conversion function.
13176 (encode_coding_object): Give correct arguments to
13177 pre-write-conversion. Ignore the return value of
13178 pre-write-conversion function. Pay attention to the case that
13179 pre-write-conversion changes the current buffer. If dst_object is
13180 Qt, even if coding->src_bytes is zero, allocate at least one byte
13181 to coding->destination.
13182
13183 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13184
13185 * charset.c (Fmake_char): Make it more backward compatible.
13186 (Fmap_charset_chars): Fix docstring.
13187
131882008-02-01 Dave Love <fx@gnu.org>
13189
13190 * coding.c: Doc fixes.
13191 (Fdefine_coding_system_alias): Use names, not symbols, in
13192 coding-system-alist.
13193
131942008-02-01 Kenichi Handa <handa@m17n.org>
13195
13196 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13197 of calling free_realized_face.
13198
131992008-02-01 Yong Lu <lyongu@asia-infonet.com>
13200
13201 * charset.c (read_hex): Don't treat SPC as a comment starter.
13202 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13203 (Fdecode_char): Fix typo.
13204
132052008-02-01 Kenichi Handa <handa@m17n.org>
13206
13207 * charset.h (struct charset): New member `code_space_mask'.
13208
13209 * coding.c (coding_set_source): Delete the local variable beg_byte.
13210 (encode_coding_charset, Fdefine_coding_system_internal):
13211 Delete the local variable charset.
13212 (Fdefine_coding_system_internal): Setup
13213 attrs[coding_attr_charset_valids] correctly.
13214
13215 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13216 member to check if CODE is valid or not.
13217 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13218 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13219 is within the range of charset->min_code and carset->max_code.
13220
132212008-02-01 Dave Love <fx@gnu.org>
13222
13223 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13224
13225 * dispextern.h (generate_ascii_font): Fix return type.
13226
13227 * xfaces.c (generate_ascii_font): Fix arg declaration.
13228
13229 * coding.c (coding_inherit_eol_type)
13230 (Fset_terminal_coding_system_internal)
13231 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13232
132332008-02-01 Kenichi Handa <handa@m17n.org>
13234
13235 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13236 multiple charsets correctly.
13237
132382008-02-01 Kenichi Handa <handa@m17n.org>
13239
13240 * search.c (boyer_moore): Fix handling of multibyte character
13241 translation.
13242
13243 * xdisp.c (display_mode_element): When the variable `elt' is
13244 changed, update `this' and `lisp_string'.
13245
132462008-02-01 Kenichi Handa <handa@m17n.org>
13247
13248 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13249
13250 * callproc.c (Fcall_process): Be sure to give the current buffer
13251 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13252
13253 * charset.c (struct charset_map_entries): New struct.
13254 (load_charset_map): Rename from parse_charset_map. New args
13255 entries and n_entries. Change caller.
13256 (load_charset_map_from_file): Rename from load_charset_map.
13257 Change caller. New arg control_flag. Call load_charset_map at
13258 the tail.
13259 (load_charset_map_from_vector): New function.
13260 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13261 (encode_char): If the charset is compact, change a character index
13262 to a code point.
13263
13264 * coding.c (coding_alloc_by_making_gap): Check the case that the
13265 source and destination are the same correctly.
13266 (decode_coding_raw_text): Set coding->consumed_char and
13267 coding->consumed to 0.
13268 (produce_chars): If coding->chars_at_source is nonzero, update
13269 coding->consumed_char and coding->consumed before calling
13270 alloc_destination.
13271 (Fdefine_coding_system_alias): Register ALIAS in
13272 Vcoding_system_alist.
13273 (syms_of_coding): Define `no-conversion' coding system at the tail.
13274
13275 * fileio.c (Finsert_file_contents): Set coding_system instead of
13276 val. If the current buffer is multibyte, always call
13277 decode_coding_gap.
13278
13279 * xfaces.c (try_font_list): Give higher priority to fontset's
13280 family than face's family.
13281
132822008-02-01 Kenichi Handa <handa@m17n.org>
13283
13284 * callproc.c (Fcall_process): Be sure to give the current buffer
13285 to decode_coding_c_string.
13286
13287 * xfaces.c (try_font_list): Give a family specified in a fontset
13288 higher priority than a family specified in a face.
13289
132902008-02-01 Kenichi Handa <handa@m17n.org>
13291
13292 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13293 Fix arguments to insert_from_buffer.
13294
13295 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13296
132972008-02-01 Kenichi Handa <handa@m17n.org>
13298
13299 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13300 (decode_coding_gap): Set coding->dst_multibyte correctly.
13301
133022008-02-01 Kenichi Handa <handa@m17n.org>
13303
13304 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13305 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13306 (encode_coding_utf_16): Substitute coding->default_char for
13307 non-Unicode characters.
13308 (decode_coding): Don't call record_insert here.
13309 (setup_coding_system): Initialize `surrogate' of
13310 coding->spec.utf_16 to 0.
13311 (EMIT_ONE_BYTE): Fix for multibyte case.
13312
13313 * insdel.c (insert_from_gap): Call record_insert.
13314
133152008-02-01 Kenichi Handa <handa@m17n.org>
13316
13317 * casefiddle.c (casify_region): Fix multibyte case.
13318
13319 * character.c (c_string_width): Add return type `int'.
13320 (char_string_with_unification): Delete arg ADVANCED.
13321
13322 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13323 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13324 (CHAR_STRING_ADVANCE): Make it do-while statement.
13325
13326 * chartab.c (sub_char_table_set_range): Optimize for the case
13327 DEPTH == 3. Add workaround code for a GCC optimization bug.
13328
13329 * charset.c (parse_charset_map): Remove an unused variable.
13330
13331 * coding.c: Delete unused variables.
13332
13333 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13334 earlier. If inserted is zero and the coding system doesn't
13335 require flushing, don't call decode_coding_gap.
13336
13337 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13338
133392008-02-01 Kenichi Handa <handa@m17n.org>
13340
13341 The following changes are for using Unicode as an internal
13342 character model, and use UTF-8 format for buffer/string
13343 representation.
13344
13345 * .gdbinit (xchartable): Adjust for the change of char table structure.
13346 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13347
13348 * Makefile.in (obj): Add character.o and chartab.o.
13349 (lisp, shortlisp): Remove utf-8.elc.
13350 (*.o): For many files, change dependency on charset.h to
13351 character.h, and add dependency on character.h.
13352 (character.o, chartab.o): New targets.
13353
13354 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13355 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13356 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13357 of "charset.h".
13358
13359 * dired.c, filelock.c: Include "character.h".
13360
13361 * alloc.c: Include "character.h" instead of "charset.h".
13362 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13363 (syms_of_alloc): Remove defsubr for Smake_char_table.
13364
13365 * buffer.c: Include "character.h" instead of "charset.h", don't
13366 include "coding.h".
13367 (Fset_buffer_multibyte): Adjust for UTF-8.
13368
13369 * buffer.h: EXFUN Fbuffer_live_p.
13370
13371 * callproc.c: Include "character.h" instead of "charset.h".
13372 (Fcall_process): Big change for the new code-conversion APIs.
13373
13374 * casetab.c: Include "character.h" instead of "charset.h".
13375 (set_canon, set_identity, shuffle): Adjust for the new
13376 map_char_table spec.
13377 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13378 accessing the char table structure.
13379
13380 * chartab.c: New file that implements char table.
13381
13382 * category.c: Include "character.h".
13383 (copy_category_entry): New function.
13384 (copy_category_table): Call map_char_table and copy_category_entry.
13385 (Fmake_category_table): Initialize all top-level slots.
13386 (char_category_set): New function.
13387 (modify_lower_category_set): Delete.
13388 (Fmodify_category_entry): Call char_table_ref_and_range.
13389
13390 * category.h (CATEGORY_SET): Just call char_category_set.
13391
13392 * ccl.c: Include "character.h".
13393 (Qccl, Qcclp): New variables.
13394 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13395 it's less than 256.
13396 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13397 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13398 and DST type.
13399 (ccl_driver): Change types of argument, adjust code accordingly.
13400 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13401 ccl_driver.
13402 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13403
13404 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13405 New members src_multibyte, dst_multibyte, consumed, and produced.
13406 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13407 (CODING_SPEC_CCL_PROGRAM): New macro.
13408 (ccl_driver): Update prototype.
13409 (Qccl, Qcclp, Fccl_program_p): Extern them.
13410 (CHECK_CCL_PROGRAM): New macro.
13411
13412 * character.c, character.h, chartab.c: New files.
13413
13414 * charset.c: Mostly re-written. Move character and multibyte sequence
13415 handling codes to character.c.
13416
13417 * charset.h: Mostly re-written. Move character and multibyte sequence
13418 handling codes to character.h.
13419
13420 * coding.c, coding.h: Mostly re-written.
13421
13422 * composite.c: Include "character.h" instead of "charset.h".
13423 (CHAR_WIDTH): Move to character.h.
13424 (HASH_KEY, HASH_VALUE): Delete.
13425
13426 * composite.h (enum composition_method): Change order of enumeration
13427 symbols.
13428
13429 * data.c: Include "character.h" instead of "charset.h".
13430 (Faref): Call CHAR_TABLE_REF for a char table.
13431 (Faset): Call CHAR_TABLE_SET for a char table.
13432
13433 * dispextern.h (free_realized_face, check_face_attribytes)
13434 (generate_ascii_font): Extern them.
13435 (free_realized_multibyte_face): Delete extern.
13436
13437 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13438 table structure.
13439
13440 * editfns.c: Include "character.h" instead of "charset.h".
13441 (Fchar_to_string): Always call CHAR_STRING.
13442
13443 * emacs.c (main): Call init_charset_once, init_charset,
13444 syms_of_chartab, and syms_of_character.
13445
13446 * fileio.c: Include "character.h" instead of "charset.h".
13447 (Finsert_file_contents): Big change for the new code-conversion API.
13448 (choose_write_coding_system, Fwrite_region): Likewise.
13449 (build_annotations_2): Delete.
13450 (e_write): Big change for the new code-conversion API.
13451
13452 * fns.c: Include "character.h" instead of "charset.h".
13453 (copy_sub_char_table): Move to chartab.c.
13454 (Fcopy_sequence): Call copy_char_table for a char table.
13455 (concat): Delete codes calling count_multibyte.
13456 (string_char_to_byte, string_byte_to_char): Adjust for the new
13457 multibyte form.
13458 (internal_equal): Adjust for the change of char table structure.
13459 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13460 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13461 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13462 (char_table_translate, optimize_sub_char_table)
13463 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13464 chartab.c.
13465 (char_table_ref_and_index): Delete.
13466 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13467 (Fmd5): Call preferred_coding_system instead of accessing
13468 Vcoding_category_list. Adjust for the new code-conversion API.
13469 (syms_of_fns): Move defsubr for char table related functions to
13470 chartab.c.
13471
13472 * fontset.c: Mostly re-written.
13473
13474 * fontset.h (struct font_info): Change type of the member encoding_type.
13475 (enum FONT_SPEC_INDEX): New enum.
13476 (fontset_font_pattern, fs_load_font): Update prototype.
13477 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13478
13479 * indent.c: Include "character.h" instead of "charset.h".
13480 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13481
13482 * insdel.c: Include "character.h" instead of "charset.h".
13483 (copy_text): Don't refer to Vnonascii_translation_table.
13484 (insert_from_gap): New function.
13485
13486 * keyboard.c: Include "character.h" instead of "charset.h".
13487 (command_loop_1): Never call direct_output_forward_char before
13488 a non-ASCII character.
13489 (read_char): If Vkeyboard_translate_table is a char table, always
13490 translate a character.
13491
13492 * keymap.c: Include "character.h".
13493 (store_in_keymap): Handle the case that IDX is a cons.
13494 (Fdefine_key): Handle the case that KEY is a cons and the car part
13495 is also a cons (range).
13496 (push_key_description): Adjust for the new character code.
13497 (describe_vector): Call describe_char_table for a char table.
13498 (describe_char_table): New function.
13499
13500 * keymap.h (describe_char_table): Extern it.
13501
13502 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13503 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13504 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13505 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13506 Delete.
13507 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13508 structure.
13509 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13510 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13511 (CHARTAB_SIZE_BITS_3): New macros.
13512 (chartab_size): Extern it.
13513 (struct Lisp_Char_Table): Re-design.
13514 (struct Lisp_Sub_Char_Table): New structure.
13515 (HASH_KEY, HASH_VALUE): Move from fns.c.
13516 (CHARACTERBITS): Define as 22.
13517 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13518 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13519 (GC_SUB_CHAR_TABLE_P): New macro.
13520 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13521 (code_convert_string_norecord): Deleted extern.
13522 (init_character_once, syms_of_character, init_charset)
13523 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13524
13525 * lread.c: Include "character.h".
13526 (read_multibyte): New arg NBYTES.
13527 (read_escape): Change the meaning of returned *BYTEREP.
13528 (to_multibyte): Delete.
13529 (read1): Adjust the handling of char table and string.
13530
13531 * print.c: Include "character.h" instead of "charset.h".
13532 (print_string): Convert 8-bit raw bytes to octal form by
13533 string_escape_byte8.
13534 (print_object): Adjust for the new multibyte form. Print 8-bit
13535 raw bytes always in octal form. Handle sub char table correctly.
13536
13537 * process.c: Include "character.h" instead of "charset.h".
13538 (read_process_output, send_process): Adjust for the new
13539 code-conversion API.
13540
13541 * puresize.h (BASE_PURESIZE): Increase.
13542
13543 * regex.c: Include "character.h" instead of "charset.h".
13544 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13545 (regex_compile): Accept a range whose starting and ending
13546 character have different leading bytes.
13547 (analyse_first): Adjust for the above change.
13548
13549 * search.c: Include "character.h" instead of "charset.h".
13550 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13551 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13552
13553 * syntax.c: Include "character.h" instead of "charset.h".
13554 (syntax_parent_lookup): Delete.
13555 (Fmodify_syntax_entry): Accept a cons as CHAR.
13556 (skip_chars): Adjust for the new multibyte form.
13557 (init_syntax_once): Call char_table_set_range instead of directly
13558 accessing the structure of a char table.
13559
13560 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13561 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13562 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13563 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13564
13565 * term.c: Include "buffer.h" and "character.h".
13566 (encode_terminal_code, write_glyphs): Adjust for the new
13567 code-conversion API.
13568 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13569
13570 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13571
13572 * xdisp.c: Include "character.h".
13573 (get_next_display_element): Adjust for the new multibyte form.
13574 (disp_char_vector): Adjust for the new char table structure.
13575 (decode_mode_spec_coding): Adjust for the new structure of
13576 coding system.
13577 (decode_mode_spec): Adjust for the new code-conversion API.
13578
13579 * xfaces.c: Include "character.h" instead of "charset.h".
13580 (load_face_font): Adjust for the change of choose_face_font and
13581 FS_LOAD_FONT.
13582 (generate_ascii_font): New function.
13583 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13584 (set_font_frame_param): Adjust for the change of choose_face_font.
13585 (free_realized_face): Make it public.
13586 (free_realized_faces_for_fontset): Rename from
13587 free_realized_multibyte_face. Free also faces realized for ASCII.
13588 (choose_face_font): Change arguments. Adjust for the change of
13589 fontset_font_pattern and FS_LOAD_FONT.
13590
13591 * xfns.c: Include "character.h".
13592 (x_encode_text): Adjust for the new code-conversion API.
13593
13594 * xselect.c: Don't include "charset.h".
13595 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13596
13597 * xterm.c: Include "character.h".
13598 (x_encode_char): New argument CHARSET. Change caller.
13599 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13600 Call ENCODE_CHAR instead of SPLIT_CHAR.
13601 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13602 CHAR_WIDTH instead of CHARSET_WIDTH.
13603 (XTread_socket): Adjust for the new code-conversion API.
13604 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13605 (x_load_font): Adjust for the change of struct font.
13606
136072008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13608
13609 * xfaces.c (face_at_buffer_position): Remove unused vars.
13610
136112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13612
13613 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13614 Fix overflow checking.
13615
136162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13617
13618 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13619 Cancel previous change.
13620
136212008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13622
13623 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13624 ccl->eight_bit_control. Fix check for buffer overflow.
13625 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13626 (ccl_driver): Initialize extra_bytes to 0.
13627
136282008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13629
13630 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13631 return it ORed with ctrl_modifier.
13632
136332008-01-29 Miles Bader <miles@gnu.org>
13634
13635 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13636
136372008-01-28 Jason Rumney <jasonr@gnu.org>
13638
13639 * w32.c (stat): Don't double check for networked drive.
13640
136412008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13642
13643 * window.c (run_window_configuration_change_hook): New function.
13644 Code extracted from set_window_buffer. Set the selected frame.
13645 (set_window_buffer): Use it.
13646 * window.h (run_window_configuration_change_hook): Declare.
13647 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13648
13649 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13650
136512008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13652
13653 * Makefile.in: Remove references to unused macros.
13654
136552008-01-26 Eli Zaretskii <eliz@gnu.org>
13656
13657 * w32.c (g_b_init_get_sid_sub_authority)
13658 (g_b_init_get_sid_sub_authority_count): New static variables.
13659 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13660 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13661 (init_user_info): Use them to retrieve uid and gid.
13662 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13663 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13664 st_uid and st_gid of the file.
13665
136662008-01-26 Jason Rumney <jasonr@gnu.org>
13667
13668 * w32.c (logon_network_drive): New function.
13669 (stat): Use it.
13670
136712008-01-26 Chong Yidong <cyd@stupidchicken.com>
13672
13673 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13674 invisible text covered with an ellipsis.
13675
136762008-01-25 Richard Stallman <rms@gnu.org>
13677
13678 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13679 jump back to beginning. Move some other initializations after that.
13680 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13681 New variables.
13682 (syms_of_xdisp): Init them.
13683
13684 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13685
13686 * buffer.c (reset_buffer_local_variables):
13687 Implement `permanent-local-hook'.
13688 (Qpermanent_local_hook): New variable.
13689 (syms_of_buffer): Init and staticpro it.
13690
136912008-01-25 Michael Albinus <michael.albinus@gmx.de>
13692
13693 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13694
136952008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13696
13697 * fns.c (Fclrhash): Return TABLE.
13698
136992008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13700
13701 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13702 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13703 is set even without positional changes.
13704 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13705
13706 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13707
137082008-01-23 Jason Rumney <jasonr@gnu.org>
13709
13710 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13711
13712 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13713 the unicode range available in MULE by locale-coding-system.
13714 Improve dbcs lead byte detection. Set event timestamp and modifiers
13715 earlier.
13716
137172008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13718
13719 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13720 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13721 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13722 when used on child processes.
13723
137242008-01-21 Michael Albinus <michael.albinus@gmx.de>
13725
13726 * dbusbind.c (Fdbus_method_return_internal): Rename from
13727 Fdbus_method_return.
13728 (Fdbus_unregister_object): Move to dbus.el.
13729 (Fdbus_call_method, Fdbus_method_return_internal)
13730 (Fdbus_send_signal): Improve debug messages.
13731
137322008-01-20 Martin Rudalics <rudalics@gmx.at>
13733
13734 * undo.c (undo_inhibit_record_point): New variable.
13735 (syms_of_undo): Initialize it.
13736 (record_point): Don't record point when undo_inhibit_record_point
13737 is set.
13738
137392008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13740
13741 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13742
13743 * xdisp.c (Qauto_hscroll_mode): New var.
13744 (syms_of_xdisp): Initialize it.
13745 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13746 window's buffer.
13747 (hscroll_windows): Don't check automatic_hscrolling_p here.
13748
13749 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13750 vscroll if we're setting window-buffer to the value it already has.
13751
137522008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13753
13754 * m/intel386.h: Remove references to XENIX.
13755
137562008-01-17 Andreas Schwab <schwab@suse.de>
13757
13758 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13759 instead of HAVE_X86_64_LIB64_DIR.
13760 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13761
137622008-01-17 Glenn Morris <rgm@gnu.org>
13763
13764 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13765 to HAVE_X86_64_LIB64_DIR.
13766
137672008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13768
13769 * s/irix3-3.h:
13770 * s/irix4-0.h:
13771 * s/386-ix.h:
13772 * s/domain.h:
13773 * s/hpux9-x11r4.h:
13774 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13775
13776 * sysdep.c: Remove code containing references to symbols defined
13777 by unsupported systems.
13778
137792008-01-16 Glenn Morris <rgm@gnu.org>
13780
13781 * coding.c (select-safe-coding-system-function): Doc fix.
13782
137832008-01-15 Glenn Morris <rgm@gnu.org>
13784
13785 * config.in: Revert 2008-01-13 change: this is a generated file.
13786
137872008-01-13 Tom Tromey <tromey@redhat.com>
13788
13789 * lisp.h: Fix typo.
13790
137912008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13792
13793 * m/sequent-ptx.h:
13794 * m/sequent.h:
13795 * s/ptx.h:
13796 * s/ptx4-2.h:
13797 * s/ptx4.h: Remove files for systems no longer supported.
13798
13799 * callproc.c (Fcall_process): Fix previous change.
13800
138012008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13802
13803 * unexsunos4.c: Remove file, system not supported anymore.
13804
13805 * m/mips.h:
13806 * m/intel386.h:
13807 * callproc.c:
13808 * config.in:
13809 * ecrt0.c:
13810 * emacs.c:
13811 * fileio.c:
13812 * frame.c:
13813 * getpagesize.h:
13814 * keyboard.c:
13815 * lread.c:
13816 * process.c:
13817 * puresize.h:
13818 * sysdep.c:
13819 * systty.h:
13820 * syswait.h:
13821 * unexec.c:
13822 * xdisp.c:
13823 * alloc.c: Remove code containing references to symbols defined by
13824 unsupported systems.
13825
138262008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13827
13828 * coding.c (detect_coding_mask): Fix previous change.
13829
138302008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13831
13832 * coding.c (detect_coding_iso2022): New arg
13833 latin_extra_code_state. Allow Latin extra codes only
13834 when *latin_extra_code_state is nonzero.
13835 (detect_coding_mask): If there is a NULL byte, detect the encoding
13836 as UTF-16 or binary. If Latin extra codes exist, detect the
13837 encoding as ISO-2022 only when there's no other proper encoding is
13838 found.
13839
138402008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13841
13842 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13843 #ifdef MAC_OS.
13844
138452008-01-08 Richard Stallman <rms@gnu.org>
13846
13847 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13848
138492008-01-06 Nick Roberts <nickrob@snap.net.nz>
13850
13851 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13852 menu bar in parentheses.
13853
138542008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13855
13856 * m/7300.h:
13857 * m/acorn.h:
13858 * m/alliant-2800.h:
13859 * m/alliant.h:
13860 * m/alliant1.h:
13861 * m/alliant4.h:
13862 * m/altos.h:
13863 * m/amdahl.h:
13864 * m/apollo.h:
13865 * m/att3b.h:
13866 * m/aviion-intel.h:
13867 * m/aviion.h:
13868 * m/celerity.h:
13869 * m/clipper.h:
13870 * m/cnvrgnt.h:
13871 * m/convex.h:
13872 * m/cydra5.h:
13873 * m/delta88k.h:
13874 * m/dpx2.h:
13875 * m/dual.h:
13876 * m/elxsi.h:
13877 * m/f301.h:
13878 * m/gould-np1.h:
13879 * m/gould.h:
13880 * m/i860.h:
13881 * m/ibmps2-aix.h:
13882 * m/ibmrt-aix.h:
13883 * m/ibmrt.h:
13884 * m/irist.h:
13885 * m/is386.h:
13886 * m/isi-ov.h:
13887 * m/mega68.h:
13888 * m/mg1.h:
13889 * m/news-r6.h:
13890 * m/news-risc.h:
13891 * m/news.h:
13892 * m/nh3000.h:
13893 * m/nh4000.h:
13894 * m/ns16000.h:
13895 * m/ns32000.h:
13896 * m/nu.h:
13897 * m/orion.h:
13898 * m/orion105.h:
13899 * m/paragon.h:
13900 * m/pfa50.h:
13901 * m/plexus.h:
13902 * m/pyramid.h:
13903 * m/pyrmips.h:
13904 * m/sh3el.h:
13905 * m/sps7.h:
13906 * m/sr2k.h:
13907 * m/stride.h:
13908 * m/sun1.h:
13909 * m/sun2.h:
13910 * m/sun3-68881.h:
13911 * m/sun3-fpa.h:
13912 * m/sun3-soft.h:
13913 * m/sun3.h:
13914 * m/sun386.h:
13915 * m/symmetry.h:
13916 * m/tad68k.h:
13917 * m/tahoe.h:
13918 * m/targon31.h:
13919 * m/tek4300.h:
13920 * m/tekxd88.h:
13921 * m/tower32.h:
13922 * m/tower32v3.h:
13923 * m/ustation.h:
13924 * m/wicat.h:
13925 * m/xps100.h:
13926 * s/cxux.h:
13927 * s/cxux7.h:
13928 * s/dgux.h:
13929 * s/dgux4.h:
13930 * s/dgux5-4-3.h:
13931 * s/dgux5-4r2.h:
13932 * s/esix.h:
13933 * s/esix5r4.h:
13934 * s/hiuxmpp.h:
13935 * s/hiuxwe2.h:
13936 * s/iris3-5.h:
13937 * s/iris3-6.h:
13938 * s/isc2-2.h:
13939 * s/isc3-0.h:
13940 * s/isc4-0.h:
13941 * s/isc4-1.h:
13942 * s/newsos5.h:
13943 * s/newsos6.h:
13944 * s/osf1.h:
13945 * s/osf5-0.h:
13946 * s/riscix1-1.h:
13947 * s/riscix12.h:
13948 * s/sco4.h:
13949 * s/sco5.h:
13950 * s/sunos4-0.h:
13951 * s/sunos4-1.h:
13952 * s/sunos413.h:
13953 * s/sunos4shr.h:
13954 * s/umax.h:
13955 * s/unipl5-2.h:
13956 * s/xenix.h:
13957 * cxux-crt0.s:
13958 * unexapollo.c:
13959 * unexconvex.c:
13960 * unexenix.c:
13961 * unexsni.c: Remove files for systems no longer supported.
13962
13963 * m/intel386.h: Remove references to unsupported systems.
13964
13965 * w32.c (get_emacs_configuration): Remove reference to i860.
13966
13967 * sysdep.c: Remove dead code.
13968
139692008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13970
13971 * s/rtu.h:
13972 * m/masscomp.h: Remove files. Platform is obsolete.
13973
139742008-01-04 Michael Albinus <michael.albinus@gmx.de>
13975
13976 * dbusbind.c (Fdbus_method_return): New function.
13977 (xd_read_message): Add the serial number to the event.
13978 (Fdbus_register_method): Activate the function.
13979
139802008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13981
13982 * keyboard.c (read_key_sequence): Fix typo.
13983
139842008-01-03 Michael Albinus <michael.albinus@gmx.de>
13985
13986 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13987 (xd_signature, xd_append_arg): Handle element type detection for
13988 empty arrays.
13989 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13990 SDATA () calls; this must be solved more general.
13991 (Fdbus_register_signal): Use SBYTES instead of strlen.
13992
139932008-01-03 Magnus Henoch <magnus@zemdatav>
13994
13995 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13996 unsigned int for byte values (necessary for big-endian platform).
13997 (Fdbus_call_method): Handle the case of no returned arguments.
13998
139992007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
14000
14001 * dbusbind.c (xd_read_message): Use non-static input_event struct.
14002
140032007-12-31 Magnus Henoch <mange@freemail.hu>
14004
14005 * dbusbind.c (xd_signature): Signature of variant is just "v".
14006
140072007-12-30 Michael Albinus <michael.albinus@gmx.de>
14008
14009 * dbusbind.c: Fix several errors and compiler warnings.
14010 Reported by Tom Tromey <tromey@redhat.com>.
14011 (XD_ERROR, XD_DEBUG_MESSAGE)
14012 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
14013 (xd_append_arg): Part for basic D-Bus types rewritten.
14014 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
14015 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
14016 appropriate.
14017 (xd_read_message): Return Qnil. Don't signal an error; it is not
14018 useful during event reading.
14019 (Fdbus_register_signal): Signal an error if the check for
14020 FUNCTIONP fails.
14021 (Fdbus_register_method): New function. The implementation is not
14022 complete, the call of the function signals an error therefore.
14023 (Fdbus_unregister_object): New function, renamed from
14024 Fdbus_unregister_signal. The initial check signals an error, if
14025 the object is not well formed.
14026
140272007-12-30 Richard Stallman <rms@gnu.org>
14028
14029 * textprop.c (get_char_property_and_overlay):
14030 Signal error if POSITION is out of range in a buffer.
14031
140322007-12-29 Martin Rudalics <rudalics@gmx.at>
14033
14034 * w32fns.c (Fx_create_frame): Make copy of frame parameters
14035 because the original parameters are in pure storage now.
14036
140372007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14038
14039 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
14040
140412007-12-22 Eli Zaretskii <eliz@gnu.org>
14042
14043 * callint.c (syms_of_callint) <command-history>: Add reference to
14044 history-length in the doc string.
14045
140462007-12-17 Jason Rumney <jasonr@gnu.org>
14047
14048 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
14049 before passing as wParam.
14050
140512007-12-22 Michael Albinus <michael.albinus@gmx.de>
14052
14053 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
14054 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
14055 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
14056 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14057 as number.
14058 (Fdbus_call_method): Fix docstring.
14059
140602007-12-21 Michael Albinus <michael.albinus@gmx.de>
14061
14062 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14063 New macros.
14064 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14065 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14066 Simplify.
14067 (xd_signature): New function.
14068 (xd_append_arg): Compute also signatures. Major rewrite.
14069 (xd_retrieve_arg): Make debug messages friendly.
14070 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14071 Check for signatures of arguments.
14072
140732007-12-19 Michael Albinus <michael.albinus@gmx.de>
14074
14075 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14076 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14077 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14078 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14079 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14080 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14081 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14082 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14083 (xd_retrieve_value): Remove. Functionality included in ...
14084 (xd_append_arg): New function.
14085 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14086
140872007-12-16 Michael Albinus <michael.albinus@gmx.de>
14088
14089 * dbusbind.c (top): Include <stdio.h>.
14090 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14091 dbus_message_new_method_call and dbus_message_new_signal.
14092 (Fdbus_register_signal): Rename unique_name to uname.
14093 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14094 non-existing unique name. Fix typos in matching rule. Return an
14095 object which is useful in Fdbus_unregister_signal.
14096 (Fdbus_unregister_signal): Reimplementation, in order to remove
14097 only the corresponding entry.
14098 (Vdbus_registered_functions_table): Change the order of entries.
14099 Apply these changes in xd_read_message and Fdbus_register_signal.
14100
141012007-12-16 Andreas Schwab <schwab@suse.de>
14102
14103 * fileio.c (Finsert_file_contents): Fix overflow check to not
14104 depend on undefined integer overflow.
14105
141062007-12-14 Jason Rumney <jasonr@gnu.org>
14107
14108 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14109 for characters above 127.
14110
141112007-12-13 Jason Rumney <jasonr@gnu.org>
14112
14113 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14114 before dereferencing array.
14115 (lookup_vk_code): Remove zero comparison.
14116
141172007-12-14 Michael Albinus <michael.albinus@gmx.de>
14118
14119 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14120 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14121 Use `unsigned int' instead of `uint'.
14122 (xd_read_message, Fdbus_register_signal): Split expressions into
14123 multiple lines before operators "&&" and "||", according to the
14124 GNU Coding Standards.
14125
141262007-12-14 Eli Zaretskii <eliz@gnu.org>
14127
14128 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14129
141302007-12-12 Juri Linkov <juri@jurta.org>
14131
14132 * buffer.c (Frename_buffer): In interactive spec replace
14133 `read-buffer' with `read-string' that uses `buffer-name-history'
14134 as history, and the current buffer's name as default.
14135
141362007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14137
14138 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14139 manipulating the backtrace manually.
14140 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14141 (struct backtrace, backtrace_list): Remove.
14142 (command_loop_1): Remove dead var `no_direct'.
14143
14144 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14145 preserve non-built-in buffer-local variables.
14146 (Fkill_all_local_variables): Don't re-create&re-set permanent
14147 buffer-local variables.
14148
141492007-12-09 Juri Linkov <juri@jurta.org>
14150
14151 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14152 Lisp code that uses `read-buffer' with current buffer as default.
14153
141542007-12-08 Michael Albinus <michael.albinus@gmx.de>
14155
14156 * dbusbind.c (xd_read_message): Generate an event for every
14157 registered handler. There might be several handlers registered
14158 for the same signal.
14159 (Fdbus_register_signal): Don't overwrite a registration for the
14160 same signal. Add a new registration if handlers are different.
14161 (Vdbus_registered_functions_table): Rework doc string.
14162
141632007-12-07 Michael Albinus <michael.albinus@gmx.de>
14164
14165 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14166 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14167 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14168 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14169 Unify argument lists.
14170 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14171 arguments and hash table keys. Use unique name for service.
14172 (Fdbus_unregister_signal): Remove checks.
14173 (Vdbus_registered_functions_table): Fix doc string.
14174
141752007-12-05 Magnus Henoch <mange@freemail.hu>
14176
14177 * process.c (make_process): Initialize pty_flag to 0.
14178
141792007-12-05 Jason Rumney <jasonr@gnu.org>
14180
14181 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14182 specified XBMs.
14183
141842007-12-05 Richard Stallman <rms@gnu.org>
14185
14186 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14187
141882007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14189
14190 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14191 New variable.
14192 (mac_try_close_socket) [MAC_OSX]: New function.
14193 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14194 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14195
14196 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14197 Use mac_try_close_socket.
14198
141992007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14200
14201 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14202 reloc_base.
14203 (copy_dysymtab): Compute relocation base here.
14204 (rebase_reloc_address) [__ppc64__]: New function.
14205 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14206 changed.
14207
142082007-12-05 Jason Rumney <jasonr@gnu.org>
14209
14210 * w32proc.c (sys_spawnve): Quote args with wildcards.
14211
142122007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14213
14214 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14215 __objc_* sections.
14216 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14217
142182007-12-05 Michael Albinus <michael.albinus@gmx.de>
14219
14220 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14221 Move check for Vdbus_registered_functions_table to
14222 xd_read_queued_messages.
14223 (xd_read_queued_messages): Protect xd_read_message calls by
14224 internal_condition_case_1.
14225
142262007-12-04 Michael Albinus <michael.albinus@gmx.de>
14227
14228 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14229 Qdbus_system_bus and Qdbus_session_bus, respectively.
14230 (Vdbus_intern_symbols): Remove.
14231 (Vdbus_registered_functions_table): New hash table.
14232 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14233 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14234 Rewrite in order to manage registered functions by hash table
14235 Vdbus_registered_functions_table.
14236
142372007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14238
14239 * xterm.c: Update URL to Window Manager Specification in comment.
14240
142412007-12-02 Michael Albinus <michael.albinus@gmx.de>
14242
14243 * config.in (HAVE_DBUS): Add.
14244
14245 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14246 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14247 (obj): Add $(DBUS_OBJ).
14248 (LIBES): Add $(DBUS_LIBS).
14249 (dbusbind.o): New target.
14250
14251 * dbusbind.c: New file.
14252
14253 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14254
14255 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14256 (Qdbus_event): New Lisp symbol.
14257 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14258 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14259 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14260
14261 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14262
142632007-12-01 Richard Stallman <rms@gnu.org>
14264
14265 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14266
142672007-11-30 Jason Rumney <jasonr@gnu.org>
14268
14269 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14270 (w32con_reset_terminal_modes): Clear screen buffer.
14271 (w32_face_attributes): Don't use color indexes that are out of range.
14272 Only reverse the default colors.
14273
14274 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14275 WINDOWSNT.
14276
14277 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14278
142792007-11-29 Jason Rumney <jasonr@gnu.org>
14280
14281 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14282 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14283 if the terminal colors are initialized.
14284 (unspecified_fg, unspecified_bg): Remove unused declarations.
14285
142862007-11-29 Andreas Schwab <schwab@suse.de>
14287
14288 * keyboard.c (apply_modifiers): Fix typo.
14289
142902007-11-29 Richard Stallman <rms@gnu.org>
14291
14292 * keymap.c (Fcurrent_local_map): Doc fix.
14293
142942007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14295
14296 * s/gnu-kfreebsd.h: New file.
14297
142982007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14299
14300 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14301 Don't cast redundantly.
14302
14303 * keyboard.c (KEY_TO_CHAR): New macro.
14304 (parse_modifiers, apply_modifiers): Accept integer arguments.
14305 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14306 for chars and symbol keys.
14307 After doing such remapping, apply function-key-map again.
14308
143092007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14310
14311 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14312 compiled anymore.
14313
143142007-11-26 Andreas Schwab <schwab@suse.de>
14315
14316 * process.c (list_processes_1): Fix indentation level of the
14317 command column.
14318
143192007-11-23 Andreas Schwab <schwab@suse.de>
14320
14321 * editfns.c (Fformat): Handle %c specially since it requires the
14322 argument to be of type int.
14323
143242007-11-23 Markus Triska <markus.triska@gmx.at>
14325
14326 * emacs.c (main): Call init_editfns before init_process, since
14327 init_process sets Vprocess_connection_type depending on OS release.
14328
143292007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14330
14331 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14332 (find_symbol_value): Use do_symval_forwarding.
14333
14334 * data.c (set_internal): Set the value in the `cons-cell' (for
14335 Buffer_Local_values) not only for frame-local variables.
14336
143372007-11-22 Andreas Schwab <schwab@suse.de>
14338
14339 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14340 values to sprintf.
14341 * keymap.c (Fsingle_key_description): Likewise.
14342 * print.c (print_object): Likewise.
14343
143442007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14345
14346 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14347 file for image is nil.
14348
143492007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14350
14351 * term.c: Include stdarg.h.
14352 (fatal): Implement using varargs.
14353 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14354
143552007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14356
14357 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14358 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14359 Update call to buffer_slot_type_mismatch.
14360 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14361 (buffer_slot_type_mismatch): Update.
14362 * buffer.c (buffer_local_types): Remove.
14363 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14364 (defvar_per_buffer): Set the type in the buffer_objfwd.
14365
143662007-11-21 Jason Rumney <jasonr@gnu.org>
14367
14368 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14369 CreateFileMapping returns NULL on failure.
14370
143712007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14372
14373 * search.c (Fset_match_data): Remove the `evaporate' feature.
14374 (unwind_set_match_data): Don't use the `evaporate' feature.
14375
143762007-11-21 Jason Rumney <jasonr@gnu.org>
14377
14378 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14379
14380 * w32console.c (w32con_write_glyphs): Remove unused variables.
14381
143822007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14383
14384 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14385
14386 * s/darwin.h (MULTI_KBOARD): Remove.
14387
14388 * macfns.c (x_create_tip_frame, Fx_create_frame)
14389 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14390
143912007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14392
14393 * buffer.c (Fbuffer_local_value): Remove redundant test.
14394 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14395 than in `current-buffer' to match the comment.
14396 Do the swap using swap_in_global_binding.
14397
14398 * data.c (store_symval_forwarding, set_internal):
14399 * eval.c (specbind): Remove dead code.
14400
14401 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14402 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14403 Since we do not want to see internal Lisp_*fwd objects here.
14404
144052007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14406
14407 * sysdep.c (init_system_name): Use getaddrinfo if available.
14408
14409 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14410 (x_scroll_bar_note_movement): start, end, with, height in struct
14411 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14412
144132007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14414
14415 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14416
144172007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14418
14419 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14420 This undoes Richard's change of 14-Oct-2002.
14421
14422 * alloc.c (allocate_other_vector):
14423 * lisp.h (allocate_other_vector): Remove.
14424
14425 * window.c (struct save_window_data): Move non-lisp data to the end
14426 and make it `int' rather than Lisp_Object.
14427 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14428 Done wrap/unwrap integer values.
14429 (Fset_window_configuration, compare_window_configurations):
14430 Update use of fields to their new types.
14431
14432 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14433 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14434 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14435 (SET_SCROLL_BAR_X_WINDOW): Remove.
14436 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14437 Access the new x_window field directly.
14438 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14439 Don't wrap/unwrap integers into Lisp_Objects.
14440 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14441 (x_scroll_bar_report_motion):
14442 Don't wrap/unwrap integers into Lisp_Objects.
14443 (x_term_init): Use SDATA.
14444 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14445 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14446 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14447 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14448 * xfns.c (x_set_background_color):
14449 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14450 Access the new x_window field directly.
14451
14452 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14453 (allocate_pseudovector): Make non-static.
14454
14455 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14456 (allocate_pseudovector): Declare.
14457 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14458
144592007-11-15 Andreas Schwab <schwab@suse.de>
14460
14461 * editfns.c (Fformat): Correctly format EMACS_INT values.
14462 Also take precision into account when formatting an integer.
14463
14464 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14465
144662007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14467
14468 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14469 (syms_of_keyboard): Defsubr it.
14470
14471 * data.c (swap_in_global_binding): Fix longstanding bug where
14472 store_symval_forwarding was not called with the right second argument,
14473 thus causing objfwd-ing from being dropped.
14474
144752007-11-14 Juanma Barranquero <lekktu@gmail.com>
14476
14477 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14478 (Fx_display_pixel_height, Fx_display_planes)
14479 (Fx_display_color_cells, Fx_server_max_request_size)
14480 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14481 (Fx_display_visual_class, Fx_display_save_under):
14482 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14483 (Fx_display_pixel_height, Fx_display_planes)
14484 (Fx_display_color_cells, Fx_server_max_request_size)
14485 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14486 (Fx_display_mm_height, Fx_display_mm_width)
14487 (Fx_display_backing_store, Fx_display_visual_class)
14488 (Fw32_select_font, Fx_display_save_under):
14489 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14490 (Fx_display_pixel_height, Fx_display_planes)
14491 (Fx_display_color_cells, Fx_server_max_request_size)
14492 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14493 (Fx_display_save_under): Fix typos in docstrings.
14494
144952007-11-14 Juanma Barranquero <lekktu@gmail.com>
14496
14497 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14498 corresponding to deleted entries; they are an implementation detail.
14499 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14500 Remove variables.
14501 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14502 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14503 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14504 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14505 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14506 (Fw32_define_rgb_color, Fw32_load_color_file)
14507 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14508 Fix typos in docstrings.
14509 (Fx_server_version): Reflow docstring.
14510 (Fw32_shell_execute): Doc fixes.
14511
145122007-11-13 Juanma Barranquero <lekktu@gmail.com>
14513
14514 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14515 if w32_parse_hot_key returned nil.
14516
145172007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14518
14519 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14520
145212007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14522
aac0c6e3
MR
14523 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14524
14525 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14526
14527 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14528 Remove W32_SCROLL_BAR_CLICK_EVENT.
14529
14530 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14531 Add MULTIMEDIA_KEY_EVENT.
14532
14533 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14534 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14535 (make_lispy_event) [WINDOWSNT]: Use it to translate
14536 MULTIMEDIA_KEY_EVENT.
14537
14538 * w32term.h (WM_APPCOMMAND): Define if not already.
14539 (GET_APPCOMMAND_LPARAM): Likewise.
14540
14541 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14542 WM_APPCOMMAND.
14543
14544 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14545 (syms_of_w32fns): Export and initialize it.
14546 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14547
145482007-11-09 Chong Yidong <cyd@stupidchicken.com>
14549
14550 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14551 twice.
14552
14553 * xdisp.c (handle_face_prop): Fix last change.
14554
145552007-11-09 Richard Stallman <rms@gnu.org>
14556
14557 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14558 not just for after-strings and before-strings.
14559 Call face_for_overlay_string and pass the overlay to it.
14560 (handle_display_prop): Determine whether property came from an overlay.
14561 Pass OVERLAY arg to handle_single_display_spec.
14562 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14563 (load_overlay_strings): Fill in it->string_overlays.
14564 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14565
14566 * xfaces.c (face_for_overlay_string): Function renamed from
14567 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14568
14569 * dispextern.h (struct it): New elt string_overlays.
14570 New elt from_overlay, also in stack.
14571 Rearrange a few elements.
14572 (face_for_overlay_string): Decl renamed from
14573 face_at_buffer_position_no_overlays, and add argument.
14574
145752007-11-09 Richard Stallman <rms@gnu.org>
14576
14577 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14578 to get the base face for an overlay string.
14579
14580 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14581
14582 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14583
14584 * xdisp.c (handle_stop): Move some code out of loop.
14585
145862007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14587
14588 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14589 Fix conversion from Lisp object to ATSUFontID.
14590
145912007-11-09 Jason Rumney <jasonr@gnu.org>
14592
14593 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14594
145952007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14596
14597 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14598 Don't assume regions are aligned to page boundary.
14599 (print_load_command_name): Add LC_UUID if defined.
14600
146012007-11-09 Richard Stallman <rms@gnu.org>
14602
14603 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14604
146052007-11-07 Jason Rumney <jasonr@gnu.org>
14606
14607 * s/windows95.h: Remove.
14608
146092007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14610
14611 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14612 abort with a message on unhandled store_type values.
14613
146142007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14615
14616 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14617 Remove HAVE_X11R5 and HAVE_X11R4.
14618
146192007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14620
14621 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14622
146232007-11-01 Johan Bockgård <bojohan@gnu.org>
14624
14625 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14626 Don't set s->stippled_p here, since it has already been set by
14627 x_set_glyph_string_gc from x_draw_glyph_string.
14628
146292007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14630
14631 * sunfns.c: Remove file.
14632
14633 * m/sun386.h:
14634 * m/sun2.h:
14635 * m/sparc.h: Remove Sun windows code.
14636
146372007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14638
14639 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14640 (init_keyboard): Set current_kboard's window-system to nil.
14641 (tty_read_avail_input): Typo.
14642 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14643
146442007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14645
14646 * s/usg5-4.h:
14647 * s/usg5-3.h:
14648 * s/ptx.h:
14649 * m/is386.h:
14650 * m/ibmps2-aix.h:
14651 * Makefile.in: Remove all mentions of X10.
14652
14653 * dispnew.c (syms_of_display): Don't mention version 10.
14654
146552007-10-28 Juanma Barranquero <lekktu@gmail.com>
14656
14657 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14658 ($(BLD)/abbrev.$(O)): Remove.
14659
146602007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14661
14662 Rewrite abbrev.c in Elisp.
14663 * image.c (Qcount): Don't declare as extern.
14664 (syms_of_image): Initialize and staticpro `Qcount'.
14665 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14666 * emacs.c (main): Don't call syms_of_abbrev.
14667 * Makefile.in (obj): Remove abbrev.o.
14668 (abbrev.o): Remove.
14669 * abbrev.c: Remove.
14670
146712007-10-26 Martin Rudalics <rudalics@gmx.at>
14672
14673 * window.c (window_min_size_2): Don't count header-line.
14674
146752007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14676
14677 * frame.h (struct frame): Move all bit fields after the first bit
14678 field to take advantage of the available space. Group all the
14679 chars together to reduce wasted space due to padding.
14680
146812007-10-26 Juanma Barranquero <lekktu@gmail.com>
14682
14683 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14684
14685 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14686 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14687 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14688 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14689 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14690 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14691 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14692 (last_marked, mark_object_loop_halt): Make static.
14693
14694 * frame.c (syms_of_frame) <delete-frame-functions>:
14695 Fix typo in docstring.
14696
146972007-10-25 Juanma Barranquero <lekktu@gmail.com>
14698
14699 * w32.c (init_environment): Fix tiny memory leak.
14700 (w32_get_resource): Remove unused variable `ok'.
14701
147022007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14703
14704 Make `window-system' into a keyboard-local variable (rather than
14705 frame-local as done originally by multi-tty).
14706
14707 * keyboard.h (struct kboard): Add Vwindow_system.
14708 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14709 (mark_kboards): Mark Vwindow_system.
14710
14711 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14712 (init_display): Don't set the obsolete `window-system' frame-param.
14713
14714 * xterm.c (x_term_init):
14715 * w32term.c (w32_create_terminal):
14716 * term.c (init_tty): Set Vwindow_system.
14717 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14718 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14719
14720 * xfns.c (Fx_create_frame, x_create_tip_frame):
14721 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14722 * macfns.c (Fx_create_frame):
14723 Don't set the obsolete `window-system' frame-param.
14724
14725 * frame.h (Qwindow_system): Remove.
14726 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14727 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14728
147292007-10-24 Richard Stallman <rms@gnu.org>
14730
14731 * frame.c (x_figure_window_size): For fullscreen case,
14732 set USPosition | PPosition without clobbering rest of window_prompting.
14733
14734 * keyboard.c (Fcurrent_idle_time): Doc fix.
14735
14736 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14737
147382007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14739
14740 * process.c (unwind_request_sigio): Only define if __ultrix__.
14741
14742 * callproc.c (child_setup): Remove spurious *.
14743
14744 * lisp.h (Fget_text_property): Declare.
14745 (have_menus_p): Declare it here rather than in sys-dep header files.
14746 * macterm.h (have_menus_p):
14747 * msdos.h (have_menus_p):
14748 * xterm.h (have_menus_p): Remove.
14749
14750 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14751 (Fmake_variable_frame_local): Just check the variable's const-ness
14752 rather than checking nil or t.
14753
147542007-10-22 Jason Rumney <jasonr@gnu.org>
14755
14756 * w32fns.c: Include math.h.
14757 (w32_abort): Declaration moved to nt/config.nt.
14758
14759 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14760 (abort): Redefinition moved to nt/config.nt.
14761
14762 * m/windowsnt.h: Remove.
14763
147642007-10-22 Juanma Barranquero <lekktu@gmail.com>
14765
14766 * emacs.c (Fdump_emacs): Fix typo in message.
14767 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14768 <installation-directory>: Reflow docstring.
14769
147702007-10-22 Juri Linkov <juri@jurta.org>
14771
14772 * minibuf.c: Allow minibuffer default to be a list of default values.
14773 With empty input use the first element of this list as returned default.
14774 (string_to_object)
14775 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14776 (read_minibuf): If defalt is cons, set histstring to its car.
14777 (Fread_string): If default_value is cons, set val to its car.
14778 (Fread_buffer): If def is cons, use its car.
14779 (Fcompleting_read): If defalt is cons, set val to its car.
14780
147812007-10-21 Michael Albinus <michael.albinus@gmx.de>
14782
14783 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14784
147852007-10-20 Juanma Barranquero <lekktu@gmail.com>
14786
14787 * doc.c (Fdocumentation): Check for advice in all cases.
14788
147892007-10-19 Chong Yidong <cyd@stupidchicken.com>
14790
14791 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14792
147932007-10-19 Richard Stallman <rms@gnu.org>
14794
14795 * doc.c (Fdocumentation): Check for and handle an advised function.
14796
147972007-10-19 Juanma Barranquero <lekktu@gmail.com>
14798
14799 * process.c (Fset_process_filter): Doc fix.
14800
148012007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14802
14803 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14804 which caused key-translation-map to applied repeatedly (thus breaking
14805 double-mode).
14806
148072007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14808
14809 * xselect.c (x_own_selection, x_handle_selection_clear)
14810 (x_clear_frame_selections):
14811 * w32menu.c (list_of_panes, list_of_items):
14812 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14813 * textprop.c (validate_plist, interval_has_all_properties)
14814 (interval_has_some_properties, interval_has_some_properties_list)
14815 (add_properties, text_property_list):
14816 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14817 * minibuf.c (Fassoc_string):
14818 * macselect.c (x_own_selection, x_clear_frame_selections)
14819 (Fx_disown_selection_internal):
14820 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14821 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14822
148232007-10-17 Chong Yidong <cyd@stupidchicken.com>
14824
14825 * process.c: Link to libs for calling res_init() if available.
14826 (Fmake_network_process): Call res_init() before getaddrinfo or
14827 gethostbyname, if possible.
14828
148292007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14830
14831 * lread.c (read1): Set pvectype for char_tables.
14832
14833 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14834 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14835 Add type checks.
14836 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14837
14838 * alloc.c (free_misc): Use XMISCTYPE.
14839 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14840
148412007-10-17 Glenn Morris <rgm@gnu.org>
14842
14843 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14844 (syms_of_minibuf): Add Qcompletion_ignore_case.
14845 * dired.c (Qcompletion_ignore_case): Change to external.
14846 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14847 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14848 (Fread_file_name): Use it rather than intern'ing.
14849
14850 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14851 (Fread_coding_system): Ignore case of user input.
14852
148532007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14854
14855 * xdisp.c (handle_display_prop): Ignore display specs after
14856 replacing one when string text is being replaced.
14857 (handle_single_display_spec): Pretend as if characters with display
14858 property haven't been consumed only when buffer text is being replaced.
14859
148602007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14861
14862 * xfns.c (Fx_create_frame, Fx_display_list):
14863 * window.c (window_fixed_size_p, enlarge_window)
14864 (shrink_window_lowest_first):
14865 * macterm.c (init_font_name_table):
14866 * macfns.c (Fx_create_frame, Fx_display_list):
14867 * lread.c (close_load_descs):
14868 * keyboard.c (read_char_x_menu_prompt):
14869 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14870 * coding.c (code_convert_region_unwind): Test the type of an object
14871 rather than just !NILP before extracting data from it.
14872
14873 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14874
14875 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14876 (XMISCANY): New macro.
14877 (XMISCTYPE): Use it.
14878 (struct Lisp_Misc_Any): New type.
14879 (union Lisp_Misc): Use it.
14880 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14881 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14882 (find_symbol_value, set_internal, default_value, Fset_default)
14883 (Fmake_variable_buffer_local, Fmake_local_variable)
14884 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14885 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14886 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14887 * alloc.c (allocate_buffer): Set the size and tag.
14888 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14889 Use XMISCANY.
14890 (die): Follow the GNU convention for error messages.
14891 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14892 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14893 tag any more.
14894 (set_buffer_internal_1):
14895 * frame.c (store_frame_param):
14896 * eval.c (specbind):
14897 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14898
14899 * doc.c (Fsnarf_documentation): Simplify.
14900
149012007-10-14 Juanma Barranquero <lekktu@gmail.com>
14902
14903 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14904 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14905
149062007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14907
14908 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14909
149102007-10-14 Juanma Barranquero <lekktu@gmail.com>
14911
14912 * eval.c (do_autoload): Don't save autoloads.
14913
14914 * data.c (Ffset): Save autoload of the function being set.
14915
149162007-10-07 John Paul Wallington <jpw@pobox.com>
14917
14918 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14919 parameter before setting up faces.
14920
149212007-10-13 Eli Zaretskii <eliz@gnu.org>
14922
14923 * ccl.c (Fregister_code_conversion_map):
14924 * keyboard.c (append_tool_bar_item): Reformat last change.
14925
14926 * lisp.h (eabs): Rename from `abs'. All callers changed.
14927
149282007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14929
14930 * buffer.c (add_overlay_mod_hooklist):
14931 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14932 * fontset.c (make_fontset):
14933 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14934 (append_tool_bar_item):
14935 * macmenu.c (grow_menu_items):
14936 * w32menu.c (grow_menu_items):
14937 * xmenu.c (grow_menu_items): Use larger_vector.
14938
149392007-10-13 Eli Zaretskii <eliz@gnu.org>
14940
14941 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14942 selected frame'' on MSDOS).
14943
149442007-10-12 Martin Rudalics <rudalics@gmx.at>
14945
14946 * frame.c (Qexplicit_name): New variable.
14947 (x_report_frame_params): Report it in parameter alist.
14948 (syms_of_frame): Intern and staticpro it.
14949
149502007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14951
14952 * macfns.c (x_create_tip_frame): Set terminal for frame.
14953
149542007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14955
14956 * frame.c (Qenvironment): Remove.
14957 (syms_of_frame) <Qenvironment>: Don't initialize.
14958 (Fdelete_frame): Don't treat the `environment' param specially.
14959 * frame.h (Qenvironment): Don't declare.
14960 * callproc.c (set_initial_environment): Don't set unused frame param.
14961
14962 * frame.c (Fframe_with_environment): Remove.
14963 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14964
14965 * lisp.h (Fframe_with_environment): Don't declare.
14966
149672007-10-10 Juanma Barranquero <lekktu@gmail.com>
14968
14969 * indent.c (indent_tabs_mode, last_known_column)
14970 (last_known_column_modified): Make static.
14971 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14972
149732007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14974
14975 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14976
149772007-10-09 Jason Rumney <jasonr@gnu.org>
14978
14979 * w32term.c (x_set_window_size): Disable code that attempts to tell
14980 Lisp code about a size change before it actually happens.
14981
149822007-10-09 Richard Stallman <rms@gnu.org>
14983
14984 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14985 return HANDLED_RETURN.
14986
149872007-10-08 Martin Rudalics <rudalics@gmx.at>
14988
14989 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14990 when there's an unread command event.
14991
14992 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14993 window autoselection act appropriately when leaving selected frame.
14994 (syms_of_frame): Initialize focus_follows_mouse.
14995 * frame.h (focus_follows_mouse): Extern it.
14996 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14997 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14998 * msdos.c (dos_rawgetc): Likewise.
14999 * w32term.c (w32_read_socket): Likewise.
15000 * xterm.c (handle_one_xevent): Likewise.
15001 * xdisp.c (syms_of_xdisp): In doc-string of
15002 mouse-autoselect-window mention focus-follows-mouse.
15003
150042007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15005
15006 * macterm.c (mac_load_query_font): Fix missing return value.
15007 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
15008 Add BLOCK_INPUT.
15009
150102007-10-08 Richard Stallman <rms@gnu.org>
15011
15012 * xdisp.c (get_window_cursor_type): Implement documented behavior
15013 for cursor-in-non-selected-windows = t.
15014
150152007-10-08 Jason Rumney <jasonr@gnu.org>
15016
15017 * w32.c (w32_get_resource): Always close registry keys.
15018
150192007-10-08 Jason Rumney <jasonr@gnu.org>
15020
15021 * makefile.w32-in (LIBS): Add COMCTL32.
15022
15023 * w32fns.c (globals_of_w32fns): Init common controls.
15024
150252007-10-08 Richard Stallman <rms@gnu.org>
15026
15027 * image.c (our_memory_buffer): Rename from omfib_buffer.
15028
150292007-10-08 Richard Stallman <rms@gnu.org>
15030
15031 * buffer.c (Foverlays_at): Doc fix.
15032
150332007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
15034
15035 * fns.c (Fplist_put): Preserve uneven tail data.
15036
150372007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
15038
15039 * termhooks.h (enum event_kind): Remove trailing comma.
15040
15041 * frame.h (enum): Remove trailing comma.
15042
150432007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
15044
15045 * w32proc.c (delete_child): Don't terminate threads of zombies.
15046
150472007-10-08 Martin Rudalics <rudalics@gmx.at>
15048
15049 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
15050
15051 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
15052 last-repeatable-command.
15053 (init_kboard): Initialize Vlast_repeatable_command.
15054 (command_loop_1): Set it to real_this_command unless that was
15055 bound to an input event.
15056 (mark_kboards): Mark it.
15057
150582007-10-08 Richard Stallman <rms@gnu.org>
15059
15060 * eval.c (condition-case): Doc fix.
15061
150622007-10-08 Masatake YAMATO <jet@gyve.org>
15063
15064 * xfaces.c (tty_supports_face_attributes_p): Fix code
15065 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15066 was copied and not edited.
15067
150682007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15069
15070 Add new `input-decode-map' keymap and use it for terminal
15071 escape sequences.
15072 * keyboard.h (struct kboard): Add Vinput_decode_map.
15073 Remove Vlocal_key_translation_map.
15074 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15075 (init_kboard): Init input-decode-map.
15076 Replace local-key-translation-map back with key-translation-map.
15077 (syms_of_keyboard): Declare input-decode-map.
15078 Remove local-key-translation-map. Update docstrings.
15079 (mark_kboards): Mark Vinput_decode_map.
15080 Don't mark Vlocal_key_translation_map.
15081 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15082 Replace local-key-translation-map back with key-translation-map.
15083 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15084 Bind in input-decode-map rather than function-key-map.
15085
15086 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15087 This was made redundant by the previous introduction of XSETPVECTYPE.
15088
150892007-10-09 Richard Stallman <rms@gnu.org>
15090
15091 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15092
150932007-09-29 Richard Stallman <rms@gnu.org>
15094
15095 * eval.c (internal_condition_case_2, internal_condition_case_1)
15096 (internal_condition_case): Reenable abort if x_catching_errors ()
15097 to see if that really happens and why.
15098
150992007-10-06 Andreas Schwab <schwab@suse.de>
15100
15101 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15102
151032007-10-04 Juanma Barranquero <lekktu@gmail.com>
15104
15105 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15106
151072007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15108
15109 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15110
151112007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15112
15113 * window.h (struct window):
15114 * window.c (struct save_window_data, struct saved_window):
15115 * termhooks.h (struct terminal):
15116 * process.h (struct Lisp_Process):
15117 * frame.h (struct frame):
15118 * buffer.h (struct buffer):
15119 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15120 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15121 The size field of (pseudo)vectors is now unsigned.
15122 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15123
15124 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15125 Turn `count' into an integer.
15126
15127 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15128 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15129 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15130 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15131 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15132
15133 * alloc.c (allocate_pseudovector): New fun.
15134 (ALLOCATE_PSEUDOVECTOR): New macro.
15135 (allocate_window, allocate_terminal, allocate_frame)
15136 (allocate_process): Use it.
15137 (mark_vectorlike): New function.
15138 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15139 (mark_terminals): Use it.
15140 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15141 (Fmake_byte_code): Use XSETPVECTYPE.
15142
15143 * frame.c (Fframe_parameters): Minor simplification.
15144
15145 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15146
15147 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15148
15149 * buffer.c (Fget_buffer_create, init_buffer_once):
15150 * lread.c (defsubr):
15151 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15152
15153 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15154 defined differently in the m/*.h files.
15155 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15156 (XSETPVECTYPE): New macro.
15157 (XSETPSEUDOVECTOR): Use it.
15158
15159 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15160 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15161
15162 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15163 * lread.c (defvar_per_buffer):
15164 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15165
15166 * window.c (candidate_window_p): Only consider as visible frames that
15167 are on the same terminal.
15168
15169 * m/ibms390x.h (MARKBIT): Remove unused macro.
15170
151712007-10-01 Juanma Barranquero <lekktu@gmail.com>
15172
15173 * lread.c (Fload): Fix typo in docstring.
15174
151752007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15176
15177 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15178 of a non-zero value can't yield zero.
15179
151802007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15181
15182 * term.c (term_clear_mouse_face, term_mouse_highlight)
15183 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15184
15185 * print.c (safe_debug_print): Use XHASH.
15186
15187 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15188 Lisp elements such as tags.
15189 (XHASH): New macro.
15190 (EQ): Use it.
15191 (SREF, SSET, STRING_COPYIN): Use SDATA.
15192 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15193
15194 * alloc.c (mark_terminal): Remove left-over declaration.
15195 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15196 (allocate_vectorlike): Remove type argument. Adjust callers.
15197 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15198 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15199
15200 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15201 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15202 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15203 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15204 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15205 Use them.
15206
15207 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15208 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15209 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15210
152112007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15212
15213 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15214 loaded by default.
15215
152162007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15217
15218 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15219 on this tty.
15220 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15221
15222 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15223 Update all users.
15224 (handle_one_term_event): Use Gpm_DrawPointer.
15225 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15226 Signal errors instead of returning nil. Always return nil.
15227 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15228 Make it a noop if gpm-mouse was not activated.
15229 (syms_of_term): Update names.
15230
152312007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15232
15233 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15234 (init_sys_modes): Check that gpm_tty is the current tty.
15235
15236 * alloc.c (allocate_terminal): Set the vector size to only count the
15237 lisp fields. Initialize those to nil.
15238 (mark_object): Don't treat terminals specially.
15239 (mark_terminal): Remove.
15240 (mark_terminals): Use mark_object instead.
15241
15242 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15243 the GC to the beginning.
15244
15245 * indent.h:
15246 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15247
15248 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15249
152502007-09-25 Jason Rumney <jasonr@gnu.org>
15251
15252 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15253
15254 * w32console.c (create_w32cons_output): Remove.
15255
15256 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15257
15258 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15259 (reset_sys_modes): Use reset_terminal_modes_hook.
15260
152612007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15262
15263 * eval.c (do_autoload): Don't output any message.
15264
152652007-09-24 Juri Linkov <juri@jurta.org>
15266
15267 * emacs.c (standard_args): Change priority of "--no-splash"
15268 from 40 to 3. Add "--no-desktop" with the same priority.
15269
152702007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15271
15272 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15273 and optimize the case where they are all 1.
15274
152752007-09-23 Johannes Weiner <hannes@saeurebad.de>
15276
15277 * lisp.h (abs): Define if not defined.
15278 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15279 Don't define `abs', since it's defined in lisp.h.
15280
152812007-09-22 Eli Zaretskii <eliz@gnu.org>
15282
15283 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15284 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15285 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15286 (init_tty): Use DEV_TTY instead of "/dev/tty".
15287 [WINDOWSNT]: No need to protect from NAME arg being null.
15288
152892007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15290
15291 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15292 up the tty state.
15293
152942007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15295
15296 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15297 (gpm_tty): Change its type.
15298 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15299 (gpm_tty): Change its type and initialize it.
15300 (Fterm_open_connection): Check the frame is indeed a tty.
15301 Use the new gpm_tty.
15302 (Fterm_close_connection): Use the new gpm_tty.
15303 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15304 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15305
153062007-09-21 Juanma Barranquero <lekktu@gmail.com>
15307
15308 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15309 underline_color, to draw strike-through.
15310
153112007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15312
15313 * lisp.h (allocate_terminal): Declare.
15314
15315 * window.c (candidate_window_p): Consider frames that are being placed
15316 by the user as somewhere between visible and iconified.
15317 (window_loop): Prefer windows on the current frame.
15318 (Fselect_window): Move the use of select-frame to the beginning so we
15319 can just delegate all the work (it'll call us back anyway).
15320
15321 * frame.c (Qdisplay_environment_variable):
15322 * frame.h (Qdisplay_environment_variable): Delete.
15323
15324 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15325 of the first arg, since that value may be a union.
15326
15327 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15328 parameter rather than Qdisplay_environment_variable. If all else
15329 fails, look for DISPLAY in initial-environment.
15330
153312007-09-21 Glenn Morris <rgm@gnu.org>
15332
15333 * Makefile.in (emacstool): Remove target.
15334 (lisp, shortlisp): Remove termdev.elc.
15335
153362007-09-21 Markus Triska <markus.triska@gmx.at>
15337
15338 * xterm.c (x_delete_display): Compile session management conditionally.
15339
153402007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15341
15342 * callproc.c (getenv_internal_1): New function.
15343 (getenv_internal): Use it.
15344 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15345
15346 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15347 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15348 (Fset_terminal_parameter): Work with dead terminals as well.
15349 (Fmodify_terminal_parameters): Remove.
15350
15351 * terminal.c (get_terminal): Handle terminals.
15352 Make sure the terminal returned is live.
15353 (create_terminal): Use allocate_terminal.
15354 (mark_terminals): Move to alloc.c.
15355 (delete_terminal): Use terminal->name as liveness status.
15356 NULL out fields after freeing their contents.
15357 Don't deallocate the object.
15358 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15359 rather than an int.
15360 (Fterminal_live_p): Accept non-integer arguments.
15361 (Fterminal_list): Return terminal objects rather than an ints.
15362
15363 * alloc.c (enum mem_type): New member for `terminal' objects.
15364 (allocate_terminal): New function.
15365 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15366 Handle terminals.
15367 (mark_terminal): New fun.
15368 (mark_terminals): Move from terminal.c.
15369
15370 * term.c (get_tty_terminal): Don't treat output_initial specially.
15371 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15372 (delete_tty): Use terminal->name as liveness status.
15373
15374 * termhooks.h (struct terminal): Make it into a pseudovector.
15375 Remove `deleted' replaced by checking `name's nullness.
15376
15377 * print.c (print_object): Handle terminals.
15378
15379 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15380 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15381
15382 * frame.c (make_terminal_frame):
15383 * keyboard.c (tty_read_avail_input):
15384 * w32term.c (x_delete_terminal):
15385 * xfns.c (Fx_create_frame, x_create_tip_frame):
15386 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15387
153882007-09-20 Glenn Morris <rgm@gnu.org>
15389
15390 * process.c (Fmake_network_process): Doc fix.
15391
153922007-09-19 Jason Rumney <jasonr@gnu.org>
15393
15394 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15395
153962007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15397
15398 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15399 Fix a C warning regarding variable constness.
15400
15401 * xterm.c (handle_one_xevent): Fix a C warning.
15402
154032007-09-18 Jason Rumney <jasonr@gnu.org>
15404
15405 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15406
154072007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15408
15409 * gtkutil.c (gdpy_def): New variable.
15410 (xg_initialize): Initialize gdpy_def.
15411 (xg_display_close): If no other display exists, set gdpy_def to a
15412 new connection.
15413
154142007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15415
15416 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15417 when we have no file name for the icon.
15418 (xg_tool_bar_expose_callback): Remove.
15419 (xg_create_tool_bar): Don't connect expose signal to
15420 xg_tool_bar_expose_callback.
15421 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15422
154232007-09-16 Andreas Schwab <schwab@suse.de>
15424
15425 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15426 values instead of zapping them.
15427
154282007-09-14 Glenn Morris <rgm@gnu.org>
15429
15430 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15431 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15432 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15433 scope and rename to omfib_buffer for clarity.
15434 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15435
154362007-09-14 Kenichi Handa <handa@m17n.org>
15437
15438 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15439
154402007-09-13 Jason Rumney <jasonr@gnu.org>
15441
15442 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15443
15444 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15445
15446 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15447 (mac_term_init): Call here instead, passing rif.
15448
154492007-09-13 Glenn Morris <rgm@gnu.org>
15450
15451 * s/hpux.h: No longer define `static' as nothing.
15452
154532007-09-13 Johan Bockgård <bojohan@gnu.org>
15454
15455 * callint.c (Fcall_interactively): Remove unused var `fun'.
15456
154572007-09-12 Romain Francoise <romain@orebokech.com>
15458
15459 * window.c (prefer_window_split_horizontally, display_buffer):
15460 Revert 2007-09-08 change.
15461
154622007-09-12 Glenn Morris <rgm@gnu.org>
15463
15464 * alloca.c: Remove file.
15465 * Makefile.in (alloca): Do not undef.
15466 (allocaobj, alloca.o): Remove.
15467 (otherobj): Remove allocaobj.
15468 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15469 * regex.c (C_ALLOCA): Remove all references and code that was only
15470 used when this was defined.
15471 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15472 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15473 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15474
15475 * Makefile.in (SOURCES, unlock, relock): Delete.
15476
15477 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15478 (menu_grab_callback): All uses changed.
15479
15480 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15481 (x_reply_selection_request): All uses changed.
15482
154832007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15484
15485 * lread.c (load_warn_old_style_backquotes): Change message to look
15486 better when it appears in the middle of byte-compiler messages.
15487
154882007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15489
15490 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15491
15492 * xterm.c (x_create_terminal): Add comment.
15493
15494 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15495
154962007-09-10 Richard Stallman <rms@gnu.org>
15497
15498 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15499
155002007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15501
15502 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15503 (DEFUN): Document `intspec', use it instead of `prompt'.
15504
15505 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15506
15507 * data.c (Finteractive_form): If the interactive specification starts
15508 with a `(', use it as a Lisp form.
15509
15510 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15511 name and file modes.
15512
15513 * callint.c (Fcall_interactively): Comment fixes.
15514
155152007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15516
15517 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15518 and compiled functions.
15519
155202007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15521
15522 * window.c (prefer_window_split_horizontally): New variable.
15523 (display_buffer): Consider splitting window horizontally depending
15524 on prefer_window_split_horizontally.
15525
155262007-09-08 Eli Zaretskii <eliz@gnu.org>
15527
15528 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15529
155302007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15531
15532 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15533
15534 * frame.c (x_set_frame_parameters): Check number is positive before
15535 using XFASTINT.
15536
15537 * window.c (freeze_window_start): Don't presume selected_window holds
15538 a window object.
15539 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15540
155412007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15542
15543 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15544
155452007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15546
15547 * window.c (Vsplit_window_preferred_function): New var.
15548 (Fdisplay_buffer): Use it.
15549 (syms_of_window): Export, and initialize it.
15550
155512007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15552
15553 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15554
155552007-09-06 Glenn Morris <rgm@gnu.org>
15556
15557 * gtkutil.c (menu_grab_callback) <cnt>:
15558 * xselect.c (x_reply_selection_request) <cnt>: Move static
15559 variable to file scope.
15560
155612007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15562
15563 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15564 consistent values of selected_frame and selected_window.
15565
155662007-09-04 Jason Rumney <jasonr@gnu.org>
15567
15568 * w32console.c (initialize_w32_display): Zero unused hooks.
15569
155702007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15571
15572 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15573 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15574
155752007-09-04 Jason Rumney <jasonr@gnu.org>
15576
15577 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15578 in w32console.c. Set up input. Remove XXX comments that have been
15579 confirmed as correct.
15580
15581 * s/ms-w32.h (MULTI_KBOARD): Define.
15582
15583 * w32console.c (one_and_only_w32cons): Remove.
15584 (initialize_w32_display): Take terminal argument.
15585
15586 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15587 initialize_w32_display.
15588 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15589
15590 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15591
15592 * keyboard.c (discard_mouse_events): Discard it.
15593 (make_lispy_event): Translate it to a lisp event.
15594 (lispy_wheel_names): Add wheel-left and right events.
15595 (syms_of_keyboard): Enlarge wheel_syms.
15596
15597 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15598 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15599
15600 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15601
15602 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15603 from WM_MOUSEHWHEEL.
15604 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15605
15606 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15607 terminal.
15608
15609 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15610 keyboard for the terminal.
15611
156122007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15613
15614 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15615 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15616 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15617 and resume-tty-function to resume-tty-hook.
15618 (Fsuspend_tty, Fresume_tty): Use new names.
15619
156202007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15621
15622 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15623 if it starts with "n:".
15624
156252007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15626
15627 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15628
156292007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15630
15631 * frame.h:
15632 * frame.c (Qterm_environment_variable): Remove.
15633 (syms_of_frame): Don't init and staticpro it.
15634
15635 * callproc.c (getenv_internal): Remove special case for $TERM.
15636
15637 * callproc.c (Vinitial_environment): New variable.
15638 (set_initial_environment): Initialize it.
15639 (syms_of_callproc): Declare it.
15640 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15641 TERM under which a process runs is never related to the TERM in which
15642 Emacs is running.
15643
156442007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15645
15646 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15647 * s/darwin.h: ... do it here.
15648
156492007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15650
15651 * lisp.h (set_initial_environment): Rename from set_global_environment.
15652
15653 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15654 removed by mistake on the multi-tty branch.
15655
15656 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15657 (Fmodify_frame_parameters): Return a value.
15658
15659 * image.c (png_load): Comment-out var only used in commented-out code.
15660
15661 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15662 before passing it to mark_object.
15663
15664 * xfaces.c (internal_resolve_face_name): Return a value.
15665 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15666
15667 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15668 (x_icon): Comment-out var only used in commented-out code.
15669
156702007-08-29 Romain Francoise <romain@orebokech.com>
15671
15672 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15673 QUIT hasn't been provided.
15674
156752007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15676
15677 * callproc.c (child_setup, getenv_internal): Use the
15678 display-environment-variable and term-environment-variable frame params.
15679 (set_initial_environment): Initialise Vprocess_environment.
15680
15681 * config.in: Disable multi-keyboard support on a mac.
15682
15683 * frame.c (Qterm_environment_variable)
15684 (Qdisplay_environment_variable): New variables.
15685 (syms_of_frame): Intern and staticpro them.
15686 (Fmake_terminal_frame): Disable output method test.
15687
15688 * frame.h: Declare them here.
15689
15690 * macfns.c (x_set_mouse_color): Get rif from the frame.
15691 (x_set_tool_bar_lines): Don't use updating_frame.
15692 (mac_window): Add 2 new parameters for consistency with other systems.
15693 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15694 frame parameters following what is done in X11 and w32. Don't use
15695 FRAME_MAC_DISPLAY_INFO.
15696 (Fx_open_connection, start_hourglass): Remove window-system check.
15697 (x_create_tip_frame): Get the keyboard from the terminal.
15698
15699 * macmenu.c: Reorder includes.
15700 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15701
15702 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15703 terminal parameter.
15704 (x_clear_frame): Add a frame parameter.
15705 (note_mouse_movement): Get rif from the frame.
15706 (mac_term_init): Initialize the terminal.
15707 (mac_initialize): Make static and move terminal initialization ...
15708 (mac_create_terminal): ... to this new function.
15709
15710 * macterm.h (struct mac_display_info): Add terminal.
15711 (mac_initialize): Delete declaration.
15712
15713 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15714
15715 * sysdep.c: Comment out text after #endif.
15716
15717 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15718 is defined. Better initialize ttys in windows. Use terminal
15719 specific mouse_position_hook.
15720
15721 * termhooks.h (union display_info): Add mac_display_info.
15722
15723 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15724 Set the default minibuffer frame, window_system and the rest of the
15725 frame parameters following what is done in X11.
15726
15727 * w32term.c (w32_initialize): Make static.
15728
15729 * xselect.c (x_handle_selection_clear): Only access
15730 terminal->kboard when MULTI_KBOARD is defined.
15731
15732 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15733 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15734
157352007-08-29 Jason Rumney <jasonr@gnu.org>
15736
15737 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15738 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15739
15740 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15741 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15742
15743 * keyboard.c (restore_kboard_configuration): Only define when
15744 MULTI_KBOARD defined.
15745
15746 * makefile.w32-in: Update dependancies from Makefile.in.
15747 (OBJ1): Add terminal.$(O)
15748
15749 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15750 Don't define function body.
15751 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15752
15753 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15754
15755 * w32.c (request_sigio, unrequest_sigio): Remove.
15756
15757 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15758 (w32con_clear_frame, w32con_clear_end_of_line)
15759 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15760 (w32con_delete_glyphs, w32con_set_terminal_window)
15761 (scroll_line, w32_sys_ring_bell): Add frame arg.
15762 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15763 Add terminal arg.
15764 (PICK_FRAME): Remove.
15765 (w32con_write_glyphs): Use frame specific terminal coding.
15766 (one_and_only_w32cons): New global variable.
15767 (initialize_w32_display): Use it for storing hooks.
15768 (create_w32cons_output): New function.
15769
15770 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15771 arg a frame.
15772
15773 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15774 Set window_system.
15775 (x_set_tool_bar_lines): Don't use updating_frame.
15776 (Fx_create_frame): Set terminal and ref count.
15777 (Fx_open_connection): Remove window-system check.
15778
15779 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15780
15781 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15782 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15783 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15784 Add frame arg.
15785 (x_delete_terminal, w32_create_terminal): New functions.
15786 (w32_term_init): Create a terminal.
15787 (w32_initialize): Move terminal specific initialization to
15788 w32_create_terminal.
15789
15790 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15791 (w32_clear_rect, w32_clear_area): Use background from frame.
15792 (w32_display_info): Add terminal.
15793 (w32_sys_ring_bell, x_delete_display): Declare here.
15794
15795 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15796
15797 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15798
157992007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15800
15801 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15802 Fix get_named_tty calls for the controlling tty.
15803
158042007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15805
15806 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15807
158082007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15809
15810 * term.c (tty_insert_glyphs): Add missing first parameter.
15811
158122007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15813
15814 * buffer.c (Fbuffer_list, Fbury_buffer):
15815 Take frame->buried_buffer_list into account.
15816
15817 * cm.c (current_tty): New variable, for cmputc().
15818 (cmputc): Use it.
15819 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15820 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15821 (cmgoto): Add tty parameter. Pass it on to calccost().
15822 Use emacs_tputs() instead of tputs().
15823
15824 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15825 tputs().
15826 (current_tty): New variable, for cmputc().
15827 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15828
15829 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15830 (internal_condition_case, internal_condition_case_1)
15831 (internal_condition_case_2): Don't abort when x_catching_errors.
15832
15833 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15834 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15835 prevent crashes caused by bogus longjmps in read_char.
15836
15837 * keymap.h (Fset_keymap_parent): Add EXFUN.
15838
15839 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15840 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15841 Remove redundant definition.
15842
15843 * macfns.c (x_set_mouse_color, x_make_gc):
15844 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15845
15846 * w32term.c (x_free_frame_resources):
15847 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15848 (w32_initialize): Use the accessor macros for terminal characteristics.
15849
15850 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15851 Use the accessor macros for terminal characteristics.
15852 * msdos.c (internal_terminal_init): Use the accessor macros for
15853 terminal characteristics.
15854 (ScreenVisualBell, internal_terminal_init):
15855 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15856
15857 * termopts.h (no_redraw_on_reenter): Declare.
15858
15859 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15860 (mark_terminals, mark_ttys): Declare.
15861 (Fgarbage_collect): Call them.
15862 (mark_object): Mark buried_buffer_list.
15863
15864 * prefix-args.c: Include stdlib.h for exit.
15865
15866 * syssignal.h: Add comment.
15867
15868 * indent.c: Include stdio.h.
15869
15870 * window.h (Vinitial_window_system): Declare.
15871 (Vwindow_system): Delete declaration.
15872
15873 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15874
15875 * image.c (lookup_image): Don't initialize `c' until the xasserts
15876 have been run.
15877
15878 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15879 FRAME_FOREGROUND_PIXEL.
15880
15881 * print.c (print_preprocess): Don't lose print_depth levels while
15882 iterating.
15883
15884 * widget.c (update_from_various_frame_slots):
15885 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15886
15887 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15888 frames.
15889 (window_internal_height): Remove bogus make_number call.
15890 (init_window_once): Call make_terminal_frame with two zero parameters.
15891
15892 * fileio.c (Fread_file_name): Update comment.
15893
15894 * callint.c (Fcall_interactively):
15895 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15896 Make sure it is correctly unwound.
15897
15898 * xsmfns.c (x_session_close): New function.
15899
15900 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15901 Delete declarations.
15902
15903 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15904 (x_output): Remove background_pixel and foreground_pixel fields.
15905 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15906 (x_delete_device, x_session_close): Declare.
15907
15908 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15909 (read_filtered_event): Call `read_char' with a local
15910 `wrong_kboard_jmpbuf'.
15911
15912 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15913 Don't call single_kboard_state. Use FRAME_RIF.
15914
15915 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15916 systems.
15917
15918 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15919 (Fframe_with_environment, Fset_input_meta_mode)
15920 (Fset_quit_char): EXFUN.
15921 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15922 (init_sys_modes, reset_sys_modes): Update prototypes.
15923 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15924
15925 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15926 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15927 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15928 Delete declarations.
15929 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15930 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15931 New declarations.
15932
15933 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15934 already does that during init_display(). Call syms_of_keymap
15935 before syms_of_keyboard. Call `syms_of_terminal'.
15936 Call set_initial_environment, not set_process_environment.
15937 (shut_down_emacs): Call reset_all_sys_modes() instead of
15938 reset_sys_modes().
15939
15940 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15941 (internal_resolve_face_name, resolve_face_name_error): New functions.
15942 (resolve_face_name): Protect against loops and errors thrown by Fget.
15943 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15944 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15945
15946 * scroll.c: Replace CURTTY() with local variables throughout the
15947 file (where applicable).
15948 (calculate_scrolling, calculate_direct_scrolling)
15949 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15950 characteristics.
15951
15952 * keymap.c (Vfunction_key_map): Remove.
15953 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15954 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15955 (Vkey_translation_map): Remove.
15956 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15957 (Fdescribe_buffer_bindings)
15958 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15959 Update for terminal-local key-translation-map.
15960
15961 * Makefile.in (callproc.o): Update dependencies.
15962 (lisp, shortlisp): Add termdev.elc.
15963 (obj): Add terminal.o.
15964 (terminal.o): Add dependencies.
15965 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15966 (data.o, fns.o): Add termhooks.h dependency.
15967 (SOME_MACHINE_LISP): Add dnd.elc.
15968 (minibuf.o): Fix typo.
15969 Update dependencies.
15970
15971 * data.c (do_symval_forwarding, store_symval_forwarding)
15972 (find_symbol_value): Use the selected frame's keyboard, not
15973 current_kboard.
15974
15975 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15976 Vwindow_system.
15977
15978 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15979 Fmenu_bar_open.
15980 (syms_of_xmenu): Update defsubr.
15981 (mouse_position_for_popup, Fx_popup_menu)
15982 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15983 (set_frame_menubar, free_frame_menubar)
b97439ce 15984 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15985 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15986 an X frame.
15987
15988 * xselect.c (x_own_selection): Abort if not an X frame.
15989 (some_frame_on_display): Check if it is an X frame.
15990 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15991
15992 * coding.c: Include frame.h and termhooks.h.
15993 (terminal_coding, keyboard_coding): Delete.
15994 (Fset_terminal_coding_system_internal)
15995 (Fset_keyboard_coding_system_internal)
15996 (Fkeyboard_coding_system)
15997 (Fterminal_coding_system): Add a terminal parameter.
15998 Get terminal_coding from the terminal.
15999 (init_coding_once): Don't call setup_coding_system here.
16000
16001 * dispextern.h (set_scroll_region, turn_off_insert)
16002 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
16003 (tty_clear_end_of_line, tty_setup_colors)
16004 (delete_tty, updating_frame)
16005 (produce_special_glyphs, produce_glyphs, write_glyphs)
16006 (insert_glyphs): Remove.
16007 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
16008 (tty_turn_off_highlight, get_tty_size): Add declaration.
16009 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
16010
16011 * frame.h (enum output_method): Add output_initial.
16012 (struct x_output): Delete.
16013 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16014 Access foreground_pixel and background_pixel directly from the frame.
16015 (tty_display): Delete.
16016 (struct frame): Add buried_buffer_list, foreground_pixel,
16017 background_pixel and terminal. Delete kboard.
16018 (union output_data): Add tty.
16019 (FRAME_KBOARD): Get the kboard from the terminal.
16020 (FRAME_INITIAL_P): New macro.
16021 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
16022 (Qterm_environment_variable, Qdisplay_environment_variable)
16023 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
16024 New declarations.
16025
16026 * termchar.h (tty_output, tty_display_info): New structures.
16027 (tty_list): Declare.
16028 (FRAME_TTY, CURTTY): New macros.
16029 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
16030 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
16031 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
16032 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
16033
16034 * callproc.c: Include frame.h and termhooks.h, for terminal
16035 parameters.
16036 (add_env): New function.
16037 (child_setup): Use it.
16038 (child_setup, getenv_internal): Handle the new Vprocess_environment.
16039 (getenv_internal): Fix get_terminal_param call.
16040 (Fgetenv_internal, egetenv): Update doc.
16041 (syms_of_callproc): Initialize Vprocess_environment to nil.
16042 Register and initialize them. Remove obsolete defvars. Update doc
16043 strings.
16044 (child_setup): Handle Vlocal_environment_variables.
16045 (getenv_internal): Add terminal parameter.
16046 Handle Vlocal_environment_variables.
16047 (Fgetenv_internal): Add terminal parameter.
16048 (child_setup, getenv_internal, Fgetenv_internal): Store the local
16049 environment in a frame (not terminal) parameter. Update doc strings.
16050 (set_initial_environment): Rename from set_global_environment.
16051 Store Emacs environment in initial frame parameter.
16052
16053 * xdisp.c (redisplay_internal): Update references to
16054 `previous_terminal_frame'.
16055 (display_mode_line, Fformat_mode_line): Replace calls to
16056 `push_frame_kboard' with `push_kboard'.
16057 (get_glyph_string_clip_rects): Add extra parentheses and
16058 braces to prevent compiler warnings.
16059 (calc_pixel_width_or_height): Add xassert to check that the
16060 frame is alive. Don't call `lookup_image' on a termcap frame.
16061 (message2_nolog, message3_nolog, redisplay_internal)
16062 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16063 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16064 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16065 (Fx_display_pixel_width, Fx_display_pixel_height)
16066 (Fx_display_planes, Fx_display_color_cells)
16067 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16068 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16069 (Fx_display_backing_store, Fx_display_visual_class)
16070 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16071 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16072
16073 * xfns.c (x_set_foreground_color x_set_background_color)
16074 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16075 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16076 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16077 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16078 terminal that is being deleted.
16079 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16080 frame parameter, and make sure it overrides any user-supplied setting.
16081 (Fx_close_connection, Fx_synchronize): Unify argument names with
16082 the rest of the DEFUNs.
16083
16084 * dispnew.c (Fsend_string_to_terminal): Update call to
16085 `get_tty_terminal'.
16086 (Fredraw_frame, Fsend_string_to_terminal)
16087 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16088 FRAME_TERMCAP_P and FRAME_TTY.
16089 (window_change_signal): Don't believe width/height values that are
16090 impossibly small.
16091 (Vinitial_window_system): Rename from Vwindow_system.
16092 (termscript, Wcm, rif): Delete.
16093
16094 * termhooks.h (struct terminal): New struct containing the
16095 previously global text display hooks and new members NAME,
16096 DELETED and PARAM_ALIST.
16097 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16098 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16099 (FRAME_RIF): New macros.
16100 (get_terminal_param, get_device): New declarations.
16101 (termscript): Delete declaration.
16102
16103 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16104 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16105 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16106 FRAME_FOREGROUND_PIXEL.
16107 (x_fully_uncatch_errors): Disable definition.
16108 (x_scroll_bar_expose): Fix reference to foreground pixel.
16109 (XTread_socket): Disable loop on all X displays.
16110 (x_delete_terminal): Don't set terminal->deleted and let
16111 delete_terminal delete the frames on the terminal.
16112 (x_delete_display): Doc update to reflect changes in
16113 delete_terminal.
16114 (x_display_info) <terminal>: Move member earlier in the struct.
16115 (deleting_tty): Remove old variable.
16116 (Fsuspend_tty): Call clear_tty_hooks.
16117 (Fresume_tty, init_tty): Call set_tty_hooks.
16118 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16119 errors on X frames.
16120 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16121 (handle_one_xevent): Initialize `f' to NULL.
16122 (x_delete_terminal, x_create_terminal): New functions.
16123 (XTset_terminal_modes, XTreset_terminal_modes)
16124 (XTread_socket, x_connection_closed, x_term_init)
16125 (x_term_init, x_delete_display): Add terminal parameter.
16126 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16127 X connections.
16128
16129 * frame.c: Include termchar.h.
16130 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16131 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16132 (Qdisplay_environment_variable): New vars.
16133 (Fframep): Deal with output_initial.
16134 (Fframe-live-p): Doc fix.
16135 (Fwindow-system): New function.
16136 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16137 (make_terminal_frame): Don't create frames on a terminal that is
16138 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16139 (store_frame_param): Check for found_for_frame before calling XFRAME.
16140 (Fmake_terminal_frame): Handle NULL tty names correctly.
16141 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16142 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16143 frames to refer to a deleted frame in their 'environment parameter.
16144 (Fframe_with_environment): New function.
16145 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16146 (get_future_frame_param): New function.
16147 (Fmake_terminal_frame): Use it.
16148 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16149
16150 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16151 * sysdep.c (reset_sys_modes): Update for renames.
16152
16153 * keyboard.c (tty_read_avail_input): New function.
16154 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16155 (syms_of_keyboard): Defsubr them.
16156 (Fset_input_meta_mode, Fset_quit_char): New functions.
16157 (Fset_input_mode): Split to above functions.
16158 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16159 parameter. Use it in call to `read_char'.
16160 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16161 Set wrong_kboard_jmpbuf correctly in recursive calls.
16162 Use current_kboard to access Vkeyboard_translate_table.
16163 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16164 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16165 Update longjmp invocations. Remember the original current_kboard,
16166 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16167 changes it. Comment out unnecessary calls to
16168 `record_single_kboard_state' and `any_kboard_state'.
16169 Update recursive calls.
16170 (wrong_kboard_jmpbuf): Remove global variable.
16171 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16172 Handle deleted interrupted_kboards correctly; that is a legal
16173 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16174 and read_char calls. Abort if interrupted_kboard died in read_char.
16175 (any_kboard_state, single_kboard_state)
16176 (push_frame_kboard): Remove function.
16177 (pop_kboard): Switch out of single_kboard mode if the kboard has
16178 been deleted. Remove unused variable. Help debugging by not
16179 changing current_kboard unnecessarily. Set current_kboard to the
16180 kboard of the selected frame when the stored kboard object has
16181 been deleted before pop_kboard.
16182 (temporarily_switch_to_single_kboard): Change first parameter to a
16183 frame pointer. Throw an error when caller wants to change kboards
16184 while in single_kboard mode. Don't push_kboard if we weren't in
16185 single kboard state. Don't pop_kboard if we popped into any
16186 kboard state.
16187 (restore_kboard_configuration): Abort if pop_kboard changed the
16188 kboard in single_kboard mode. Call pop_kboard only after setting
16189 up single_kboard mode.
16190 (Frecursive_edit): Switch to single_kboard mode only in nested
16191 command loops.
16192 (cmd_error, command_loop, command_loop_1, timer_check):
16193 Comment out unnecessary call to `any_kboard_state' and
16194 `record_single_kboard_state'.
16195 (delete_kboard): Exit single_kboard mode if we have just deleted
16196 that kboard. Use FRAME_KBOARD.
16197 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16198 `fatal_error_signal'.
16199 (record_single_kboard_state): Don't push_kboard if we weren't in
16200 single kboard state. Don't pop_kboard if we popped into any
16201 kboard state.
16202 (push_frame_kboard): Rename to push_kboard.
16203 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16204 (read_avail_input): Read input from all terminals.
16205 (mark_kboards): Also mark Vkeyboard_translate_table.
16206 (kbd_buffer_store_event_hold): Simplify condition.
16207 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16208 (Vkeyboard_translate_table): Move to struct kboard.
16209 (init_kboard): Initialize Vkeyboard_translate_table.
16210 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16211 Vkeyboard_translate_table. Update doc strings. Update docs of
16212 local-function-key-map and function-key-map.
16213
16214 * terminal.c: New file.
16215
16216 * term.c: Include errno.h.
16217 (Vring_bell_function, device_list, initial_device)
16218 (next_device_id, ring_bell, update_begin, update_end)
16219 (set_terminal_window, cursor_to, raw_cursor_to)
16220 (clear_to_end, clear_frame, clear_end_of_line)
16221 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16222 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16223 (syms_of_term): Move their initialization to terminal.c.
16224 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16225 (Ftty_display_color_cells)
16226 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16227 (clear_tty_hooks, set_tty_hooks)
16228 (init_tty, maybe_fatal): New functions.
16229 (Ftty_type): Return nil if terminal is not on a tty instead of
16230 throwing an error. Doc update.
16231 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16232 Doc update. Initialize new subrs and variables.
16233 (delete_tty): Use terminal->deleted.
16234 (tty_set_terminal_modes): Rename from set_terminal_modes.
16235 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16236 (set_scroll_region): Rename to `tty_set_scroll_region'.
16237 (turn_on_insert): Rename to `tty_turn_on_insert'.
16238 (turn_off_insert): Rename to `tty_turn_off_insert'.
16239 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16240 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16241 (toggle_highligh): Rename to `tty_toggle_highlight'.
16242 (background_highlight): Rename to `tty_background_highlight'.
16243 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16244 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16245 (tty_set_scroll_region, tty_background_highlight)
16246 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16247 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16248 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16249 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16250 Add static modifier.
16251 (tty_reset_terminal_modes, tty_set_terminal_window)
16252 (tty_set_scroll_region, tty_background_highlight)
16253 (tty_highlight_if_desired, tty_cursor_to)
16254 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16255 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16256 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16257 renames.
16258
162592007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16260
16261 * keyboard.c: Qrtl is new.
16262 (parse_tool_bar_item): Handle :rtl keyword.
16263 (syms_of_keyboard): Intern :rtl keyword.
16264
16265 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16266
16267 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16268 so no Lisp code is executed.
16269 (file_for_image, find_rtl_image): New functions.
16270 (xg_get_image_for_pixmap): Use file_for_image.
16271 (update_frame_tool_bar): If direction is RTL, use RTL image if
16272 defined. Use Gtk stock images if defined.
16273
162742007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16275
16276 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16277 for nonexistent or zero-width glyph in composition glyph.
16278
162792007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16280
16281 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16282
16283 * xdisp.c (Finvisible_p): New function.
16284 (syms_of_xdisp): defsubr it.
16285
162862007-08-24 Juanma Barranquero <lekktu@gmail.com>
16287
16288 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16289 Doc fixes.
16290
162912007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16292
16293 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16294
162952007-08-24 Martin Rudalics <rudalics@gmx.at>
16296
16297 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16298 whether decoding has modified buffer contents.
16299
163002007-08-24 Jason Rumney <jasonr@gnu.org>
16301
16302 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16303 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16304 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16305 (init_svg_functions) [HAVE_NTGUI]: New function.
16306 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16307 (svg_load_image): Use them.
16308 (svg_load_image) [HAVE_NTGUI]: Implement background.
16309
163102007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16311
16312 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16313 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16314 (LIBX): Remove @RSVG_LIBS@.
16315 (LIBES): Add $(RSVG_LIBS).
16316
16317 * image.c (svg_load_image): Blend with specified background if exists.
16318 Use IMAGE_BACKGROUND. Add Mac OS Support.
16319
16320 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16321 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16322 Remove macros.
16323 [MAC_OSX] (socket_callback): Do nothing.
16324 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16325 ReceiveNextEvent.
16326 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16327 socket_callback.
16328 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16329
163302007-08-22 Glenn Morris <rgm@gnu.org>
16331
16332 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16333
163342007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16335
16336 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16337
16338 * image.c: Add support for SVG images. Some additional comments
16339 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16340 (svg_image_p): New function to test for SVG image.
16341 (svg_load): New function to load SVG image.
16342 (svg_load_image): New function, helper for svg_load.
16343 (Qsvg): New Lisp_object.
16344 (svg_keyword_index): New enum.
16345 (svg_format): New static `image_keyword' struct.
16346 (svg_type): New static `image_type' struct.
16347 (librsvg/rsvg.h): Include it.
16348
163492007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16350
16351 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16352
163532007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16354
16355 * lread.c (Qold_style_backquotes): New var.
16356 (syms_of_lread): Init and staticpro it.
16357 (load_warn_old_style_backquotes): New fun.
16358 (Fload): Use them to warn about old style backquotes.
16359 (end_of_file_error, Fload): Remove unused vars.
16360
16361 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16362
16363 * lread.c (Vold_style_backquotes): New var.
16364 (syms_of_lread): Init and export it to Elisp.
16365 (read1): Set it when we find an old-style (back)quote.
16366
163672007-08-22 Jason Rumney <jasonr@gnu.org>
16368
16369 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16370
163712007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16372
16373 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16374
163752007-08-19 Richard Stallman <rms@gnu.org>
16376
16377 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16378
163792007-08-19 Andreas Schwab <schwab@suse.de>
16380
16381 * alloc.c (pure): Round PURESIZE up.
16382
163832007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16384
16385 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16386 active frame.
16387
163882007-08-16 Richard Stallman <rms@gnu.org>
16389
16390 * eval.c (Fcommandp): Add parens to clarify.
16391
16392 * minibuf.c (Fall_completions): Use enum for type of table.
16393
16394 * emacs.c (USAGE2): Improve text.
16395
163962007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16397
16398 * term.c (tty_default_color_capabilities): Declare static
16399 variables in file scope, to avoid HPUX compiler problem.
16400
164012007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16402
16403 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16404 to gtk_toolbar_insert.
16405
164062007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16407
16408 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16409
16410 * insdel.c (reset_var_on_error): New fun.
16411 (signal_before_change, signal_after_change):
16412 Use it to reset (after|before)-change-functions to nil in case of error.
16413 Bind inhibit-modification-hooks to t.
16414 Don't bind (after|before)-change-functions to nil while they run.
16415
164162007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16417
16418 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16419 filling pixmap with stippled background.
16420
164212007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16422
16423 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16424 Don't use invisible frame as parent window for repositioning.
16425
164262007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16427
16428 * print.c (new_backquote_output): Rename from old_backquote_output.
16429 (print): Inverse its logic (according to its name) so as to match the
16430 behavior of new_backquote_flag in lread.c.
16431
164322007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16433
16434 * gmalloc.c (posix_memalign): New function.
16435
16436 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16437 ActivateControl/DeactivateControl here.
16438 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16439 frame-notice-user-settings is non-nil.
16440 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16441 for kEventParamFMFontStyle.
16442 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16443 mac_pass_command_to_system and mac_pass_control_to_system here.
16444 (XTread_socket): Call ActivateControl/DeactivateControl here.
16445 (XTread_socket) [TARGET_API_MAC_CARBON]:
16446 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16447 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16448 for window repositioning.
16449
164502007-08-08 Glenn Morris <rgm@gnu.org>
16451
16452 * Replace `iff' in doc-strings and comments.
16453
164542007-08-07 Chong Yidong <cyd@stupidchicken.com>
16455
16456 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16457
164582007-08-07 Martin Rudalics <rudalics@gmx.at>
16459
16460 * fileio.c (Finsert_file_contents): Run format-decode and
16461 after_insert_file_functions on entire buffer when REPLACE is
16462 non-nil and inhibit modification_hooks and point_motion_hooks.
16463 For consistency, run after_insert_file_functions iff something
16464 got inserted. Move signal_after_change and update_compositions
16465 after code running after_insert_file_functions. Make sure that
16466 undo_list doesn't record intermediate steps of the decoding process.
16467
164682007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16469
16470 * emacs.c (main)
16471 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16472 Call malloc_enable_thread on interactive startup.
16473
16474 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16475 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16476 [USE_PTHREAD]: Conditionalize with it.
16477 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16478 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16479 New functions.
16480
164812007-08-06 Chong Yidong <cyd@stupidchicken.com>
16482
16483 * xdisp.c (redisplay_window): When restoring original buffer
16484 position, make sure it is still valid.
16485
16486 * image.c (png_load): Ignore png-supplied background color.
16487
164882007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16489
16490 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16491 Use kCFAbsoluteTimeIntervalSince1970.
16492
16493 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16494 New variable.
16495 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16496 event loop should be quit.
16497 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16498 Quit dialog event loop if quit_dialog_event_loop is set.
16499
16500 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16501 (Selection): New typedef. Use instead of ScrapRef.
16502 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16503 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16504 (mac_clear_selection): Rename from clear_scrap.
16505 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16506 scrap_has_target_type. All uses changed.
16507 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16508 (mac_selection_has_target_p): New functions.
16509 (mac_put_selection_value): Rename from put_scrap_string.
16510 (mac_get_selection_value): Rename from get_scrap_string.
16511 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16512 (put_scrap_private_timestamp, scrap_has_target_type)
16513 (get_scrap_private_timestamp): Remove functions.
16514 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16515 (x_own_selection, x_get_local_selection):
16516 Use mac_valid_selection_value_p.
16517 (x_own_selection): Don't use put_scrap_private_timestamp.
16518 Record OWNERSHIP-INFO into Vselection_alist instead.
16519 (x_get_local_selection): Don't check type if request is local.
16520 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16521 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16522
165232007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16524
16525 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16526 add comment explaining why.
16527
165282007-08-03 Richard Stallman <rms@gnu.org>
16529
16530 * fileio.c (Fvisited_file_modtime): Use make_time.
16531
165322007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16533
16534 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16535 build.
16536
165372007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16538
16539 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16540
165412007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16542
16543 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16544
165452007-07-30 Richard Stallman <rms@gnu.org>
16546
16547 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16548
165492007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16550
16551 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16552
165532007-07-28 Nick Roberts <nickrob@snap.net.nz>
16554
16555 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16556 remote default-directory.
16557
16558 * buffer.c (mode-line-format): Update doc string.
16559
165602007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16561
16562 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16563 scroll bar gap.
16564 (x_scroll_bar_create): Set bar->fringe_extended_p.
16565 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16566 on frame edge. Check fringe background extension. Don't clear
16567 extended fringe background area.
16568
16569 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16570 (w32_fill_area): Enclose multiple statements with do ... while (0).
16571
16572 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16573 Extend fringe background to scroll bar gap.
16574 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16575 Set bar->fringe_extended_p.
16576 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16577 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16578 background extension. Don't clear extended fringe background area.
16579
16580 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16581 New member fringe_extended_p.
16582
165832007-07-25 Glenn Morris <rgm@gnu.org>
16584
16585 * Relicense all FSF files to GPLv3 or later.
16586
16587 * COPYING: Switch to GPLv3.
16588
165892007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16590
16591 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16592
16593 * data.c (Finteractive_form): Check for the presence of an
16594 `interactive-form' symbol property more thoroughly.
16595
16596 * data.c (Finteractive_form): Use an `interactive-form' property if
16597 present, analogous to the function-documentation property.
16598
165992007-07-24 Jason Rumney <jasonr@gnu.org>
16600
16601 * w32fns.c (x_real_positions): Get real position from OS instead of
16602 calculating it.
16603
166042007-07-23 Jason Rumney <jasonr@gnu.org>
16605
16606 * filelock.c (current_lock_owner): Allow for @ sign in username.
16607
166082007-07-22 Nick Roberts <nickrob@snap.net.nz>
16609
16610 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16611 remote default-directory.
16612
16613 * buffer.c (mode-line-format): Describe above case in doc string.
16614
166152007-07-20 Eli Zaretskii <eliz@gnu.org>
16616
16617 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16618 Define if not defined.
16619
166202007-07-18 Jason Rumney <jasonr@gnu.org>
16621
16622 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16623
166242007-07-18 Richard Stallman <rms@gnu.org>
16625
16626 * data.c (Fsetq_default): Doc fix.
16627
16628 * eval.c (Fsetq): Doc fix.
16629
166302007-07-18 Juanma Barranquero <lekktu@gmail.com>
16631
16632 * coding.c (Ffind_operation_coding_system):
16633 * eval.c (For, Fand): Doc fixes.
16634 Reported by Johan Bockgård.
16635
166362007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16637
16638 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16639
16640 * xterm.h: Declare x_ewmh_activate_frame.
16641
16642 * xterm.c (x_ewmh_activate_frame): New function.
16643 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16644
166452007-07-17 Martin Rudalics <rudalics@gmx.at>
16646
16647 * window.c (Fdisplay_buffer): If largest or LRU window is the
16648 only window, split it even if it is not eligible for splitting.
16649 This restores the original behavior broken by the 2007-07-15
16650 change.
16651
166522007-07-17 Glenn Morris <rgm@gnu.org>
16653
16654 * abbrev.c (abbrev_check_chars): New function.
16655 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16656 Call abbrev_check_chars to check abbrev characters are word
16657 constituents. Doc fix.
16658
166592007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16660
16661 * process.c (Fstart_process, Fmake_network_process)
16662 (read_process_output): Fix up last changes.
16663
166642007-07-16 Eli Zaretskii <eliz@gnu.org>
16665
16666 * makefile.w32-in (clean): Don't delete *~.
16667
166682007-07-16 Andreas Schwab <schwab@suse.de>
16669
16670 * window.c (Fdisplay_buffer): Use NILP.
16671 (Fset_window_scroll_bars): Likewise.
16672
166732007-07-15 Martin Rudalics <rudalics@gmx.at>
16674
16675 * window.c (window_min_size_2): New function.
16676 (window_min_size_1, size_window, Fdisplay_buffer)
16677 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16678 windows without mode- or header-lines when window-min-height is
16679 too small.
16680 (size_window): Reset nodelete_p after testing it, following an
16681 earlier note by Kim F. Storm.
16682 (display_buffer): Do not set split_height_threshold to twice the
16683 value of window_min_height to avoid changing the value of a
16684 customizable variable. Rather explicitly check whether the
16685 height of the window that shall be splitted is at least as large
16686 as split_height_threshold.
16687 (Fwindow_full_width_p): New defun.
16688 (syms_of_window): Defsubr it.
16689
16690 * window.h: Add EXFUN for Fwindow_full_width_p.
16691
166922007-07-14 Jason Rumney <jasonr@gnu.org>
16693
16694 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16695
166962007-07-14 Richard Stallman <rms@gnu.org>
16697
16698 * eval.c (maybe_call_debugger): New function.
16699 (find_handler_clause): Use maybe_call_debugger.
16700 Call it when the handler says `debug'.
16701 Eliminate DEBUGGER_VALUE_PTR.
16702 (Fsignal): Eliminate debugger_value.
16703 (Qdebug): New variable.
16704 (syms_of_eval): Initialize it.
16705
167062007-07-14 Juanma Barranquero <lekktu@gmail.com>
16707
16708 * eval.c (Fprogn):
16709 * keyboard.c (Ftrack_mouse):
16710 * print.c (Fwith_output_to_temp_buffer):
16711 * window.c (Fsave_window_excursion): Doc fix.
16712
167132007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16714
16715 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16716
167172007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16718
16719 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16720 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16721 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16722 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16723 Remove unused encoding_carryover.
16724 * process.c: Adjust all functions accordingly.
16725
167262007-07-12 Richard Stallman <rms@gnu.org>
16727
16728 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16729
167302007-07-11 Jason Rumney <jasonr@gnu.org>
16731
16732 * makefile.w32-in (LIBS): Include OLE32.
16733
16734 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16735 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16736
167372007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16738
16739 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16740 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16741 from a Lisp_Object into a bare pointer.
16742 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16743 Adjust the code correspondingly.
16744
16745 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16746
16747 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16748 (term_show_mouse_face): Remove unused var `j'.
16749 (handle_one_term_event): Remove unused vars `i' and `j'.
16750 Don't cast return value of ttyname since it's not necessary.
16751
167522007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16753
16754 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16755 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16756
16757 * fns.c (map_char_table): Use an array of int for `indices' rather than
16758 an array of Lisp_Objects (which are only ever integers anyway).
16759 (Fmap_char_table): Update caller.
16760 * lisp.h: Update prototype.
16761 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16762 * fontset.c (Ffontset_info):
16763 * casetab.c (set_case_table): Update callers.
16764
16765 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16766
16767 * keymap.c (struct accessible_keymaps_data)
16768 (struct where_is_internal_data): New structures.
16769 (accessible_keymaps_1, where_is_internal_1): Use them to change
16770 interface to adhere to the one used by map_keymap.
16771 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16772 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16773
16774 * keymap.h (map_keymap_function_t): More informative prototype.
16775
167762007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16777
16778 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16779 (looking_at_1): Don't change search_regs and last_thing_searched
16780 if `inhibit-changing-match-data' is non-nil.
16781 (string_match_1, search_buffer, set_search_regs): Likewise.
16782 (syms_of_search): Add Lisp level definition for
16783 `inhibit-changing-match-data' and set it to nil.
16784 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16785 start and end of the match, instead of using values in search_regs.
16786
167872007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16788
16789 * minibuf.c (Fcompleting_read): New value `confirm-only'
16790 for `require-match'.
16791
167922007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16793
16794 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16795 part of the 2007-06-27 change to syms_of_fileio.
16796
167972007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16798
16799 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16800 Check WINDOWP before using XWINDOW. Consolidate return statements.
16801
168022007-06-27 Richard Stallman <rms@gnu.org>
16803
16804 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16805
168062007-06-27 Juanma Barranquero <lekktu@gmail.com>
16807
16808 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16809
168102007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16811
16812 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16813 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16814 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16815 (_free_internal, memalign): Use them.
16816 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16817 Initialize to PTHREAD_MUTEX_INITIALIZER.
16818 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16819 (morecore_nolock): Rename from morecore. All uses changed.
16820 Use only nolock versions of internal allocation functions.
16821 (_malloc_internal_nolock, _realloc_internal_nolock)
16822 (_free_internal_nolock): New functions created from
16823 _malloc_internal, _realloc_internal, and _free_internal.
16824 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16825 Copy hook value to automatic variable before its use.
16826 (memalign): Copy hook value to automatic variable before its use.
16827
168282007-06-26 Kenichi Handa <handa@m17n.org>
16829
16830 * coding.c (Ffind_operation_coding_system): Docstring improved.
16831 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16832
168332007-06-25 David Kastrup <dak@gnu.org>
16834
16835 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16836 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16837 cater for additional parameter.
16838
16839 * keymap.h: Adjust number of parameters to `current-active-maps'.
16840
16841 * doc.c (Fsubstitute_command_keys): Adjust call of
16842 `current-active-maps'.
16843
168442007-06-25 David Kastrup <dak@gnu.org>
16845
16846 * callint.c (Fcall_interactively): Make the parsing of interactive
16847 specs somewhat more readable.
16848
168492007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16850
16851 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16852 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16853 if extended background has already been filled.
16854
168552007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16856
16857 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16858 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16859
16860 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16861 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16862 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16863 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16864 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16865 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16866 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16867 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16868 Run timers during dialog popup.
16869 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16870
168712007-06-21 Jason Rumney <jasonr@gnu.org>
16872
16873 * image.c (convert_mono_to_color_image): Swap fore and background.
16874
168752007-06-20 Jason Rumney <jasonr@gnu.org>
16876
16877 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16878 (w32_free_bdf_font): Unmap memory not handle.
16879
168802007-06-20 Sam Steingold <sds@gnu.org>
16881
16882 * gmalloc.c (__morecore): Fix the declaration to comply with the
16883 definition.
16884
168852007-06-20 Juanma Barranquero <lekktu@gmail.com>
16886
16887 * w32term.c (w32_delete_display): Remove leftover declaration.
16888 (w32_define_cursor, w32_initialize): Make static.
16889
16890 * w32.c (_wsa_errlist): Fix typo in error message.
16891 (init_environment): Ignore any environment variable from the
16892 registry having a null value.
16893
168942007-06-20 Glenn Morris <rgm@gnu.org>
16895
16896 * Makefile.in (LIBGIF): Default to -lgif.
16897
168982007-06-17 Jason Rumney <jasonr@gnu.org>
16899
16900 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16901 unicode strings.
16902
169032007-06-16 Juanma Barranquero <lekktu@gmail.com>
16904
16905 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16906 Fix typo in docstring.
16907
169082007-06-16 Eli Zaretskii <eliz@gnu.org>
16909
16910 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16911 and their keybindings.
16912
169132007-06-15 Chong Yidong <cyd@stupidchicken.com>
16914
16915 * composite.c (update_compositions): Fix last fix.
16916
169172007-06-14 Jason Rumney <jasonr@gnu.org>
16918
16919 * w32.c (get_process_times_fn): New function pointer.
16920 (globals_of_w32): Intialize it if present in kernel32.dll.
16921 (w32_get_internal_run_time): New function.
16922
16923 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16924
169252007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16926
16927 * composite.c (update_compositions): Check the validness of
16928 compositions.
16929
169302007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16931
16932 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16933 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16934
16935 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16936 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16937
16938 * macgui.h (USE_MAC_TOOLBAR): New define.
16939
16940 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16941 Return immediately unless popup is activated.
16942
16943 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16944 background to scroll bar gap.
16945 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16946 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16947 scroll bars on frame edge. Check fringe background extension.
16948 Don't clear extended fringe background area.
16949 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16950 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16951 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16952 [USE_MAC_TOOLBAR]: New macros.
16953 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16954 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16955 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16956 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16957 [USE_MAC_TOOLBAR]: New functions.
16958 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16959 manually if previous repositioning has failed.
16960 (mac_handle_keyboard_event): Use precomputed event kind.
16961 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16962 as tool bar item click. Handle mouse movement over tool bar items.
16963
16964 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16965 toolbar_win_gravity.
16966 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16967 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16968 Add externs.
16969
16970 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16971 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16972
169732007-06-14 Chong Yidong <cyd@stupidchicken.com>
16974
16975 * image.c (search_image_cache): Remove unused variable.
16976
169772007-06-13 Chong Yidong <cyd@stupidchicken.com>
16978
16979 * xfns.c, xmenu.c: Link to xaw3d if available.
16980
169812007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16982
16983 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16984 frame_foreground and frame_background.
16985
16986 * image.c (lookup_image): Save frame foreground and background colors.
16987 (search_image_cache): Check if saved and current frame colors match.
16988
169892007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16990
16991 * regex.c (regex_compile): Remove the `regnum' counter.
16992 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16993
169942007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16995
16996 * term.c: Include intervals.h to declare Fget_text_property.
16997
169982007-06-10 Jason Rumney <jasonr@gnu.org>
16999
17000 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
17001
170022007-06-08 Juanma Barranquero <lekktu@gmail.com>
17003
17004 * callint.c (Fcall_interactively):
17005 * editfns.c (Fdelete_and_extract_region):
17006 * fileio.c (Fread_file_name):
17007 * fns.c (Fmapconcat):
17008 * keyboard.c (cmd_error_internal):
17009 * keymap.c (Fkey_description):
17010 * lread.c (openp):
17011 * minibuf.c (read_minibuf):
17012 * search.c (wordify):
17013 * sunfns.c (sel_read):
17014 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
17015 * xfns.c (x_default_scroll_bar_color_parameter):
17016 * xmenu.c (menu_help_callback):
17017 * xselect.c (Fx_get_atom_name):
17018 * xterm.c (x_term_init): Use empty_unibyte_string.
17019
170202007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
17021
17022 * alloc.c (init_strings): Initialize canonical empty strings.
17023 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
17024 canonical empty string when the requested size is 0.
17025
17026 * emacs.c (empty_unibyte_string): Rename from empty_string.
17027 (empty_multibyte_string): New canonical empty string.
17028 (syms_of_emacs): Don't initialize empty_string.
17029
17030 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
17031 string, if appropriate.
17032 (empty_unibyte_string, empty_multibyte_string): New externs.
17033 (empty_string): Remove extern.
17034
17035 * lread.c (syms_of_lread): Use empty_unibyte_string.
17036
170372007-06-07 Jason Rumney <jasonr@gnu.org>
17038
17039 * s/ms-w32.h: Don't define HAVE_TZNAME.
17040
17041 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
17042
170432007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17044
17045 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
17046
17047 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
17048 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
17049
17050 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17051 Don't call next handler.
17052 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
17053 Remove argument. Install handler to application.
17054 (set_frame_menubar): Don't change deep_p.
17055 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
17056 FRAME_OUTER_TO_INNER_DIFF_Y.
17057 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17058 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17059 [HAVE_DIALOGS]: New macros.
17060 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17061 Use them.
17062 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17063
17064 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17065 init_service_handler. All callers changed. Return OSStatus value.
17066
17067 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17068 All callers changed so as not to call SetPortWindowPort.
17069 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17070 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17071 mac_draw_string_common.
17072 (mac_draw_image_string_qd): Likewise.
17073 (mac_draw_string_common): Use them. Add INLINE.
17074 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17075 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17076 GetGlobalMouse.
17077 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17078 and FRAME_OUTER_TO_INNER_DIFF_Y.
17079 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17080 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17081 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17082 repositioning window to mac_handle_window_event.
17083 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17084 saving window location to mac_handle_window_event
17085 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17086 (install_menu_target_item_handler): Remove argument in extern.
17087 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17088 Also accept command events.
17089 (do_keystroke): New function created from XTread_socket.
17090 (init_command_handler): Remove functions.
17091 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17092 and save window location by kEventWindowShowing and kEventWindowHiding
17093 handlers here. Don't call next handler for window state change and
17094 focus events.
17095 (mac_handle_application_event, mac_handle_keyboard_event)
17096 [TARGET_API_MAC_CARBON]: New functions.
17097 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17098 kEventWindowShowing and kEventWindowHiding events. Move installation
17099 of mouse, font, text input and menu target item handlers to
17100 install_application_handler.
17101 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17102 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17103 New function.
17104 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17105 Register it.
17106 (XTread_socket) [TARGET_API_MAC_CARBON]:
17107 Consolidate SendEventToEventTarget calls.
17108 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17109 Move application activation handler to mac_handle_application_event.
17110 Move keyboard handler to mac_handle_keyboard_event.
17111 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17112 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17113 init_command_handler. Call install_application_handler.
17114
17115 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17116 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17117
171182007-06-07 Glenn Morris <rgm@gnu.org>
17119
17120 * emacs.c (main): Use `emacs-copyright' in --version output.
17121
171222007-06-06 Chong Yidong <cyd@stupidchicken.com>
17123
17124 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17125
171262007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17127
17128 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17129
17130 * macgui.h: Replace WindowPtr with WindowRef.
17131
17132 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17133 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17134 Replace ControlHandle with ControlRef.
17135 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17136
17137 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17138 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17139 Replace ControlHandle with ControlRef.
17140 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17141 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17142
17143 * macterm.h (struct scroll_bar): Rename member control_handle_low
17144 and control_handle_high to control_ref_low and control_ref_high.
17145 All uses changed.
17146 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17147 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17148 respectively. All uses changed.
17149 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17150 (install_window_handler, remove_window_handler): Replace WindowPtr
17151 with WindowRef in externs.
17152
171532007-06-05 Juanma Barranquero <lekktu@gmail.com>
17154
17155 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17156
171572007-06-03 Nick Roberts <nickrob@snap.net.nz>
17158
17159 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17160
17161 * frame.c (Fmouse_position, Fmouse_pixel_position):
17162 Condition on HAVE_GPM too.
17163
17164 * term.c (term_mouse_highlight): Remove unused variables.
17165 (Fterm_open_connection): Set gpm_zerobased to 1.
17166 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17167 Use zero based co-ordinates.
17168 (handle_one_term_event): Report a drag as mouse movement too.
17169
17170 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17171
171722007-06-03 Chong Yidong <cyd@stupidchicken.com>
17173
17174 * image.c (search_image_cache): New function. Require background
17175 color match if background color is unspecified in the image spec.
17176 (uncache_image, lookup_image): Use it.
17177
171782007-06-01 Juanma Barranquero <lekktu@gmail.com>
17179
17180 * window.c (Fshrink_window): Reflow docstring.
17181
171822007-06-02 Chong Yidong <cyd@stupidchicken.com>
17183
17184 * Version 22.1 released.
17185
171862007-06-01 Richard Stallman <rms@gnu.org>
17187
17188 * xfns.c (x_encode_text): Add GCPRO.
17189
171902007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17191
17192 * xfns.c (x_set_name_internal): Save encoded name before
17193 x_encode_text in case string data is relocated.
17194
171952007-05-31 Richard Stallman <rms@gnu.org>
17196
17197 * buffer.c (syms_of_buffer): Doc fix.
17198
171992007-05-30 Nick Roberts <nickrob@snap.net.nz>
17200
17201 * sysdep.c (init_sys_modes): Add rather than replace with
17202 O_NONBLOCK.
17203
17204 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17205 term_mouse_moveto.
17206
17207 * termhooks.h (term_mouse_moveto): New extern.
17208
17209 * term.c (mouse_face_window): Rename...
17210 (Qmouse_face_window): ...to this.
17211 (term_show_mouse_face, term_clear_mouse_face)
17212 (term_mouse_highlight): Use Qmouse_face_window.
17213 (term_mouse_moveto): New function.
17214 (term_mouse_position): Make it work.
17215 (syms_of_term): Uncomment assignment to mouse_position_hook.
17216 Staticpro Qmouse_face_window.
17217
172182007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17219
17220 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17221 around current_column call.
17222
172232007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17224
17225 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17226 * xdisp.c (next_element_from_buffer):
17227 * window.c (delete_window):
17228 * term.c (term_mouse_highlight):
17229 * msdos.c (getdefdir):
17230 * macterm.c (mac_create_bitmap_from_bitmap_data)
17231 (init_font_name_table):
17232 * fns.c (Fsxhash):
17233 * data.c (Fmake_local_variable):
17234 * ccl.c (ccl_driver): Likewise.
17235
172362007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17237
17238 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17239 Call mac_wakeup_from_rne on window size change.
17240
172412007-05-25 Chong Yidong <cyd@stupidchicken.com>
17242
17243 * image.c (uncache_image): Fix typo.
17244
172452007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17246
17247 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17248
172492007-05-22 Richard Stallman <rms@gnu.org>
17250
17251 * xterm.c (x_connection_closed): Remove NO_RETURN.
17252
172532007-05-22 Martin Rudalics <rudalics@gmx.at>
17254
17255 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17256
172572007-05-21 Chong Yidong <cyd@stupidchicken.com>
17258
17259 * image.c (uncache_image): New function.
17260 (Fimage_refresh): New function.
17261
172622007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17263
17264 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17265
172662007-05-20 Nick Roberts <nickrob@snap.net.nz>
17267
17268 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17269 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17270
172712007-05-20 Nick Roberts <nickrob@snap.net.nz>
17272
17273 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17274 conditional on [HAVE_GPM_H].
17275
172762007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17277
17278 * syntax.c (skip_chars): Update syntax-table only after we checked that
17279 the new location is valid.
17280
172812007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17282
17283 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17284 mac_get_window_bounds.
17285
172862007-05-20 Nick Roberts <nickrob@snap.net.nz>
17287
17288 * Makefile.in (LIBGPM): Allow it to be set from configure.
17289 If set then link Emacs with it.
17290
17291 * config.in: Regenerate.
17292
17293 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17294 New externs.
17295
17296 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17297 Include gpm.h.
17298 (handle_one_term_event, term_gpm): New externs.
17299
17300 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17301 and allow it to be interrupted by SIGIO.
17302
17303 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17304 (wait_reading_process_output): Wait on gpm_fd too.
17305 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17306 (add_gpm_wait_descriptor_called_flag): New variable.
17307 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17308
17309 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17310 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17311 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17312 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17313 (make_lispy_event): Add case GPM_CLICK_EVENT.
17314 (read_avail_input): Handle mouse input.
17315
17316 * term.c (write_glyphs_with_face): New function.
17317 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17318 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17319 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17320 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17321 (last_mouse_x, last_mouse_y): New variables.
17322 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17323 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17324 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17325 (Fterm_close_connection): New functions.
17326 (term_init): Initialise mouse_face_window.
17327
173282007-05-19 Chong Yidong <cyd@stupidchicken.com>
17329
17330 * xdisp.c (redisplay_window): If first window line is a
17331 continuation line, recompute the new window start instead of
17332 recentering.
17333
173342007-05-18 Glenn Morris <rgm@gnu.org>
17335
17336 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17337 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17338
173392007-05-17 Glenn Morris <rgm@gnu.org>
17340
17341 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17342
173432007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17344
17345 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17346 dead key repeat and up events.
17347
173482007-05-14 Chong Yidong <cyd@stupidchicken.com>
17349
17350 * image.c (pbm_load): Check image size for monochrome pbm.
17351
173522007-05-13 Chong Yidong <cyd@stupidchicken.com>
17353
17354 * xterm.c (XTread_socket): Revert last change.
17355
173562007-05-12 Chong Yidong <cyd@stupidchicken.com>
17357
17358 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17359
17360 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17361
173622007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17363
17364 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17365 mixup (YAILOM).
17366
173672007-05-07 Andreas Schwab <schwab@suse.de>
17368
17369 * keymap.c (Flookup_key): Fix typo in last change.
17370
173712007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17372
17373 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17374 mapping for unibyte strings.
17375
173762007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17377
17378 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17379 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17380
173812007-04-29 Richard Stallman <rms@gnu.org>
17382
17383 * insdel.c (replace_range): For undo, record insertion first.
17384
173852007-04-29 Andreas Schwab <schwab@suse.de>
17386
17387 * lisp.h (VECSIZE): Use OFFSETOF.
17388
173892007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17390
17391 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17392 disabled lines.
17393
173942007-04-28 Richard Stallman <rms@gnu.org>
17395
17396 * lread.c (read_escape): In a string, \s is always space.
17397
173982007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17399
17400 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17401
17402 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17403 submenu for menu bar items.
17404
17405See ChangeLog.10 for earlier changes.
17406
17407;; Local Variables:
17408;; coding: utf-8
17409;; add-log-time-zone-rule: t
17410;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17411;; End:
17412
76b6f707 17413 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17414
17415 This file is part of GNU Emacs.
17416
17417 GNU Emacs is free software: you can redistribute it and/or modify
17418 it under the terms of the GNU General Public License as published by
17419 the Free Software Foundation, either version 3 of the License, or
17420 (at your option) any later version.
17421
17422 GNU Emacs is distributed in the hope that it will be useful,
17423 but WITHOUT ANY WARRANTY; without even the implied warranty of
17424 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17425 GNU General Public License for more details.
17426
17427 You should have received a copy of the GNU General Public License
17428 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17429
17430;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40