(syms_of_coding) <translation-table-for-input>: Modify doc string to
[bpt/emacs.git] / src / ChangeLog
CommitLineData
8434d0b8
EZ
12009-02-07 Eli Zaretskii <eliz@gnu.org>
2
3 * coding.c (syms_of_coding) <translation-table-for-input>: Modify
4 doc string to discourage use for character code unification.
5
aa82edfd
CY
62009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7
8 * atimer.c (run_timers): Update pending_atimers.
9
2d283c7c
CY
102009-02-06 Chong Yidong <cyd@stupidchicken.com>
11
eb306cab
CY
12 * image.c (svg_load_image): Fix last change.
13
2d283c7c
CY
14 * xfns.c (Fx_create_frame): Signal an error if no font is
15 found (Bug#2147).
16
4d8e170e
JB
172009-02-05 Juanma Barranquero <lekktu@gmail.com>
18
19 * character.c (syms_of_character) <script-representative-chars>:
20 Fix typo in docstring.
21
c96169a0
AR
222009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
23
24 * nsmenu.m (pop_down_menu): New function.
25 (ns_popup_dialog): Call it on unwind.
26 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
27 call timer_check() (Bug#2154).
28 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
29 handling_signal is set.
30 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
31
32 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
33
34 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
35
36 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
37
38 * keyboard.c (poll_for_input_1, handle_async_input): Set
39 handling_signal under HAVE_NS.
40
aacd8ba1
GM
412009-02-04 Glenn Morris <rgm@gnu.org>
42
43 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
44
4cb75c4b
KH
452009-02-04 Kenichi Handa <handa@m17n.org>
46
47 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
48
49 * charset.c (Fchar_charset): New optional arg restriction.
50
51 * coding.h (coding_system_charset_list): Extern it.
52
53 * coding.c (coding_system_charset_list): New function.
54
55 * composite.c: Include coding.h and termhooks.h.
56 (composition_gstring_p): Fix for the terminal case.
57 (composition_gstring_width): Likewise.
58 (fill_gstring_body): Likewise.
59 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
60 the frame.
61 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
62 is within a composition.
63 (Fcomposition_get_gstring): Fix the the terminal case.
64
65 * term.c (encode_terminal_code): Fix handling of composition.
66 (produce_composite_glyph): For static composition, get pixel_width
67 from struct composition.
68
826ba17e
AS
692009-02-02 Andreas Schwab <schwab@suse.de>
70
71 * unexelf.c (unexec): Handle unaligned bss offset.
72
8ad093db
AR
732009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
74
75 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
76 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 77
8ad093db
AR
78 * keyboard.c (handle_interrupt): Don't call
79 quit_throw_to_read_char() under NS.
d0a76a6e 80
8ad093db
AR
81 * blockinput.h: Remove NS-specific code.
82
4d18a7a2
DN
832009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
84
db878925
DN
85 * dispnew.c (window_change_signal): Don't try to get the size of a
86 suspended tty frame.
87 * term.c (Fresume_tty): Resize if the size has changed while the
88 tty was suspended.
89
4d18a7a2
DN
90 * alloc.c (mark_stack): Properly conditionalize previous change.
91
8984df7c
JB
922009-01-30 Juanma Barranquero <lekktu@gmail.com>
93
94 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
95 * w32term.c (w32_read_socket) [SYNC_INPUT]:
96 Remove; this code is not used on Windows.
97
75f4f1ac
EZ
982009-01-30 Eli Zaretskii <eliz@gnu.org>
99
100 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
101 EOLs that also has stray ^M characters.
102
07a1e794
JB
1032009-01-30 Juanma Barranquero <lekktu@gmail.com>
104
105 * atimer.c (run_timers, alarm_signal_handler):
106 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
107 * w32inevt.c (w32_console_read_socket):
108 * w32term.c (w32_read_socket):
109 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
110
a8b11cc9
CY
1112009-01-30 Chong Yidong <cyd@stupidchicken.com>
112
113 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
114 Initialize it as a relative filename pattern.
115 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
116 (Fcall_process_region): Simplify temp file creation using
117 temporary-file-directory.
118
c279587b
EZ
1192009-01-29 Eli Zaretskii <eliz@gnu.org>
120
121 * msdos.c: Rename pending_signals to msdos_pending_signals.
122 (sig_suspender, sigprocmask): Adjust.
123
a8fe3242
CY
1242009-01-29 Chong Yidong <cyd@stupidchicken.com>
125
126 * keyboard.c (pending_signals): New var.
127 (poll_for_input, input_available_signal, init_keyboard): Set it.
128 (process_pending_signals): New function.
129
130 * lisp.h (QUIT): Check pending_signals instead of
131 interrupt_input_pending. Use process_pending_signals.
132
133 * atimer.c (run_timers, alarm_signal_handler): Update
134 pending_signals.
135
136 * process.c (wait_reading_process_output): Use
137 process_pending_signals.
138
139 * sysdep.c (emacs_write): Use process_pending_signals.
140
141 * xterm.c (XTread_socket): Update pending_signals.
142
143 * w32term.c (w32_read_socket): Update pending_signals.
144
145 * w32inevt.c (w32_console_read_socket): Update pending_signals.
146
6570a1c4
KH
1472009-01-29 Kenichi Handa <handa@m17n.org>
148
149 * xftfont.c (xftfont_has_char): New function.
150 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
151
d72a4afa
AR
1522009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
153
154 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
155 under GNUstep.
156 (ns_query_color): New declaration.
157
158 * nsterm.m (ns_confirm_quit): New variable.
159 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
160 (EmacsApp-applicationShouldTerminate:): Use it.
161 (EmacsPrefsController): Let user set it.
162 (ns_query_color): New function.
163 (ns_defined_color): Use it.
164 (ns_initialize): Drop.
165 (ns_term_init): Add two lines from ns_initialize(), and set
166 input_interrupt_mode to nil.
167
168 * image.c (svg_load_image): Don't right-shift background RGB when
169 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
170
9fe78804
KH
1712009-01-28 Kenichi Handa <handa@m17n.org>
172
173 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
174 (fontset_get_font_group): Remember that no font-group is specified
175 for C.
9fe78804 176
fa57de36
CY
1772009-01-27 Chong Yidong <cyd@stupidchicken.com>
178
930600e9
CY
179 * fns.c (concat): Check for string overflow (bug#1787).
180
fa57de36
CY
181 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
182 Quadruple undo limits (bug#1501).
183
7179ce7b
KH
1842009-01-27 Kenichi Handa <handa@m17n.org>
185
186 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
187 directly use GT_Get_Char_index.
188
189 * xftfont.c (struct xftfont_info): New member `index'.
190
191 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
192 (Ffontset_font): Adjusted for the change of fontset entry.
193
5be8fcc0
CY
1942009-01-26 Kenichi Handa <handa@m17n.org>
195
196 * fontset.c (fontset_find_font): Fix handling of non-cons return
197 value of fontset_get_font_group.
198 (fontset_font): Revert last change.
199
19ae3e61
JR
2002009-01-26 Jason Rumney <jasonr@gnu.org>
201
202 * w32font.c (w32font_list_internal): Return quickly if registry is
203 unknown. Simplify final return.
204 (add_font_entity_to_list): Break complex logic down into more
205 manageable chunks. Move unknown registry check to
206 w32font_list_internal.
207
8612b71a
AR
2082009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
209
210 Changes to remove Feval calls from GUI under NS.
211
d8038940
JB
212 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
213 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
214 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
215
216 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
217 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
218 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
219 instead of NON_ASCII_KEYSTROKE_EVENT.
220 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
221 (EmacsApp-applicationShouldTerminate:): Query user.
222 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
223 instead of Feval.
224
225 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
226
227 * keyboard.c (kbd_buffer_get_event): Check for it.
228 (keys_of_keyboard): Define lispy keys for
229 ns-put/unput-working-text.
230
231 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
232 versions.
233 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
234
6288ae55
CY
2352009-01-25 Chong Yidong <cyd@stupidchicken.com>
236
237 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 238 setting current_buffer directly. (Bug#2044)
6288ae55 239
289e7f8f
CY
2402009-01-24 Chong Yidong <cyd@stupidchicken.com>
241
5ce87308 242 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 243 any work. (Bug#1952, bug#1990).
5ce87308 244
64cc3cf6 245 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 246
b3243e6f
AR
2472009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
248
249 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
250 (ns_no_defaults): New declaration.
251 (main): Use it.
e0d2e69a 252
d900b2af 253 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 254
d900b2af 255 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 256
d900b2af
AR
257 * nsterm.m (ns_no_defaults): New variable.
258 (ns_initialize): Don't read defaults when ns_no_defaults.
259 (EmacsView-readSelectionFromPasteboard:)
260 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 261 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
262 (ns_dumpglyphs_stretch): New function.
263 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 264 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 265
e0d2e69a
AR
266 * nsimage.m (setPixmapData:): Set to ignore image DPI.
267
3ac71f5d
CY
2682009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
269
270 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
271 call for Sparc64.
272
3fe53a83
AR
2732009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
274
275 * nsfns.m:
276 * nsgui.h:
277 * nsmenu.m:
278 * nsselect.m:
279 * nsterm.h:
280 * nsterm.m: Remove '23' comments that indicated code added during
281 update from emacs-20 -> emacs-23.
282
10f87c6f 2832009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
284
285 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 286 ns_alternate_modifier. (Bug#1217)
a3b53a85 287
c7cef62d
AR
288 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
289 Display all shortcuts, including those w/o super modifier.
290
575fb8bd
AR
291 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
292
918b848b
CY
2932009-01-22 Chong Yidong <cyd@stupidchicken.com>
294
295 * fileio.c (Vwrite_region_post_annotation_function)
296 (Vwrite_region_annotation_buffers): New vars.
297 (build_annotations_unwind): Just reset
298 Vwrite_region_annotation_buffers.
299 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
300 Call write-region-post-annotation-function.
301 (build_annotations): Add to Vwrite_region_annotation_buffers if
302 buffer changes.
303
a39e2539
AR
3042009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
305
306 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
307 Tiger.
308 * nsfns.m (ns_do_applescript): Conditionalize
309 typeUTF16ExternalRepresentation on Tiger.
310
35ed44db
AR
3112009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
312
313 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
314
cbe0b5bf
AR
3152009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
316
317 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 318
6049d3a0
AR
319 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
320
321 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
322 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
323 handle Ctrl-tab. (Bug#1841)
324 (ns_get_color): Use unsigned long long for scanned hex string value.
325 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 326 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 327 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 328 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 329 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 330 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 331 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 332
d3810c21 333 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 334 DPI. (Bug#1316)
d3810c21
AR
335 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
336 values in onTiger section.
4c7077c3 337
e301e634
CY
3382009-01-19 Chong Yidong <cyd@stupidchicken.com>
339
7f82490b
CY
340 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
341 Check return value of font_spec_from_name.
64cc3cf6 342 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
343
344 * font.c (font_spec_from_name): Return Qnil if font name could not
345 be parsed.
346 (font_parse_name): Treat a `?' character as part of an XLFD.
347
e301e634
CY
348 * fns.c (Fsubstring): Doc fix.
349
1c0db158
KH
3502009-01-19 Kenichi Handa <handa@m17n.org>
351
352 * ftfont.c (ftfont_lookup_cache): Check the return value of
353 FcFontList.
354 (ftfont_list): Likewise.
355
acf20901
JB
3562009-01-18 Juanma Barranquero <lekktu@gmail.com>
357
fff4e459
JB
358 * dbusbind.c (Fdbus_register_signal):
359 * process.c (conv_sockaddr_to_lisp):
360 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
361
acf20901
JB
362 * callproc.c (Fgetenv_internal): Doc fix.
363
e7abcdfb
CY
3642009-01-16 Chong Yidong <cyd@stupidchicken.com>
365
366 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
367 it is not even used.
368
b60861e6
GM
3692009-01-16 Glenn Morris <rgm@gnu.org>
370
371 * font.c (Ffont_variation_glyphs): Silence compiler.
372
8db52afe
JB
3732009-01-15 Juanma Barranquero <lekktu@gmail.com>
374
375 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
376 Reported by David Robinow <drobinow@gmail.com>.
377
4cddb209
KH
3782009-01-15 Kenichi Handa <handa@m17n.org>
379
380 * coding.c (detect_coding_system): Fix handling of
381 null_byte_found.
382
f247f67b
JR
3832009-01-14 Jason Rumney <jasonr@gnu.org>
384
385 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 386 never a fontset. (Bug#1562)
f247f67b 387
f56a4450
KH
3882009-01-14 Kenichi Handa <handa@m17n.org>
389
390 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 391 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 392
4e99855e
CY
3932009-01-13 Chong Yidong <cyd@stupidchicken.com>
394
395 * font.c (font_clear_prop): If clearing the family, clear the font
396 width index too.
397
fff4e459 398 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 399
24f01470
JB
4002009-01-12 Juanma Barranquero <lekktu@gmail.com>
401
402 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
403 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
404 functions, use sizeof.
405
a41240a3
MR
4062009-01-12 Martin Rudalics <rudalics@gmx.at>
407
408 * keyboard.c (read_char): Fix case where last_nonmenu_event
409 returned a bad value with submenus. (Bug#447)
410
944636b8
CY
4112009-01-12 Chong Yidong <cyd@stupidchicken.com>
412
413 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
414 family, clear the font width index too.
415
0dad7c6f
JR
4162009-01-11 Jason Rumney <jasonr@gnu.org>
417
418 * keyboard.c (cmd_error_internal): Exit when errors occur before
419 frame creation and not in daemon mode. (Bug#1836)
420
7c2363af
CY
4212009-01-10 Chong Yidong <cyd@stupidchicken.com>
422
423 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
424 of a display vector, backtrack.
425 (try_window_reusing_current_matrix): Check glyph type before
426 referencing charpos member.
427
97b1b294
EZ
4282009-01-10 Eli Zaretskii <eliz@gnu.org>
429
430 Fix Bug #876:
431
432 * coding.c (inhibit_null_byte_detection): New variable.
433 (detect_coding, detect_coding_system): Don't pay attention to null
434 bytes if inhibit_null_byte_detection is non-zero.
435 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
436 document.
437 <inhibit-iso-escape-detection>: Doc fix.
438
4624b6e3
JR
4392009-01-09 Jason Rumney <jasonr@gnu.org>
440
441 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 442 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
443 Only report Unicode Plane 2 fonts as unicode-sip.
444
323b840c
CY
4452009-01-09 Chong Yidong <cyd@stupidchicken.com>
446
447 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
448 version moved to faces.el.
449
450 * font.c (Ffont_family_list): Return a list of strings, not
451 symbols.
452
eba7400d
MR
4532009-01-09 Martin Rudalics <rudalics@gmx.at>
454
455 * frame.c (x_set_frame_parameters): Remember requested value for
456 fullscreen before it's reset by the parameter handler.
457
4b09796d
GM
4582009-01-09 Glenn Morris <rgm@gnu.org>
459
460 * keyboard.c (last_command_char): For clarity, rename to...
461 (last_command-event): ... and update all users.
462 (last_input_char): For clarity, rename to...
463 (last_input_event): ... and update all users.
464 (last-command-char, last-input-char): Move to subr.el as aliases.
465 * cmds.c, commands.h: Update for last_command_char rename.
466
14ccea62
CY
4672009-01-08 Chong Yidong <cyd@stupidchicken.com>
468
469 * font.c (font_open_for_lface): Handle unspecified height
470 attribute.
471
5f004711
JR
4722009-01-08 Jason Rumney <jasonr@gnu.org>
473
474 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
475 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
476 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
477 Don't declare.
fff4e459 478 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
479 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
480
b71f6f73
KH
4812009-01-07 Kenichi Handa <handa@m17n.org>
482
50b06221 483 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 484 remember the coding system used for decoding in
50b06221
KH
485 coding_system (Bug#1039).
486
b71f6f73 487 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 488 breaking the loop. (Bug#870)
b71f6f73
KH
489 (decode_coding_utf_16, decode_coding_emacs_mule)
490 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
491 (decode_coding_charset): Likewise.
492
56f668f7
MR
4932009-01-05 Martin Rudalics <rudalics@gmx.at>
494
495 * frame.c (x_set_frame_parameters): Make sure height (width) get
496 applied when fullwidth (fullheight) is set. (Bug#1522)
497
5da9424d
JB
4982009-01-04 Juanma Barranquero <lekktu@gmail.com>
499
500 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
501 (utc_base): Declare as ULONGLONG, not long double.
502 (convert_time_raw): Delete.
503 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
504 (initialize_utc_base): New function.
505 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
506 (convert_from_time_t): Use initialize_utc_base; compute result with
507 64-bit arithmetic.
508 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
509
c4605e09
EZ
5102009-01-03 Eli Zaretskii <eliz@gnu.org>
511
9acef61c 512 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
513 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
514 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
515 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
516 [!subprocesses]: Define.
517 (syms_of_process) [!subprocesses]: Intern and staticpro them.
518 (Flist_system_processes, Fsystem_process_attributes)
519 [!subprocesses]: Call list_system_processes and
520 system_process_attributes instead of returning Qnil.
521
9acef61c
JB
522 * dosfns.c (system_process_attributes, list_system_processes):
523 New functions.
c4605e09
EZ
524
525 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
526
527 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
528 Don't use the default (no-op) implementation.
529
8b7d0a16
JR
5302009-01-03 Jason Rumney <jasonr@gnu.org>
531
a6d46bc1
JR
532 * keyboard.c (parse_modifiers_uncached): Wheel events are
533 clicks (bug#687).
534
8b7d0a16
JR
535 * w32term.c (x_query_colors, x_query_color): New functions.
536
537 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
538 (svg_load_image): Cast returned pointers from dynamically loaded
539 functions. Eliminate W32 specific code.
540
bfe11752
DN
5412009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
542
89e2438a
DN
543 * nsfns.m (x_set_foreground_color, x_set_background_color)
544 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
545 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
546 x_ prefix instead of ns_. Update references.
547 (syms_of_nsfns): Add a FIXME comment.
548
549 * nsterm.m (x_set_cursor_type): New prototype.
550 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
551
bfe11752
DN
552 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
553 for Solaris instead of incorrectly providing Qutime and Qcutime.
554
031da700
EZ
5552009-01-02 Eli Zaretskii <eliz@gnu.org>
556
557 * w32.c (process_times): Compute sum of utime and stime.
558 (system_process_attributes): Add Qtime to the alist.
559
560 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
561 and add them to the alist.
562
563 * process.c (top level) <Qtime, Qctime>: New variables.
564 (syms_of_process): staticpro them.
565 (Fsystem_process_attributes): Add their documentation to the doc
566 string.
567
568 * process.h: Declare Qtime and Qctime.
569
df23bf08
JR
5702009-01-02 Jason Rumney <jasonr@gnu.org>
571
9acef61c 572 * image.c (Qgobject): New symbol.
df23bf08
JR
573 (syms_of_image): Initialize it.
574 (init_svg_functions): Load some functions from gobject library.
575
5bbdf7aa
DN
5762009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
577
578 * frame.c (make_terminal_frame): Remove redundant code and useless
579 block.
580
63136da6
AS
5812009-01-01 Andreas Schwab <schwab@suse.de>
582
583 * process.c (conv_sockaddr_to_lisp): Add workaround for
584 getsockname bug on BSD.
585
9ef69046
CY
5862009-01-01 Chong Yidong <cyd@stupidchicken.com>
587
d6fafbe0
CY
588 * xfns.c (x_create_tip_frame): Set border width of the X window.
589
9ef69046
CY
590 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
591 message.
592
f9c34147
JR
5932009-01-01 Jason Rumney <jasonr@gnu.org>
594
9acef61c 595 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
596 Don't block input, as per earlier xterm.c changes.
597
f5497e45
AR
5982008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
599
600 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
601 (ns_appkit_version_int): New function.
602 (x-server-version): Use ns_appkit_version_int and follow 21+
603 convention of returning 3 integers.
604
c19cab20
KH
6052008-12-30 Kenichi Handa <handa@m17n.org>
606
607 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
608 (CHAR_SURROGATE_PAIR_P): New macro.
609
610 * font.h (struct font_driver): New member get_variation_glyphs.
611
9acef61c 612 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
613 (Ffont_variation_glyphs): New function.
614 (syms_of_font): Defsubr it.
615
616 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
617 ftfont_variation_glyphs.
618 (setup_otf_gstring): New function.
619 (ftfont_drive_otf): Use it.
620 (ftfont_shape_by_flt): Handle variation selector.
621 (ftfont_variation_glyphs): New function.
622
28cd591f
MR
6232008-12-30 Martin Rudalics <rudalics@gmx.at>
624
625 * frame.c (Vemacs_iconified): Remove.
626
7f714baf
JR
6272008-12-30 Jason Rumney <jasonr@gnu.org>
628
629 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 630 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 631
9d2d22ab
CY
6322008-12-30 Chong Yidong <cyd@stupidchicken.com>
633
634 * indent.c (Fvertical_motion): Don't advance iterator if we have
635 reseated to the desired position.
636
637 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
638 checking for pos match.
639
545312c2
KH
6402008-12-30 Kenichi Handa <handa@m17n.org>
641
1ede3eb6
KH
642 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
643 just get the low 8-bit of the code.
644
545312c2
KH
645 * font.c (font_intern_prop): Validate str as multibyte.
646
bd7bbf29
DN
6472008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
648
31e0750e
DN
649 * dispextern.h (struct face): Move lface and hash from the middle
650 of bitfields.
651
bd7bbf29
DN
652 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
653
b5672e7c
DN
6542008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
655
656 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
657 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
658 instead of intervals.h.
659
d704470f
AS
6602008-12-26 Andreas Schwab <schwab@suse.de>
661
662 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
663 cons.
664
54b33868
MR
6652008-12-26 Martin Rudalics <rudalics@gmx.at>
666
667 * textprop.c (Qminibuffer_prompt): New variable.
668 (syms_of_textprop): Initialize it.
669 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
670 in minibuffer-prompt face. (Bug#1662)
671
40b615d6
JR
6722008-12-25 Jason Rumney <jasonr@gnu.org>
673
674 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
675
baae5c2d
JR
6762008-12-24 Jason Rumney <jasonr@gnu.org>
677
678 * ralloc.c (r_alloc_reset_variable): New function.
679
680 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 681 record of what points where. (Bug#716)
baae5c2d 682
a9051c88
DN
6832008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
684
685 * minibuf.c (read_minibuf): Follow the non-interactive case when
686 running as a daemon, before detaching.
687
8b146312
AS
6882008-12-22 Andreas Schwab <schwab@suse.de>
689
690 * buffer.c (init_buffer): Use realloc instead of xrealloc.
691 * gtkutil.c (free_widget_value): Use xfree instead of free.
692
56f2de10
MR
6932008-12-22 Martin Rudalics <rudalics@gmx.at>
694
695 * frame.c (delete_frame): New function derived from
696 Fdelete_frame to handle Qnoelisp value for FORCE argument.
697 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
698 (Fdelete_frame): Call delete_frame. Remove line from doc-string
699 saying that FORCE non-nil doesn't run `delete-frame-functions'.
700 * frame.h: Extern delete_frame.
701 * window.c (window_loop):
702 * terminal.c (delete_terminal):
703 * xterm.c (x_connection_closed):
704 * xfns.c (Fx_hide_tip):
9acef61c 705 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 706
1fc200d6
JR
7072008-12-21 Jason Rumney <jasonr@gnu.org>
708
709 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
710 when character maps to .notdef character.
711
5e252df2
SM
7122008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
713
714 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
715
99b72cc4
JR
7162008-12-20 Jason Rumney <jasonr@gnu.org>
717
718 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 719 a graphical frame on Windows. (Bug#1325)
99b72cc4 720
acc49a52
JD
7212008-12-20 Jan Djärv <jan.h.d@swipnet.se>
722
723 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
724
6ea15123
CY
7252008-12-20 Chong Yidong <cyd@stupidchicken.com>
726
727 * minibuf.c (Fread_buffer): Doc fix.
728
b2dab6c8
JR
7292008-12-20 Jason Rumney <jasonr@gnu.org>
730
54ea0c87 731 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 732 server name in UNC paths. (Bug#719)
54ea0c87 733
b2dab6c8 734 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 735 charbuf. (Bug#1035)
b2dab6c8 736
6d1921be
DN
7372008-12-19 Daniel Engeler <engeler@gmail.com>
738
739 * sysdep.c (serial_configure): Fix typo.
740
53934c98
DN
7412008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
742
743 * sysdep.c: Include alloca.h.
f4f634e8
DN
744 (system_process_attributes): Add implementation for Solaris.
745
746 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 747
06e111a6
DN
7482008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
749
750 Reorganize implementation of Flist_system_processes and
751 Fsystem_process_attributes. No functional changes.
752 * process.c: Don't #include pwd.h, grp.h and limits.h.
753 (Flist_system_processes): Just call list_system_processes.
754 (Fsystem_process_attributes): Just call system_process_attributes.
755 (procfs_list_system_processes, time_from_jiffies)
756 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
757 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
758
759 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
760 (list_system_processes): Rename from
761 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
762 Provide a do nothing implementation.
763 (system_process_attributes): Rename from
764 procfs_list_system_processes.
765 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 766 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
767
768 * w32.c (list_system_processes): Rename from
769 w32_list_system_processes.
770 (system_process_attributes): Rename from
771 w32_system_process_attributes.
772
773 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
774
775 * process.h (w32_list_system_processes)
776 (w32_system_process_attributes): Remove.
777 (list_system_processes, system_process_attributes): New
778 prototypes.
779
6a705b23
KH
7802008-12-19 Kenichi Handa <handa@m17n.org>
781
782 * xfont.c (xfont_decode_coding_xlfd): New function.
783 (xfont_encode_coding_xlfd): New function.
784 (xfont_list_pattern): Decode XLFD by iso-8859-1.
785 (xfont_list): Decode and encode XLFD by iso-8859-1.
786 (xfont_match): Likewise.
787 (xfont_list_family): Likewise.
788 (xfont_open): Likewise.
789
d66c0241 790 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
791 names are utf-8.
792
d66c0241 793 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
794 names are utf-8.
795
5a130941
JD
7962008-12-18 Jan Djärv <jan.h.d@swipnet.se>
797
798 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
799 changed.
bfd20325
JD
800 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
801 clicked on a detached tool bar button.
5a130941 802
fd95644b
DN
8032008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
804
805 * emacs.c (main): Print and error and exit when no data is read
806 from the pipe.
807
e6eee6ae
JR
8082008-12-17 Jason Rumney <jasonr@gnu.org>
809
810 * w32font.c (w32font_has_char): Always return -1.
811
a35dd56b
KH
8122008-12-16 Kenichi Handa <handa@m17n.org>
813
814 * font.c (font_open_entity): Fix previous change.
815
0e3635c2
DN
8162008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
817
818 * process.c: Include <limits.h>.
819
d4835507 8202008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
821
822 * font.c (font_update_drivers): Fix mistake in reconstructing the
823 driver list.
824
8252008-12-16 Chong Yidong <cyd@stupidchicken.com>
826
827 * font.c (font_clear_cache): Fix format of font cache data.
828
e2cbc401
CY
8292008-12-15 Chong Yidong <cyd@stupidchicken.com>
830
831 * xftfont.c (xftfont_open): Free Xft font pattern if
832 XftFontOpenPattern fails.
833
834 * xterm.c (x_free_frame_resources): Remove extraneous call to
835 free_frame_faces.
836
b131d535
CY
8372008-12-13 Chong Yidong <cyd@stupidchicken.com>
838
839 * xterm.c (x_delete_display): Move xim_close_dpy call to
840 x_delete_terminal.
841 (x_delete_terminal): Call xim_close_dpy.
842
e6df5336
JR
8432008-12-13 Jason Rumney <jasonr@gnu.org>
844
845 * w32font.c (intern_font_name): New function.
846 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
847 (w32font_open_internal, Fx_select_font): Decode font name.
848 (fill_in_logfont, list_all_matching_fonts): Encode font name.
849
850 * w32font.h (intern_font_name): Declare new function.
851
852 * w32uniscribe.c (add_opentype_font_name_to_list):
853 Use intern_font_name.
854
20d68145
CY
8552008-12-13 Chong Yidong <cyd@stupidchicken.com>
856
9f2554de
CY
857 * frame.c (Fdelete_frame): Call free_font_driver_list.
858
3d9bec9a
CY
859 * font.c (free_font_driver_list): Implement missing function.
860
20d68145
CY
861 * w32term.c (w32_term_init): Don't initialize the image cache
862 here; it will be done in init_frame_faces.
863
864 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
865 (struct x_display_info): Remove unused member null_pixel. New
866 member xim_callback_data.
867
868 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
869 (xim_initialize): Save pointer to callback function data.
870 (xim_close_dpy): Free callback function data. Call XCloseIM,
871 reverting 2008-11-04 change by David Smith.
872 (x_term_init): Don't initialize the image cache here; it will be
873 done in init_frame_faces. Remove ancient "null_pixel" cruft.
874 (x_delete_display): Free x_dnd_atoms member.
875
96f9306b
KH
8762008-12-13 Kenichi Handa <handa@m17n.org>
877
6dec9044
JB
878 * font.c (font_rescale_ratio): Moved from xfaces.c.
879 Argument type changed. Handle a font-spec too.
96f9306b 880 (font_score): Check Vface_font_rescale_alist.
6dec9044 881 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
882
883 * xfaces.c (font_rescale_ratio): Moved to font.c.
884
8d5b4964
CY
8852008-12-13 Chong Yidong <cyd@stupidchicken.com>
886
887 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
888
e6df5336
JR
8892008-12-12 Jason Rumney <jasonr@gnu.org>
890
891 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
892 Vwindow_system_version to the real w32 major version.
893
97c6058a
DN
8942008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
895
896 * term.c (init_tty): Move setting the terminal name before the
897 potential user: maybe_fatal.
898
ec4e88d7
CY
8992008-12-11 Chong Yidong <cyd@stupidchicken.com>
900
d4835507
JB
901 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
902 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 903
b4233ec9
JR
9042008-12-11 Jason Rumney <jasonr@gnu.org>
905
8ec71e23 906 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 907 SYMBOL_CHARSET. (Bug#547)
8ec71e23 908
b4233ec9 909 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 910 size for surrogates. (Bug#1096, bug#872)
b4233ec9 911
011a0143
JB
9122008-12-11 Juanma Barranquero <lekktu@gmail.com>
913
914 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
915
3c309f34
JB
9162008-12-11 Juanma Barranquero <lekktu@gmail.com>
917
918 * process.c (Fsystem_process_attributes, syms_of_process):
919 Fix typo in name of Ssystem_process_attributes.
920 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
921
fedc6ab5
JB
9222008-12-11 Juanma Barranquero <lekktu@gmail.com>
923
924 * syntax.c (Fmodify_syntax_entry): Doc fix.
925
ba3de0e8
JB
9262008-12-10 Juanma Barranquero <lekktu@gmail.com>
927
928 * font.c (Ffont_spec): Move usage to end of docstring.
929
174f1c74
JR
9302008-12-10 Jason Rumney <jasonr@gnu.org>
931
932 * w32font.c (Qcham): New symbol.
933 (font_supported_scripts): Add cham, and comments for other new
934 scripts in bitfield from OpenType spec.
9d32f818
JR
935 (add_font_entity_to_list): Limit unicode-sip fonts to those that
936 contain characters beyond the bmp.
174f1c74 937
7b649478
KH
9382008-12-10 Kenichi Handa <handa@m17n.org>
939
940 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 941 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
942 Qunicode_sip.
943
2133e2d1
JB
9442008-12-10 Juanma Barranquero <lekktu@gmail.com>
945
946 * coding.c (QCdefault_char): Rename from QCdefalut_char.
947 (Fcoding_system_put): Use QCdefault_char.
948 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
949
9af886ee
CY
9502008-12-09 Chong Yidong <cyd@stupidchicken.com>
951
74d819eb
CY
952 * xftfont.c (syms_of_xftfont): Fix typo.
953
4ccfa1c0 954 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 955
7c19d3ae
DN
9562008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
957
958 * emacs.c (main): Close daemon_pipe on exec.
959
567826bb
CY
9602008-12-08 Chong Yidong <cyd@stupidchicken.com>
961
962 * termchar.h (struct tty): New members termcap_term_buffer and
963 termcap_strings_buffer.
964
965 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 966 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
967 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
968 All callers changed.
969 (init_tty): Store termcap data and string buffers in new struct
970 tty members termcap_term_buffer and termcap_strings_buffer.
971 (delete_tty): Free them.
4ccfa1c0 972 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 973
aa96c42b
SZ
9742008-12-07 Seiji Zenitani <zenitani@mac.com>
975
976 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 977 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 978
b7e1d896
CY
9792008-12-06 Chong Yidong <cyd@stupidchicken.com>
980
981 * coding.c (make_conversion_work_buffer): Disable buffer
982 modification hooks in the work buffer.
983
b5ec91a5
EZ
9842008-12-05 Eli Zaretskii <eliz@gnu.org>
985
986 * process.c (procfs_system_process_attributes): If `nread' has a
987 negative value, assign zero to it.
988
a5d2a52b
CY
9892008-12-05 Chong Yidong <cyd@stupidchicken.com>
990
68c5540b 991 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 992
7bf1bb21
KH
9932008-12-05 Kenichi Handa <handa@m17n.org>
994
995 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
996 second character is a combining character.
997
2fdc7d00
EZ
9982008-12-05 Eli Zaretskii <eliz@gnu.org>
999
1000 * process.c (procfs_system_process_attributes): Don't use cmd,
1001 cmdsize, and q without initializing them first.
1002
bf6bfba8
JR
10032008-12-04 Jason Rumney <jasonr@gnu.org>
1004
1005 * w32font.c (w32font_draw): Initialize orig_clip before getting
1006 it, and delete it when finished.
1007
a3b1a468
DN
10082008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
1009
1010 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
1011 case when running as a daemon before detaching.
1012
8b8be8eb
JB
10132008-12-03 Juanma Barranquero <lekktu@gmail.com>
1014
805f2638 1015 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 1016
b1bde622
KH
10172008-12-03 Kenichi Handa <handa@m17n.org>
1018
e500c47d
KH
1019 * font.c (font_at): Set `multibyte' at first.
1020
ca516334
KH
1021 * coding.c (decode_coding_charset): Check type of an element of
1022 vector VALIDS.
7bf1bb21 1023 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 1024
4ccfa1c0 1025 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
1026 (font_for_char): Likewise.
1027
1e5ecd37
CY
10282008-12-03 Chong Yidong <cyd@stupidchicken.com>
1029
d5b01609 1030 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
1031 (font_update_lface): Handle fonts with corrupted size specs,
1032 i.e. non-int and non-float.
d5b01609 1033
11e3a6e4 1034 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 1035 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 1036 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 1037
ab06788b
CY
1038 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
1039
1e5ecd37 1040 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 1041 underline_minimum_offset for underline position.
1e5ecd37 1042
63c125ab
DN
10432008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
1044
1045 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
1046
1047 * character.c (c_string_width): Specify the type for LEN.
1048
3a8406e1
KH
10492008-12-03 Kenichi Handa <handa@m17n.org>
1050
4ccfa1c0 1051 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 1052 (decode_coding_utf_8): Likewise.
4ccfa1c0 1053 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 1054 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 1055
651df7d9
CY
10562008-12-02 Chong Yidong <cyd@stupidchicken.com>
1057
1058 * keyboard.c (make_lispy_position): Only use PT if the selected
1059 window is current.
1060
1f625c6c
AS
10612008-12-02 Andreas Schwab <schwab@suse.de>
1062
f7741ce9
AS
1063 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
1064
1f625c6c
AS
1065 * doprnt.c (doprnt1): Fix size of charbuf.
1066
92bc2678
CY
10672008-12-02 Chong Yidong <cyd@stupidchicken.com>
1068
1069 * keyboard.c (timer_check): Revert last change.
1070
93b9e8cc
JB
10712008-12-02 Juanma Barranquero <lekktu@gmail.com>
1072
1073 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
1074
fd7a37d5
JB
10752008-12-01 Juanma Barranquero <lekktu@gmail.com>
1076
1077 * makefile.w32-in: Update dependencies.
1078 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
1079
c115043b
AS
10802008-12-01 Andreas Schwab <schwab@suse.de>
1081
1082 * font.c (register_font_driver): Use xmalloc.
1083 (font_put_frame_data): Likewise.
1084
f5668d2a
CY
10852008-12-01 Chong Yidong <cyd@stupidchicken.com>
1086
860d96be
CY
1087 * xfaces.c (realize_x_face): Make abort condition clearer.
1088
f5668d2a
CY
1089 * gtkutil.c (update_frame_tool_bar): Initialize variable.
1090
379c17e7
CY
10912008-11-30 Chong Yidong <cyd@stupidchicken.com>
1092
1093 * keyboard.c (timer_check): After a timer runs, ensure that the
1094 selected window's buffer is current.
1095
35f36d65
JB
10962008-11-30 Juanma Barranquero <lekktu@gmail.com>
1097
f952c61c
JB
1098 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1099 It was accidentally restored by the Unicode merge.
1100
35f36d65
JB
1101 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1102
b23077df
JB
11032008-11-29 Juanma Barranquero <lekktu@gmail.com>
1104
1105 * w32proc.c: Include "coding.h".
1106 (Fw32_short_file_name): Encode filename passed to Windows API.
1107 (Fw32_long_file_name): Encode filename passed to Windows API and
1108 decode back the result. (Bug#1433)
1109
b8ebe9dd
KH
11102008-11-29 Kenichi Handa <handa@m17n.org>
1111
8cc53f96
KH
1112 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1113 not before accessing it.
1114
b8ebe9dd
KH
1115 * charset.c (Fdefine_charset_internal): After calculating
1116 min_char, max_char, and fastmap, copy the charset structure again.
1117 (encode_char): Fix the previous change.
1118
59bc82c0
SZ
11192008-11-28 Seiji Zenitani <zenitani@mac.com>
1120
1121 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1122
1123 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1124
1125 * nsterm.m (x_set_frame_alpha): New function.
1126
32247e3d
EZ
11272008-11-27 Eli Zaretskii <eliz@gnu.org>
1128
1129 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1130
b003e5ff
JB
11312008-11-27 Juanma Barranquero <lekktu@gmail.com>
1132
1133 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1134 pointer to check_face_name.
1135
708550f5
KH
11362008-11-27 Kenichi Handa <handa@m17n.org>
1137
1138 * category.h (SET_CATEGORY_SET): Call set_category_set.
1139 (set_category_set): Extern it.
1140
1141 * category.c (hash_get_category_set): New function.
1142 (Fmodify_category_entry): Adjusted for the change of
1143 char_table_ref_and_range. Call hash_get_category_set to get a
1144 category set to store in the table.
1145
1146 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1147 Funify_charset.
1148
2ae37cf0 1149 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
1150 (DECODE_CHAR): Check if the decoder vector is ready.
1151 (ENCODE_CHAR): Check if the encoder char-table is ready.
1152 (maybe_unify_char): Extern it.
1153
1154 * charset.c (Vchar_unified_charset_table): Delete it.
1155 (inhibit_load_charset_map): New variable.
1156 (temp_charset_work): New variable.
1157 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1158 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1159 New macros.
1160 (load_charset_map): Meaning of control_flag changed. If
1161 inhibit_load_charset_map is nonzero, setup a table in
1162 temp_charset_work.
1163 (load_charset): New argument control_flag.
1164 (map_charset_for_dump): New function.
1165 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1166 map_charset_for_dump.
1167 (Fdefine_charset_internal): If the charset method is MAP, load
1168 mapping tables by calling load_charset.
1169 (Funify_charset): Don't load a mapping table but directly set
1170 Vchar_unify_table.
1171 (maybe_unify_char): New function.
1172 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1173 Handle the case of inhibit_load_charset_map being nonzero.
1174 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1175 Handle the case of inhibit_load_charset_map being nonzero.
1176 (Fclear_charset_maps): Just free temp_charset_work.
1177 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1178 variable.
1179
1180 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1181 change of char_table_ref_and_range.
1182 (char_table_ref_and_range): Change the meaning of argument FROM
1183 and TO. Now the caller must provide initial values for *FROM
1184 and *TO.
1185
1186 * fontset.c (fontset_add): Adjusted for the change of
1187 char_table_ref_and_range.
1188 (fontset_get_font_group): Likewise.
1189 (Ffontset_info): Likewise.
1190
1191 * keymap.c (describe_vector): Adjusted for the change of
1192 char_table_ref_and_range. For char-table, put boundary between
1193 non-ASCII and 8-bit characters.
1194
1195 * print.c (print_object): For bool-vector, delete unnecessary
1196 check of ASCII_BYTE_P.
1197
9196133b
JR
11982008-11-26 Jason Rumney <jasonr@gnu.org>
1199
1200 * w32font.c (w32font_open_internal): Don't include external
9acef61c 1201 leading in font height. (Bug#879)
9196133b 1202
9f688acf
GM
12032008-11-26 Glenn Morris <rgm@gnu.org>
1204
1205 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1206 redefinition with ifdef. (Bug#1383)
1207
90d19aff
AR
12082008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1209
1210 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1211
4ccfa1c0 12122008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
1213
1214 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1215 New EmacsView methods.
1216 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1217 Fixes bug #1048,1357,1414.
1218
12192008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1220
1221 Fix bug #1362.
1222 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1223 is not an indexed color.
1224 * nsterm.m (free_indexed_color): Add argument checking.
1225 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1226
e7d5ecb3
CY
12272008-11-24 Chong Yidong <cyd@stupidchicken.com>
1228
1229 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1230 Document confirm-after-completion value for
1231 minibuffer-completion-confirm.
1232
c285743c
JR
12332008-11-24 Jason Rumney <jasonr@gnu.org>
1234
1235 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1236 warning.
1237
b0857706
JR
12382008-11-23 Jason Rumney <jasonr@gnu.org>
1239
1240 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1241 restored before returning.
1242
1243 * w32font.c (check_face_name): New function.
1244 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1245 fonts. (Bug#642)
b0857706 1246
ee50ff07
MR
12472008-11-22 Martin Rudalics <rudalics@gmx.at>
1248
1249 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1250 confirm-nonexistent-file-or-buffer in doc-string.
1251
b8ff72fa
SM
12522008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1253
1254 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1255 Fix copy/paste typo. Add checks.
1256
cee53ed4
KH
12572008-11-21 Kenichi Handa <handa@m17n.org>
1258
1259 * coding.c (detect_coding_iso_2022): Reject invalid composition
1260 sequence.
1261 (DECODE_COMPOSITION_START): If the current source is the last
1262 block, and the current composition doesn't end, regard this
1263 sequence as invalid.
1264 (decode_coding_iso_2022): Handle invalid composition sequence.
1265
f6ef1e65
MR
12662008-11-20 Martin Rudalics <rudalics@gmx.at>
1267
1268 * window.c (coordinates_in_window): Don't return
1269 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1270 line when the window is not the rightmost one. (Bug#1372)
1271
e08b1705
MR
12722008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1273
1274 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1275
ad98e89f
EZ
12762008-11-15 Eli Zaretskii <eliz@gnu.org>
1277
1278 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1279 and bright_bg if noninteractive is non-zero.
1280
fb098a4b
CY
12812008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1282
1283 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1284 x_draw_glyph_string_background.
1285
1286 * w32term.c (x_draw_glyph_string): Likewise.
1287
ce952b6e
CY
12882008-11-15 Chong Yidong <cyd@stupidchicken.com>
1289
1290 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1291 the next glyph string once past the overhang width.
1292
1293 * nsterm.m (ns_draw_glyph_string): Likewise.
1294
1295 * w32term.c (x_draw_glyph_string): Likewise.
1296
26ea7079
CY
12972008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1298
1299 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1300 double file close.
1301
1c33c906
MR
13022008-11-14 Martin Rudalics <rudalics@gmx.at>
1303
1304 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1305 dedicated status of window before attempting to display another
1306 buffer in it.
1307
8fc29035
JB
13082008-11-14 Juanma Barranquero <lekktu@gmail.com>
1309
1310 * msdos.c (Fmsdos_long_file_names):
1311 (syms_of_msdos) <dos-unsupported-char-glyph>:
1312 * dosfns.c (Fint86): Fix typos in docstrings.
1313
55fb4286
EZ
13142008-11-14 Eli Zaretskii <eliz@gnu.org>
1315
1316 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1317
3fda0315
KY
13182008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1319
1320 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1321
7e849c17
CY
13222008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1323
1324 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1325
1326 * frame.h: Negative alpha means "don't touch".
1327
1328 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1329
1330 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1331
b9fd67bd
DN
13322008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1333
1334 * hftctl.c:
1335 * chpdef.h:
1336 * acldef.h: Remove files used only for systems no longer supported.
1337
1338 * Makefile.in: Fix .o alphabetical ordering.
1339 (hftctl.o): Remove dependency, file removed.
1340 (keymap.o, print.o): Depend on charset.h.
1341
d5998e03
KH
13422008-11-10 Kenichi Handa <handa@m17n.org>
1343
2ae37cf0 1344 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1345
be70e183
CY
13462008-11-08 Chong Yidong <cyd@stupidchicken.com>
1347
1348 * dired.c (file_name_completion): If completion_ignore_case is
1349 enabled, ignore case when checking completion-regexp-list.
1350
7cf94eac
EZ
13512008-11-08 Eli Zaretskii <eliz@gnu.org>
1352
1353 * vm-limit.c (get_lim_data): Fix last change.
1354
ee107a89
KH
13552008-11-08 Kenichi Handa <handa@m17n.org>
1356
1357 * character.c (Fget_byte): New function.
1358 (syms_of_character): Defsubr Fget_byte.
1359
5fd15622
CY
13602008-11-07 Chong Yidong <cyd@stupidchicken.com>
1361
1362 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1363 cursor position is valid after scrolling.
1364
13d62fad
JB
13652008-11-06 Juanma Barranquero <lekktu@gmail.com>
1366
1367 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1368
a1dd2936
GM
13692008-11-06 Glenn Morris <rgm@gnu.org>
1370
1371 * xterm.c (handle_one_xevent): Don't let popup menus cause
1372 mouse-autoselect-window related window switching. (Bug#1261)
1373
860cd236
CY
13742008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1375
1376 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1377
653a3150
AS
13782008-11-04 Andreas Schwab <schwab@suse.de>
1379
1380 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1381
870f5cac
CY
13822008-11-03 Chong Yidong <cyd@stupidchicken.com>
1383
1384 * xfns.c (Fx_wm_set_size_hint): New function.
1385
1e02f3cb
MR
13862008-11-03 Martin Rudalics <rudalics@gmx.at>
1387
1388 * textprop.c (Fprevious_single_char_property_change): Return 0
1389 when there's no change in a string. (Bug#1301)
1390
e630dfc6
MR
13912008-11-02 Martin Rudalics <rudalics@gmx.at>
1392
1393 * frame.c (do_switch_frame): New argument NORECORD passed to
1394 Fselect_window.
1395 (Fselect_frame): New argument NORECORD passed to
1396 do_switch_frame.
1397 (Fset_frame_selected_window): New argument NORECORD passed to
1398 Fselect_frame.
1399 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1400 in call of do_switch_frame.
1401 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1402 Handle NORECORD argument in call of Fselect_frame.
1403 * lisp.h (do_switch_frame, Fselect_frame)
1404 (Fset_frame_selected_window): Adjust declarations.
1405 * window.c (select_frame_norecord): New function.
1406 (run_window_configuration_change_hook): Use it and call
1407 Fselect_frame with NORECORD set.
1408 (Fselect_window): Pass NORECORD to Fselect_frame.
1409 (Fset_window_configuration): Handle NORECORD argument in call of
1410 do_switch_frame.
1411 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1412 Fset_frame_selected_window.
1413 * keyboard.c (command_loop_1): Handle NORECORD in call of
1414 Fselect_frame (currently ifdefd).
1415
9020b223
GM
14162008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1417
1418 * emacs.c (USAGE2): Untabify.
1419
793ffee8
SM
14202008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1421
1422 * composite.c (fill_gstring_header): Fix copy/paste typo.
1423
ab6d1131
MR
14242008-10-31 Martin Rudalics <rudalics@gmx.at>
1425
1426 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1427 (Fother_window): Rename argument and rewrite doc-string.
1428 (select_window_norecord): Fix return value. (Bug#1276)
1429
601a9cf1
JB
14302008-10-30 Juanma Barranquero <lekktu@gmail.com>
1431
1432 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1433 new frames overriding foreground for tooltips. Based on similar patch
1434 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1435
813b0652
CY
14362008-10-29 Chong Yidong <cyd@stupidchicken.com>
1437
1438 * emacs.c (Fdaemon_initialized): Initialize nfd.
1439
4414f58f
MR
14402008-10-29 Martin Rudalics <rudalics@gmx.at>
1441
1442 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1443 (Fwindow_text_height): Clarify doc-strings.
1444 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1445 doc-string of window-scroll-functions.
1446
ecdcaa09
RS
14472008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1448
1449 * category.c (syms_of_category): Fix typo in docstring.
1450
23fe745a
JB
14512008-10-28 Juanma Barranquero <lekktu@gmail.com>
1452
1453 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1454 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1455 Fix typos in docstrings.
1456
ff808935
DN
14572008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1458
1459 * emacs.c (daemon_pipe): Make non-static.
1460 (IS_DAEMON): Move definition ...
1461 * lisp.h (IS_DAEMON): ... here.
1462 (daemon_pipe): Declare.
1463 (is_daemon): Remove.
1464 * dispnew.c (init_display): Use IS_DAEMON.
1465
fc012771
SM
14662008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1467
1468 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1469 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1470
1471 * emacs.c (is_daemon): Remove.
1472 (main): Don't set is_daemon.
1473 (IS_DAEMON): New macro.
1474 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1475 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1476 parent exits.
1477 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1478
d8bdbe6f
CY
14792008-10-27 Chong Yidong <cyd@stupidchicken.com>
1480
d1a072bf
CY
1481 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1482 over-sized glyph, draw it with the default glyph width.
1483
e2e325aa
CY
1484 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1485 glyph, draw it with the default glyph width.
1486
1487 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1488 glyph, draw it with the default glyph width.
1489
d8bdbe6f
CY
1490 * xdisp.c (try_scrolling): When computing the distance from the
1491 scroll margin to PT, try moving some distance past the window
1492 bottom before giving up.
1493
7bfac547
MR
14942008-10-27 Martin Rudalics <rudalics@gmx.at>
1495
1496 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1497 (Fset_window_buffer): Explain in doc-string that a window can be
1498 "strongly" dedicated to its buffer.
1499
4ff029f6
DN
15002008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1501
1502 * emacs.c (daemon_name): New variable.
1503 (main): Deal with --daemon=SERVER_NAME.
1504 (Fdaemonp): Return a name if one was passed to --daemon.
1505
5790ef40
DN
15062008-10-26 Romain Francoise <romain@orebokech.com>
1507
f9bd0df9 1508 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1509 (main): Create a pipe before forking, make the parent exit only after
1510 the child has closed its end of the pipe. Move closing the
1511 descriptors ...
1512 (Fdaemon_initialized): ... here. New function.
1513
f5385255
SM
15142008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1515
4d632321
SM
1516 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1517 the previous unoptimized table.
1518
f5385255
SM
1519 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1520 the distinction between non-nil and non-t value of `dedicated'.
1521
6c56a0f3
CY
15222008-10-25 Chong Yidong <cyd@stupidchicken.com>
1523
1524 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1525 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1526
fec89261
MR
15272008-10-25 Martin Rudalics <rudalics@gmx.at>
1528
1529 * window.c (Fget_buffer_window, Fdelete_windows_on)
1530 (Freplace_buffer_in_windows): Make buffer argument optional and
1531 rename to buffer_or_name.
1532
34fcddd0
CY
15332008-10-24 Chong Yidong <cyd@stupidchicken.com>
1534
f5385255
SM
1535 * xdisp.c (handle_single_display_spec, handle_display_prop):
1536 Undo 2005-05-16 change.
34fcddd0
CY
1537 (handle_stop): Pop iterator if it's loaded with an empty string.
1538 (get_overlay_strings_1): Don't save iterator if it's loaded with
1539 an empty string (bug#1201).
1540
064766f2
KH
15412008-10-24 Kenichi Handa <handa@m17n.org>
1542
1543 * ftfont.c (ftfont_otf_features): Fix previous change.
1544 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1545 calling ftfont_otf_features.
1546
f9bd0df9 15472008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1548
1549 * font.c (font_match_p): Fix for the case that a vector of
1550 characters is in script-representative-chars.
1551
1dae9197
MA
15522008-10-24 Michael Albinus <michael.albinus@gmx.de>
1553
1554 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1555 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1556 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1557 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1558 macro. (Bug#1186).
1559
f9bd0df9 15602008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1561
1562 * s/sol2-10.h: New file.
1563
878a4584
JB
15642008-10-23 Juanma Barranquero <lekktu@gmail.com>
1565
1566 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1567 poor beast has survived 9+ years and the jump from xterm.c!).
1568
cd265ca6
MR
15692008-10-23 Martin Rudalics <rudalics@gmx.at>
1570
1571 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1572 Reword doc-string.
f5385255 1573 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1574
472a4dc9
JB
15752008-10-23 Juanma Barranquero <lekktu@gmail.com>
1576
1577 * character.c (syms_of_character) <script-representative-chars>:
1578 <unicode-category-table>: Doc fixes.
1579
159bd5a2
NF
15802008-10-23 Noah Friedman <friedman@splode.com>
1581
1582 * coding.c (make_conversion_work_buffer): Check that
1583 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1584 Fget_buffer_create.
1585
49f9c344
KH
15862008-10-23 Kenichi Handa <handa@m17n.org>
1587
1588 * font.c (font_add_log): Check the values of extra properties.
1589
12bb3111
MR
15902008-10-22 Martin Rudalics <rudalics@gmx.at>
1591
1592 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1593 Reword doc-string.
1594 (Fset_window_parameter): Use NILP.
1595 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1596 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1597
bbeb4e99
JB
15982008-10-22 Juanma Barranquero <lekktu@gmail.com>
1599
1600 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1601
16022008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1603
1604 * nsfns.m (ns_appkit_version): New function.
1605 (x-server-version): Use it.
1606 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1607 (x-server-vendor): Don't check_ns().
1608
1609 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1610
a9b555d3
JB
16112008-10-22 Juanma Barranquero <lekktu@gmail.com>
1612
1613 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1614 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1615
4626499f
KH
16162008-10-22 Kenichi Handa <handa@m17n.org>
1617
e3681952
KH
1618 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1619 scripts.
1620
4626499f
KH
1621 * category.c (word_boundary_p): Check scripts instead of charset.
1622 Handle nil value in word-separating-categories and
1623 word-combining-categories.
1624 (syms_of_category): Fix docstrings of word-separating-categories
1625 and word-combining-categories.
1626
1560f91a
EZ
16272008-10-21 Eli Zaretskii <eliz@gnu.org>
1628
1629 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1630 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1631
f4668441
MR
16322008-10-21 Martin Rudalics <rudalics@gmx.at>
1633
1634 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1635 Rename arg "buffer" to "buffer_or_name".
1636 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1637 it optional.
1638 (no_switch_window): Remove since the return value is not used.
a9b555d3 1639 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1640 Consider window as dedicated when Fwindow_dedicated_p returns a
1641 non-nil value.
1642 * lisp.h: Remove prototype for no_switch_window.
1643
fd75ddb2
JD
16442008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1645
1646 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1647 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1648
07295713
KH
16492008-10-21 Kenichi Handa <handa@m17n.org>
1650
1651 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1652 check Vlatin_extra_code_table.
1653
712adc82
EZ
16542008-10-20 Eli Zaretskii <eliz@gnu.org>
1655
1656 * fileio.c (Fset_file_modes): Doc fix.
1657
f549eb0b
MA
16582008-10-19 Michael Albinus <michael.albinus@gmx.de>
1659
1660 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1661 in arrays.
1662
aac0c6e3
MR
16632008-10-19 Martin Rudalics <rudalics@gmx.at>
1664
1665 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1666 Mention kill-buffer in doc-string.
1667 (Fset_window_buffer): Reinsert tem check removed in last commit.
1668 (Fenlarge_window, Fshrink_window): Have argument names and
1669 doc-string follow Elisp manual more closely.
1670
16712008-10-18 Eli Zaretskii <eliz@gnu.org>
1672
1673 * fileio.c (Fset_file_modes): Doc fix.
1674
16752008-10-18 Martin Rudalics <rudalics@gmx.at>
1676
1677 * window.c (Fwindow_width, Fset_window_start)
1678 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1679 (Fdelete_windows_on, Freplace_buffer_in_windows):
1680 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1681 (Fwindow_dedicated_p): Make window argument optional.
1682 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1683 (Fset_window_buffer): Respect any non-nil dedicated value for
1684 window. Rename "buffer" argument to "buffer_or_name".
1685
16862008-10-18 Ulrich Mueller <ulm@gentoo.org>
1687
1688 * m/sh3.h: New file, machine description for SuperH.
1689
16902008-10-17 Martin Rudalics <rudalics@gmx.at>
1691
1692 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1693
16942008-10-17 Kenichi Handa <handa@m17n.org>
1695
1696 * ftfont.c (ftfont_otf_features): Fix indexing
1697 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1698
16992008-10-16 Magnus Henoch <mange@freemail.hu>
1700
1701 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1702 (Fdbus_call_method_asynchronously): Ditto.
1703 This change makes C-h f display the argument list.
1704
17052008-10-16 Chong Yidong <cyd@stupidchicken.com>
1706
1707 * fileio.c (Fexpand_file_name): Doc fix.
1708
1709 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1710 of :foreground and :background equivalent to unspecified (20.x
1711 compatibility).
1712
17132008-10-15 Eli Zaretskii <eliz@gnu.org>
1714
1715 * buffer.c (syms_of_buffer): Doc fix.
1716
17172008-10-14 Kenichi Handa <handa@m17n.org>
1718
1719 * font.c (font_clear_prop): When clearing font width, clear the
1720 average width field too.
1721
17222008-10-12 Andreas Schwab <schwab@suse.de>
1723
1724 * ftfont.c (ftfont_shape_by_flt): Make static.
1725 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1726
1727 * font.c: Don't include <m17n-flt.h>.
1728
17292008-10-10 Eli Zaretskii <eliz@gnu.org>
1730
1731 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1732
17332008-10-09 Eli Zaretskii <eliz@gnu.org>
1734
1735 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1736 away code.
1737
17382008-10-09 Chong Yidong <cyd@stupidchicken.com>
1739
1740 * dispnew.c (update_text_area): Avoid looping due to large glyph
1741 overhangs (bug#1070).
1742
17432008-10-09 Kenichi Handa <handa@m17n.org>
1744
1745 * fontset.c (face_for_char): If face->fontset is negative, just
1746 return ascii_face.
1747
f5385255
SM
1748 * font.c (font_delete_unmatched): Fix previous change.
1749 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1750
17512008-10-09 Martin Rudalics <rudalics@gmx.at>
1752
1753 * frame.c (Fraise_frame): On text-only terminals select frame in
1754 order to make it visible. (Bug#1061)
1755
17562008-10-08 Chong Yidong <cyd@stupidchicken.com>
1757
1758 * fontset.c (fontset_find_font): Check frame validity.
1759
17602008-10-07 Chong Yidong <cyd@stupidchicken.com>
1761
a9b555d3 1762 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1763 (xg_display_close): Allow Emacs to close all displays (bug#985).
1764
17652008-10-06 Andreas Schwab <schwab@suse.de>
1766
f5385255 1767 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1768
17692008-10-06 Chong Yidong <cyd@stupidchicken.com>
1770
f5385255 1771 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1772
a9b555d3 1773 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1774
1775 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1776 during initialization.
1777
17782008-10-04 Eli Zaretskii <eliz@gnu.org>
1779
1780 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1781 whole thing on MSDOS frames as well as on a TTY.
1782
1783 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1784 well as for TTY.
1785 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1786 well as on a TTY.
1787
1788 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1789 as well as for TTY.
1790
1791 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1792
1793 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1794 MSDOS frames as well.
1795
17962008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1797
1798 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1799 correct arguments.
1800 * menu.c (find_and_return_menu_selection) Add cast.
1801
18022008-10-03 Glenn Morris <rgm@gnu.org>
1803
1804 * emacs.c (USAGE1): Add --daemon.
1805
18062008-10-02 Eli Zaretskii <eliz@gnu.org>
1807
1808 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1809 100, so it's in percents as advertised.
1810
18112008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1812
1813 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1814 (ns_output.current_cursor, ns_output.desired_cursor)
1815 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1816 (FRAME_NEW_CURSOR_COLOR): Remove.
1817
1818 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1819 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1820 enumeration (HOLLOW_BOX_CURSOR, etc.).
1821
1822 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1823 (draw_window_cursor): Simplify code.
f5385255
SM
1824 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1825 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1826 updates manually.
a9b555d3
JB
1827 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1828 Use core Emacs cursor types.
aac0c6e3 1829
b8ff72fa 1830 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1831
18322008-10-02 Martin Rudalics <rudalics@gmx.at>
1833
1834 * process.c (Faccept_process_output): Fix doc-string.
1835
18362008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1837
1838 * gmalloc.c (__sbrk): Also define for uClibc.
1839
1840 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1841 for uClibc.
1842
18432008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1844
1845 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1846 styles.
1847 (nsfont_open): Reenable the cache.
1848
18492008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1850
1851 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1852 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1853
18542008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1855
1856 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1857 a suspended terminal.
1858
18592008-09-30 Michael Albinus <michael.albinus@gmx.de>
1860
1861 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1862
18632008-09-30 Eli Zaretskii <eliz@gnu.org>
1864
1865 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1866
18672008-09-30 Chong Yidong <cyd@stupidchicken.com>
1868
1869 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1870 in a continued line coincides with a line beginning.
1871
18722008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1873
1874 * nsfont.m (nsfont_trait_distance): Fix bug.
1875 (nsfont_list): Return a list rather than a vector (syncs with Handa
1876 changes of 2008-05-14).
1877 (nsfont_open): Improve logging.
1878
18792008-09-29 Andreas Schwab <schwab@suse.de>
1880
1881 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1882
18832008-09-28 Martin Rudalics <rudalics@gmx.at>
1884
1885 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1886 name as char-resolve-modifiers.
1887 Reported by: Markus Triska <markus.triska@gmx.at>
1888
18892008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1890
1891 * dispnew.c (init_display): Return earlier when running as a daemon.
1892
18932008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1894
1895 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1896
18972008-09-27 Eli Zaretskii <eliz@gnu.org>
1898
1899 * composite.c (Fcomposition_get_gstring)
1900 (Fcompose_region_internal, Fcompose_string_internal)
1901 (Ffind_composition_internal): Doc fix.
1902 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1903 (syms_of_composite) <auto-composition-function>: Doc fix.
1904 (syms_of_composite) <composition-function-table>: Doc fix.
1905
19062008-09-25 Chong Yidong <cyd@stupidchicken.com>
1907
1908 * search.c (wordify): New argument for lax word-ends.
1909 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1910
19112008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1912
1913 * lisp.h (is_daemon): Declare.
1914 * dispnew.c (init_display): Do not try to initialize the terminal
1915 when running as a daemon.
1916
19172008-09-22 Chong Yidong <cyd@stupidchicken.com>
1918
1919 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1920 x_display_pixel_height.
1921
19222008-09-22 Martin Rudalics <rudalics@gmx.at>
1923
1924 * undo.c (record_point): Don't call Fundo_boundary for first
1925 change. (Bug#731)
1926
19272008-09-22 Juanma Barranquero <lekktu@gmail.com>
1928
1929 * emacs.c (Fdaemonp): Doc fix.
1930
19312008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1932
1933 * emacs.c (main): Place #ifdef in the proper place.
1934
19352008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1936
1937 * emacs.c (standard_args): Add --daemon.
1938 (main): Disconnect from the terminal when --daemon is passed.
1939 (is_daemon): New variable.
1940 (Fdaemonp): New function.
1941 (syms_of_emacs): Defsubr it.
1942
19432008-09-20 Chong Yidong <cyd@stupidchicken.com>
1944
1945 * xdisp.c (get_next_display_element): Handle string display
1946 correctly when checking for the end of a box run.
1947
19482008-09-20 Glenn Morris <rgm@gnu.org>
1949
1950 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1951 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1952 (Frename_file): Avoid copying to trash if a rename involves
1953 a delete. (Bug#964).
1954
19552008-09-20 Eli Zaretskii <eliz@gnu.org>
1956
1957 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1958 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1959 frames as well as termcap frames.
1960 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1961 get_named_tty.
1962
19632008-09-19 Eli Zaretskii <eliz@gnu.org>
1964
1965 * process.c (procfs_system_process_attributes): Fix cmdline in
1966 case /proc/PID/cmdline is empty.
1967
1968 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1969 x_display_pixel_height.
1970
19712008-09-19 Juanma Barranquero <lekktu@gmail.com>
1972
1973 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1974
1975 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1976 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1977
19782008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1979
1980 * dispextern.h (struct it): Move line_wrap away from the middle of
1981 bitfields. Move voffset in struct iterator_stack_entry after the
1982 bitfields. Move tab_width near after another short.
1983
19842008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1985
1986 * frame.h (struct frame): Move alpha from the middle of bitfields.
1987
1988 * window.h (struct window): Move frozen_window_start_p after the
1989 rest of the bitfields to reduce padding.
1990
19912008-09-18 Chong Yidong <cyd@stupidchicken.com>
1992
1993 * xterm.h (x_display_info): Remove `height' and `width' members.
1994
1995 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1996
1997 * w32term.h (w32_display_info): Remove `height', `width',
1998 `height_in', and `width_in' members.
1999
b8ff72fa
SM
2000 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2001 New functions.
aac0c6e3
MR
2002 (x_calc_absolute_position): Use them.
2003 (x_term_init): Omit removed `height' and `width' members.
2004
b8ff72fa
SM
2005 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2006 New functions.
aac0c6e3
MR
2007 (w32_read_socket, x_calc_absolute_position): Use them.
2008 (w32_initialize_display_info, w32_term_init): Omit removed members
2009 of w32_display_info.
2010
b8ff72fa
SM
2011 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
2012 New functions.
2013 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 2014
b8ff72fa
SM
2015 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2016 New functions.
aac0c6e3
MR
2017 (x_calc_absolute_position): Use them.
2018 (x_term_init): Omit removed `height' and `width' members.
2019
2020 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
2021 (compute_tip_xy):
2022 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
2023 * xmenu.c (menu_position_func): Use x_display_pixel_height and
2024 x_display_pixel_width.
2025
20262008-09-18 Kenichi Handa <handa@m17n.org>
2027
2028 * composite.c (fill_gstring_header): Don't check FROM and TO here.
2029 (composition_compute_stop_pos): Fix handling of static composition.
2030 (Fcomposition_get_gstring): Check FROM and TO at first.
2031
20322008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
2033
2034 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
2035 mixup (YAILOM).
2036
20372008-09-17 Chong Yidong <cyd@stupidchicken.com>
2038
2039 * indent.c (Fvertical_motion): Use position reported by iterator
2040 instead of PT for determining screen motion (bug#943).
2041
20422008-09-17 Romain Francoise <romain@orebokech.com>
2043
2044 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
2045
20462008-09-17 Kenichi Handa <handa@m17n.org>
2047
2048 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
2049
2050 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
2051 if necessary.
2052
20532008-09-16 Kenichi Handa <handa@m17n.org>
2054
2055 * coding.c (make_conversion_work_buffer): Avoid calling
2056 Fget_buffer_create if it is not necessary.
2057
20582008-09-15 Martin Rudalics <rudalics@gmx.at>
2059
2060 * window.c (Fselect_window): Don't update window_select_count and
2061 use_time when norecord is not nil.
2062
20632008-09-14 Kenichi Handa <handa@m17n.org>
2064
2065 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
2066 specpdl_ptr.
2067
20682008-09-12 Kenichi Handa <handa@m17n.org>
2069
2070 * indent.c (scan_for_column): Don't handle automatic composition
2071 if the current buffer is not associated with a window.
2072
2073 * composite.c (composition_reseat_it): If the current buffer is
2074 not associated with a window, ignore the automatic composition.
2075 (find_automatic_composition): Likewise.
2076
20772008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2078
2079 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
2080 (Fgpm_mouse_stop): Use it.
2081 * termhooks.h (close_gpm): Declare.
2082 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
2083 connection if Gpm_GetEvent fails.
2084
2085 * window.c (set_window_buffer): Always preserve current-buffer.
2086
20872008-09-12 Glenn Morris <rgm@gnu.org>
2088
2089 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
2090
20912008-09-11 Glenn Morris <rgm@gnu.org>
2092
2093 * charset.c (charset-map-path): Doc fix.
2094
20952008-09-10 Kenichi Handa <handa@m17n.org>
2096
2097 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2098
2099 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2100 compose a grapheme cluster with the preceding base glyph.
2101
2102 * composite.c (composition_compute_stop_pos): Fix previous change.
2103 Reset cmp_it->id to -1 at first.
2104
21052008-09-10 Glenn Morris <rgm@gnu.org>
2106
2107 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2108
21092008-09-09 Chong Yidong <cyd@stupidchicken.com>
2110
2111 * keyboard.c (read_key_sequence): Reapply translation maps when
2112 switching keyboards.
2113
21142008-09-09 Kenichi Handa <handa@m17n.org>
2115
2116 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2117 characters.
2118
2119 * composite.c (FORWARD_CHAR): Fix calculation
2120 of (POSITION).pos_byte.
2121 (composition_compute_stop_pos): Limit the search of composition to
2122 at most 500 characters ahead. If we reach the limit or find a
2123 newline, set cmp_it->ch to -2 and return 0.
2124 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2125
21262008-09-08 Kenichi Handa <handa@m17n.org>
2127
2128 * indent.c (Fvertical_motion): Be sure to set
2129 it_overshoot_expected if it.cmp_it.id is non-negative.
2130
21312008-09-07 Andreas Schwab <schwab@suse.de>
2132
2133 * callproc.c (Fcall_process): Don't hold references to string data
2134 across garbage collection. Move initialisation of new_argv down
2135 to avoid compiler bug.
2136
21372008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2138
2139 * process.c (Fsystem_process_attributes): Doc fix.
2140
21412008-09-07 Chong Yidong <cyd@stupidchicken.com>
2142
2143 * callproc.c (Fcall_process): Canonicalize current directory name.
2144
2145 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2146 iterator advances to the next line if the current line ends in a
2147 continued tab.
2148
21492008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2150
2151 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2152 member to point to cmp_from.
2153
2154 * xdisp.c: Doc fix for references to gidx data member.
2155
21562008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2157
2158 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2159
21602008-09-07 Kenichi Handa <handa@m17n.org>
2161
2162 * composite.c (FORWARD_CHAR): Check STOP after
2163 incrementing (POSITION).pos.
2164
21652008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2166
2167 * process.c (Fsystem_process_attributes): Doc fix.
2168
21692008-09-06 Chong Yidong <cyd@stupidchicken.com>
2170
2171 * keyboard.c (Ftop_level): Doc fix.
2172
21732008-09-06 Eli Zaretskii <eliz@gnu.org>
2174
2175 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2176 minibuffer, don't let lower part of menu invade the echo area.
2177
2178 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2179 "char *q" to access menu text and advance through it. Revert the
2180 change that displayed ">" instead of ASCII character 0x10.
2181
21822008-09-05 Eli Zaretskii <eliz@gnu.org>
2183
2184 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2185 toggle boxes and radio buttons on MS-DOS as well.
2186
21872008-09-05 Kenichi Handa <handa@m17n.org>
2188
2189 * composite.c (autocmp_chars): Check lookback count.
2190 (composition_compute_stop_pos): Set cmp_it->lookback.
2191 (composition_reseat_it): Check lookback count.
2192 (struct position_record): New struct.
2193 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2194 (find_automatic_composition): New function.
2195 (composition_adjust_point): Use find_automatic_composition.
2196
2197 * dispextern.h (struct composition_it): New member lookback.
2198
21992008-09-02 Chong Yidong <cyd@stupidchicken.com>
2200
2201 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2202 if moving by a single line.
2203
22042008-09-02 Andreas Schwab <schwab@suse.de>
2205
2206 * xterm.c (x_delete_display): Fix merge error.
2207
2208 * fileio.c (Fexpand_file_name): Remove unused variables.
2209
22102008-09-02 Eli Zaretskii <eliz@gnu.org>
2211
2212 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2213 storage on all platforms, not just on DOS_NT.
2214
22152008-09-02 Jason Rumney <jasonr@gnu.org>
2216
b8ff72fa
SM
2217 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2218 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
2219
22202008-09-01 Chong Yidong <cyd@stupidchicken.com>
2221
2222 * xfaces.c (Finternal_set_alternative_font_family_alist)
2223 (Finternal_set_alternative_font_registry_alist): Properly copy
2224 entire alist structure.
2225
22262008-09-01 Kenichi Handa <handa@m17n.org>
2227
d66c0241 2228 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 2229 representative chars of the script is a vector.
d66c0241
JB
2230 (ftfont_list): Handle the case where the representative chars of
2231 the script is a vector.
aac0c6e3
MR
2232
2233 * character.c (syms_of_character): Docstring of
2234 script-representative-chars fixed.
2235
22362008-08-31 Eli Zaretskii <eliz@gnu.org>
2237
2238 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2239 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2240 the menu. Allocate larger buffer for `text', to account for
2241 possible ^C characters.
2242
22432008-08-31 Martin Rudalics <rudalics@gmx.at>
2244
2245 * xdisp.c (prepare_menu_bars): Don't call
2246 Vwindow_size_change_functions with arg Qt.
2247
22482008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2249
2250 * font.h (font_range):
2251 * fileio.c (report_file_error):
2252 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2253
22542008-08-30 Glenn Morris <rgm@gnu.org>
2255
2256 * data.c (Fmake_variable_frame_local): Doc fix.
2257
2258 * frame.c (Fmodify_frame_parameters): Doc fix.
2259
22602008-08-30 Eli Zaretskii <eliz@gnu.org>
2261
2262 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2263 needed by GetTokenInformation.
2264 (w32_system_process_attributes): Check return values of all system
2265 APIs.
2266
2267 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2268 only when the state changes.
2269 (IT_update_begin, IT_update_end): Add termscript trace.
2270
2271 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2272 clipboard is unavailable. Set dst to NULL if it doesn't point to
2273 malloc'ed data.
2274 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2275 passing random values to xfree.
2276
2277 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2278 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2279
22802008-08-29 Jason Rumney <jasonr@gnu.org>
2281
2282 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2283
22842008-08-29 Eli Zaretskii <eliz@gnu.org>
2285
2286 * composite.c (fill_gstring_body): Avoid compiler warnings.
2287
2288 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2289 LGLYPH_SET_CODE to avoid compiler warnings.
2290
2ae37cf0 2291 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2292
2293 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2294
2295 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2296 LGLYPH_SET_CODE.
2297
22982008-08-29 Kenichi Handa <handa@m17n.org>
2299
2300 * fileio.c (report_file_error): Don't downcase the first character
2301 of errstring if it is still unibyte.
2302
23032008-08-29 Kenichi Handa <handa@m17n.org>
2304
2305 These changes are to re-implement the automatic composition so
2306 that it doesn't use text properties.
2307
2308 * Makefile.in (ftfont.o): Depend on composite.h.
2309 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2310
2311 * character.h (Vunicode_category_table): Extern it.
2312
2313 * character.c (Vunicode_category_table): New variable.
2314 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2315
2316 * chartab.c (optimize_sub_char_table): Perform more greedy
2317 optimization.
2318
b8ff72fa
SM
2319 * composite.h (enum composition_method):
2320 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2321 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2322 (Vcomposition_function_table): Extern it.
2323 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2324 (composition_gstring_put_cache, composition_gstring_from_id)
2325 (composition_gstring_p, composition_gstring_width)
2326 (composition_compute_stop_pos, composition_reseat_it)
2327 (composition_update_it, composition_adjust_point): Extern them.
2328 (Fcomposition_get_gstring): EXFUN it.
2329
d66c0241 2330 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2331 (Vcomposition_function_table)
2332 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2333 (gstring_hash_table, gstring_work, gstring_work_headers):
2334 New variables.
aac0c6e3
MR
2335 (gstring_lookup_cache, composition_gstring_put_cache)
2336 (composition_gstring_from_id, composition_gstring_p)
2337 (composition_gstring_width, fill_gstring_header)
2338 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2339 (composition_reseat_it, composition_update_it)
b8ff72fa 2340 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2341 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2342 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2343 Defsubr compostion_get_gstring.
2344
2345 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2346 cmp_id.
2347 (struct glyph_string): Delete the member gidx. New members
2348 cmp_id, cmp_from, and cmp_to.
2349 (enum it_method): Delete GET_FROM_COMPOSITION.
2350 (struct composition_it): New struct.
2351 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2352 Delete c, len, cmp_id, cmp_len in u.comp.
2353
2354 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2355 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2356 (enum lglyph_indices): Likewise.
b8ff72fa 2357 (font_range): Adjust extern.
aac0c6e3
MR
2358 (font_fill_lglyph_metrics): Extern it.
2359
2360 * font.c (QCf): New variable.
2361 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2362 (font_prepare_composition): Delete this function.
2363 (font_range): Type and arguments changed.
2364 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2365 (font_fill_lglyph_metrics): New function.
b8ff72fa 2366 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2367 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2368 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2369 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2370
2371 * fontset.h (font_for_char): Extern it.
2372
2373 * fontset.c (font_for_char): New function.
2374
2375 * ftfont.c: Include composite.h.
2376 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2377 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2378
2379 * indent.c: Include composite.h and dispextern.h.
2380 (check_composition): Delete this function.
2381 (scan_for_column): Handle composition by
2382 composition_compute_stop_pos, composition_reseat_it, and
2383 composition_update_it.
2384 (compute_motion): Likewise.
2385 (Fvertical_motion): Fix checking of composition.
2386
2387 * keyboard.c (adjust_point_for_property): Check composition by
2388 composition_adjust_point.
2389
b8ff72fa 2390 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2391 struct glyph_string.
2392
b8ff72fa
SM
2393 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2394 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2395 struct glyph.
2396 (produce_composite_glyph): Likewise.
2397
b8ff72fa
SM
2398 * w32term.c (x_draw_composite_glyph_string_foreground):
2399 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2400 (x_draw_glyph_string): Likewise.
2401
2402 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2403 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2404
2405 * xdisp.c: Include font.h.
2406 (it_props): Delete the entry for Qauto_composed.
2407 (init_iterator): Initialize it->cmp_it.id to -1.
2408 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2409 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2410 (handle_auto_composed_prop): Delete it.
2411 (handle_composition_prop): Handle only static composition.
2412 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2413 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2414 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2415 (pop_it): Likewise.
2416 (get_next_element): Delete next_element_from_composition.
2417 (CHAR_COMPOSED_P): New macro.
2418 (get_next_display_element): For automatic composition, get a face
2419 from the font in the glyph-string.
2420 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2421 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2422 (next_element_from_string): Check if the character at the current
2423 position is composed by CHAR_COMPOSED_P.
2424 (next_element_from_buffer): Likewise.
d66c0241
JB
2425 (next_element_from_composition): Adjust for the change of struct it.
2426 Update it->cmp_it.
b8ff72fa
SM
2427 (dump_glyph): Adjust for the change of struct glyph.
2428 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2429 it and struct glyph. Don't handle automatic composition here.
2430 (fill_gstring_glyph_string): New function.
2431 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2432 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2433 (BUILD_GSTRING_GLYPH_STRING): New macro.
2434 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2435 automatic composition.
b8ff72fa 2436 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2437 struct glyph.
b8ff72fa 2438 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2439
b8ff72fa 2440 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2441 the change of struct glyph_string.
2442 (x_draw_glyph_string): Likewise.
2443
24442008-08-29 Glenn Morris <rgm@gnu.org>
2445
2446 * buffer.c (word-wrap): Doc fix.
2447 * xdisp.c (truncate-partial-width-windows): Doc fix.
2448 Increase default to 50.
2449
24502008-08-29 Chong Yidong <cyd@stupidchicken.com>
2451
2452 * xdisp.c (update_tool_bar_unwind): New function.
2453 (update_tool_bar): Temporarily set selected frame before building
2454 tool-bar items.
2455
24562008-08-28 Michael Albinus <michael.albinus@gmx.de>
2457
2458 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2459 snprintf, respectively.
2460 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2461
24622008-08-28 Chong Yidong <cyd@stupidchicken.com>
2463
2464 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2465 LDFLAGS to GNUstep CC invocation.
2466
24672008-08-27 Chong Yidong <cyd@stupidchicken.com>
2468
2469 * indent.c (Fvertical_motion): Revert last change. Handle the
2470 general case where we are moving forward, and PT spans multiple
2471 screen lines.
2472
2473 * eval.c (find_handler_clause): Temporarily increase
2474 max-lisp-eval-depth while printing the backtrace buffer, to
2475 guarantee that help-mode code can run.
2476
24772008-08-27 Eli Zaretskii <eliz@gnu.org>
2478
2479 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2480 colors under -rv.
2481 (IT_set_frame_parameters): Don't swap foreground and background
2482 colors if `(reverse . t)' is present in the frame properties.
2483 (internal_terminal_init): Call init_frame_faces only for the
2484 initial frame.
2485
24862008-08-27 Andreas Schwab <schwab@suse.de>
2487
2488 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2489
24902008-08-27 Andreas Schwab <schwab@suse.de>
2491
2492 * search.c (search_buffer): Set char_base to zero only at the end.
2493
24942008-08-27 Kenichi Handa <handa@m17n.org>
2495
b8ff72fa 2496 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2497
24982008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2499
2500 * xterm.c (x_term_init): Temporarily hide the partially
2501 initialized terminal while calling vendor-specific-keysyms.
2502
25032008-08-26 Eli Zaretskii <eliz@gnu.org>
2504
2505 * msdos.c (internal_terminal_init): Most initializations done only
2506 once, especially initial_screen_colors[] and termscript open.
2507
25082008-08-26 Chong Yidong <cyd@stupidchicken.com>
2509
2510 * eval.c (Fcondition_case): Doc fix.
2511
2512 * widgetprv.h (EmacsFramePart): Change font member to the new font
2513 struct.
2514
2515 * widget.c: Include character.h and font.h for XSETFONT.
2516 (setup_frame_gcs): Compute X font id from font struct, just once.
2517
25182008-08-26 Eli Zaretskii <eliz@gnu.org>
2519
2520 * term.c (get_named_tty): Fix last change.
2521
25222008-08-26 Chong Yidong <cyd@stupidchicken.com>
2523
2524 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2525 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2526
25272008-08-25 Eli Zaretskii <eliz@gnu.org>
2528
2529 * frame.c (do_switch_frame): Mark previously displayed frame as
2530 obscured for FRAME_MSDOS_P frames as well.
2531
25322008-08-24 Eli Zaretskii <eliz@gnu.org>
2533
2534 * frame.c (make_terminal_frame): Initialize f->terminal,
2535 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2536 Set the top frame to newly created frame.
2537 (Fmake_terminal_frame): Reuse the_only_display_info.
2538
2539 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2540 estimating available memory.
2541
b97439ce 25422008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2543
2544 * nsterm.m (ns_draw_window_cursor): Don't call
2545 NSDisableScreenUpdates and NSEnableScreenUpdates on
2546 non-NS_IMPL_COCOA systems.
2547
25482008-08-23 Andreas Schwab <schwab@suse.de>
2549
2550 * process.c (procfs_system_process_attributes): Fix use of
2551 uninitialized variables.
2552
25532008-08-23 Eli Zaretskii <eliz@gnu.org>
2554
2555 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2556
2557 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2558 calling tty-set-up-initial-frame-faces.
2559
b8ff72fa
SM
2560 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2561 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2562
2563 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2564 addition to output_termcap.
2565
2566 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2567
2568 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2569 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2570 highlight.
2571
2572 * process.c [!subprocesses]: Define QCname.
2573 (syms_of_process): Intern and staticpro it.
2574
2575 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2576 Adjust for changes in encoding/decoding routines.
2577 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2578 encode_coding and decode_coding.
2579
b8ff72fa 2580 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2581
2582 * dosfns.c: Include frame.h before termhooks.h.
2583 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2584 variable termscript.
2585
2586 * s/msdos.h (USER_FULL_NAME): Define.
2587 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2588
2589 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2590 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2591 pw->pw_gecos.
2592
2593 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2594 SELECTED_FRAME as additional (1st) argument.
2595 (tty_read_avail_input): Handle output_msdos_raw in
2596 addition to output_termcap.
2597
2598 * msdos.c: Include frame.h before termhooks.h.
2599 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2600 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2601 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2602 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2603 (IT_set_terminal_modes, IT_reset_terminal_modes)
2604 (IT_set_frame_parameters): Use tty->termscript instead of a global
2605 variable termscript.
2606 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2607 global variable terminal_coding. Don't refer to
2608 Vnonascii_translation_table.
2609 (internal_terminal_init): Set Vwindow_system in current_kboard.
2610 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2611 Announce date and time of session start, if termscript is open.
2612 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2613 term.c:init_tty). Open termscript only of not already open.
2614 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2615 here instead of dos_ttraw. Don't initialize display if this is an
2616 initial tty. Don't set FRAME_FONT.
2617 (Vwindow_system_version): Bump to 23.
2618 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2619 is available, set up mouse_position_hook.
2620 (dos_ttraw, IT_set_terminal_modes): If called with initial
2621 terminal, do nothing.
2622 (IT_set_frame_parameters): Handle the Qtty_type frame
2623 parameter by calling internal_terminal_init.
2624 (dos_set_window_size, show_mouse_face)
2625 (clear_mouse_face, IT_note_mode_line_highlight)
2626 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2627 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2628 (initialize_msdos_display): New function.
2629 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2630 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2631 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2632 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2633 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2634 (request_sigio, unrequest_sigio): Don't define, now defined on
2635 sysdep.c.
2636 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2637
2638 * term.c [MSDOS]: Include msdos.h.
2639 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2640 conditional to DOS_NT. Allow only one call to this function in a
2641 session. Don't allocate a new struct tty_display_info; instead,
2642 reuse the_only_display_info. Call get_tty_size to get screen
2643 dimensions. Call init_baud_rate to set bad_rate.
2644 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2645 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2646 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2647 (get_tty_terminal, get_named_tty, Ftty_type)
2648 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2649 output_termcap.
b8ff72fa
SM
2650 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2651 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2652 only when subprocesses are supported.
aac0c6e3
MR
2653
2654 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2655 f->output_data.x.
2656 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2657 terminal devices.
2658
5582fbc7 2659 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2660 x_output.
2661 (FRAME_FONT): Use output_data.tty.
2662 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2663 (struct x_display_info): Rename from display_info. Update all users in
2664 msdos.c.
aac0c6e3 2665 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2666 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2667 (dos_ttraw): Update prototype.
2668
2669 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2670 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2671
26722008-08-23 Jason Rumney <jasonr@gnu.org>
2673
2674 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2675 (fn_TIFFSetDirectory): New library function used.
2676 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2677 (tiff_load): Use :index to select among multiple images. Set count
2678 property when multiple images exist.
2679 (gif_format): Use :index, not :image.
2680
26812008-08-23 Chong Yidong <cyd@stupidchicken.com>
2682
2683 * xdisp.c (try_scrolling): Check INT_MAX instead of
2684 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2685 to obtain INT_MAX.
2686
26872008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2688
2689 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2690
26912008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2692
2693 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2694 GNUstep library location.
2695
26962008-08-21 Chong Yidong <cyd@stupidchicken.com>
2697
2698 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2699 before using it.
2700
2701 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2702
27032008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2704
2705 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2706 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2707 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2708 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2709 (EmacsApp-cursor_blink_handler): Remove declaration.
2710 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2711 match 01 Feb 2008 changes in xterm.c.
2712 (ns_read_socket): Add cast to avoid warning.
2713 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2714 GNUstep.
2715
27162008-08-20 Chong Yidong <cyd@stupidchicken.com>
2717
2718 * xselect.c (x_get_foreign_selection): Return nil if desired
2719 selection could not be obtained, instead of signalling an error.
2720
27212008-08-20 David Reitter <david.reitter@gmail.com>
2722
2723 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2724 * nsterm.m: Remove ns-specific code for cursor blinking.
2725 (ns_draw_window_cursor): Clear cursor properly rather than
2726 redrawing the area. Respect width of bar cursors.
2727 These changes enable the use of generic blink-cursor-mode and
2728 generic cursor types in NS and support smooth cursor movements (do
2729 not blink off after command).
2730 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2731 Nextstep, too.
2732
27332008-08-19 Kenichi Handa <handa@m17n.org>
2734
2735 * font.c (Vfont_log_deferred): New variable.
2736 (font_add_log): Check Vfont_log_deferred.
2737 (font_deferred_log): New function.
2738
2739 * font.h (font_deferred_log): Extern it.
2740
2741 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2742 for sorting.
2743 (face_for_char): Use deferred log.
2744
27452008-08-18 Kenichi Handa <handa@m17n.org>
2746
2747 * fontset.c (face_for_char): Add font log.
2748
2749 * font.c (font_add_log): Add the font properties :script, :lang,
2750 and :otf in the log.
2751
27522008-08-17 Chong Yidong <cyd@stupidchicken.com>
2753
2754 * xdisp.c: Remove dead code.
2755 (handle_invisible_prop, next_overlay_string): Defer call to
2756 setup_for_ellipsis.
2757 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2758
27592008-08-15 Chong Yidong <cyd@stupidchicken.com>
2760
2761 * xfaces.c (lookup_derived_face): Properly handle possible zero
2762 return value of get_lface_attributes.
2763 (merge_faces): Don't tell lookup_derived_face to signal an error
2764 if face is not found.
2765
2766 * dired.c (Fdirectory_files): Doc fix.
2767
2768 * process.c (make_process): Initialize kill_without_query struct
2769 member.
2770
27712008-08-15 Eli Zaretskii <eliz@gnu.org>
2772
2773 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2774 Alternative calculation of totphys for Visual Studio 6.
2775
2776 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2777
2778 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2779 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2780 All users changed.
2781 (stat): Only root directory passed to GetDriveType. Allow RAM
2782 disk as well as local fixed disk when w32-get-true-file-attributes
2783 is set to `local'.
2784 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2785 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2786 (w32_cached_id, w32_add_to_cache): New functions.
2787 (get_name_and_id): Look account names in the cache before calling
2788 lookup_account_sid.
2789 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2790 New initialization flags.
2791 (globals_of_w32): Initialize them to zero.
2792 (w32_system_process_attributes): Use w32_cached_id and
2793 w32_add_to_cache.
2794
27952008-08-14 Lawrence Mitchell <wence@gmx.li>
2796
2797 * lread.c (Fread_char, Fread_char_exclusive): If no character
2798 event is read before timeout is reached, return nil, rather than
2799 converting to a number.
2800
28012008-08-14 Chong Yidong <cyd@stupidchicken.com>
2802
2803 * fns.c (use_dialog_box): Doc fix.
2804
2805 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2806 on OS X.
2807
28082008-08-13 Chong Yidong <cyd@stupidchicken.com>
2809
2810 * frame.c (Qns_parse_geometry): New var.
2811 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2812
28132008-08-11 Chong Yidong <cyd@stupidchicken.com>
2814
2815 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2816 space character in calculating tabs.
2817
28182008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2819
2820 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2821
28222008-08-10 Glenn Morris <rgm@gnu.org>
2823
2824 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2825 silence gcc "limited range of data type" warnings in some
2826 make_fixnum_or_float calls.
2827
28282008-08-09 Eli Zaretskii <eliz@gnu.org>
2829
2830 * w32.c (w32_system_process_attributes): If the process does not
2831 exist, return nil.
2832
2833 * w32.c: Include thelp32.h, psapi.h and coding.h.
2834 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2835 declarations.
2836 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2837 (Process32Next_Proc): New typedefs.
2838 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2839 (g_b_init_process32_next, g_b_init_open_thread_token)
2840 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2841 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2842 (g_b_init_get_process_working_set_size)
2843 (g_b_init_global_memory_status_ex): New static variables.
2844 (globals_of_w32): Initialize them.
2845 (create_toolhelp32_snapshot, process32_first, process32_next)
2846 (open_thread_token, impersonate_self, revert_to_self)
2847 (get_process_memory_info, get_process_working_set_size)
2848 (global_memory_status, global_memory_status_ex): New wrapper
2849 functions.
2850 (w32_list_system_processes, w32_system_process_attributes)
2851 (enable_privilege, restore_privilege, ltime, process_times):
2852 New functions.
2853 (convert_time_raw): New function.
2854 (convert_time): Remove conversion of FILETIME into time in 100
2855 nsec units, call convert_time_raw instead.
2856
2857 * process.h (w32_list_system_processes, w32_system_process_attributes):
2858 Add prototypes.
2859 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2860 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2861 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2862 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2863
2864 * process.c (Fsystem_process_attributes): Doc fix.
2865
28662008-08-08 Chong Yidong <cyd@stupidchicken.com>
2867
2868 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2869 a continued multi-char glyph; if so, advance to the actual glyph.
2870
28712008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2872
2873 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2874
2875 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2876 (.m.o): Use it.
2877 * config.in: Regenerate.
2878
28792008-08-07 Chong Yidong <cyd@stupidchicken.com>
2880
2881 * xdisp.c (redisplay_window): Revert last change.
2882 (try_window): Check bottom scroll margin too.
2883
28842008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2885
2886 * config.in: Regenerate.
2887
2888 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2889 -list-load-path-shadows'.
2890 (nsgui.h): Reduce number of things depending on it.
2891
28922008-08-06 Chong Yidong <cyd@stupidchicken.com>
2893
2894 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2895 instead of window-end which does the wrong thing at eob.
2896 (try_cursor_movement): Minor optimization.
2897 (redisplay_window): If scroll margin is defined, don't assume
2898 window doesn't need scrolling.
2899
29002008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2901
2902 * config.in: Regenerate.
2903
2904 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2905 (mostlyclean): Don't delete *.d under NS.
2906
2907 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2908
29092008-08-06 Kenichi Handa <handa@m17n.org>
2910
2911 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2912
29132008-08-06 Andreas Schwab <schwab@suse.de>
2914
2915 * config.in: Regenerate.
2916
29172008-08-05 Chong Yidong <cyd@stupidchicken.com>
2918
2919 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2920 forcing a window start.
2921
2922 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2923 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2924
29252008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2926
2927 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2928 argument.
2929
29302008-08-05 Juanma Barranquero <lekktu@gmail.com>
2931
2932 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2933 <scroll-down-aggressively, before-change-functions>:
2934 <after-change-functions>: Reflow docstrings.
2935
29362008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2937 Ken Raeburn <raeburn@gnu.org>
2938
2939 Dock menu customization, based on a patch by Ken Raeburn, plus some
2940 other fixes.
2941 * nsmenu.m (dockMenu): New variable.
2942 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2943
2944 * nsterm.h (dockMenu): Declare.
2945
2946 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2947 (ns_term_init): Initialize dockMenu.
2948 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2949 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2950 left.
2951
2952 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2953
29542008-08-04 Chong Yidong <cyd@stupidchicken.com>
2955
2956 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2957
2958 * config.in: Regenerate.
2959
29602008-08-04 Seiji Zenitani <zenitani@mac.com>
2961
2962 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2963
29642008-08-04 Chong Yidong <cyd@stupidchicken.com>
2965
2966 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2967
29682008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2969
2970 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2971
2972 * keyboard.h: Comment an #endif.
2973
2974 * lisp.h (have_menus_p): Adjust comment.
2975
2976 * menu.c (find_and_return_menu_selection): Fix comparison with
2977 client_data.
2978
2979 * nsmenu.m (popup_activated_flag): New variable.
2980 (popup_activated): New function.
2981 (menu-or-popup-active-p): New exported lisp definition.
2982 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2983 when popup done.
2984 (ns_popup_dialog): Set popup_activated_flag.
2985
2986 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2987 version for GNUstep (handled by conditional typedef in nsterm.m).
2988 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2989 in rgb.txt).
2990
2991 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2992
2993 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2994
2995 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2996
2997 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2998 shortcircuit if popup_activated like GTK and X toolkit.
2999
3000 * m/inter386.h: Change DARWIN to DARWIN_OS.
3001
3002 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
3003 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
3004 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
3005 comment on NO_SOCK_SIGIO.
3006
30072008-08-03 Chong Yidong <cyd@stupidchicken.com>
3008
3009 * nsterm.m (windowDidResize): Remove stopModal call.
3010
30112008-08-03 Andreas Schwab <schwab@suse.de>
3012
3013 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
3014 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
3015
30162008-08-02 Chong Yidong <cyd@stupidchicken.com>
3017
3018 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
3019 Don't use uninitialized pointer variable when using getrlimit.
3020
30212008-08-02 Jason Rumney <jasonr@gnu.org>
3022
3023 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
3024
30252008-08-02 Eli Zaretskii <eliz@gnu.org>
3026
3027 * alloc.c (NSTATICS): Bump to 0x640.
3028
3029 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
3030
3031 * lisp.h: Add prototype for directory_files_internal.
3032
3033 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
3034 New functions.
3035 (syms_of_process): Defsubr them. Add initializations for various
3036 Q* symbols used in procfs_system_process_attributes.
3037 (procfs_list_system_processes, procfs_system_process_attributes)
3038 [HAVE_PROCFS]: New functions.
3039 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
3040 (procfs_get_total_memory): New functions.
3041
30422008-08-01 Juanma Barranquero <lekktu@gmail.com>
3043
3044 * xfaces.c (Fx_load_color_file): Fix previous change;
3045 it is #ifdef WINDOWSNT, not WINDOWS_NT.
3046
30472008-08-01 Michael Albinus <michael.albinus@gmx.de>
3048
3049 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
3050
30512008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3052
3053 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
3054
30552008-08-01 Chong Yidong <cyd@stupidchicken.com>
3056
3057 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
3058
3059 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
3060 define NSApplicationDelegateReplySuccess.
3061 (EmacsView -converstationIdentifier): Use long instead of
3062 NSInteger for GNUstep, since it doesn't have NSInteger.
3063
3064 * xmenu.c: Revert last change.
3065
3066 * keyboard.h: Fix last change.
3067
30682008-08-01 Juanma Barranquero <lekktu@gmail.com>
3069
3070 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
3071 on Windows.
3072
30732008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3074
3075 Warning clearing and clean-up in NS port.
3076 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3077 Add prototypes.
3078 * nsgui.h (FACE_DEFAULT): Remove, unused.
3079 (XGCValues): Change colors to unsigned long.
3080 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
3081 nsterm.m.
3082 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
3083 (ns_list_fonts): Remove, unused.
3084 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
3085 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
3086 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
3087 (nsfont_draw): Compare face colors to 0, not nil.
3088 * nsmenu.m (struct widget_value): Drop unneeded declaration.
3089 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
3090 (-addSubmenuWithTitle:): Use NSMenuItem class.
3091 (ns_popup_menu): Use NO, not NULL, for enabled setting.
3092 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
3093 (ns_clip_to_row): Make gc arg a BOOL.
3094 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
3095 ns_clip_to_row() call.
3096 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3097 used). Cast FRAME_FONT assignments.
3098 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3099 (ns_string_to_lispmod): Change arg to const char.
3100 (ns_term_init): Use NSMenuItem class.
3101 (EmacsApp -openFile:): Move to different section of file.
3102 (EmacsApp -application:openFiles:): Don't return a value, call
3103 -replyToOpenOrPrint:.
3104 (EmacsView -keyDown:): Fix up cast.
3105 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3106 (EmacsView -menuDown:): Cast tag in call to
3107 find_and_call_menu_selection().
3108 (ns_list_fonts): Remove, unused.
3109 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3110 (ns_fontname_to_xlfd): Make static.
3111 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3112 Remove prototypes (now in keyboard.h).
3113 (next_menubar_widget_id): Remove, unused.
3114 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3115 Remove prototypes (now in keyboard.h).
3116 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3117
31182008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3119
3120 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3121 (floatfns.o): Depend on syssignal.h.
3122 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3123
3124 * systty.h: Fix previous change that removed BSD_TERMIOS.
3125 Add comments to #ifdefs.
3126
31272008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3128
3129 * w32fns.c (w32-load-color-file): Remove.
3130 (x-open-connection): Use renamed Fx_load_color_file.
3131 * xfaces.c (x-load-color-file): Add.
3132 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3133 Emacs.clr.
3134 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3135
31362008-07-31 Michael Albinus <michael.albinus@gmx.de>
3137
3138 * dbusbind.c (Fdbus_call_method_asynchronously)
3139 (Fdbus_method_error_internal): New defuns.
3140 (xd_read_message): Handle also reply messages.
3141 (Vdbus_registered_functions_table): Extend docstring.
3142
31432008-07-31 Juanma Barranquero <lekktu@gmail.com>
3144
3145 * keyboard.c (gobble_input): Fix previous change.
3146
31472008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3148
3149 * bitmaps/README:
3150 * xfns.c:
3151 * termcap.c:
3152 * term.c:
3153 * syswait.h:
3154 * systty.h:
3155 * systime.h:
3156 * syssignal.h:
3157 * sysdep.c:
3158 * process.h:
3159 * process.c:
3160 * print.c:
3161 * ndir.h:
3162 * lread.c:
3163 * keyboard.c:
3164 * getpagesize.h:
3165 * floatfns.c:
3166 * fileio.c:
3167 * emacs.c:
3168 * doc.c:
3169 * dispnew.c:
3170 * dired.c:
3171 * data.c:
3172 * callproc.c:
3173 * buffer.c:
3174 * README:
3175 * Makefile.in:
3176 * s/template.h:
3177 * s/msdos.h:
3178 * m/vax.h: Remove VMS support.
3179 * s/vms.h:
3180 * vlimit.h:
3181 * uaf.h:
3182 * temacs.opt:
3183 * param.h:
3184 * ioctl.h: Remove file.
3185
31862008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3187
3188 * s/ms-w32.h (MULTI_KBOARD): Remove.
3189 * xterm.c:
3190 * xselect.c:
3191 * xfns.c:
3192 * window.c:
3193 * w32term.c:
3194 * w32fns.c:
3195 * terminal.c:
3196 * termhooks.h:
3197 * term.c:
3198 * sysdep.c:
3199 * keyboard.h:
3200 * keyboard.c:
3201 * frame.h:
3202 * frame.c:
3203 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3204 * config.in: Regenerate.
3205
32062008-07-30 Jason Rumney <jasonr@gnu.org>
3207
3208 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3209
3210 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3211 (w32font_open_internal): Get unicode version of textmetrics.
3212 Don't enable or disable glyph indices here.
3213 (w32font_open): Disable use of glyph indices.
3214
3215 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3216
32172008-07-30 Chong Yidong <cyd@stupidchicken.com>
3218
3219 * minibuf.c (Vread_buffer_function): Doc fix.
3220
32212008-07-30 John Paul Wallington <jpw@pobox.com>
3222
3223 * minibuf.c (read_buffer_completion_ignore_case): New var.
3224 (Fread_buffer): Use it.
3225
32262008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3227
3228 * systty.h (sensemode): Remove empty #if. Remove reference to
3229 BSD_TERMIOS, unused.
3230
3231 * sysdep.c: Remove reference to DGUX.
3232 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3233
3234 * config.in: Regenerate.
3235
32362008-07-30 Jason Rumney <jasonr@gnu.org>
3237
3238 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3239
32402008-07-29 Jason Rumney <jasonr@gnu.org>
3241
3242 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3243 is populated.
3244 (uniscribe_encode_char): Always use uniscribe.
3245 Avoid using context if cache is populated.
3246
32472008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3248
3249 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3250 open menu.
3251
3252 * gtkutil.c (menu_nav_ended): Remove.
3253 (create_menus): Remove signal connect for menu_nav_ended.
3254
32552008-07-28 Chong Yidong <cyd@stupidchicken.com>
3256
3257 * xdisp.c (redisplay_window): Check return value of
3258 compute_window_start_on_continuation_line before forcing a window
3259 start.
3260
32612008-07-28 Jason Rumney <jasonr@gnu.org>
3262
3263 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3264
3265 * w32term.c (w32_enable_unicode_output, cleartype_active):
3266 Remove obsolete display options.
3267 (x_draw_glyph_string_background): Don't use old cleartype_active
3268 workaround.
3269 (w32_initialize): Remove cleartype_active initialization.
3270 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3271
32722008-07-28 Andreas Schwab <schwab@suse.de>
3273
3274 * lisp.h (init_weak_hash_tables, syms_of_font)
3275 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3276 (remove_hash_entry): Don't declare.
3277 * eval.c (maybe_call_debugger): Make static and move before use.
3278 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3279 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3280 * xterm.h (x_set_frame_alpha): Declare.
3281
32822008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3283
3284 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3285 (create_menus): Connect selection-done to menu_nav_ended.
3286
32872008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3288
3289 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3290 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3291 parameter with read of 'alpha' one.
3292 (Qns_frame_parameter): Remove.
5582fbc7 3293 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3294 (next-selection-coding-system, Vselection_coding_system)
3295 (Vnext_selection_coding_system): Drop.
3296
32972008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3298
3299 * nsfns.m (do-applescript, do_applescript): Rename to
3300 ns-do-applescript, ns_do_applescript, and move within file.
3301
33022008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3303
3304 Remove support for Mac Carbon.
3305 * mactoolbox.c:
3306 * macterm.h:
3307 * macterm.c:
3308 * macselect.c:
3309 * macmenu.c:
3310 * macgui.h:
3311 * macfns.c:
3312 * mac.c: Remove file.
3313 * s/darwin.h:
3314 * m/intel386.h:
3315 * xfaces.c:
3316 * xdisp.c:
3317 * window.c:
3318 * tparam.c:
3319 * termhooks.h:
3320 * termcap.c:
3321 * term.c:
3322 * syssignal.h:
3323 * sysselect.h:
3324 * sysdep.c:
3325 * process.c:
3326 * lread.c:
3327 * lisp.h:
3328 * keyboard.c:
3329 * image.c:
3330 * fringe.c:
3331 * frame.h:
3332 * frame.c:
3333 * fontset.c:
3334 * font.h:
3335 * font.c:
3336 * fns.c:
3337 * fileio.c:
3338 * emacs.c:
3339 * dispnew.c:
3340 * dispextern.h:
3341 * config.in:
3342 * atimer.c:
2ae37cf0 3343 * Makefile.in: Remove code for Carbon.
aac0c6e3 3344
f0131492 33452008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3346
3347 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3348
33492008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3350
3351 * macterm.h (kCGBitmapByteOrder32Host): New define for
3352 non-universal SDKs.
3353
3354 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3355 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3356
3357 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3358 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3359
33602008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3361
3362 * w32inevt.c: Include dispextern.h.
3363
33642008-07-26 Andreas Schwab <schwab@suse.de>
3365
3366 * print.c (print_object): Fix off-by-one in last change.
3367
33682008-07-25 Juanma Barranquero <lekktu@gmail.com>
3369
3370 * term.c (syms_of_term): Don't initialize default_orig_pair,
3371 default_set_foreground and default_set_background on Windows.
3372
33732008-07-25 Jason Rumney <jasonr@gnu.org>
3374
3375 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3376 ScriptItemize. Clean up return value checking. Remove unused
3377 variables.
3378 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3379 shaping engine.
3380
3381 * w32font.c (w32font_has_char): Handle the case where we can't
3382 determine the script for a character.
3383
33842008-07-25 Chong Yidong <cyd@stupidchicken.com>
3385
3386 * term.c (syms_of_term): Initialize default_orig_pair,
3387 default_set_foreground, and default_set_background.
3388
3389 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3390 clash (bug#86).
3391 (getloadavg): Callers changed.
3392
3393 * image.c (svg_load_image): Fix last change.
3394 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3395 image size is valid. Use g_object_unref instead of deprecated
3396 rsvg_handle_free to free rsvg handle.
3397 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3398
33992008-07-25 Jason Rumney <jasonr@gnu.org>
3400
3401 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3402 surrogates before looking up glyph index.
3403 (w32font_text_extents): Encode as surrogates if falling back to
3404 functions that need UTF-16 wide chars.
3405
3406 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3407 BMP as surrogates before looking up glyph index.
3408
34092008-07-25 Chong Yidong <cyd@stupidchicken.com>
3410
3411 * image.c (svg_load_image): Check for failure in return value of
3412 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3413
34142008-07-25 Jason Rumney <jasonr@gnu.org>
3415
3416 * w32font.c (Fx_select_font): Reverse sense of second arg.
3417
34182008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3419
3420 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3421 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3422
3423 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3424 (PURESIZE): Use it.
3425
34262008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3427
3428 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3429 * m/alpha.h (TEXT_END):
3430 * m/ibmrs6000.h (TEXT_END):
3431 * m/macppc.h (TEXT_END):
3432 * s/darwin.h (TEXT_END):
3433 * s/msdos.h (TEXT_END): Remove, unused.
3434 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3435 * s/cygwin.h: Remove comment.
3436
3437 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3438 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3439 * m/intel386.h (DOT_GLOBAL_START):
3440 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3441 (USG): Remove, file not used on USG platforms.
3442
3443 * Makefile.in (HAVE_X11): Remove empty #else.
3444
34452008-07-24 Andreas Schwab <schwab@suse.de>
3446
3447 * fileio.c (Finsert_file_contents): Properly adjust undo list
3448 after format conversion.
3449
34502008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3451
3452 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3453 (menu_nav_ended): Remove.
3454 (create_menus): Remove signal connect for menu_nav_ended.
3455 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3456 create_menus.
3457 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3458
34592008-07-23 Jason Rumney <jasonr@gnu.org>
3460
3461 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3462 with opened font.
3463 (w32font_open): Set font type to gdi.
3464
3465 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3466
34672008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3468
3469 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3470 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3471 defines it.
3472 * unexec.c (ADDR_CORRECT): Define unconditionally.
3473
3474 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3475
3476 * unexec.c: Remove code depending on !COFF and USG, the file is
3477 not used for such systems.
3478
3479 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3480 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3481 (LD_SWITCH_SYSTEM_1): Remove, update users.
3482
3483 * s/darwin.h (DATA_END):
3484 * m/intel386.h (DATA_END):
3485 * m/ibmrs6000.h (DATA_END):
3486 * m/alpha.h (DATA_END): Remove, unused.
3487
3488 * config.in: Regenerate.
3489 * s/ms-w32.h (subprocesses): Define unconditionally.
3490 * s/template.h (subprocesses): Update comment.
3491 * s/vms.h (subprocesses):
3492 * s/usg5-4.h (subprocesses):
3493 * s/hpux10-20.h (subprocesses):
3494 * s/gnu-linux.h (subprocesses):
3495 * s/cygwin.h (subprocesses):
3496 * s/bsd-common.h (subprocesses):
3497 * s/aix4-2.h (subprocesses):
3498 * s/darwin.h (subprocesses): Do not define, defined by default now.
3499
3500 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3501 Remove all references.
3502 (temacs): Add GNUstep specific ld flags.
3503
3504 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3505 similarly to what X does.
3506
35072008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3508
3509 * nsfns.m (x-list-fonts): Remove.
3510 (syms_of_nsfns): Drop the x-list-fonts declaration.
3511 * nsterm.m: Get rid of remaining "//" comments.
3512
35132008-07-22 Chong Yidong <cyd@stupidchicken.com>
3514
3515 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3516
3517 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3518 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3519 (Fns_own_selection_internal, Fx_disown_selection_internal)
3520 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3521
3522 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3523 ... */' style of docstrings. Doc fixes.
3524
35252008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3526
3527 * terminfo.c (UP, BC, PC): Undo previous change.
3528
3529 * nsfns.m: Rename ns prefixed functions/variables to the
3530 corresponding x versions. Update references.
3531
35322008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3533
3534 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3535
35362008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3537
3538 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3539 Remove forwarding functions.
3540 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3541 non-static.
3542 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3543 non-static.
3544 (ns_frame_parm_handlers): Use the new names.
3545 (syms_of_nsfns): Move to the end of file.
3546
3547 * nsterm.m (syms_of_nsterm): Move to the end of file.
3548
3549 * dispnew.c (init_display): Remove code for X10.
3550
35512008-07-22 Jason Rumney <jasonr@gnu.org>
3552
3553 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3554 bare drive.
3555
35562008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3557
3558 * nsterm.m (syms_of_nsterm): Remove debugging println.
3559
35602008-07-22 David Reitter <david.reitter@gmail.com>
3561
3562 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3563 Carbon implementation of the same functionality: execute arbitrary
3564 AppleScript code.
3565
35662008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3567
3568 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3569 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3570 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3571 (Fx_display_mm_height, Fx_display_mm_width)
3572 (Fx_display_backing_store, Fx_display_visual_class)
3573 (Fx_display_save_under, Fx_open_connection)
3574 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3575 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3576 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3577 (Fx_display_pixel_width, Fx_display_pixel_height)
3578 (Fx_display_usable_bounds, Fx_display_planes)
3579 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3580 ... */' style of docstrings.
3581
35822008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3583
3584 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3585 on this platform.
3586 (mips):
3587 * m/iris4d.h (mips): Do not define.
3588 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3589
3590 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3591
3592 * image.c:
3593 * nsfns.m:
3594 * nsselect.m:
3595 * nsterm.h:
3596 * nsterm.m: Rename ns prefixed functions/variables to the
3597 corresponding x versions. Update references.
3598
3599 * m/ibms390x.h (NO_REMAP): Do not undefine.
3600
3601 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3602
36032008-07-21 Chong Yidong <cyd@stupidchicken.com>
3604
3605 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3606 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3607 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3608 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3609 (Fns_display_mm_height, Fns_display_mm_width)
3610 (Fns_display_backing_store, Fns_display_visual_class)
3611 (Fns_display_save_under, Fns_open_connection)
3612 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3613 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3614 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3615 (Fns_display_pixel_width, Fns_display_pixel_height)
3616 (Fns_display_usable_bounds, Fx_display_planes)
3617 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3618
36192008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3620
3621 * print.c (print_object): Check print_depth before searching for
3622 circularities.
3623
36242008-07-21 Michael Albinus <michael.albinus@gmx.de>
3625
3626 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3627 only sprintf.
3628
36292008-07-21 Kenichi Handa <handa@m17n.org>
3630
3631 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3632
36332008-07-20 Andreas Schwab <schwab@suse.de>
3634
3635 * syntax.c (find_start_pos, find_start_value)
3636 (find_start_value_byte, find_start_begv, find_defun_start)
3637 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3638
36392008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3640
3641 * s/sol2-3.h: Insert contents of s/sol2.h.
3642 (LD_SWITCH_SYSTEM): Remove redundant definition.
3643 * s/sol2.h: Remove, unused.
3644
36452008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3646
3647 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3648
36492008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3650
3651 * Makefile.in (ns_appdir): Fix typo in find command.
3652
36532008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3654
3655 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3656
3657 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3658 added not supported anymore.
3659
3660 * s/usg5-4-2.h (LIBS_SYSTEM):
3661 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3662
3663 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3664 * s/lynxos.h (GETPGRP_NO_ARG):
3665 * s/hpux10-20.h (NO_SIOCTL_H):
3666 * s/gnu.h (GETPGRP_NO_ARG):
3667 * s/gnu-linux.h (NO_SIOCTL_H):
3668 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3669 * s/cygwin.h (GETPGRP_NO_ARG):
3670 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3671 (C_DEBUG_SWITCH): Remove duplicate definition.
3672
3673 * m/ibms390.h: Remove boilerplate comments.
3674
3675 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3676
3677 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3678 (wait_reading_process_output): Remove code for SunOS, platform not
3679 supported anymore. Use SOLARIS2 instead of sun.
3680
36812008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3682
3683 * font.c (font_open_by_name): Under NS, default lface height to zero.
3684 (font_open_for_lface): Under NS, set size based on frame fontsize.
3685 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3686 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3687
36882008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3689
3690 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3691 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3692 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3693 YES/NO.
3694 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3695 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3696 * Makefile.in (clean): Clear out build destination dir.
3697
36982008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3699
3700 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3701 xterm, xselect.
3702 * lisp.h: Remove declaration of hash_remove.
3703 * nsgui.h: Remove redefinitions of hash_remove.
3704 * fns.c (hash_remove): Rename to hash_remove_from_table.
3705
37062008-07-19 Seiji Zenitani <zenitani@mac.com>
3707
3708 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3709 strdup() the family UTF8String before modifying it.
3710
37112008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3712
3713 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3714 NS_FACE_BACKGROUND with 0 instead of nil.
3715 * nsfont.m (nsfont_draw): Same.
3716
37172008-07-19 Chong Yidong <cyd@stupidchicken.com>
3718
3719 * nsfns.m (ns_set_background_color): Fix crash.
3720
37212008-07-18 Chong Yidong <cyd@stupidchicken.com>
3722
3723 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3724
37252008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3726
3727 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3728
37292008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3730
3731 * gtkutil.c: Include <config.h> instead of "config.h".
3732
3733 * lisp.h (Foverlay_buffer): Add EXFUN.
3734
3735 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3736 child process to complete child_setup. Undo 2005-09-21 change.
3737
3738 * s/darwin.h: Mention setsid after vfork.
3739
37402008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3741
3742 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3743 Depend on macgui.h.
3744
3745 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3746 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3747
3748 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3749 and f19.
3750 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3751
3752 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3753 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3754 Remove enumerators.
3755
3756 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3757 Check if FACE_FROM_ID returns NULL.
3758
37592008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3760
3761 * w32inevt.c (change_frame_size): Remove extern declaration.
3762 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3763 change_frame_size.
3764
37652008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3766
3767 * getloadavg.c: Revert last change (2008-07-15).
3768
37692008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3770
3771 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3772 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3773 from configure.
3774
37752008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3776
3777 * s/sol2.h:
3778 * s/sol2-4.h: Reorganize conditionals.
3779
3780 * ecrt0.c: Remove code depending on m68000, not used anymore.
3781
3782 * fns.c (hash_remove): Make static.
3783 * lisp.h (hash_remove): Don't prototype.
3784
3785 * m/ibmrs6000.h:
3786 * m/ibms390x.h:
3787 * m/macppc.h: Remove boilerplate comments.
3788
3789 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3790 Solaris, which does not need them.
3791
3792 * m/vax.h: Remove comments about unsupported systems.
3793
3794 * s/darwin.h: Reorganize ifdefs.
3795
37962008-07-17 Andreas Schwab <schwab@suse.de>
3797
3798 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3799
38002008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3801
3802 Use SDATA. Follow coding convention of placing operators at
3803 beginning of next line rather than end of previous line, and placing
3804 spaces around infix operators.
3805
3806 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3807 in case it was defined already.
3808 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3809 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3810 ns_default.
3811 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3812 Lisp_Objects.
3813 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3814 (ns_defined_color, ns_color_to_lisp): Declare.
3815 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3816 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3817 it's accepted even with USE_LISP_UNION_TYPE.
3818 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3819 (update_frame_tool_bar): Remove apparently obsolete tests for
3820 non-integerness of f->tool_bar_lines.
3821 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3822 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3823 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3824 (nsfont_open): Don't confuse NULL for Qnil.
3825 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3826 * menu.h (find_and_call_menu_selection):
3827 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3828 (find_and_return_menu_selection): Always return something.
3829 * frame.h: Include dispextern.h for Display_Info.
3830 (display_x_get_resource): Declare.
3831
38322008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3833
3834 * syntax.c: Remove stdio.h include accidentally introduced in
3835 Emacs.app commit.
3836 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3837 NS_IMPL_COCOA.
3838 * keyboard.c (handle_async_input, input_available_signal): Remove
3839 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3840
38412008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3842
3843 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3844 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3845 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3846 Use SDATA.
3847
3848 * keymap.c: Remove all NS-specific code.
3849 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3850 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3851 where_is_preferred_modifier, return a different value depending on how
3852 preferred is the binding.
3853 (where_is_internal): Adjust accordingly.
3854 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3855 Adjust to new preferred_sequence_p.
3856 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3857 * keyboard.c (parse_solitary_modifier): Not static any more.
3858 * keyboard.h (parse_solitary_modifier): Declare.
3859
38602008-07-16 Andreas Schwab <schwab@suse.de>
3861
3862 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3863 of easymenu.
3864
38652008-07-16 Chong Yidong <cyd@stupidchicken.com>
3866
3867 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3868 that we don't move off the line.
3869
38702008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3871
3872 * keyboard.c (Qsuper): Remove.
3873 (parse_menu_item): Don't call where_is_internal specially for NS.
3874
38752008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3876
3877 * s/gnu-linux.h: Remove boilerplate comments.
3878
3879 * m/alpha.h (__ELF__): Consolidate conditions.
3880
3881 * m/m68k.h (linux): Use GNU_LINUX instead.
3882 Remove boilerplate comments.
3883
3884 * m/intel386.h: Undo refactoring from previous change.
3885 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3886 too, remove dead code.
3887 (linux): Use GNU_LINUX instead.
3888
38892008-07-16 Jason Rumney <jasonr@gnu.org>
3890
3891 * w32gui.h: Repeat 26 June changes lost by last change.
3892
38932008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3894
3895 * systty.h: Remove code for Aix on 386, unsupported platform.
3896
3897 * s/ms-w32.h: Remove boilerplate comments.
3898 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3899
3900 * s/gnu-linux.h (TERM): Remove support.
3901 (HAVE_SYSVIPC): Remove, unused.
3902 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3903 for this system.
3904
3905 * process.c: Remove support for IRIS, unused.
3906 Remove support for TERM, not relevant anymore.
3907
3908 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3909 used with the definition.
3910
3911 * s/aix4-2.h (static): Do not undef.
3912
3913 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3914 only used on Aix.
3915 (HAVE_SYSVIPC): Remove, unused.
3916
3917 * m/hp800.h (CANNOT_DUMP): Do not undef.
3918
3919 * m/alpha.h: Fix comment.
3920
3921 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3922 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3923 used by this configuration.
3924 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3925 * unexec.c: Remove code depending on HPUX and
3926 USG_SHARED_LIBRARIES, not used with this file. Remove code
3927 depending on IRIS, unused. Remove if 0-ed code.
3928
3929 * s/template.h: Remove comments about static.
3930
3931 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3932 Remove if 0-ed code.
3933 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3934 were the same as the default.
3935 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3936 Remove boilerplate comments.
3937 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3938 (HAVE_SYSVIPC): Remove, unused.
3939 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3940
3941 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3942 Remove boilerplate comments.
3943 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3944 Remove boilerplate comments.
3945 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3946 Remove boilerplate comments.
3947 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3948
3949 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3950 USG systems which do not use DATA_SEG_BITS.
3951 Refactor code. Remove boilerplate comments.
3952
3953 * m/ibms390.h:
3954 * m/m68k.h:
3955 * s/bsd-common.h:
3956 * s/cygwin.h:
3957 * s/darwin.h:
3958 * s/freebsd.h:
3959 * s/gnu.h:
3960 * s/msdos.h: Remove boilerplate comments.
3961
3962 * m/iris4d.h: Remove boilerplate comments and code for systems that
3963 do not use this file.
3964 (IRIS_4D): Remove, unused.
3965
3966 * m/mips.h: Remove boilerplate comments and code for systems that
3967 do not use this file.
3968 (SIGN_EXTEND_CHAR):
3969 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3970 * unexmips.c: Remove file, unused.
3971
3972 * editfns.c (Fuser_full_name): Replace the only use of
3973 USER_FULL_NAME with its value.
3974 * config.in: Regenerate.
3975
39762008-07-16 David Reitter <david.reitter@gmail.com>
3977
3978 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3979 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3980
39812008-07-16 Glenn Morris <rgm@gnu.org>
3982
3983 * emacs.c (system-type): Doc fix.
3984
39852008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3986
3987 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3988 If the cache doesn't work, let's fix it, rather than work around it.
3989
39902008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3991
3992 * Makefile.in: Correct additions for nsfont.o in last commit.
3993 * nsfont.m: New file (forgot last commit).
3994
39952008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3996
3997 * callproc.c (set_initial_environment): Initialize
3998 Vprocess_environment under CANNOT_DUMP (fixes crash when
3999 batch-compiling for bootstrap).
4000
40012008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4002 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4003
4004 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
4005 fix crash due to different init order.
4006
40072008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4008
4009 Changes and additions for NeXTstep windowing system (Cocoa and
4010 GNUstep) support.
4011
4012 * Makefile.in:
4013 * config.in: Support defines and build commands for NS port.
4014 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
4015 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
4016 * dispextern.h: Include nsgui.h and add needed typedefs under NS
4017 windowing.
4018 (struct face): Add synth_ital field.
4019 * dispnew.c: Include nsterm.h when compiling under NS windowing.
4020 (init_display): Initialize Vinitial_window_system to "ns" when so
4021 compiled.
4022 * emacs.c: Include GSConfig.h when compiling under GNUstep.
4023 (display_arg): Use under NS.
4024 (main): Under NS, allocate autorelease pool and handle command line
4025 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
4026 (standard_args): Add NS-specific args.
4027 (shut_down_emacs): Shut down NS terminal if compiled under NS.
4028 * font.c (DEFAULT_ENCODING): New variable.
4029 (font_find_for_lface): Use it.
4030 (syms_of_font): Load syms_of_nsfont under NS.
4031 * font.h: Declare nsfont_driver when compiled under NS.
4032 * fontset.c: When compiling under NS, include nsterm.h.
4033 (fontset_from_font): Autoconstruct fontset under NS.
4034 * frame.c (various): Under NS, include nsterm.h, add Qns window system
4035 symbol, document and use it.
4036 (do_switch_frame): When for_deletion under Cocoa, add
4037 Fraise_frame(Qnil).
4038 (x_set_frame_parameters): Ensure font attribute changes are picked up.
4039 (x_get_arg): Allow "yes" and "no" as boolean values.
4040 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
4041 Qright under Cocoa.
4042 (focus-follows-mouse): Default to 0 under NS.
4043 * frame.h (enum output_method): Add output_ns.
4044 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
4045 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
4046 (FRAME_WINDOW_P): NS-specific definition.
4047 * fringe.c (max_used_fringe_bitmap): Make public.
4048 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
4049 (getloadavg): Use NeXT code under descendant OS's.
4050 * image.c (includes and header section, x_create_bitmap_from_data)
4051 (x_create_bitmap_from_file, free_bitmap_record, image_background)
4052 (image_background_transparent, x_clear_image_1)
4053 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4054 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
4055 (x_to_xcolors, x_from_xcolors, x_disable_image)
4056 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
4057 other GUIs, including XPM support using code originally written for
4058 Carbon GUI.
4059 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
4060 using NS API.
4061 (image_ascent): Use font metrics macros instead of direct struct field
4062 access.
4063 * keyboard.c (includes): Add nsterm.h when compiling under NS.
4064 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
4065 Also, handle NS as GTK for menu bar purposes.
4066 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
4067 toolkit where they differ.
4068 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
4069 use cachelist, still needed under NS.
4070 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
4071 (struct widget_value): Define it here for menu.c.
4072 * keymap.c (includes): Include modifier internals.
4073 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
4074 NS.
4075 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
4076 support for preferring sequences using certain modifiers, specified by
4077 the FIRSTONLY argument.
4078 * lisp.h (hash_remove): Rename to avoid name clash when compiling
4079 under NS GNUstep implementation.
4080 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
4081 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
4082 * menu.c: Include nsterm.h under NS.
4083 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
4084 (free_menubar_widget_tree_value, update_submenu_strings)
4085 (find_and_call_menu_selection): Treat NS as X and NT.
4086 (find_and_return_menu_selection): New function, used for popup menus.
4087 * nsgui.h:
4088 * nsterm.h:
4089 * nsfns.m:
4090 * nsimage.m:
4091 * nsmenu.m:
4092 * nsselect.m:
4093 * nsterm.m: New files.
4094 * process.c (wait_reading_process_output): Under NS, call ns_select()
4095 instead of plain select().
4096 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4097 beginning of buffer.
4098 * sysselect.h (init_process): Rename when compiling under Cocoa to
4099 avoid name conflict.
4100 * termhooks.h (display_info): Add ns_display_info to union.
4101 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4102 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4103 COCOA environment.
4104 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4105 unexec() signature. (Note, this will dump, but the resulting file
4106 crashes; unexosx is used instead; keeping around for reference and
4107 possible aid in getting dump working under GNUstep.)
4108 * w32gui.h (button_type, widget_value): Remove definitions (now in
4109 keyboard.h).
4110 * window.c: Include nsterm.h when compiling under NS.
4111 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4112 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4113 other GUI windowing systems.
4114 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4115 GTK.
4116 (x_consider_frame_title): Under NS, set icon type and frame
4117 modified-state indicator; use ns_set_name_as_filename() when using
4118 formatted title.
4119 (update_window_cursor): Make public when compiling under NS.
4120 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4121 (hourglass_atimer, Vhourglass_delay
4122 * xfaces.c (header section, init_frame_faces, clear_font_table)
4123 (defined_color, unload_color, x_face_list_fonts)
4124 (prepare_face_for_display): Add NS support parallel to other GUIs.
4125 Emulate GCs like other non-X GUIs.
4126 (split_font_name): Don't lowercase font name under NS.
4127 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4128 under NS.
4129 * s/darwin.h: Add support for compilation under NS.
4130
41312008-07-15 Jason Rumney <jasonr@gnu.org>
4132
4133 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4134 (w32_show_hourglass): Rename from show_hourglass.
4135 (w32_hide_hourglass): Rename from hide_hourglass.
4136 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4137 (Vhourglass_delay): Declare extern.
4138 (hourglass_started): Remove.
4139
4140 * xdisp.c (Vhourglass_delay): Remove static.
4141 (hourglass_started, start_hourglass, cancel_hourglass):
4142 Don't include these versions on WINDOWSNT.
4143
41442008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4145
4146 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4147 variables (formerly in xfns.c).
4148 (show_hourglass, hide_hourglass): New prototypes (same).
4149 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4150 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4151 in xfns.c).
4152 (syms_of_xdisp): Declare/initialize display-hourglass,
4153 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4154 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4155 formerly in xfns.c.
4156 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4157 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4158 (start_hourglass, cancel_hourglass): Remove.
4159 (show_hourglass, hide_hourglass): Remove prototypes and static
4160 modifiers.
4161 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4162 hourglass_atimer, hourglass_shown_p declaration/initialization.
4163 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4164 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4165 (start_hourglass, cancel_hourglass): Remove.
4166 (show_hourglass, hide_hourglass): Remove prototypes and static
4167 modifiers.
4168 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4169 hourglass_atimer, hourglass_shown_p declaration/initialization.
4170 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4171 (DEFAULT_HOURGLASS_DELAY): Remove.
4172 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4173 hourglass_shown_p declaration/initialization.
4174
41752008-07-14 Jason Rumney <jasonr@gnu.org>
4176
4177 * w32fns.c (w32_get_arg): Remove wrapper function.
4178 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4179 directly.
4180 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4181
41822008-07-14 Kenichi Handa <handa@m17n.org>
4183
4184 * xfont.c (xfont_open): Add workaround for X's bug.
4185
41862008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4187
4188 * fontset.c: Include <stdio.h> unconditionally.
4189
41902008-07-13 Michael Albinus <michael.albinus@gmx.de>
4191
4192 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4193 for filtering.
4194
41952008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4196
4197 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4198
4199 * m/macppc.h:
4200 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4201
4202 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4203 (SPECIAL_EMACS_INT):
4204 * m/ia64.h (SPECIAL_EMACS_INT):
4205 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4206 * s/gnu.h (NLIST_STRUCT):
4207 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4208 * s/gnu-linux.h (LINUX):
4209 * s/msdos.h (HAVE_FACES):
4210 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4211
4212 * systty.h:
4213 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4214 anymore.
4215
42162008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4217
4218 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4219 always defined as int.
4220
4221 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4222 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4223 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4224 * s/freebsd.h (HAVE_WAIT_HEADER):
4225 * s/bsd-common.h (HAVE_UNION_WAIT):
4226 * s/aix4-2.h (HAVE_WAIT_HEADER):
4227 * m/mips.h (HAVE_UNION_WAIT):
4228 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4229 (COFF, static): Do not define, they are undefined later in the file.
4230
4231 * process.c (update_status): Don't use a union.
4232 (status_convert):
4233 (sigchld_handler): Use int instead of WAITTYPE.
4234
42352008-07-12 Chong Yidong <cyd@stupidchicken.com>
4236
4237 * indent.c (Fvertical_motion): Restore hscroll before moving to
4238 goal column.
4239
42402008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4241
4242 * lisp.h: Remove left over code.
4243
42442008-07-11 Andreas Schwab <schwab@suse.de>
4245
4246 * lisp.h: Fix logic in last change.
4247
4248 * menu.h: New file.
4249 * menu.c: Include it.
4250 * xmenu.c: Likewise.
4251 * Makefile.in: Update dependencies.
4252
42532008-07-11 Kenichi Handa <handa@m17n.org>
4254
4255 * fontset.c (fontset_from_font): Cancel the previous change.
4256
42572008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4258
4259 * lisp.h:
4260 * w32heap.c:
4261 * emacs.c:
4262 * alloc.c: Replace all references of NO_UNION_TYPE with
4263 USE_LISP_UNION_TYPE.
4264
4265 * m/xtensa.h (NO_UNION_TYPE):
4266 * m/vax.h (NO_UNION_TYPE):
4267 * m/template.h (NO_UNION_TYPE):
4268 * m/sparc.h (NO_UNION_TYPE):
4269 * m/mips.h (NO_UNION_TYPE):
4270 * m/macppc.h (NO_UNION_TYPE):
4271 * m/m68k.h (NO_UNION_TYPE):
4272 * m/iris4d.h (NO_UNION_TYPE):
4273 * m/intel386.h (NO_UNION_TYPE):
4274 * m/ibms390x.h (NO_UNION_TYPE):
4275 * m/ibms390.h (NO_UNION_TYPE):
4276 * m/ibmrs6000.h (NO_UNION_TYPE):
4277 * m/ia64.h (NO_UNION_TYPE):
4278 * m/hp800.h (NO_UNION_TYPE):
4279 * m/arm.h (NO_UNION_TYPE):
4280 * m/amdx86-64.h (NO_UNION_TYPE):
4281 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4282 defining it the same.
4283
42842008-07-10 Chong Yidong <cyd@stupidchicken.com>
4285
4286 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4287
42882008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4289
4290 * fileio.c:
4291 * sysdep.c
4292 * systty.h:
4293 * m/ibmrs6000.h:
4294 * m/iris4d.h:
4295 * s/aix4-2.h:
4296 * s/freebsd.h:
4297 * s/gnu-linux.h:
4298 * s/hpux10-20.h:
4299 * s/hpux11.h:
4300 * s/netbsd.h:
4301 * s/sol2-3.h:
4302 * s/sol2-4.h:
4303 * s/sol2.h:
4304 * s/usg5-4.h:
4305 * s/vms.h: Remove references to unused variables.
4306
43072008-07-10 Andreas Schwab <schwab@suse.de>
4308
4309 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4310 pattern before matching the generic family.
4311
43122008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4313
4314 * unexec.c:
4315 * s/vms.h:
4316 * s/usg5-4-2.h:
4317 * s/sol2-5.h:
4318 * s/freebsd.h:
4319 * s/darwin.h: Remove dead code.
4320
4321 * m/template.h:
4322 * m/sparc.h:
4323 * m/mips.h:
4324 * m/m68k.h:
4325 * m/iris4d.h:
4326 * m/intel386.h:
4327 * m/ibms390x.h:
4328 * m/ibms390.h:
4329 * m/ia64.h:
4330 * m/hp800.h:
4331 * m/arm.h:
4332 * m/amdx86-64.h: Remove dead code and references to unused
4333 and compiler defined symbols.
4334
4335 * unexmips.c:
4336 * unexelf.c: Remove references to desupported systems.
4337
4338 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4339
4340 * m/powermac.h: Remove boilerplate comments.
4341 (NO_REMAP): Remove unused definition.
4342
4343 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4344 define them.
4345
43462008-07-10 Kenichi Handa <handa@m17n.org>
4347
4348 * xfont.c (xfont_open): Log the reason of failure.
4349
43502008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4351
4352 * fontset.c (fontset_get_font_group):
4353 * font.c (font_check_otf): Specify argument types.
4354
43552008-07-09 Kenichi Handa <handa@m17n.org>
4356
4357 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4358 non-ASCII char is found.
4359
4360 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4361 (reorder_font_vector): Change the arg preferred_family to font.
4362 Prefer the spec matching with font.
4363 (fontset_get_font_group): New function.
4364 (fontset_find_font): Change the format of an element of a realized
4365 fontset. Use fontset_get_font_group.
4366 (fontset_font): Try the current fontset, the default fontset, the
4367 fallbacks of the current fontset, and the fallbacks of the default
4368 fontset in this order.
4369 (face_for_char): Delete the shortcut to use the current font.
4370 (fontset_from_font): Don't set fonts for Latin in the fontset.
4371
4372 * font.h (font_make_object, font_match_p): Adjust prototypes.
4373
4374 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4375
4376 * font.c (font_make_object): New arg entity and pixelsize.
4377 (font_check_otf_features, font_check_otf): New functions.
4378 (font_match_p): Check :lang, :script, and :otf properties.
4379
4380 * xfont.c (xfont_open): Adjust it for the change of
4381 font_make_object.
4382 (xfont_text_extents): Fix initial setting of metrics.
4383
4384 * ftfont.c (struct ftfont_info): New member index, delete member
4385 fc_charset_idx. Make the member order compatible with struct
4386 xftfont_info.
4387 (fc_charset_table): Change charset names to registry names.
4388 (ftfont_pattern_entity): Delete the args registry and
4389 fc_charset_idx. Change the value of :font-entity property
4390 to (FONTNAME . INDEX). Always set :registry property to
4391 `iso10646-1'.
4392 (struct ftfont_cache_data): New struct.
4393 (ftfont_lookup_cache): New arg for_face.
4394 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4395 (ftfont_driver): Set the member otf_capability.
4396 (ftfont_get_charset): Adjust it for the change of
4397 fc_charset_table.
4398 (OTF_TAG_SYM): New macro.
4399 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4400 for the change of fc_charset_table.
4401 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4402 ftfont_pattern_entity. Add FC_INDEX to objset.
4403 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4404 and ftfont_pattern_entity.
4405 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4406 font_make_object, struct ftfont_info.
4407 (ftfont_has_char): Use ftfont_get_fc_charset.
4408 (ftfont_otf_features, ftfont_otf_capability): New functions.
4409 (ftfont_shape): Use ftfont_get_otf.
4410 (ftfont_text_extents): Fix initial setting of metrics.
4411
4412 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4413 member order compatible with struct ftfont_info.
4414 (xftfont_open): Add FC_CHARSET to the pattern. Set
4415 xftfont_info->ft_size. Don't unlock the face. Check BDF
4416 properties if appropriate.
4417 (xftfont_close): Unlock the face.
4418 (xftfont_anchor_point, xftfont_shape): Deleted.
4419 (syms_of_xftfont): Don't set members anchor_point and shape of
4420 xftfont_driver.
4421
4422 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4423 font_make_object.
4424
4425 * w32font.c (w32font_open): Adjust it for the change of
4426 font_make_object.
4427 (w32font_open_internal): Don't set properties of font_object here.
4428
44292008-07-08 Chong Yidong <cyd@stupidchicken.com>
4430
4431 * macfns.c (x_create_tip_frame):
4432 * w32fns.c (x_create_tip_frame):
4433 * xfns.c (x_create_tip_frame): Pass parameter argument to
4434 face-set-after-frame-default.
4435
4436 * xfaces.c (Finternal_merge_in_global_face): Save merged
4437 attributes for the default face back into the face vector.
4438
44392008-07-08 Andreas Schwab <schwab@suse.de>
4440
4441 * fontset.h: Declare fontset_from_font. Don't declare
4442 new_fontset_from_font and fontset_from_font_name.
4443 * xterm.c: Include "fontset.h".
4444 * Makefile.in (xterm.o): Update dependencies.
4445
44462008-07-08 Glenn Morris <rgm@gnu.org>
4447
4448 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4449 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4450
44512008-07-07 Chong Yidong <cyd@stupidchicken.com>
4452
4453 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4454 (x_set_frame_parameters): Don't bind it.
4455
44562008-07-07 Juanma Barranquero <lekktu@gmail.com>
4457
4458 * w32fns.c (map_w32_filename): Declare extern.
4459
44602008-07-07 Jason Rumney <jasonr@gnu.org>
4461
4462 * w32term.c (WS_EX_LAYERED): Define if not already.
4463
44642008-07-06 Chong Yidong <cyd@stupidchicken.com>
4465
4466 * xfaces.c (set_font_frame_param): Don't try to set the font
4467 parameter if it is still unspecified in the lface.
4468
44692008-07-05 Chong Yidong <cyd@stupidchicken.com>
4470
4471 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4472 face if it didn't already exist.
4473
4474 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4475
44762008-07-05 Andreas Schwab <schwab@suse.de>
4477
4478 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4479
44802008-07-05 Chong Yidong <cyd@stupidchicken.com>
4481
4482 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4483 word-wrapping.
4484 (IT_DISPLAYING_WHITESPACE): New macro.
4485 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4486 when word-wrapping. Simplify word-wrapping logic. Use correct
4487 pixel positions when saving copies of the iterator.
4488 (display_line): Use proper wrap point if the last character on a
4489 line was preceded by whitespace.
4490
44912008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4492
4493 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4494
44952008-07-04 Kenichi Handa <handa@m17n.org>
4496
4497 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4498
4499 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4500
45012008-07-02 Jason Rumney <jasonr@gnu.org>
4502
4503 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4504 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4505
4506 * xdisp.c (next_element_from_display_vector): Move assignment out
4507 of if statement.
4508
45092008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4510
4511 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4512
4513 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4514 (syms_of_fileio): Initialize and export them.
4515 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4516
4517 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4518 (Fsystem_move_file_to_trash): New function.
4519 (syms_of_w32fns): Export it to lisp.
4520
45212008-07-01 Jason Rumney <jasonr@gnu.org>
4522
4523 * w32font.c (w32font_text_extents): Don't count overhang as part
4524 of width.
4525
45262008-06-30 Miles Bader <miles@gnu.org>
4527
4528 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4529 Add `avoid_cursor_p' field.
4530
4531 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4532 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4533 (append_glyph, append_composite_glyph, produce_image_glyph)
4534 (append_stretch_glyph): Initialize avoid_cursor_p.
4535 (get_it_property): Rename from `get_line_height_property'.
4536 (x_produce_glyphs): Use get_it_property.
4537 (handle_line_prefix, push_display_prop): New functions.
4538 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4539 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4540 New variables.
4541 (syms_of_xdisp): Initialize them.
4542
45432008-06-30 Kenichi Handa <handa@m17n.org>
4544
4545 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4546 XftDefaultSubstitute (they are called in XftFontMatch).
4547 (xftfont_open): Fix args to ftfont_font_format.
4548
4549 * ftfont.c (fc_charset_table): New member lang.
4550 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4551 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4552 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4553 (ftfont_open): Fix args to ftfont_font_format.
4554 (ftfont_font_format): New arg filename.
4555
45562008-06-30 Chong Yidong <cyd@stupidchicken.com>
4557
4558 * xfaces.c (Finternal_merge_in_global_face): If default face was
4559 modified, realize it again. Update the font face attribute.
4560
45612008-06-29 Jason Rumney <jasonr@gnu.org>
4562
4563 * w32term.c (x_set_frame_alpha): Fix logic.
4564
45652008-06-29 Kenichi Handa <handa@m17n.org>
4566
4567 * fontset.c (Finternal_char_font): Return font-object instead of
4568 font-name.
4569
4570 * composite.c (get_composition_id): Fix the width calculation for TAB.
4571
45722008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4573
4574 * indent.c (Fvertical_motion): Properly handle float column arg.
4575
45762008-06-28 Jason Rumney <jasonr@gnu.org>
4577
4578 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4579 (pfnSetLayeredWindowAttributes): New function pointer.
4580 (w32_initialize): Initialize it when supported.
4581 (x_set_frame_alpha): New function.
4582
4583 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4584 (w32_frame_parm_handlers): Set alpha handler.
4585
4586 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4587
45882008-06-27 Jason Rumney <jasonr@gnu.org>
4589
4590 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4591 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4592 (w32_to_x_charset, x_to_w32_charset)
4593 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4594 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4595 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4596 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4597 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4598 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4599 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4600 (Qw32_charset_unicode): Remove.
4601 (syms_of_w32fns): Update for above changes.
4602
4603 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4604 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4605 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4606 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4607 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4608 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4609 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4610 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4611 (syms_of_w32font): Update for above changes.
4612
46132008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4614
4615 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4616 removed #if.
4617 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4618
46192008-06-26 Juanma Barranquero <lekktu@gmail.com>
4620 Eli Zaretskii <eliz@gnu.org>
4621
4622 * makefile.w32-in (LOCAL_FLAGS):
4623 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4624
4625 * sysdep.c (_spawnlp, _getpid):
4626 Declare with explicit _cdecl instead of _CRTAPI1.
4627
4628 * editfns.c (Fget_internal_run_time):
4629 Check for WINDOWSNT with #ifdef, not #if.
4630
46312008-06-26 Jason Rumney <jasonr@gnu.org>
4632
4633 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4634
4635 * w32term.c (x_draw_glyph_string_foreground)
4636 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4637 Use FONT_HANDLE macro.
4638 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4639
4640 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4641 (uniscribe_encode_char): Use FONT_HANDLE macro.
4642
4643 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4644 (w32font_text_extents): Use precast w32_font.
4645 (w32font_close): Free cached metrics.
4646 (w32font_open_internal): Allocate space for name on stack.
4647
46482008-06-26 Chong Yidong <cyd@stupidchicken.com>
4649
4650 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4651
46522008-06-26 Jason Rumney <jasonr@gnu.org>
4653
4654 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4655 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4656
46572008-06-26 Juanma Barranquero <lekktu@gmail.com>
4658
4659 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4660
46612008-06-26 Jason Rumney <jasonr@gnu.org>
4662
4663 * w32bdf.c, w32bdf.h: Remove obsolete files.
4664
4665 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4666
4667 * w32gui.h: Don't include w32bdf.h.
4668 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4669 Remove obsolete font support.
4670
4671 * w32font.h (struct w32font_info): Remove compat_w32_font.
4672 Add hfont member.
4673 (FONT_COMPAT): Remove obsolete macro.
4674
4675 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4676 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4677 (w32font_open_internal): Remove compat code. Set new hfont member.
4678 (Fx_select_font): Use new hfont member.
4679
4680 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4681 (uniscribe_encode_char): Use new hfont member.
4682
4683 * w32term.c (x_draw_glyph_string_foreground)
4684 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4685 (x_draw_glyph_string): Use metrics in w32font_info.
4686
46872008-06-26 Kenichi Handa <handa@m17n.org>
4688
4689 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4690
46912008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4692
4693 * unexnext.c:
4694 * m/ews4800.h:
4695 * m/hp9000s300.h:
4696 * m/ibm370aix.h:
4697 * m/mips-siemens.h:
4698 * m/ncr386.h:
4699 * m/next.h:
4700 * m/pmax.h:
4701 * m/powerpcle.h:
4702 * m/tandem-s2.h:
4703 * s/386bsd.h:
4704 * s/bsd386.h:
4705 * s/bsd4-1.h:
4706 * s/bsd4-2.h:
4707 * s/bsdos2-1.h:
4708 * s/bsdos2.h:
4709 * s/bsdos3.h:
4710 * s/bsdos4.h:
4711 * s/nextstep.h:
4712 * s/ultrix4-3.h:
4713 * s/usg5-0.h:
4714 * s/usg5-2-2.h:
4715 * s/usg5-2.h:
4716 * s/usg5-4-3.h:
4717 * s/ux4800.h:
4718 * s/uxpds.h:
4719 * s/uxpv.h: Remove support for obsolete systems.
4720 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4721 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4722 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4723 Remove, insert contents in s/aix4-2.h.
4724 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4725 * s/bsd4-3.h: Rename to ...
4726 * s/bsd-common.h: ... this.
4727 * data.c:
4728 * doc.c:
4729 * ecrt0.c:
4730 * emacs.c:
4731 * fileio.c:
4732 * floatfns.c:
4733 * keyboard.c:
4734 * mem-limits.h:
4735 * print.c:
4736 * process.c:
4737 * sysdep.c:
4738 * syssignal.h:
4739 * systty.h:
4740 * syswait.h:
4741 * term.c:
4742 * unexec.c:
4743 * unexelf.c:
4744 * unexhp9k800.c:
4745 * m/hp800.h:
4746 * m/ibmrs6000.h:
4747 * m/mips.h:
4748 * m/vax.h:
4749 * s/darwin.h:
4750 * s/freebsd.h:
4751 * s/gnu.h:
4752 * s/ms-w32.h:
4753 * s/msdos.h:
4754 * s/netbsd.h:
4755 * s/template.h: Remove references to obsolete variables.
4756
4757 * Makefile.in: Add dependencies for all unexec files.
4758 (admindir): Remove unused variable.
4759 (UNEXEC_SRC): Remove references.
4760
47612008-06-25 Chong Yidong <cyd@stupidchicken.com>
4762
4763 * xfns.c (x_default_font_parameter): If Xft is available, first
4764 try Monospace-12 for the default font.
4765
47662008-06-25 Jason Rumney <jasonr@gnu.org>
4767
4768 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4769
47702008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4771
4772 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4773
4774 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4775
47762008-06-25 Juanma Barranquero <lekktu@gmail.com>
4777
4778 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4779 <scroll-conservatively>: Fix typo in docstring.
4780
4781 * xselect.c (Fx_send_client_event): Doc fix.
4782
47832008-06-25 Kenichi Handa <handa@m17n.org>
4784
4785 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4786
4787 * font.c (font_parse_fcname): Remove unused variables.
4788 (font_sort_entites): Delete the arg SPEC. Caller changed.
4789 Fix for the case of ! best_only.
4790 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4791
4792 * lisp.h (Fstring_to_unibyte): EXFUN it.
4793
4794 * character.h (str_to_unibyte): Extern it.
4795
4796 * character.c (str_to_unibyte): New function.
4797
4798 * fns.c (Fstring_to_unibyte): New function.
4799 (syms_of_fns): Defsubr it.
4800
48012008-06-24 Kenichi Handa <handa@m17n.org>
4802
4803 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4804 DPI too.
4805 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4806
48072008-06-24 Andreas Schwab <schwab@suse.de>
4808
4809 * Makefile.in (${lispsource}loaddefs.el): Rename from
4810 ../lisp/loaddefs.el.
4811 (bootstrap-clean): Do what distclean does but don't remove
4812 Makefile.
4813 (distclean): Depend on bootstrap-clean and remove Makefile.
4814
48152008-06-24 Chong Yidong <cyd@stupidchicken.com>
4816
4817 * buffer.h (struct buffer): New member word_wrap.
4818
4819 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4820 word-wrap.
4821 (init_buffer_once): Initialize them.
4822
4823 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4824 line_wrap enum possessing three possible values.
4825
4826 * termopts.h: Replace truncate_partial_width_windows with
4827 Vtruncate_partial_width_windows.
4828
4829 * dispnew.c (direct_output_for_insert): Avoid direct output when
4830 inserting a space with word wrap on.
4831
4832 * indent.c (compute_motion): Obey integer values of
4833 truncate-partial-width-windows.
4834
4835 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4836 replacing truncate_partial_width_windows.
4837 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4838 truncate only if the window width is below that integer.
4839 (start_display, resize_mini_window, produce_stretch_glyph)
4840 (display_string, move_it_in_display_line_to): Use line_wrap.
4841 (back_to_previous_visible_line_start, reseat_1): Reset
4842 string_from_display_prop_p.
4843 (display_line): Extend default face to end of line when wrapping.
4844
48452008-06-24 Kim F. Storm <storm@cua.dk>
4846
4847 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4848 to wrap continued lines at word boundaries.
4849
48502008-06-24 Jason Rumney <jasonr@gnu.org>
4851
4852 * font.c (Ffont_face_attributes): Multiply pixel size before point
4853 conversion to avoid multiplying rounding error.
4854
48552008-06-23 Jason Rumney <jasonr@gnu.org>
4856
4857 * w32term.c (x_draw_glyph_string_background)
4858 (x_draw_glyph_string): Remove old bdf font code.
4859
4860 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4861
48622008-06-22 Kenichi Handa <handa@m17n.org>
4863
4864 * font.c (font_find_for_lface): Try the adstyle specified in
4865 the property of LFACE_FONT of LFACE (if any).
4866
48672008-06-21 Seiji Zenitani <zenitani@mac.com>
4868 Ryo Yoshitake <ryo@shiftmode.net>
4869
4870 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4871
48722008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4873
4874 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4875 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4876 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4877 (witness-emacs): Remove.
4878 (lisp, shortlisp): Move loaddefs.el earlier.
4879 (mostlyclean): Forget about witness-emacs.
4880
48812008-06-22 Glenn Morris <rgm@gnu.org>
4882
4883 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4884 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4885
48862008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4887
4888 * Makefile.in (PRECOMP): Remove.
4889 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4890 (witness-emacs): Run `compile-first'.
4891 (.el.elc): Use the new compile-onefile target.
4892
48932008-06-21 Kenichi Handa <handa@m17n.org>
4894
4895 * xftfont.c (xftfont_open): Handle QCembolden only when
4896 FC_EMBOLDEN is defined.
4897
48982008-06-21 Andreas Schwab <schwab@suse.de>
4899
4900 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4901 (.el.elc): Likewise.
4902
49032008-06-21 Miles Bader <miles@gnu.org>
4904
4905 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4906 build dir, not the lisp source dir.
4907
49082008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4909
4910 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4911 (bootstrapclean): Remove.
4912 (.el.elc): New rule.
4913 (PRECOMP): New var.
4914 (../lisp/subdirs.el): Remove.
4915 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4916 (witness-emacs): New target.
4917 (mostlyclean): Remove witness-emacs as well.
4918 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4919 Add witness-emacs dependency.
4920
49212008-06-20 Chong Yidong <cyd@stupidchicken.com>
4922
4923 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4924 defined by the font.
4925
49262008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4927
4928 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4929 (bootstrap-clean): New target that keeps TAGS around.
4930 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4931 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4932
49332008-06-20 Jason Rumney <jasonr@gnu.org>
4934
4935 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4936 Remove obsolete font code.
4937
4938 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4939 to determine language support.
4940
49412008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4942
4943 * sysdep.c (cfsetspeed): New fun extracted from the code.
4944 (cfmakeraw): Move before first use.
4945
49462008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4947
4948 * sysdep.c (cfmakeraw): Provide fallback implementation.
4949 (serial_configure): Provide fallback implementation of cfsetspeed.
4950
49512008-06-20 Kenichi Handa <handa@m17n.org>
4952
4953 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4954 the pattern.
4955
4956 * fontset.c (fontset_from_font): Copy font_spec before changing
4957 the elements.
4958
4959 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4960
49612008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4962
4963 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4964 for explicit `font' parameters.
4965
4966 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4967
49682008-06-19 Kenichi Handa <handa@m17n.org>
4969
4970 * frame.c: Include <ctype.h>.
4971 (x_set_font_backend): Allow spacing characters in the X resource
4972 for FontBackend.
4973
49742008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4975
4976 * w32fns.c, xfns.c (Qfont_param): New var.
4977 (syms_of_w32fns): Initialize it.
4978 (x_default_font_parameter): Record explicit `font' into
4979 `font-parameter'.
4980
49812008-06-18 Kenichi Handa <handa@m17n.org>
4982
4983 * font.c (font_parse_xlfd): Fix previous change.
4984 (font_parse_fcname): Don't use :fc-unknown-spec.
4985 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4986 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4987 (font_add_log): Prepend the driver name to the resulting fonts.
4988
4989 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4990 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4991 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4992
4993 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4994 (QCembolden): New variables.
4995 (syms_of_xftfont): DEFSYM them.
4996 (xftfont_open): Call XftFontMatch. Don't trust the result of
4997 XftTextExtents8 if the pixel_size is less than 5.
4998
49992008-06-18 Andreas Schwab <schwab@suse.de>
5000
5001 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
5002 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
5003
50042008-06-18 Jason Rumney <jasonr@gnu.org>
5005
5006 * w32font.c (w32font_list, w32font_match): Add logging.
5007
5008 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
5009
50102008-06-17 Chong Yidong <cyd@stupidchicken.com>
5011
5012 * font.c (font_parse_fcname): Store divider characters for
5013 unknown-spec list. For known key symbols, intern using correct
5014 symbol name.
5015
50162008-06-17 Kenichi Handa <handa@m17n.org>
5017
5018 * xfaces.c (realize_default_face): If the frame is not on window
5019 system, set the fontset of face to nil.
5020
50212008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5022
5023 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
5024
50252008-06-16 Juanma Barranquero <lekktu@gmail.com>
5026
5027 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
5028 (build_font_name_from_vector): Delete externs.
5029
5030 * xfaces.c (struct font_name): Don't declare.
5031
50322008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
5033
5034 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
5035
50362008-06-16 Chong Yidong <cyd@stupidchicken.com>
5037
5038 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
5039
50402008-06-16 Juanma Barranquero <lekktu@gmail.com>
5041
5042 * font.c (Ffont_spec): Fix usage in docstring.
5043 (Ffont_face_attributes): Doc fix.
5044
50452008-06-16 Andreas Schwab <schwab@suse.de>
5046
5047 * font.c (Ffont_face_attributes): Fix definition.
5048
50492008-06-16 Jason Rumney <jasonr@gnu.org>
5050
5051 * font.h (font_style_symbolic_from_value): Remove.
5052
5053 * font.c (font_style_symbolic_from_value): Remove.
5054 (font_style_symbolic): Revert to pre 2008-06-13 version.
5055
5056 * w32font.c (w32_to_fc_weight): New function.
5057 (w32font_full_name, logfont_to_fcname): Use it.
5058
50592008-06-16 Kenichi Handa <handa@m17n.org>
5060
5061 * font.c (font_check_object): Delete it.
5062 (font_clear_cache): Check if a font-object is alive.
5063 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
5064 font-object to nil.
5065 (font_close_object): Don't check FONT_CLOSE_OBJECT.
5066 (font_at): Don't call font_check_object.
5067 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5068
50692008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
5070
5071 * puresize.h (BASE_PURESIZE): Increase to 1230000.
5072
50732008-06-16 Chong Yidong <cyd@stupidchicken.com>
5074
5075 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
5076
50772008-06-15 Chong Yidong <cyd@stupidchicken.com>
5078
5079 * font.c (font_parse_fcname): Only one decimal point.
5080 (font_unparse_fcname): Handle data in family and foundry indices
5081 as symbols, not strings.
5082 (font_unparse_gtkname, Ffont_face_attributes): New functions.
5083
5084 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
5085
5086 * font.h (font_unparse_gtkname): Add prototype.
5087
50882008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5089
5090 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
5091
50922008-06-15 Andreas Schwab <schwab@suse.de>
5093
5094 * font.c (font_update_drivers): Fix crash when no drivers match.
5095
50962008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5097
5098 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5099 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5100
51012008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5102
5103 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5104
51052008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5106
5107 * process.c (Fserial_process_configure, Fprocess_send_eof):
5108 Use EQ to compare Lisp_Objects.
5109
51102008-06-13 Jason Rumney <jasonr@gnu.org>
5111
5112 * w32fns.c (Fw32_select_font): Remove old font API function.
5113
5114 * w32font.c (logfont_to_fcname): New function.
5115 (Fx_select_font): New font dialog function compatible with
5116 GTK/fontconfig version.
5117
5118 * font.c (font_style_symbolic_from_value): New function.
5119 (font_style_symbolic): Use it.
5120
5121 * font.h (font_style_symbolic_from_value): Declare new function.
5122
51232008-06-13 Juanma Barranquero <lekktu@gmail.com>
5124
5125 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5126 <font-width-table>: Fix typos in docstrings.
5127
51282008-06-13 Daniel Engeler <engeler@gmail.com>
5129
5130 These changes add serial port access.
5131 * process.c: Add HAVE_SERIAL.
5132 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5133 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5134 (list_processes_1, select_wrapper, Fstop_process)
5135 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5136 (status_notify): Modify to handle serial processes.
5137 [HAVE_SERIAL] (Fserial_process_configure)
5138 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5139 New functions.
5140 * process.h (struct Lisp_Process): Add `type'.
5141 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5142 New functions.
5143 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5144 serial ports.
5145 (serial_open, serial_configure) New functions.
5146 * w32.h: Add FILE_SERIAL.
5147 (struct _child_process): Add ovl_read, ovl_write.
5148
51492008-06-13 Kenichi Handa <handa@m17n.org>
5150
5151 * dispextern.h (enum lface_attribute_index): New member
5152 LFACE_FOUNDRY_INDEX.
5153
5154 * font.c (font_score): Delete arg alternate_families. Check only
5155 weight, slant, width, and size. Ignore the difference of alias
5156 style symbols.
5157 (font_sort_entites): Adjust for the above change. Reflect the
5158 order of font-driver to scores.
5159 (font_list_entities): Don't check alternate_familes here.
5160 (font_clear_prop): Handle foundry.
5161 (font_update_lface): Don't parse "foundry-family" form here.
5162 Handle FONT_FOUNDRY_INDEX.
5163 (font_find_for_lface): Likewise. Handle alternate families here.
5164 If registry is nil, try iso8859-1 and ascii-0.
5165 (font_open_for_lface): Pay attention to size in ENTITY.
5166 (font_open_by_name): Simplify by calling font_load_for_lface.
5167 (free_font_driver_list): Delete it.
5168 (font_update_drivers): Preserve the order of backends.
5169 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5170 of font_score and font_sort_entites.
5171 (font_update_sort_order): Likewise.
5172
5173 * xfaces.c (LFACE_FOUNDRY): New macro.
5174 (check_lface_attrs): Check foundry.
5175 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5176 (merge_face_vectors): Check foundry.
5177 (merge_face_ref): Likewise.
5178 (Finternal_set_lisp_face_attribute): Likewise.
5179 (x_update_menu_appearance): Likewise.
5180 (Finternal_get_lisp_face_attribute): Likewise.
5181 (lface_hash): Likewise.
5182 (lface_same_font_attributes_p): Likewise.
5183 (x_supports_face_attributes_p): Likewise.
5184 (tty_supports_face_attributes_p): Likewise.
5185 (Finternal_set_alternative_font_family_alist): Intern strings.
5186 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5187 (realize_default_face): Set LFACE_FOUNDRY (lface).
5188
5189 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5190 font-driver at first.
5191
5192 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5193
51942008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5195
5196 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5197
51982008-06-12 Jim Meyering <meyering@redhat.com>
5199
5200 Make unexec_free handle NULL the same way free does.
5201 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5202
52032008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5204
5205 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5206 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5207 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5208 (WEAK_ALIAS): Simplify.
5209 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5210 when searching a unibyte buffer.
5211
52122008-06-12 Chong Yidong <cyd@stupidchicken.com>
5213
5214 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5215
52162008-06-12 Juanma Barranquero <lekktu@gmail.com>
5217
5218 * w32font.c: Include ctype.h.
5219
52202008-06-11 Jason Rumney <jasonr@gnu.org>
5221
5222 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5223 misreported as space.
5224 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5225 as aliases for registry iso10646-1.
5226
52272008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5228
5229 * buffer.c (clone_per_buffer_values): Skip `name'.
5230
52312008-06-11 Chong Yidong <cyd@stupidchicken.com>
5232
5233 * font.c (font_parse_fcname): Fix last change; accept decimal
5234 points in font size.
5235
52362008-06-10 Jason Rumney <jasonr@gnu.org>
5237
5238 * w32uniscribe.c (add_opentype_font_name_to_list):
5239 Skip non unicode fonts.
5240
52412008-06-10 Chong Yidong <cyd@stupidchicken.com>
5242
5243 * xfns.c (Fx_font_dialog): New function.
5244
5245 * gtkutil.c (xg_dialog_response_cb): Rename from
5246 xg_file_response_callback.
5247 (pop_down_dialog): Rename from pop_down_file_dialog.
5248 (xg_get_file_name): Callers changed.
5249 (xg_get_font_name): New function.
5250
5251 * gtkutil.h (xg_get_font_name): Insert prototype.
5252
52532008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5254
5255 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5256 x_underline_minimum_display_offset.
5257 (syms_of_xdisp): Declare it here rather than in xterm.c.
5258 * dispextern.h (underline_minimum_offset): Declare it.
5259 * w32term.c (x_draw_glyph_string): Use it.
5260 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5261 (syms_of_xterm): Don't declare it any more.
5262 (x_draw_glyph_string): Adjust to the new name.
5263
52642008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5265
5266 * xterm.c (x_underline_minimum_display_offset): New var.
5267 (x_draw_glyph_string): Use it.
5268 (syms_of_xterm): Declare it.
5269
52702008-06-10 Chong Yidong <cyd@stupidchicken.com>
5271
5272 * font.c (font_parse_fcname): Accept GTK-style font names too.
5273
52742008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5275
5276 * dired.c (file_name_completion): Don't return t if the match is exact
5277 but with different capitalization.
5278 * minibuf.c (Ftry_completion): Simplify.
5279
5280 * window.c (Vwindow_point_insertion_type): New var.
5281 (set_window_buffer): Use it.
5282 (syms_of_window): Init and export it to Lisp.
5283
52842008-06-10 Kenichi Handa <handa@m17n.org>
5285
5286 * font.h (font_intern_prop): Prototype adjusted.
5287
5288 * font.c (font_intern_prop): New arg force_symbol.
5289 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5290 Adjust for the change of font_intern_prop.
5291
5292 * ftfont.c (ftfont_pattern_entity):
5293 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5294 (w32_registry):
5295 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5296 the change of font_intern_prop.
5297
52982008-06-09 Juanma Barranquero <lekktu@gmail.com>
5299
5300 * w32menu.c (digest_single_submenu): Declare extern.
5301
53022008-06-09 Jason Rumney <jasonr@gnu.org>
5303
5304 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5305
5306 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5307 (parse_single_submenu): Remove.
5308 (digest_single_submenu): Remove.
5309 (syms_of_w32menu): Don't initialise variables that have moved
5310 to menu.c.
5311 (set_frame_menubar): Sync with version in xmenu.c.
5312 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5313
5314 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5315 Make static again.
5316
53172008-06-09 Jason Rumney <jasonr@gnu.org>
5318
5319 Changes to w32 files related to the move of common menu code
5320 to menu.c on 2008-06-08 by Chong Yidong.
5321
5322 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5323 defs to w32gui.h.
5324 (single_keymap_panes, push_menu_item, push_menu_pane):
5325 Make globally visible.
5326
5327 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5328 (local_free, malloc_widget_value, free_widget_value)
5329 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5330 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5331 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5332 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5333 (menu_items, menu_items_allocated, menu_items_used)
5334 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5335 (init_menu_items, finish_menu_items, discard_menu_items)
5336 (grow_menu_items, push_submenu_start, push_submenu_end)
5337 (push_left_right_boundary, push_menu_pane, push_menu_item)
5338 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5339 (free_menubar_widget_tree_value, parse_single_submenu)
5340 (update_submenu_strings): Remove functions.
5341 (xmalloc_widget_value): Remove and declare extern.
5342
5343 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5344 (OBJ1): Build it.
5345
5346 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5347 (local_heap, local_alloc, local_free, malloc_widget_value)
5348 (free_widget_value): Define here.
5349
53502008-06-09 Kenichi Handa <handa@m17n.org>
5351
5352 * font.h (Qascii_0): Extern it.
5353
5354 * font.c (Qascii_0): New variable.
5355 (syms_of_font): DEFSYM it.
5356 (font_open_by_name): If the registry "iso8859-1" fails, try also
5357 "ascii-0".
5358
5359 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5360
53612008-06-08 Kenichi Handa <handa@m17n.org>
5362
5363 * .gdbinit (xfont): New command.
5364
53652008-06-08 Andreas Schwab <schwab@suse.de>
5366
5367 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5368 * Makefile.in (menu.o): Update dependencies.
5369
5370 * Makefile.in (obj): Always add menu.o.
5371 * emacs.c (main): Always call syms_of_menu.
5372 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5373
53742008-06-08 Chong Yidong <cyd@stupidchicken.com>
5375
5376 * Makefile.in: Compile menu.c.
5377
5378 * lisp.h: Declare syms_of_menu.
5379
5380 * emacs.c (main): Call syms_of_menu.
5381
5382 * keyboard.h: Relocate platform-independent menu definitions from
5383 xmenu.c.
5384
5385 * menu.c: New file. Relocate platform-independent menu
5386 definitions from xmenu.c. Suggested by Adrian Robert.
5387
5388 * xmenu.c: Remove platform-independent menu definitions.
5389 (menu_items menu_items_inuse, menu_items_allocated)
5390 (menu_items_used, menu_items_n_panes)
5391 (menu_items_submenu_depth): Move to keyboard.h.
5392 (init_menu_items, finish_menu_items, unuse_menu_items)
5393 (discard_menu_items, restore_menu_items, save_menu_items)
5394 (grow_menu_items, push_submenu_start, push_submenu_end)
5395 (push_left_right_boundary, push_menu_pane, push_menu_item)
5396 (keymap_panes, single_keymap_panes, single_menu_item)
5397 (list_of_panes, list_of_items, find_and_call_menu_selection)
5398 (xmalloc_widget_value, free_menubar_widget_value_tree)
5399 (parse_single_submenu, digest_single_submenu)
5400 (update_submenu_strings): Move to menu.c.
5401
54022008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5403
5404 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5405
54062008-06-06 Miles Bader <miles@gnu.org>
5407
5408 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5409 face, not frame default.
5410
54112008-06-05 Martin Rudalics <rudalics@gmx.at>
5412
5413 * window.c (pop_up_windows, pop_up_frames)
5414 (display_buffer_reuse_frames, Vpop_up_frame_function)
5415 (Vdisplay_buffer_function, Veven_window_heights)
5416 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5417 (Vspecial_display_function, Vsame_window_buffer_names)
5418 (Vsame_window_regexps, split_height_threshold)
5419 (Vsplit_window_preferred_function): Move those vars to window.el.
5420 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5421 (Fdisplay_buffer): Move those functions to window.el.
5422 (syms_of_window): Remove corresponding declarations.
5423 (display_buffer): New function.
5424 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5425 * dispnew.c (Flast_nonminibuf_frame): New function.
5426 * buffer.c (Fpop_to_buffer): Move to window.el.
5427
54282008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5429
5430 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5431
54322008-06-05 Kenichi Handa <handa@m17n.org>
5433
5434 * coding.c (detect_coding): Fix previous change.
5435 (detect_coding_system): Likewise.
5436
54372008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5438
5439 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5440
5441 * keymap.c (Vminibuffer_local_filename_must_match_map):
5442 Rename from Vminibuffer_local_must_match_filename_map.
5443 (syms_of_keymap):
5444 * minibuf.c (Fcompleting_read): Adjust accordingly.
5445 * commands.h: Rename declaration as well.
5446
54472008-06-05 Kenichi Handa <handa@m17n.org>
5448
5449 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5450 family name.
5451 (Ffont_put): Likewise.
5452
5453 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5454 current font-spec.
5455
5456 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5457 is unspecified.
5458
5459 * xfaces.c (realize_x_face): If the font-related face attributes
5460 are the same as those of default face, realize a new fontset from
5461 default->fontset.
5462 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5463
54642008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5465
5466 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5467 (move_it_in_display_line): New wrapper.
5468
5469 * window.c (window_scroll_pixel_based_preserve_x)
5470 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5471 (window_scroll_pixel_based, window_scroll_line_based):
5472 Use them to preserve column positions.
5473 (syms_of_window): Initialize them.
5474
5475 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5476 (HPOS . VPOS) pair.
5477
5478 * dispextern.h (move_it_in_display_line): Declare.
5479
54802008-06-05 Juanma Barranquero <lekktu@gmail.com>
5481
5482 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5483 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5484 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5485
54862008-06-04 Juanma Barranquero <lekktu@gmail.com>
5487
5488 * window.c (Fset_window_parameter): Doc fix.
5489 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5490
54912008-06-04 Joakim Verona <joakim@verona.se>
5492
5493 * window.h (struct window): Add new member window_parameters.
5494
5495 * window.c (Fwindow_parameters, Fwindow_parameter)
5496 (Fset_window_parameter): New defuns.
5497 (syms_of_window): Defsubr the new defuns.
5498 (make_window): Initialize window_parameters to nil.
5499
55002008-06-04 John Paul Wallington <jpw@pobox.com>
5501
5502 * eval.c (Fdefmacro): Doc fix.
5503
55042008-06-04 Kenichi Handa <handa@m17n.org>
5505
5506 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5507 Be sure to call setup_coding_system when we find a proper coding system.
5508 (detect_coding_system): Fix handling of coding->head_ascii.
5509
55102008-06-03 Andreas Schwab <schwab@suse.de>
5511
5512 * font.c (font_prop_validate_spacing): Fix last change.
5513
55142008-06-03 Kenichi Handa <handa@m17n.org>
5515
5516 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5517 (font_parse_fcname): Fix handling of unknown key.
5518
5519 * xfont.c (xfont_list): Try an alias.
5520
5521 * charset.c (char_charset): Return NULL if the arg charset_list is
5522 specified and C doesn't belong to any of them.
5523
55242008-06-02 Chip Coldwell <coldwell@redhat.com>
5525
5526 * font.c (font_pixel_size): Don't take cdr of an integer.
5527
55282008-06-02 Jim Meyering <meyering@redhat.com>
5529
5530 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5531 * alloc.c (xfree): Return right away for a NULL arg.
5532 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5533 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5534 * mac.c (create_apple_event_from_event_ref): Likewise.
5535 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5536 Likewise.
5537 * doprnt.c (doprnt1): Likewise.
5538 * frame.c (frame): Likewise.
5539 * keyboard.c (wipe_kboard): Likewise.
5540 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5541 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5542 * term.c (tty_default_color_capabilities, maybe_fatal)
5543 (delete_tty): Likewise.
5544 * w16select.c (string): Likewise.
5545 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5546 * w32bdf.c (w32_free_bdf_font): Likewise.
5547 * w32fns.c (w32_unload_font): Likewise.
5548 * w32font.c (w32font_close): Likewise.
5549 * window.c (size_window): Likewise.
5550 * xselect.c (receive_incremental_selection): Likewise.
5551 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5552 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5553 * w32.c (stat): Likewise.
5554
5555 Remove useless if-before-free tests.
5556 * editfns.c (Fset_time_zone_rule): Likewise.
5557 * lread.c (nosuffix): Likewise.
5558 * ralloc.c (get_bloc): Likewise.
5559 * regex.c (reg_free): Likewise.
5560 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5561 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5562 * xsmfns.c (smc_save_yourself_CB): Likewise.
5563
55642008-06-02 Kenichi Handa <handa@m17n.org>
5565
5566 * font.c (font_find_for_lface): Handle float font size.
5567 (font_open_for_lface): Likewise.
5568
5569 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5570 comparing the properties.
5571
55722008-06-01 Jason Rumney <jasonr@gnu.org>
5573
5574 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5575 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5576 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5577 Don't add empty script list.
5578 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5579
55802008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5581
5582 * Makefile.in (dot, dotdot): Remove, update users.
5583 ".." has been used elsewhere in the file for a long time.
5584 (LIBXT_STATIC): Remove conditional based on unused variable.
5585
55862008-06-01 Miles Bader <miles@gnu.org>
5587
5588 * xfaces.c (Vface_remapping_alist): New variable.
5589 (syms_of_xfaces): Initialize it.
5590 (enum named_merge_point_kind): New type.
5591 (struct named_merge_point): Add `named_merge_point_kind' field.
5592 (push_named_merge_point): Make cycle detection respect different
5593 named-merge-point kinds.
5594 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5595 Remove face-name alias resolution.
5596 (lface_from_face_name): New definition using
5597 `lface_from_face_name_no_resolve'.
5598 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5599 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5600 (get_lface_attributes): New definition that layers face-remapping on
5601 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5602 (lookup_basic_face): New function.
5603 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5604 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5605 `get_lface_attributes'.
5606 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5607 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5608 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5609
5610 * xdisp.c (init_iterator): Pass base_face_id through
5611 `lookup_basic_face' when we actually use it as a face-id.
5612 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5613 DEFAULT_FACE_ID.
5614
5615 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5616 lookup the initial face-id.
5617
5618 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5619
56202008-06-01 Juanma Barranquero <lekktu@gmail.com>
5621
5622 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5623 (Fremove_text_properties): Fix typos in docstrings.
5624
56252008-05-31 Kenichi Handa <handa@m17n.org>
5626
5627 * font.c (font_list_entities): Fix the car part of data to be
5628 stored in the cache.
5629
5630 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5631
56322008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5633
5634 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5635 Add a `test' argument so another predicate than `equal' can be used.
5636 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5637 (map_char_table): Remove unused vars `c' and `i'.
5638 * lisp.h (Foptimize_char_table): Adjust declaration.
5639 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5640
56412008-05-30 Kenichi Handa <handa@m17n.org>
5642
5643 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5644 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5645 defined.
5646
56472008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5648
5649 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5650 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5651 frame-local settings for the same variable.
5652
56532008-05-30 Kenichi Handa <handa@m17n.org>
5654
5655 * fontset.c (Ffont_info): Move to font.c.
5656 (syms_of_fontset): Delete defsubr of Sfont_info.
5657
5658 * font.c (font_style_to_value, font_score): Delete casting of the
5659 args to xstcasecmp.
5660 (register_font_driver): Increment num_font_drivers only when
5661 registering the driver globally.
5662 (Ffont_info): Move from fontset.c. Handle a font object too.
5663 (syms_of_font): Defsubr Sfont_info.
5664
56652008-05-29 Kenichi Handa <handa@m17n.org>
5666
5667 * coding.h (enum define_coding_utf8_arg_index): New enum.
5668 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5669 coding_attr_utf_bom.
5670 (enum utf_bom_type): Rename from utf_16_bom_type.
5671 (struct utf_16_spec): Adjust for the above change.
5672 (struct coding_system): Add utf_8_bom in `spec' union.
5673
5674 * coding.c (CODING_UTF_8_BOM): New macro.
5675 (enum coding_category): Delete coding_category_utf_8, add
5676 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5677 coding_category_utf_8_sig.
5678 (CATEGORY_MASK_UTF_8): Delete it.
5679 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5680 (CATEGORY_MASK_UTF_8_SIG): New macros.
5681 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5682 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5683 CATEGORY_MASK_UTF_8_SIG.
5684 (CATEGORY_MASK_UTF_8): New macro.
5685 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5686 (detect_coding_utf_8): Check BOM.
5687 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5688 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5689 (encode_coding_utf_16): Likewise.
5690 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5691 (detect_coding, detect_coding_system): Handle utf-8-auto.
5692 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5693 (syms_of_coding): Fix setting up of Vcoding_category_table.
5694
56952008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5696
5697 * process.c (Faccept_process_output): If `millisec' is non-nil,
5698 `seconds' default to 0.
5699 (wait_reading_process_output): Also return non-nil if we read output
5700 from a non-running process.
5701
57022008-05-29 Jason Rumney <jasonr@gnu.org>
5703
5704 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5705 `raster' specified.
5706 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5707 in the uniscribe backend, but disallow any font that has no
5708 unicode subrange support.
5709
57102008-05-29 Juanma Barranquero <lekktu@gmail.com>
5711
5712 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5713 Fix typos in docstrings.
5714
57152008-05-29 Kenichi Handa <handa@m17n.org>
5716
5717 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5718 (Fx_family_fonts): Set frame correctly.
5719
57202008-05-28 Jason Rumney <jasonr@gnu.org>
5721
5722 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5723
57242008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5725
5726 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5727 calling build_annotations.
5728
57292008-05-28 Juanma Barranquero <lekktu@gmail.com>
5730
5731 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5732 (Fencode_coding_string):
5733 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5734 <latin-extra-code-table>: Fix typos in docstrings.
5735 (syms_of_coding) <coding-system-alist>: Doc fix.
5736 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5737
57382008-05-28 Kenichi Handa <handa@m17n.org>
5739
5740 * fontset.c (Ffont_info): Don't call font_close_object.
5741
5742 * font.c (font_parse_family_registry): Use Ffont_put to validate
5743 foundry and family.
5744 (font_delete_unmatched): Don't check spacing.
5745 (font_list_entities): Add spacing to the spec to list fonts.
5746
5747 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5748 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5749
5750 * coding.c (encode_coding_raw_text): Fix previous change.
5751 (encode_coding_object): When the dst_object is a buffer and is
5752 different from src_object, move gap to PT.
5753
57542008-05-27 Chong Yidong <cyd@stupidchicken.com>
5755
5756 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5757
57582008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5759
5760 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5761 all branches. Compute it differently.
5762
5763 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5764
57652008-05-27 Juanma Barranquero <lekktu@gmail.com>
5766
5767 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5768 into "else if () ... else ...".
5769
57702008-05-27 Jason Rumney <jasonr@gnu.org>
5771
5772 * w32font.c (w32font_open_internal): Determine if glyph indices
5773 are likely to work here.
5774
57752008-05-27 Chong Yidong <cyd@stupidchicken.com>
5776
5777 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5778 draw overlap glyphs with appropriate highlighting.
5779
57802008-05-27 Kenichi Handa <handa@m17n.org>
5781
5782 * xfont.c (xfont_open): Fix calculation of font->average_width.
5783
57842008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5785
5786 * casefiddle.c (casify_object): Try to guess better whether the
5787 argument is a byte or a char.
5788
57892008-05-26 Andreas Schwab <schwab@suse.de>
5790
5791 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5792 Always send multiples of format size.
5793
5794 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5795
57962008-05-26 Jason Rumney <jasonr@gnu.org>
5797
5798 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5799 (compute_metrics): Don't set failure if we just cleared the cache.
5800 (w32_weight_table): Remove unused variable.
5801 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5802 backwards compatibility.
5803
58042008-05-25 Kenichi Handa <handa@m17n.org>
5805
5806 * w32term.c (x_draw_glyph_string):
5807 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5808
5809 * xfaces.c: Delete unused function prototypes.
5810 (xstrlwr, font_frame): Delete them.
5811 (clear_face_cache): Delete unused variable.
5812
5813 * xftfont.c (xftfont_open): Delete unused variable.
5814 If underline_thickness is not 1, adjust underline_position.
5815
5816 * ftxfont.c (ftxfont_open): Delete unused variable.
5817
5818 * fontset.c (face_for_char): Optimize for the case of no charset
5819 property.
5820
5821 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5822 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5823 (otf_open, font_otf_capability, generate_otf_features)
5824 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5825 Comment out by surrounding "#if 0" and "#endif" for the moment.
5826 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5827 (syms_of_font): Codes for accessing above commented out.
5828
58292008-05-24 Eli Zaretskii <eliz@gnu.org>
5830
5831 * w32proc.c: Include dispextern.h.
5832
5833 * w32.c: Include dispextern.h.
5834
58352008-05-23 Juanma Barranquero <lekktu@gmail.com>
5836
5837 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5838 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5839 Fix typos in docstrings.
5840
58412008-05-23 Jason Rumney <jasonr@gnu.org>
5842
5843 * xsmfns.c: Remove includes that are already included by config.h.
5844
58452008-05-23 Kenichi Handa <handa@m17n.org>
5846
5847 * charset.c (Qemacs, charset_emacs): New variables.
5848 (char_charset): Fix for non-Unicode characters.
5849 (syms_of_charset): Define charset_emacs.
5850
5851 * w32term.c (x_draw_glyph_string): Be sure to update
5852 s->underline_thickness and s->underline_position. Be sure to draw
5853 underline within the current line area.
5854
5855 * xterm.c (x_draw_glyph_string): Be sure to update
5856 s->underline_thickness and s->underline_position. Be sure to draw
5857 underline within the current line area.
5858
5859 * fontset.c: Delete unused variables and add casting for char *
5860 throughout the file.
5861 (fontset_font): Try the fallback fonts of the current fontset
5862 before consulting the default fontset.
5863
5864 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5865
5866 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5867
58682008-05-22 Jason Rumney <jasonr@gnu.org>
5869
5870 * font.c: Don't include strings.h.
5871
5872 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5873
5874 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5875 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5876 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5877 to call xstrcasecmp.
5878
5879 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5880
5881 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5882
5883 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5884
5885 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5886
58872008-05-22 Kenichi Handa <handa@m17n.org>
5888
5889 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5890
5891 * font.c (font_prop_validate_style): Adjust for the format
5892 change of font_style_table.
5893
5894 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5895 two args.
5896
5897 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5898 two args.
5899
59002008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5901
5902 * minibuf.c (keys_of_minibuf): Delete.
5903 * lisp.h (keys_of_minibuf): Delete.
5904 * emacs.c (main): Don't call keys_of_minibuf.
5905
59062008-05-22 Kenichi Handa <handa@m17n.org>
5907
5908 * ftfont.c (ftfont_resolve_generic_family): Rename from
5909 ftfont_list_generic_family. Return a single family for each
5910 generic family.
5911 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5912 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5913 Call font_add_log.
5914 (ftfont_match): Call font_add_log.
5915
5916 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5917 (FONT_DEBUG): Define it.
5918 (font_add_log): Extern it.
5919 (font_assert): Rename from xassert.
5920
5921 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5922 (xfont_list_family): Call font_add_log.
5923 (xfont_match): Likewise.
5924 (memq_no_quit): Delete.
5925
5926 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5927 call of Ffont_xlfd_name.
5928
5929 * xfaces.c (struct table_entry, slant_table, weight_table)
5930 (swidth_table): Move to font.c.
5931
5932 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5933 xassert are changed to font_assert. Delete many unused variables.
5934 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5935 New variables.
5936 (struct table_entry): Move from xfaces.c and modified.
5937 (weight_table, slant_table, width_table): Move from xfaces.c and
5938 contents adjusted for the change of struct table_entry.
5939 (font_style_to_value, font_style_symbolic): Adjust for the
5940 format change of font_style_table.
5941 (font_parse_family_registry): Don't overwrite existing foundry and
5942 family of font_spec.
5943 (font_score): Fix calculation of diff for sizes.
5944 (font_sort_entites): Call font_add_log.
5945 (font_delete_unmatched): Return a newly created list.
5946 (font_list_entities): Fix previous change. Call font_add_log.
5947 (font_matching_entity, font_open_entity, font_close_entity):
5948 Call font_add_log.
5949 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5950 (Finternal_set_font_style_table): Delete.
5951 (BUILD_STYLE_TABLE): New macro.
5952 (build_style_table): New function.
5953 (Vfont_log, font_log_env_checked): New variables.
5954 (font_add_log): New function.
5955 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5956 Declare Lisp variables "font-weight-table", "font-slant-table",
5957 "font-width-table", and "font-log". Initialize font_style_table.
5958
59592008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5960
5961 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5962
59632008-05-21 Seiji Zenitani <zenitani@mac.com>
5964 Ryo Yoshitake <ryo@shiftmode.net>
5965
5966 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5967 (Vframe_alpha_lower_limit): New variable.
5968 (x_set_alpha): New function.
5969
5970 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5971
5972 * xfns.c (x-create-frame, Qalpha):
5973 Initialize the frame parameter `alpha'.
5974 * xterm.c (OPAQUE, OPACITY): New.
5975 (x_set_frame_alpha): New function.
5976 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5977
5978 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5979 * w32fns.c (w32_frame_parm_handlers): Likewise.
5980
59812008-05-20 Jason Rumney <jasonr@gnu.org>
5982
5983 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5984 truetype fonts to opentype list.
5985
59862008-05-20 Juanma Barranquero <lekktu@gmail.com>
5987
5988 * fontset.c (Ffontset_info): Doc fix.
5989 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5990 <ignore-relative-composition>: Fix typos in docstrings.
5991
5992 * font.c (syms-of-font) <font-encoding-alist>:
5993 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5994 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5995 (Ffont_otf_alternates): Doc fixes.
5996
59972008-05-20 Kenichi Handa <handa@m17n.org>
5998
5999 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
6000 font.h through out the file.
6001 (FONT_DRIVERS): Rename from FONTOBJ.
6002 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
6003 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
6004
6005 * emacs.c (main): Call syms_of_font unconditionally.
6006
6007 * font.h (find_font_encoding): Extern it.
6008
6009 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
6010 fontset.c.
6011 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
6012 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
6013 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
6014 only when HAVE_WINDOW_SYSTEM is defined.
6015 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
6016 when HAVE_WINDOW_SYSTEM is defined.
6017
6018 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
6019 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
6020
6021 * xfaces.c: Include font.h unconditionally.
6022 (merge_face_ref, merge_face_vectors)
6023 (Finternal_set_lisp_face_attribute): Cancel the previous change.
6024
60252008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
6026
6027 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
6028 indirect_variable.
6029 * eval.c (lisp_indirect_variable): New fun.
6030 (Fuser_variable_p): Use it.
6031
60322008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
6033
6034 * lisp.h (indirect_variable):
6035 * data.c (indirect_variable, let_shadows_buffer_binding_p):
6036 Use Lisp_Symbol pointers rather than Lisp_Object.
6037 Adjust callers.
6038 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
6039 To this end, change calling-convention.
6040
6041 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
6042 if some non-hidden buffers are selected by string&pred.
6043
60442008-05-19 Chong Yidong <cyd@stupidchicken.com>
6045
6046 * process.c (wait_reading_process_output): Always check status
6047 when in batch mode.
6048
60492008-05-19 Kenichi Handa <handa@m17n.org>
6050
6051 * font.c (font_list_entities): Fix handling of cache.
6052 (font_matching_entity): Likewise.
6053
6054 * ftfont.c (cs_iso8859_1): Delete.
6055 (ft_face_cache): New variable.
6056 (struct ftfont_info): New member fc_charset_idx.
6057 (ftfont_build_basic_charsets): Delete.
6058 (fc_charset_table): New variable.
6059 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
6060 . FC_CHARSET_IDX) as :font-entity property in the font entity.
6061 Callers changed.
6062 (ftfont_lookup_cache, ftfont_get_charset): New functions.
6063 (ftfont_spec_pattern): New argument fc_charset_idx.
6064 Check registry more rigidly. Change callers.
6065 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
6066 change of :font-entity property of the font.
6067
6068 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
6069 property of the font.
6070
60712008-05-18 Juanma Barranquero <lekktu@gmail.com>
6072
6073 * coding.c (Fcoding_system_p): Rename argument to match docstring.
6074 (Funencodable_char_position, Fcheck_coding_systems_region)
6075 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
6076 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
6077 (Ffind_operation_coding_system, Fset_coding_system_priority)
6078 (Fcoding_system_eol_type): Doc fixes.
6079
60802008-05-17 Glenn Morris <rgm@gnu.org>
6081
6082 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
6083
60842008-05-16 Eli Zaretskii <eliz@gnu.org>
6085
6086 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
6087 and st_gid.
6088
6089 * frame.c (Fdelete_frame): Don't call font_update_drivers if
6090 HAVE_WINDOW_SYSTEM is not defined.
6091
6092 * xfaces.c (merge_face_ref, merge_face_vectors)
6093 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
6094 HAVE_WINDOW_SYSTEM is defined.
6095 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
6096
60972008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6098
6099 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6100
61012008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6102
6103 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6104
61052008-05-15 Kenichi Handa <handa@m17n.org>
6106
6107 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6108 preference.
6109
61102008-05-15 Glenn Morris <rgm@gnu.org>
6111
6112 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6113
61142008-05-15 Chong Yidong <cyd@stupidchicken.com>
6115
6116 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6117 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6118
6119 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6120
61212008-05-15 Kenichi Handa <handa@m17n.org>
6122
6123 * ftfont.c (ftfont_list): Downcase family name to check generic
6124 families.
6125
6126 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6127 font-spec for QCfont value.
6128
6129 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6130 buffer. Check the return value of it.
6131
61322008-05-14 Jason Rumney <jasonr@gnu.org>
6133
6134 * w32term.c (w32_get_glyph_overhangs): Remove.
6135 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6136
61372008-05-14 Kenichi Handa <handa@m17n.org>
6138
6139 * font.c (font_prop_validate): Make nil a valid value.
6140 (font_clear_cache): Check if the cached vector of entities is nil
6141 or not.
6142
61432008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6144
6145 * emacs.c (main_thread): Conditionalize on
6146 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6147 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6148
6149 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6150 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6151 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6152
61532008-05-14 Kenichi Handa <handa@m17n.org>
6154
6155 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6156 has no corresponding coding system.
6157
61582008-05-14 Jason Rumney <jasonr@gnu.org>
6159
6160 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6161
6162 * w32font.h (w32font_open_internal): Update declaration.
6163
6164 * w32font.c (w32font_open_internal): Change last argument from
6165 w32font_info struct to font object. Fill in font object from
6166 font_entity. Get Outline metrics if possible. Use them to
6167 calculate underline position and thickness. Use xlfd name as name
6168 property. Don't set codepage.
6169 (w32font_open): Pass font_object to w32font_open_internal. Don't
6170 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6171 (w32font_draw): Use s->font.
6172 (clear_cached_metrics): Don't clear non-existent blocks.
6173
6174 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6175 font was not found.
6176 (x_draw_glyph_string): Use underline position and thickness from font.
6177
6178 * w32uniscribe.c (uniscribe_open): Pass font_object to
6179 w32font_open_internal.
6180
61812008-05-14 Kenichi Handa <handa@m17n.org>
6182
6183 These changes are to delete all legacy font-handling codes, and
6184 make Emacs use only font-backends.
6185
6186 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6187 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6188
6189 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6190
6191 * charset.h (Vcharset_non_preferred_head)
6192 (Vcurrent_iso639_language): Extern them.
6193
6194 * charset.c (Vcharset_non_preferred_head): New variable.
6195 (Vcurrent_iso639_language): New variable.
6196 (syms_of_charset): Declare it as a Lisp variable.
6197 (char_charset): Don't check non preferred charsets. As a last
6198 resort, return charset_unicode.
6199 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6200
6201 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6202 conditionals. Don't check enable_font_backend. Delete all codes
6203 used only when USE_FONT_BACKEND is not defined.
6204
6205 * dispextern.h (struct glyph_string): Change type of `font' to
6206 `struct font *'.
6207 (struct glyph_string): New member underline_position and
6208 underline_thickness.
6209 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6210 (struct face): Change type of `font' to `struct font *'. Remove
6211 members `font_name', `font_info_id'.
6212 (per_char_metric, encode_char): Delete externs.
6213 (calc_pixel_width_or_height): Adjust the prototype.
6214
6215 * emacs.c (enable_font_backend): Delete extern.
6216 (main): Don't set enable_font_backend. Don't check the command
6217 line argument "-disable-font-backend".
6218
6219 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6220 (enum font_property_index): New members FONT_DPI_INDEX,
6221 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6222 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6223 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6224 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6225 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6226 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6227 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6228 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6229 (struct font_spec, struct font_entity): New structs.
6230 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6231 (struct font): Many members from old "struct font_info" moved to
6232 here. Members font and entity deleted.
6233 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6234 the new font-related objects.
6235 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6236 (CHECK_FONT_GET_OBJECT): Likewise.
6237 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6238 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6239 (struct font_driver): New members case_sensitive anc check. Type
6240 of the member list and open changed.
6241 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6242 (font_symbolic_width, font_find_object, font_get_spec)
6243 (font_set_lface_from_name): Delete extern.
6244 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6245
6246 * font.c: Include <strings.h>.
6247 (enable_font_backend): Delete it.
6248 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6249 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6250 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6251 (null_string): Delete it.
6252 (null_vector): Make it static.
6253 (font_family_alist): Delete it.
6254 (Qnormal): Extern it.
6255 (QCextra, QClanguage): Delete it.
6256 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6257 (font_make_spec, font_make_entity, font_make_object)
6258 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6259 the string. Callers changed.
6260 (font_pixel_size): Adjusted for the format change of font-related
6261 objects.
6262 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6263 (font_style_to_value, font_style_symbolic): New function.
6264 (build_font_family_alist): Delete it.
6265 (font_registry_charsets): Use Fassoc_string instead of
6266 assq_no_quit.
6267 (font_prop_validate_symbol): Don't return null_string.
6268 (font_prop_validate_style): Adjusted for the change of
6269 style-related values in a font vector.
6270 (font_property_table): Delete entries for QClanguage and
6271 QCantialias, add entries for QCavgwidth.
6272 (get_font_prop_index): Delete the 2nd argument FROM.
6273 (font_prop_validate): Arguments changed.
6274 (font_put_extra): Adjusted for the change of font-related objects.
6275 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6276 (font_parse_fcname, font_unparse_fcname)
6277 (font_prepare_composition): Likewise.
6278 (font_parse_family_registry): Renamed from font_merge_old_spec.
6279 (otf_open): Delete the 1st arg entity.
6280 (font_otf_capability): Adjusted for the above change.
6281 (font_score): New arg alternate_families. Adjusted for the change
6282 of font-related objects.
6283 (font_sort_entites): New arg best_only.
6284 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6285 Delete them.
6286 (font_match_p): Check alternate families.
6287 (font_find_object): Delete it.
6288 (font_check_object): New function.
6289 (font_clear_cache): Adjusted for the change of font-related objects.
6290 (font_delete_unmatched): New arg.
6291 (font_list_entities): Call font_driver->list with a spec that
6292 doesn't specify style-related properties.
6293 (font_matching_entity): Arguments changed. Caller changed.
6294 (font_open_entity): Adjusted for the change of font-related objects.
6295 (font_close_object, font_has_char, font_encode_char)
6296 (font_get_name, font_get_spec): Likewise.
6297 (font_spec_from_name, font_clear_prop, font_update_lface):
6298 New functions.
6299 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6300 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6301 (font_at): Adjusted for the change of font-related objects.
6302 (font_range): New function.
6303 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6304 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6305 (Fcopy_font_spec, Fmerge_font_spec): New function.
6306 (Ffont_family_list): Renamed from list-families.
6307 (Finternal_set_font_style_table): Arguments changed.
6308 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6309 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6310 change of font-related objects.
6311 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6312
6313 * fontset.h (struct font_info): Delete it. Most members go to
6314 struct font.
6315 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6316 (enum FONT_SPEC_INDEX): Delete it.
6317 (font_info, list_fonts_func, load_font_func, query_font_func)
6318 (set_frame_fontset_func, find_ccl_program_func)
6319 (get_font_repertory_func, new_fontset_from_font_name): Delete
6320 externs.
6321 (fontset_from_font_name): Extern it.
6322 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6323 (FONT_INFO_FROM_FACE): Deleted.
6324 (face_for_font): Adjust prototype.
6325
6326 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6327 conditionals. Don't check enable_font_backend. Delete all codes
6328 used only when USE_FONT_BACKEND is not defined.
6329 (get_font_info_func, list_font_func, load_font_func)
6330 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6331 (get_font_repertory_func): Delete them.
6332 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6333 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6334 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6335 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6336 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6337 (fontset_compare_rfontdef): New function.
6338 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6339 rfont-defs by qsort. Adjusted for the change of font-group vector.
6340 (load_font_get_repertory): Deleted.
6341 (fontset_find_font): Use new macros to ref/set elements of
6342 font-def and rfont-def.
6343 (fontset_font): Fix the timing of remembering that no font for C.
6344 (free_face_fontset): Do nothing if the face has no fontset.
6345 (face_suitable_for_char_p): Use new macros to ref/set elements of
6346 rfont-def.
6347 (face_for_char): Likewise. Call face_for_char with font_object.
6348 (fs_load_font): Delete. Delete #pragma surrounding it.
6349 (fs_query_fontset): Use strcasecmp instead of strcmp.
6350 (generate_ascii_font_name): Adjusted for the format change of
6351 font-spec.
6352 (Fset_fontset_font): Likewise. Use new macros to set elements of
6353 font-def.
6354 (Fnew_fontset): Use font_unparse_xlfd to generate
6355 FONTSET_ASCII (fontset).
6356 (new_fontset_from_font_name): Deleted.
6357 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6358 a fontset is already created for the font. FIx updating of
6359 Vfontset_alias_alist.
6360 (fontset_ascii_font): Deleted.
6361 (Ffont_info): Adjusted for the format change of font-spec.
6362 (Finternal_char_font): Likewise.
6363 (Ffontset_info): Likewise.
6364 (syms_of_fontset): Don't check load_font_func.
6365
6366 * fns.c (internal_equal): Handle PREV_FONT.
6367
6368 * frame.h: Delete USE_FONT_BACKEND conditional.
6369
6370 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6371 conditionals. Don't check enable_font_backend. Delete all codes
6372 used only when USE_FONT_BACKEND is not defined.
6373 (x_set_font): Call x_new_font, not x_new_fontset2.
6374 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6375 already set for the frame.
6376
6377 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6378 a font-entity by font_make_entity. Use font_intern_prop instead
6379 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6380 font property. If a font is scalable, set avgwidth property to 0.
6381 Set font-entity property by font_put_extra.
6382 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6383 (ffont_driver): Adjusted for the change of struct font_driver.
6384 (ftfont_spec_pattern): New function.
6385 (ftfont_list): Return a list, not vector.
6386 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6387 (ftfont_list_family): Don't downcase names.
6388 (ftfont_free_entity): Deleted.
6389 (ftfont_open): Return a font-object. Adjusted for the change of
6390 struct font. Get underline_thickness and underline_position from
6391 font property. Don't update dpyinfo->smallest_font_height and
6392 dpyinfo->smallest_char_width.
6393 (ftfont_close): Don't free `struct font'.
6394 (ftfont_has_char): Adjusted for the format change of font-entity.
6395 (ftfont_encode_char, ftfont_text_extents): Likewise.
6396
6397 * ftxfont.c (ftxfont_list): Return a list, not vector.
6398 (ftxfont_open): Return a font-object. Adjusted for the change of
6399 struct font. Get underline_thickness and underline_position from
6400 font property. Don't update dpyinfo->smallest_font_height and
6401 dpyinfo->smallest_char_width.
6402 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6403 (ftxfont_draw): Adjusted for the change of struct font.
6404
6405 * image.c (image_ascent): Don't include "charset.h". Include
6406 "character.h" and "font.h".
6407
6408 * lisp.h (enum pvec_type): New member PREV_FONT.
6409 (Fassoc_string): EXFUN it.
6410
6411 * print.c: Include font.h.
6412 (print_object): Handle font-related objects.
6413
6414 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6415 conditionals. Don't check enable_font_backend. Delete all codes
6416 used only when USE_FONT_BACKEND is not defined.
6417 (handle_auto_composed_prop): Do nothing if it->f is not on a
6418 window system. Check how many following characters can be
6419 displayed by the same font.
6420 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6421 'struct font *'.
6422 (get_char_face_and_encoding): Assign the whole encoding task to
6423 the `encode-char' method of a font driver.
6424 (fill_composite_glyph_string): Adjusted for the change of `struct
6425 face' and `struct glyph_string'.
6426 (fill_glyph_string): Likewise.
6427 (get_per_char_metric): Arguments changed.
6428 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6429 and `struct glyph_string'.
6430 (produce_stretch_glyph, calc_line_height_property)
6431 (x_produce_glyphs): Likewise.
6432
6433 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6434 conditionals. Don't check enable_font_backend. Delete all codes
6435 used only when USE_FONT_BACKEND is not defined. Use
6436 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6437 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6438 (Qp): Extern them.
6439 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6440 Deleted.
6441 (struct font_name): Deleted.
6442 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6443 (compare_fonts_by_sort_order): New function.
6444 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6445 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6446 Deleted.
6447 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6448 compare_fonts_by_sort_order.
6449 (Fx_font_family_list): Call Ffont_family_list.
6450 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6451 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6452 (face_symbolic_slant, face_symbolic_swidth)
6453 (split_font_name_into_vector, build_font_name_from_vector)
6454 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6455 (font_rescale_ratio, split_font_name, build_font_name)
6456 (free_font_names, sort_fonts, x_face_list_fonts)
6457 (face_font_available_p, sorted_font_list, cmp_font_names)
6458 (font_list_1, concat_font_list, font_list, remove_duplicates):
6459 Deleted.
6460 (Fx_list_fonts): Use Ffont_list.
6461 (LFACE_AVGWIDTH): Deleted.
6462 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6463 by FONTP.
6464 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6465 (set_lface_from_font_name): Delete it.
6466 (set_lface_from_font): Renamed from
6467 set_lface_from_font_and_fontset. Caller changed. Don't set
6468 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6469 for face.
6470 (merge_face_vectors): Copy font-spec if necessary.
6471 Clear properties of the font-spec if necessary.
6472 (merge_face_ref): Clear properties of the font-spec if necessary.
6473 (Finternal_set_lisp_face_attribute): Likewise.
6474 (set_font_frame_param): Use font_load_for_lface to load a
6475 font-object, and call Fmodify_frame_parameters with it.
6476 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6477 font name by Ffont_xlfd_name.
6478 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6479 QCslant, and QCwidth.
6480 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6481 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6482 Compare fonts by EQ.
6483 (lookup_non_ascii_face): Deleted.
6484 (face_for_font): The 2nd argument changed.
6485 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6486 Check atomic font properties by case insensitive.
6487 (realize_non_ascii_face): Set face->overstrike correctly.
6488 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6489 (dump_realized_face): Get font name from
6490 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6491
6492 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6493 conditionals. Don't check enable_font_backend. Delete all codes
6494 used only when USE_FONT_BACKEND is not defined.
6495 (xic_create_xfontset): Original code deleted and renamed from
6496 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6497 (x_make_gc): Don't set GCFont in GCs.
6498 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6499 opened by "fixed".
6500 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6501 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6502 get_font_repertory_func.
6503
6504 * xfont.c: Include <stdlib.h> and "ccl.h".
6505 (struct xfont_info): New structure.
6506 (xfont_query_font): Deleted.
6507 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6508 moved from xterm.c.
6509 (xfont_driver): Adjusted for the change of struct font_driver.
6510 (compare_font_names): New function.
6511 (xfont_list_pattern): Sort font names case insensitively. Make
6512 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6513 (xfont_list): Return a list, not vector.
6514 (xfont_match): If the font doesn't have QCname property, generate
6515 a name from the other font properties.
6516 (xfont_open): Return a font-object. Adjusted for the change of
6517 struct font. Get underline_thickness and underline_position from
6518 font property. Don't update dpyinfo->smallest_font_height and
6519 dpyinfo->smallest_char_width.
6520 (xfont_close): Don't free struct font.
6521 (xfont_prepare_face): Adjusted for the change of struct font.
6522 (xfont_done_face): Deleted.
6523 (xfont_has_char): Adjusted for the change of struct font.
6524 (xfont_encode_char, xfont_draw): Likewise.
6525 (xfont_check): New function.
6526
6527 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6528 callback function.
6529 (xftfont_match): Adjusted for the format change of font-entity.
6530 (xftfont_open): Adjusted for the format change of font-entity and
6531 font-object. Adjusted for the change of struct font. Return a
6532 font-object. Don't update dpyinfo->smallest_font_height and
6533 dpyinfo->smallest_char_width.
6534 (xftfont_close): Block input while calling XftFontClose.
6535 (xftfont_prepare_face): Don't block input while calling
6536 xftfont_get_colors. Adjusted for the change of struct font.
6537 (xftfont_shape): Return value of error case fixed.
6538
6539 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6540
6541 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6542 conditionals.
6543 (FONT_WIDTH): Return (f)->max_width.
6544 (struct x_display_info): Delete member `font'.
6545 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6546 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6547 (struct x_output): Change type of `font' to `struct font *'.
6548
6549 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6550 conditionals. Don't check enable_font_backend. Delete all codes
6551 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6552 (x_per_char_metric, x_encode_char): Deleted.
6553 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6554 (x_compute_glyph_string_overhangs): Adjusted for the change of
6555 `struct face'.
6556 (x_draw_glyph_string_foreground)
6557 (x_draw_composite_glyph_string_foreground): Likewise.
6558 (x_draw_glyph_string): Likewise. Use font->underline_position and
6559 font->underline_thickness.
6560 (x_new_font): Renamed from x_new_fontset2.
6561 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6562 (x_check_font): Call `check' method of a font driver.
6563 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6564 (x_query_font, x_get_font_repertory): Deleted.
6565 (x_find_ccl_program): Renamed and moved to xfont.c.
6566 (x_redisplay_interface): Adjusted for the change of `struct
6567 redisplay_interface'.
6568
6569 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6570 conditionals. Don't check enable_font_backend. Delete all codes
6571 used only when USE_FONT_BACKEND is not defined. Surround non-used
6572 code by "#ifdef OLD_FONT" and "endif".
6573 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6574
6575 * w32font.h (struct w32font_info): New member.
6576 (FONT_COMPAT): New macro.
6577 (w32font_open_internal): Prototype adjusted.
6578
6579 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6580 OLD_FONT" and "endif".
6581
6582 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6583 conditionals. Don't check enable_font_backend. Delete all codes
6584 used only when USE_FONT_BACKEND is not defined.
6585 (w32font_open): Return a font-object. Make a font-object by
6586 font_make_object. Adjusted for the change of struct w32font_info.
6587 (w32font_close): Don't free struct font. Adjusted for the change
6588 of struct w32font_info.
6589 (w32font_encode_char, w32font_text_extents, w32font_draw):
6590 Adjusted for the change of struct w32font_info.
6591 (w32font_draw): Likewise.
6592 (w32font_list_internal): Return a list, not vector.
6593 (w32font_open_internal): Change the 4th arg to font-object.
6594 Adjusted for the change of struct w32font_info and font-object format.
6595 (add_font_name_to_list): Don't downcase names.
6596 (w32_enumfont_pattern_entity): Make a font-entity by
6597 font_make_entity. Adjusted for the format change of font-entity.
6598 Use FONT_SET_STYLE to set a style-related font property. If a
6599 font is scalable, set avgwidth property to 0. Set font-entity
6600 property by font_put_extra.
6601 (font_matches_spec): Adjusted for the format change of font-entity.
6602 (w32_weight_table, w32_decode_weight): New variables.
6603 (w32_encode_weight): New function.
6604 (fill_in_logfont): Adjusted for the format change of font-spec.
6605 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6606 weight value.
6607 (w32font_driver): Adjusted for the change of struct font_driver.
6608
6609 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6610 conditionals. Don't check enable_font_backend. Surround non-used
6611 code by "#ifdef OLD_FONT" and "endif".
6612 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6613 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6614
6615 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6616 conditionals. Don't check enable_font_backend. Delete all codes
6617 used only when USE_FONT_BACKEND is not defined. Surround non-used
6618 code by "#ifdef OLD_FONT" and "endif".
6619
6620 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6621 (uniscribe_open): Return value changed to font-object.
6622 Adjusted for the format change of font-object.
6623 (uniscribe_otf_capability): Adjusted for the change of struct font.
6624 (add_opentype_font_name_to_list): Don't downcase names.
6625 (uniscribe_font_driver): Adjusted for the change of struct
6626 font_driver.
6627
66282008-05-13 Chong Yidong <cyd@stupidchicken.com>
6629
6630 * dispnew.c (update_frame_1): Check if tty output is still valid
6631 before flushing it.
6632
66332008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6634
6635 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6636 to Gtk+ menus.
6637
66382008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6639
6640 * dired.c (file_name_completion): Tweak the code so as to always do it
6641 in a single pass. Tighten the scope of some variables.
6642
6643 * dired.c (Qdefault_directory): New var.
6644 (file_name_completion): Use it instead of Fexpand_file_name.
6645 (syms_of_dired): Initialize it.
6646
66472008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6648
6649 * fileio.c (double_dollars): Remove dead code.
6650
66512008-05-10 Eli Zaretskii <eliz@gnu.org>
6652
6653 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6654 Mention w32-get-true-file-attributes in doc string.
6655
6656 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6657
66582008-05-09 Glenn Morris <rgm@gnu.org>
6659
6660 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6661 2008-04-23.
6662
66632008-05-09 Eli Zaretskii <eliz@gnu.org>
6664
6665 Support for reporting owner and group of each file on MS-Windows:
6666 * dired.c (stat_uname, stat_gname): New functions, with special
6667 implementation for w32.
6668 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6669
6670 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6671 (dflt_group_name): New static variable.
6672 (dflt_group): Rename from the_group.
6673 (init_user_info): Init dflt_group fields. Get user's group name
6674 from LookupAccountSid.
6675 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6676 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6677 New initialization states.
6678 (globals_of_w32): Initialize them to zero. Initialize the default
6679 group name to "None".
6680 (GetFileSecurity_Name): New global var, the name of the function
6681 to call for GetFileSecurity.
6682 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6683 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6684 (get_file_security, get_security_descriptor_owner)
6685 (get_security_descriptor_group, is_valid_sid)
6686 (get_file_security_desc, get_rid, get_name_and_id)
6687 (get_file_owner_and_group): New functions.
6688 (stat): Use get_file_security_desc and get_file_owner_and_group to
6689 report the owner and primary group of each file. Don't ignore the
6690 high 32 bits of file's size, now that st_size is 64-bit wide.
6691 Fix test when to get true file attributes.
6692 (init_user_info): Use get_rid instead of equivalent inline code.
6693 (fstat): Don't ignore the high 32 bits of file's size.
6694
66952008-05-09 Chong Yidong <cyd@stupidchicken.com>
6696
6697 * image.c (png_load): Use correct bit-depth for setting background
6698 color.
6699
67002008-05-08 Eli Zaretskii <eliz@gnu.org>
6701
6702 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6703 epa-hook.elc.
6704
67052008-05-08 Juanma Barranquero <lekktu@gmail.com>
6706
6707 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6708
67092008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6710
6711 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6712 because the original parameters are in pure storage now.
6713 (mac_window): Remove unused params. Update callers.
6714
67152008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6716
6717 * lread.c (substitute_object_recurse): Use lower-level primitives.
6718 Don't signal errors when traversing sub-char-tables.
6719 Don't loop over all the possible characters when traversing char-tables.
6720
6721 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6722 just like we do in print.c.
6723
67242008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6725
6726 * minibuf.c (Ftry_completion): Remove code left over from when we used
6727 scmp instead of Fcompare_strings.
6728
67292008-05-04 Juanma Barranquero <lekktu@gmail.com>
6730
6731 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6732
67332008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6734
6735 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6736 Create bitmap context in native byte order.
6737
6738 * macterm.c (XDrawLine)
6739 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6740 context in native byte order.
6741
67422008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6743
6744 * config.in: Regenerate.
6745
6746 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6747 New definitions for Image I/O support.
6748 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6749 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6750 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6751 (mac_data_provider_release_data, image_load_image_io)
6752 [USE_MAC_IMAGE_IO]: New functions.
6753 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6754 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6755 (init_image_func_pointer) [MAC_OSX]: Remove function.
6756 (image_load_quartz2d) [MAC_OSX]: Check availability of
6757 CGImageCreateWithPNGDataProvider at compile time.
6758 Use lowercase `false' for boolean constant.
6759 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6760 Use image_load_image_io.
6761 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6762 Don't check MyCGImageCreateWithPNGDataProvider.
6763 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6764 Don't call init_image_func_pointer.
6765
6766 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6767
6768 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6769 Make variable non-static.
6770 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6771 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6772
6773 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6774 (RED_FROM_ULONG): Mask off higher bits.
6775 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6776
6777 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6778 Include AvailabilityMacros.h.
6779 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6780 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6781
67822008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6783
6784 * chartab.c (Fset_char_table_range): If range is t, really set all
6785 chars to that value.
6786
67872008-05-03 Eli Zaretskii <eliz@gnu.org>
6788
6789 * dired.c (Ffile_attributes): Don't allow the device number become
6790 negative.
6791
67922008-05-02 Daiki Ueno <ueno@unixuser.org>
6793
6794 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6795
67962008-05-02 Juri Linkov <juri@jurta.org>
6797
6798 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6799 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6800 DEFAULT argument as a list of default values in docstrings.
6801
68022008-05-01 Chong Yidong <cyd@stupidchicken.com>
6803
6804 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6805
68062008-05-01 Martin Rudalics <rudalics@gmx.at>
6807
6808 * dispnew.c (change_frame_size_1): Preserve small windows when
6809 shrinking frames by calling set_window_height|width with third
6810 arg 2.
6811
6812 * window.h (struct window): Replace field too_small_ok by field
6813 resize_proportionally.
6814
6815 * window.c (make_window): Initialize resize_proportionally.
6816 (enlarge_window): Temporarily set resize_proportionally to make
6817 sure that shrink_windows does scale the window proportionally.
6818 (shrink_windows): When window has resize_proportionally set try
6819 to shrink it proportionally by stealing from other windows.
6820 (struct saved_window, Fset_window_configuration)
6821 (compare_window_configurations): Handle resize_proportionally.
6822 (WINDOW_TOTAL_SIZE): New macro.
6823 (window_min_size, shrink_windows, size_window): Use it.
6824 (check_min_window_sizes): Remove. Invalid values of
6825 window-min-height|width are handled by window_min_size_2 now.
6826 (size_window, Fsplit_window, enlarge_window)
6827 (adjust_window_trailing_edge, grow_mini_window): Don't call
6828 check_min_window_sizes.
6829 (window_min_size_2, window_min_size_1, window_min_size):
6830 New argument safe_p for retrieving "safe" minimum sizes.
6831 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6832 (adjust_window_trailing_edge, grow_mini_window):
6833 Adjust arguments of window_min_size... functions.
6834 (shrink_windows): Argument min_size removed. New argument
6835 safe_p allows shrinking windows to their safe minimum sizes.
6836 Calculate minimum size and decide whether a window shall be
6837 deleted for each window individually.
6838 (size_window): When nodelete_p equals 2, tell shrink_windows to
6839 delete windows only if their new minimum size is no more safe.
6840 (shrink_window_lowest_first): Call window_min_size_1 to make
6841 sure to preserve modeline of bottom-most window when resizing
6842 the minibuffer.
6843 (Fset_window_configuration, Fcurrent_window_configuration)
6844 (compare_window_configurations): Do not handle
6845 window-min-height|width any more.
6846 (syms_of_window): Clarify window-min-height|width doc-strings.
6847
68482008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6849
6850 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6851 some more. Copy some of the code from Ftry_completions.
6852 Remove special case code that dates back to initial revision when the
6853 slash was only added when necessary and that can't trigger nowadays.
6854
68552008-04-27 Kenichi Handa <handa@m17n.org>
6856
6857 * font.c (font_prop_validate): Signal `error' instead of `font'.
6858
68592008-04-29 Jason Rumney <jasonr@gnu.org>
6860
6861 * w32fns.c (Fw32_battery_status): New defun.
6862 (syms_of_w32fns): Defsubr it.
6863
68642008-04-28 Andreas Schwab <schwab@suse.de>
6865
6866 * dired.c (file_name_completion): Fix another mixing of encoded
6867 and decoded names.
6868
68692008-04-28 Juanma Barranquero <lekktu@gmail.com>
6870
6871 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6872
68732008-04-27 Juanma Barranquero <lekktu@gmail.com>
6874
6875 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6876
68772008-04-27 Andreas Schwab <schwab@suse.de>
6878
6879 * dired.c (file_name_completion): Fix inappropriate mixing of
6880 encoded and decoded names.
6881
6882 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6883
6884 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6885
68862008-04-26 Eli Zaretskii <eliz@gnu.org>
6887
6888 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6889 2008-03-31, it's not needed anymore with `struct stat' definition
6890 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6891 for the same reasons.
6892
68932008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6894
6895 * m/sparc.h: Additional redefinitions for GNU/Linux.
6896
68972008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6898
6899 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6900 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6901 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6902 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6903 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6904 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6905 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6906 Likewise.
6907
6908 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6909 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6910 (mac_ax_number_of_characters): Add externs.
6911 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6912 [USE_MAC_TSM]: Likewise.
6913 (mac_handle_text_input_event) [MAC_OSX]:
6914 Handle kEventTextInputOffsetToPos for no active input area case.
6915 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6916 (mac_handle_document_access_event)
6917 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6918 (install_application_handler) [MAC_OSX]: Register handlers for
6919 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6920 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6921 Register mac_handle_document_access_event.
6922
6923 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6924 Make functions non-static.
6925
69262008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6927
6928 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6929 (read_file_name_completion_ignore_case, insert_default_directory)
6930 (Qdefault_directory): Move to minibuffer.el.
6931 (Fread_file_name): Call the new `read-file-name' instead.
6932
69332008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6934
6935 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6936 Make function non-static.
6937 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6938 Remove function.
6939 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6940 Move to mactoolbox.c.
6941 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6942
6943 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6944 (mac_rect_make): New macro.
6945
6946 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6947 instead of float.
6948 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6949 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6950 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6951 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6952 CGRectMake.
6953 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6954 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6955 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6956 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6957 instead of WindowRef in argument type.
6958 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6959 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6960 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6961 instead of DISPLAY. All uses changed.
6962 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6963 (x_calc_absolute_position): Simplify so as not to use
6964 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6965
6966 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6967 instead of WindowRef in argument type.
6968 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6969 [TARGET_API_MAC_CARBON]: Remove externs.
6970 (create_apple_event, mac_event_parameters_to_lisp)
6971 [TARGET_API_MAC_CARBON]: Add externs.
6972
6973 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6974 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6975 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6976 is clicked.
6977 (x_activate_menubar): Remove extern for saved_menu_event_location.
6978 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6979 Move from mac.c.
6980
69812008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6982
6983 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6984 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6985
69862008-04-23 Jason Rumney <jasonr@gnu.org>
6987
6988 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6989 attributes only for local files.
6990
6991 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6992 default to Qlocal.
6993
69942008-04-22 Juri Linkov <juri@jurta.org>
6995
6996 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6997 read-buffer-to-switch instead of using the letter "B".
6998
69992008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
7000
7001 * fileio.c (Qdefault_directory): New variable.
7002 (Fread_file_name): Use it to pass `dir' to the completion functions.
7003
70042008-04-20 Chong Yidong <cyd@stupidchicken.com>
7005
7006 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
7007
70082008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
7009
7010 * keyboard.c (Vpre_help_message): Remove.
7011 (show_help_echo): Remove default C code.
7012
7013 * dired.c (directory_files_internal, file_name_completion):
7014 Only call ENCODE_FILE if the string is indeed decoded.
7015
70162008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7017
7018 * Makefile.in (TOOLKIT_DEFINES): Remove.
7019 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
7020
70212008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7022
7023 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
7024 (mactoolbox.o): New target.
7025
7026 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
7027 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
7028
7029 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
7030 Use mac_set_frame_window_background instead of XSetWindowBackground.
7031 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
7032 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
7033 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
7034 instead of SetWindowTitleWithCFString.
7035 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
7036 Move function to mactoolbox.c.
7037 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
7038 Use mac_set_window_modified instead of SetWindowModified.
7039 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
7040 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
7041 (Fx_focus_frame): Use mac_front_non_floating_window instead of
7042 FrontNonFloatingWindow. Use mac_activate_window instead of
7043 ActivateWindow. Use mac_active_non_floating_window instead of
7044 ActiveNonFloatingWindow.
7045 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
7046 Use mac_show_hourglass and mac_hide_hourglass.
7047 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
7048 instead of GetGlobalMouse.
7049 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
7050 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
7051 Use mac_bring_window_to_front instead of BringToFront.
7052 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
7053 mactoolbox.c.
7054 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
7055 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
7056 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
7057 mactoolbox.c.
7058
7059 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
7060 (XtPointer): Move typedef from macmenu.c.
7061 (enum button_type): Move enum from macmenu.c.
7062 (widget_value): Move typedef from macmenu.c.
7063 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
7064 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7065 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7066 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7067 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7068 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7069 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7070 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
7071 (Selection): Move typedef from macselect.c.
7072 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
7073 macterm.c.
7074 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
7075 (mac_is_window_collapsed, mac_bring_window_to_front)
7076 (mac_send_window_behind, mac_hide_window, mac_show_window)
7077 (mac_collapse_window, mac_front_non_floating_window)
7078 (mac_active_non_floating_window, mac_activate_window)
7079 (mac_move_window_structure, mac_move_window, mac_size_window)
7080 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
7081
7082 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
7083 (enum mac_menu_kind): Move enum to mactoolbox.c.
7084 (min_menu_id): Move variable to mactoolbox.c.
7085 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
7086 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
7087 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
7088 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
7089 [TARGET_API_MAC_CARBON]: Likewise.
7090 (XtPointer): Move typedef to macgui.h.
7091 (enum button_type): Move enum to macgui.h.
7092 (widget_value): Move typedef to macgui.h.
7093 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7094 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7095 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7096 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7097 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7098 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7099 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7100 (popup_activated_flag): Make variable non-static.
7101 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7102 (add_menu_item, fill_menu, dispose_menus):
7103 Move functions to mactoolbox.c.
7104 (restore_show_help_function, menu_target_item_handler)
7105 (install_menu_target_item_handler, mac_handle_dialog_event)
7106 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7107 [TARGET_API_MAC_CARBON]: Likewise.
7108 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7109 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7110 (find_and_call_menu_selection, name_is_separator): Make function
7111 non-static.
7112 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7113 to mactoolbox.c.
7114 (set_frame_menubar): Don't call install_menu_quit_handler.
7115 (menu_item_selection): New variable.
7116 (mac_menu_show): Use create_and_show_popup_menu.
7117 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7118 selection but set variable menu_item_selection. All uses changed.
7119 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7120 Call install_menu_quit_handler. Move to mactoolbox.c.
7121
7122 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7123 (Selection): Move typedef to macgui.h.
7124 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7125 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7126 Make variables non-static.
7127 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7128 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7129 Make functions non-static.
7130 (Vmac_service_selection) [MAC_OSX]: Likewise.
7131 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7132 (mac_valid_selection_target_p, mac_clear_selection)
7133 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7134 (mac_put_selection_value, mac_selection_has_target_p)
7135 (mac_get_selection_value, mac_get_selection_target_list)
7136 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7137 Move functions to mactoolbox.c.
7138 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7139 Likewise.
7140 (copy_scrap_flavor_data, mac_handle_service_event)
7141 (install_service_handler) [MAC_OSX]: Likewise.
7142 (syms_of_macselect) <Vmac_dnd_known_types>:
7143 Use mac_dnd_default_known_types.
7144
7145 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7146 Move to mactoolbox.c.
7147 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7148 (Fx_selection_owner_p): Add EXFUN.
7149 (install_window_handler, remove_window_handler, XSetWindowBackground):
7150 Remove externs.
7151 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7152 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7153 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7154 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7155 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7156 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7157 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7158 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7159 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7160 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7161 (mac_valid_selection_target_p, mac_clear_selection)
7162 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7163 (mac_put_selection_value, mac_selection_has_target_p)
7164 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7165 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7166 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7167 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7168 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7169 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7170 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7171 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7172 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7173
7174 * mactoolbox.c: New file.
7175
71762008-04-18 Jason Rumney <jasonr@gnu.org>
7177
7178 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7179
71802008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7181
7182 * character.c (Fmultibyte_char_to_unibyte):
7183 Return latin1 chars unchanged.
7184
7185 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7186 relocated if it points to `name'.
7187
71882008-04-17 Kenichi Handa <handa@m17n.org>
7189
7190 * data.c (Faset): Allow setting a multibyte character in an
7191 ASCII-only unibyte string.
7192
7193 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7194
71952008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7196
7197 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7198 done in config.h.
7199
72002008-04-16 Juanma Barranquero <lekktu@gmail.com>
7201
7202 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7203 (Fchar_direction): Add usage in the docstring.
7204
72052008-04-15 Chong Yidong <cyd@stupidchicken.com>
7206
7207 * keyboard.c (read_key_sequence): Remove always-true checks.
7208
72092008-04-14 Jason Rumney <jasonr@gnu.org>
7210
7211 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7212 compatibility struct, for better underline positioning.
7213
72142008-04-13 David Hansen <david.hansen@gmx.net>
7215
7216 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7217 string.
7218
72192008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7220
7221 * m/hp800.h (XUINT, XSET): Remove.
7222
72232008-04-12 Juanma Barranquero <lekktu@gmail.com>
7224
7225 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7226 previous change.
7227
72282008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7229
7230 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7231 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7232
72332008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7234
7235 * keymap.h (map_keymap_canonical): Declare.
7236 * xmenu.c (single_keymap_panes): Use it.
7237
72382008-04-11 Glenn Morris <rgm@gnu.org>
7239
7240 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7241 set the target's value to that of the alias.
7242
72432008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7244
7245 * term.c (set_tty_color_mode): Left over typo.
7246
72472008-04-10 Michael Albinus <michael.albinus@gmx.de>
7248
7249 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7250 only after check for file name handler functions. Signal, when
7251 native functionality is not supported.
7252 (syms_of_fileio): Declare it unconditionally.
7253
72542008-04-10 Jason Rumney <jasonr@gnu.org>
7255
7256 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7257 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7258
7259 * w32.c (logon_network_drive): Also logon to remote drives that
7260 are mapped to drive letters.
7261
72622008-04-10 Glenn Morris <rgm@gnu.org>
7263
7264 * xdisp.c (truncate-partial-width-windows): Doc fix.
7265
72662008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7267
7268 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7269 Move functions to minibuffer.el.
7270 (syms_of_fileio): Don't declare them.
7271
72722008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7273
7274 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7275 (syms_of_minibuf): Remove its initialization.
7276
7277 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7278
72792008-04-09 Juanma Barranquero <lekktu@gmail.com>
7280
7281 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7282
72832008-04-09 Jason Rumney <jasonr@gnu.org>
7284
7285 * makefile.w32-in (distclean): Delete makefile too.
7286 (maintainer-clean): New target.
7287
7288 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7289
7290 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7291 for new font backend and composite cases.
7292
72932008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7294
7295 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7296 Most of the code moved to run_timers.
7297 (do_pending_atimers): Call run_timers.
7298 (run_timers): New function.
7299
7300 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7301 run atimers.
7302
7303 * process.c (wait_reading_process_output): The same as above.
7304
73052008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7306
7307 * minibuf.c (last_exact_completion): Remove variable.
7308 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7309 (complete_and_exit_1, complete_and_exit_2)
7310 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7311 (Fdisplay_completion_list, display_completion_list_1)
7312 (Fminibuffer_completion_help, Fself_insert_and_exit)
7313 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7314 minibuffer.el.
7315 (syms_of_minibuf): Remove corresponding initializations.
7316
7317 * keyboard.c (Qdeactivate_mark): New var.
7318 (command_loop_1): Use it to call `deactivate-mark'.
7319 (syms_of_keyboard): Initialize it.
7320
7321 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7322 to another frame.
7323 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7324 Don't call set_tty_color_mode.
7325 (store_frame_param): Reset previous_frame rather than call
7326 set_tty_color_mode.
7327 * term.c (set_tty_color_mode): Rewrite.
7328 * dispextern.h (set_tty_color_mode): New type.
7329 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7330
73312008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7332
7333 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7334 for generic chars, which do not exist any more in emacs-unicode.
7335
73362008-04-08 Michael Albinus <michael.albinus@gmx.de>
7337
7338 * coding.c (detect_coding_emacs_mule)
7339 (Ffind_operation_coding_system): Fix typo.
7340
73412008-04-08 Jason Rumney <jasonr@gnu.org>
7342
7343 * w32uniscribe.c (SNAME): Extract only symbol name.
7344
7345 * w32font.h (struct w32_metric_cache): New struct.
7346 (w32font_info): Use it.
7347 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7348 (CACHE_BLOCKSIZE): New constants.
7349
7350 * w32font.c (Qja, Qko, Qzh): New symbols.
7351 (syms_of_w32font): Initialise them.
7352 (font_matches_spec): Use them to filter by language.
7353 (recompute_cached_metrics): Remove function.
7354 (compute_metrics, clear_cached_metrics): New functions.
7355 (w32font_encode_char): Use them to manage metric cache.
7356 (w32font_text_extents): Cache metrics for all glyphs on demand.
7357 Delay converting glyph indices to WORD until needed.
7358 (w32font_open_internal): Initialize metric cache to empty.
7359 (registry_to_w32_charset): Charset should always be a symbol.
7360 (fill_in_logfont, list_all_matching_fonts): Family should
7361 always be a symbol.
7362
73632008-04-06 Jason Rumney <jasonr@gnu.org>
7364
7365 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7366 Give up if glyph indices not supported. Use uniscribe obtained
7367 ABC widths for individual metrics. Map glyph clusters back to
7368 characters using fClusterStart flag. Return number of glyphs
7369 produced, not chars processed.
7370 (uniscribe_shape): Map char at FROM to current glyph.
7371
73722008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7373
7374 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7375 Use SetMenuItemHierarchicalMenu.
7376
73772008-04-05 Jason Rumney <jasonr@gnu.org>
7378
7379 * image.c (pbm_load): Allow color values up to 65535.
7380 Throw an error if max_color_idx is outside the supported range.
7381 Report an error when image size is invalid.
7382 Read two bytes at a time when raw images have max_color_idx above 255.
7383
73842008-04-05 Eli Zaretskii <eliz@gnu.org>
7385
7386 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7387 cFileName a file name that includes `?' characters, use the 8+3
7388 alias in cAlternateFileName instead.
7389
73902008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7391
7392 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7393 append "CCL: Quitted" when the CCL program is quitted.
7394 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7395
7396 * ccl.h (struct ccl_program): New member quit_silently.
7397
73982008-04-05 Chong Yidong <cyd@stupidchicken.com>
7399
7400 * search.c (compile_pattern_1): Treat non-nil and non-string of
7401 search-spaces-regexp as nil.
7402
7403 * minibuf.c (Fassoc_string): Tweak docstring.
7404
74052008-04-05 Eli Zaretskii <eliz@gnu.org>
7406
7407 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7408 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7409 2008-03-14 to force inode be positive.
7410
7411 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7412 _S_* ones, since we now use our own sys/stat.h.
7413 (stat, fstat): Don't mangle the inode number.
7414 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7415
74162008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7417
7418 * frame.h (struct frame): Give one more bit to `visible' since we use
7419 values larger than 1 to indicate obscured frames on ttys.
7420
7421 * keymap.c (Qkeymap_canonicalize): New var.
7422 (Fmap_keymap_internal): New fun.
7423 (describe_map): Use keymap-canonicalize.
7424
7425 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7426 (Fundo_boundary): Set them.
7427 (syms_of_undo): Initialize them.
7428 (record_point): Use them instead of last_point_position*.
7429 (last_undo_buffer): Change type.
7430
74312008-04-04 Jason Rumney <jasonr@gnu.org>
7432
7433 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7434 (recompute_cached_metrics): Don't set ascent and descent per char.
7435
7436 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7437 (uniscribe_check_otf): Add GC protection before consing.
7438 Rearrange loop for counting features.
7439
74402008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7441
7442 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7443 buffer with byte-size of source buffer.
7444
74452008-04-03 Chong Yidong <cyd@stupidchicken.com>
7446
7447 * callint.c (Fcall_interactively): Handle temporary region even
7448 when shift-select-mode is off.
7449
74502008-04-03 Jason Rumney <jasonr@gnu.org>
7451
7452 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7453
74542008-04-03 Kenichi Handa <handa@m17n.org>
7455
7456 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7457 (CATEGORY_MASK_UTF_16): Likewise.
7458 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7459 binary file.
7460 (detect_coding): Add null-byte detection for a binary file.
7461 (detect_coding_system): Likewise.
7462
74632008-04-03 Jason Rumney <jasonr@gnu.org>
7464
7465 * w32uniscribe.c: New file.
7466
7467 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7468
7469 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7470
7471 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7472 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7473 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7474 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7475 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7476 (Qphonetic): New symbols.
7477 (syms_of_w32font): Initialize them.
7478 (font_supported_scripts): Use them.
7479 (w32font_list_family): List all charsets.
7480 (w32font_text_extents, recompute_cached_metrics): Fix metric
7481 calculations.
7482 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7483 Give opentype fonts their own format.
7484 (font_matches_spec): New arguments backend and logfont.
7485 Handle :otf spec for uniscribe backend.
7486 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7487 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7488
7489 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7490 font backend.
7491 (globals_of_w32fns): Initialize uniscribe font backend.
7492
7493 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7494 dependencies.
7495 (w32uniscribe.$(O)): New file to build.
7496 (FONT_OBJ): Include w32uniscribe.$(O).
7497 (LIBS): Add uniscribe libraries.
7498
7499 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7500
75012008-04-02 Chong Yidong <cyd@stupidchicken.com>
7502
7503 * callint.c (Vshift_select_mode): New var.
7504 (Finteractive): Document new ^ spec.
7505 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7506 is present.
7507
7508 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7509 (command_loop_1): Avoid running the direct display versions of
7510 forward-char and backward-char if shift-selection may occur.
7511 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7512 shift-translation takes place.
7513
7514 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7515 avoid clobbering by define-minor-mode.
7516
7517 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7518 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7519
7520 * syntax.c (Fforward_word): Add ^ interactive spec.
7521
7522 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7523 (Fscroll_right): Add ^ interactive spec.
7524
75252008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7526
7527 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7528
7529 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7530
7531 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7532
75332008-03-31 Juri Linkov <juri@jurta.org>
7534
7535 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7536
75372008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7538
7539 * gtkutil.c (xg_set_geometry): Fix indentation.
7540 (xg_resize_outer_widget): Remove.
7541 (x_wm_size_hint_off): Fix indentation.
7542 (xg_frame_set_char_size): Call flush_and_sync after
7543 gtk_window_resize.
7544 (x_wm_set_size_hint): Pass NULL as geometry window to
7545 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7546 Add menu bar and tool bar height to base height.
7547 (xg_update_frame_menubar, free_frame_menubar)
7548 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7549 (update_frame_tool_bar, free_frame_tool_bar):
7550 Change xg_resize_outer_widget to xg_frame_set_char_size.
7551
75522008-03-30 Michael Albinus <michael.albinus@gmx.de>
7553
7554 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7555 (Fdbus_call_method): New parameter TIMEOUT.
7556 (dbus-send-signal): Optimize UNGCPRO call.
7557
75582008-03-29 Juri Linkov <juri@jurta.org>
7559
7560 * window.c (Fdisplay_buffer): Move call to
7561 Vsplit_window_preferred_function out of conditions that check
7562 if window is eligible for vertical splitting.
7563 When Vsplit_window_preferred_function is non-nil, call it and use
7564 its non-nil return value as window. Otherwise, continue doing
7565 vertical splitting using Fsplit_window with arg horflag=nil.
7566 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7567 default value from `split-window' to nil.
7568
75692008-03-29 Juri Linkov <juri@jurta.org>
7570
7571 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7572 for interactive code letters 'b' and 'B'.
7573
75742008-03-29 Eli Zaretskii <eliz@gnu.org>
7575
7576 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7577 multibyte string.
7578
75792008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7580
7581 * keyboard.c (pending_funcalls): New var.
7582 (timer_check): Run it.
7583 (syms_of_keyboard): Initialize it.
7584 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7585 (Vdelete_terminal_functions): New vars.
7586 (syms_of_terminal): Initialize them.
7587 (Fdelete_terminal): Run delete-terminal-functions.
7588 * xdisp.c (safe_eval): Rewrite.
7589 (safe_call2): New fun.
7590 * frame.c (Qdelete_frame_functions): New var.
7591 (syms_of_frame): Initialize it.
7592 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7593 * lisp.h (safe_call2, pending_funcalls): Declare.
7594
75952008-03-28 Andreas Schwab <schwab@suse.de>
7596
7597 * indent.c (Fmove_to_column): Move declaration before statements.
7598
75992008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7600
7601 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7602 (struct frame): Use bit fields for boolean vars.
7603
7604 * process.c (server_accept_connection): Simplify naming.
7605 (emacs_get_tty_pgrp): Use SDATA.
7606
7607 * coding.c (decode_coding_object): Fix last change.
7608
76092008-03-27 Jason Rumney <jasonr@gnu.org>
7610
7611 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7612
76132008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7614
7615 * charset.c (Fdefine_charset_internal): Change the way of
7616 registering charsets in Vcharset_order_list.
7617 (syms_of_charset): Make the charset `eight-bit' supplementary.
7618
76192008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7620
7621 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7622 operations, to avoid having the difference between pointers
7623 overflow.
7624
76252008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7626
7627 * indent.c (check_display_width): New fun.
7628 (scan_for_column): Use it.
7629
7630 * data.c (syms_of_data): Mark most-positive-fixnum and
7631 most-negative-fixnum as constants.
7632
7633 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7634
7635 * indent.c (scan_for_column): Extract from current_column_1.
7636 Merge with the same code from Fmove_to_column.
7637 (current_column_1, Fmove_to_column): Use it.
7638
76392008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7640
7641 * keymap.c (map_keymap_internal): New fun.
7642 (map_keymap): Use it.
7643 (Fmap_keymap_internal): New fun.
7644 (Fmap_keymap): Remove left-out test from before make_save_value.
7645
7646 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7647
7648 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7649 Use XCAR/XCDR.
7650
7651 * process.h (struct Lisp_Process): Remove filter_multibyte.
7652 * process.c (QCfilter_multibyte): Remove.
7653 (setup_process_coding_systems): Don't use filter_multibyte.
7654 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7655 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7656 (Fset_process_filter_multibyte): Change the coding-system to
7657 approximate the previous behavior.
7658 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7659 coding-system.
7660
7661 * coding.c (decode_coding_object): When not decoding into a buffer,
7662 obey the coding system's preference of (uni|multi)byte.
7663
76642008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7665
7666 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7667 every char is changed and has a different byte-length.
7668 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7669 Fix int -> EMACS_INT.
7670
76712008-03-23 David Hansen <david.hansen@gmx.net>
7672
7673 * dbusbind.c (xd_read_message): Remove extra copying of message
7674 strings. Check for NULL `interface' or `member'.
7675
76762008-03-22 Eli Zaretskii <eliz@gnu.org>
7677
7678 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7679 cFileName a file name that includes `?' characters, use the 8+3
7680 alias in cAlternateFileName instead.
7681
76822008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7683
7684 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7685
76862008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7687
7688 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7689 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7690 work on current_buffer only instead (that was already the case
7691 for some of the code anyway).
7692 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7693 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7694 (SET_PT, SET_PT_BOTH): Adjust.
7695 * intervals.h (set_point, temp_set_point, set_point_both)
7696 (temp_set_point_both): Remove redundant declarations.
7697
76982008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7699
7700 * fileio.c (Finsert_file_contents):
7701 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7702 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7703 when buffer != current_buffer anyway.
7704
77052008-03-20 Andreas Schwab <schwab@suse.de>
7706
7707 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7708 as default.
7709
77102008-03-19 Jason Rumney <jasonr@gnu.org>
7711
7712 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7713 (syms_of_w32fns): Initialize them.
7714 (HOURGLASS_ID): New constant.
7715 (x_window_to_frame): Don't check hourglass_window.
7716 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7717 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7718 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7719 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7720 Only change the cursor if hourglass is not active.
7721 (Fx_create_frame): Initialize frame's current_cursor.
7722 (hourglass_atimer): Remove.
7723 (hourglass_started): New function.
7724 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7725 (show_hourglass): Adapt to w32, changing argument to frame.
7726
7727 * w32term.h (struct w32_output): Remove hourglass_window.
7728 Add current_cursor.
7729
7730 * eval.c (call_debugger, Fsignal):
7731 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7732 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7733 (Fexecute_extended_command, cancel_hourglass_unwind):
7734 * minibuf.c (read_minibuf):
7735 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7736
77372008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7738
7739 * window.c (run_funs): New fun.
7740 (run_window_configuration_change_hook): Use it to run the buffer-local
7741 and the global part of the hook.
7742
7743 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7744 (unwind_format_mode_line): Restore selected window.
7745 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7746
77472008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7748
7749 * editfns.c (Fchar_equal): Check they are valid characters.
7750
7751 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7752
77532008-03-17 Andreas Schwab <schwab@suse.de>
7754
7755 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7756 against a charset.
7757
7758 * lisp.h (Fbuffer_list): Declare.
7759
77602008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7761
aac0c6e3
MR
7762 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7763 handlebox_widget is != 0.
7764
77652008-03-16 Juri Linkov <juri@jurta.org>
7766
7767 * callint.c (Fcall_interactively): For interactive code letters
7768 'b' and 'B' put the buffer list into the list of default "future"
7769 values of the minibuffer.
7770
77712008-03-16 Andreas Schwab <schwab@suse.de>
7772
7773 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7774 modifiers.
7775
7776 * regex.c (re_match_2_internal): Correct matching of a charset
7777 against latin-1 characters.
7778
77792008-03-16 Kenichi Handa <handa@m17n.org>
7780
7781 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7782 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7783 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7784 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7785 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7786 CHAR_STRING_ADVANCE.
7787 (produce_chars): Fix for the case that the source and the
7788 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7789 instead of CHAR_STRING_ADVANCE.
7790 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7791 STRING_CHAR_ADVANCE.
7792
77932008-03-15 Andreas Schwab <schwab@suse.de>
7794
7795 * regex.c (re_match_2_internal): Correct matching of eight bit
7796 characters in unibyte strings.
7797
77982008-03-15 Martin Rudalics <rudalics@gmx.at>
7799
7800 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7801 at end of range when it coincides with the end of the buffer.
7802
78032008-03-14 Eli Zaretskii <eliz@gnu.org>
7804
7805 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7806
7807 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7808
78092008-03-14 Jason Rumney <jasonr@gnu.org>
7810
7811 * editfns.c (initial_tz): New variable.
7812 (syms_of_editfns): Initialize it.
7813 (Fset_time_zone_rule): Set it when first called.
7814 Use it when TZSTRING is nil.
7815
7816 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7817 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7818 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7819 (globals_of_w32fns): Initialize them.
7820 (compute_tip_xy): Use them to position tooltips.
7821
78222008-03-14 Glenn Morris <rgm@gnu.org>
7823
7824 * emacs.c (main): Revert previous change.
7825 (standard_args): Revert -internal-script back to -scriptload,
7826 and remove the long-option form.
7827
78282008-03-13 Glenn Morris <rgm@gnu.org>
7829
7830 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7831 Remove option -enable-font-backend.
7832
78332008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7834
7835 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7836
78372008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7838
7839 * xterm.c (x_connection_closed): For GTK: If this is the last
7840 terminal just exit without closing the display.
7841
78422008-03-11 Jason Rumney <jasonr@gnu.org>
7843
7844 * w32font.c (w32font_full_name): Use floor to round.
7845
f0131492 78462008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7847
7848 * sound.c (alsa_configure): Declare vol at beginning of block.
7849
7850 * fontset.c (Ffontset_info): Remove extra semicolon.
7851
78522008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7853
7854 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7855 size of resulting string.
7856
78572008-03-10 Jason Rumney <jasonr@gnu.org>
7858
7859 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7860
78612008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7862
7863 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7864 Don't pretend as if characters with display property haven't been
7865 consumed for string-replacing-string case.
7866
78672008-03-08 Kim F. Storm <storm@cua.dk>
7868
7869 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7870 (get_next_display_element, next_element_from_string)
7871 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7872
78732008-03-08 Andreas Schwab <schwab@suse.de>
7874
7875 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7876
78772008-03-06 Jason Rumney <jasonr@gnu.org>
7878
7879 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7880 when charset not specified. Only translate ANSI to unicode when
7881 font_type is truetype.
7882 (w32font_coverage_ok): New function.
7883 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7884
78852008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7886
7887 * lread.c (Fread_char): Resolve modifiers.
7888 (Fread_char_exclusive): Likewise.
7889
7890 * character.c (char_resolve_modifier_mask): New function.
7891 (char_string): Use char_resolve_modifier_mask.
7892 (Fchar_resolve_modifiers): New function.
7893 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7894 function.
7895
78962008-03-04 Jason Rumney <jasonr@gnu.org>
7897
7898 * makefile.w32-in: Always include w32font.c in the build.
7899 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7900
79012008-03-04 Andreas Schwab <schwab@suse.de>
7902
7903 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7904 (versionclean): Likewise.
7905
79062008-03-04 Juanma Barranquero <lekktu@gmail.com>
7907
7908 * .cvsignore: Add oo.
7909
79102008-03-03 Andreas Schwab <schwab@suse.de>
7911
7912 * coding.c (decode_coding_object): Inhibit gap shrinking while
7913 decoding in place.
7914
79152008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7916
7917 * w32term.c: Remove unused include "gnu.h".
7918 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7919
7920 * gnu.h: Rename to ...
7921 * emacs-icon.h: ... this.
7922 * xterm.c: Use emacs-icon.h instead of gnu.h.
7923 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7924
79252008-03-03 Juanma Barranquero <lekktu@gmail.com>
7926
7927 * w32font.c: Include math.h.
7928
79292008-03-03 Jason Rumney <jasonr@gnu.org>
7930
7931 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7932 Compute options separately.
7933 (w32font_open_internal): Set glyph_idx before caching metrics.
7934
7935 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7936 Define if system headers don't.
7937 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7938 (w32font_encode_char): Don't declare here.
7939
7940 * w32font.c (Quniscribe, QCformat): New symbols.
7941 (syms_of_w32font): Define them.
7942 (w32font_has_char): Indicate uncertainty.
7943 (w32font_encode_char): Encode as glyph point. Make static.
7944 (recompute_cached_metrics): New function.
7945 (w32font_open_internal): Use it. Set font to use glyph points
7946 initially. Set format based on type of font.
7947 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7948 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7949 on it. Set format based on information available here.
7950 (add_font_entity_to_list): Identify backend based on opentype_only.
7951
79522008-03-02 Andreas Schwab <schwab@suse.de>
7953
7954 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7955
7956 * coding.c (decode_coding_big5, produce_chars):
7957 Fix typos in last change.
7958
79592008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7960
7961 * gnu.h: New icon.
7962
79632008-03-02 Kenichi Handa <handa@m17n.org>
7964
7965 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7966 `dos', don't decode '\r' if that is the last in the source.
7967 (decode_coding_utf_16, decode_coding_emacs_mule)
7968 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7969 (decode_coding_raw_text, decode_coding_charset): Likewise.
7970 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7971
79722008-03-01 Jason Rumney <jasonr@gnu.org>
7973
7974 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7975
79762008-03-01 Kim F. Storm <storm@cua.dk>
7977
7978 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7979
79802008-03-01 Jason Rumney <jasonr@gnu.org>
7981
7982 * w32font.c (w32font_full_name): New function.
7983 (w32font_open_internal): Use it.
7984
79852008-03-01 Kim F. Storm <storm@cua.dk>
7986
7987 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7988
79892008-03-01 Jason Rumney <jasonr@gnu.org>
7990
7991 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7992
79932008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7994
7995 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7996 xg_frame_resized when the event is for the edit widget.
7997
7998 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7999
8000 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
8001 set_char_size.
8002 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
8003 operations on widgets here. Just set frame size if needed.
8004 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
8005 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
8006 (x_wm_set_size_hint): Set size hints on the edit widget only, not
8007 the whole frame.
8008 (xg_create_tool_bar): Move attachment of the tool bar to
8009 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
8010 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
8011
80122008-03-01 Jason Rumney <jasonr@gnu.org>
8013
8014 * w32fns.c (w32_msg_pump): Disable debug code.
8015
80162008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8017
8018 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
8019
80202008-02-29 Chong Yidong <cyd@stupidchicken.com>
8021
8022 * xdisp.c (next_overlay_string): Don't set
8023 overlay_strings_at_end_processed_p if we're currently reading from
8024 a display string.
8025
80262008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
8027
8028 * xdisp.c (get_overlay_strings_1): Fix typo.
8029
80302008-02-29 Chong Yidong <cyd@stupidchicken.com>
8031
8032 * xdisp.c (get_overlay_strings_1): Add missing argument type.
8033
80342008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
8035
8036 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
8037
8038 * xdisp.c (display_mode_element): Cancel the previous change.
8039 (decode_mode_spec): Likewise.
8040 (handle_auto_composed_prop): Don't make composition if it->string
8041 is a string.
8042
80432008-02-27 Kim F. Storm <storm@cua.dk>
8044
8045 * lisp.h (GLYPH): Change type from int to struct with separate char
8046 and face_id members.
8047 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
8048 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
8049 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
8050 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
8051 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
8052 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
8053 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
8054 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
8055 handle new Lisp glyph code encoding, either an integer or a cons.
8056
8057 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
8058 (GLYPH_ALIAS): Delete.
8059 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
8060 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
8061 (GLYPH_FROM_CHAR): Replace macro by ...
8062 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
8063
8064 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
8065 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
8066 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
8067 (GLYPH_INVALID_P): New macro.
8068 (spec_glyph_lookup_face): Update prototype.
8069
8070 * dispnew.c (line_draw_cost): Adapt to new glyph type.
8071 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
8072 new glyph code encoding.
8073 (spec_glyph_lookup_face): No return value; update passed glyph instead.
8074 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
8075
8076 * xdisp.c (get_next_display_element, next_element_from_display_vector):
8077 Adapt to new glyph type and new glyph code encoding.
8078
8079 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
8080
8081 * indent.c (current_column, current_column_1, Fmove_to_column)
8082 (compute_motion): Adapt to new glyph code encoding.
8083
8084 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
8085
80862008-02-27 Chong Yidong <cyd@stupidchicken.com>
8087
8088 * process.c (wait_reading_process_output): Check for window
8089 changes caused by timers.
8090 Suggested by Johan Bockgård.
8091
80922008-02-27 Glenn Morris <rgm@gnu.org>
8093
8094 * emacs.c (USAGE1): Add `--disable-font-backend'.
8095
80962008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8097
8098 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8099 is made to the buffer.
8100
81012008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8102
8103 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8104 (face_at_string_position):
8105 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8106 (face_at_string_position):
8107 * xdisp.c (display_string, next_overlay_change):
8108 * buffer.h (overlays_at):
8109 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8110 Update callers.
8111
81122008-02-26 Chong Yidong <cyd@stupidchicken.com>
8113
8114 * editfns.c (Fformat): Doc fix.
8115
81162008-02-26 Juanma Barranquero <lekktu@gmail.com>
8117
8118 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8119 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8120 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8121
81222008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8123
8124 * buffer.c (Fbuffer_swap_text): New function.
8125 (syms_of_buffer): Defsubr it.
8126
81272008-02-25 Chong Yidong <cyd@stupidchicken.com>
8128
8129 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8130
81312008-02-25 Jason Rumney <jasonr@gnu.org>
8132
8133 * w32font.c (w32font_draw): Draw one character at a time when padding.
8134
81352008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8136
8137 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8138 Handle a nil arg. Use run_window_configuration_change_hook.
8139 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8140 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8141 Use run_window_configuration_change_hook.
8142
81432008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8144
8145 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8146 1-pixel width.
8147
81482008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8149
8150 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8151 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8152 if the glyph in the font is zero pixel with.
8153
8154 * dispextern.h (struct glyph_string): New member padding_p.
8155
8156 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8157
8158 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8159
8160 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8161
8162 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8163
8164 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8165
81662008-02-25 Jason Rumney <jasonr@gnu.org>
8167
8168 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8169
81702008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8171
8172 Allow fine-grained image-cache flushing.
8173 * dispextern.h (struct image): Add `dependencies' field.
8174 (clear_image_caches): Change arg to Lisp_Object.
8175 * image.c (make_image): Initialize `dependencies' field.
8176 (clear_image_cache): Change arg to allow fine-grained flushing.
8177 Perform the flush even if image-cache-eviction-delay is nil.
8178 (clear_image_caches): Change arg to Lisp_Object.
8179 (Fclear_image_cache): Expand meaning of the argument.
8180 (mark_image): Mark `dependencies' field.
8181 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8182 (lface_hash): Use XHASH rather than XFASTINT.
8183 (face_at_buffer_position): Fix int -> EMACS_INT position.
8184 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8185 (select_frame_for_redisplay): Remove code duplication.
8186 (redisplay_internal): Adapt arg to call to clear_image_caches.
8187
81882008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8189
8190 * s/vms4-0.h:
8191 * s/vms4-2.h:
8192 * s/vms4-4.h:
8193 * s/vms5-5.h: Remove, unused.
8194
8195 * s/irix5-2.h:
8196 * s/irix6-0.h:
8197 * s/riscos5.h:
8198 * s/mach-bsd4-3.h:
8199 * m/mips4.h: Remove files for obsolete systems.
8200
8201 * Makefile.in:
8202 * filelock.c:
8203 * unexmips.c:
8204 * m/hp9000s300.h:
8205 * m/iris4d.h:
8206 * s/aix3-1.h:
8207 * s/hpux.h:
8208 * s/msdos.h:
8209 * s/usg5-0.h:
8210 * s/usg5-2-2.h:
8211 * s/usg5-2.h:
8212 * s/usg5-3.h: Remove references to obsolete variables.
8213
8214 * s/irix5-0.h: Remove, move all the contents ...
8215 * s/irix6-5.h: ... here. Simplify.
8216 * config.in: Regenerate.
8217
82182008-02-24 Jason Rumney <jasonr@gnu.org>
8219
8220 * w32term.c (x_draw_glyph_string_background): Clear the background
8221 manually when cleartype is in use.
8222 (x_draw_glyph_string_foreground): Draw text transparently when
8223 cleartype is in use.
8224
8225 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8226 a font into it unless we have to.
8227
82282008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8229
8230 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8231 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 8232
aac0c6e3
MR
82332008-02-18 Jason Rumney <jasonr@gnu.org>
8234
8235 * w32fns.c (Fw32_shell_execute): Encode parameters.
8236
82372008-02-09 Eli Zaretskii <eliz@gnu.org>
8238
8239 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8240
82412008-02-05 Juanma Barranquero <lekktu@gmail.com>
8242
8243 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8244
82452008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8246
8247 * xterm.c (x_set_offset): Don't change the gravity if
8248 CHANGE_GRAVITY is -1.
8249
82502008-02-23 Chong Yidong <cyd@stupidchicken.com>
8251
8252 * fileio.c (auto_save_error_occurred): New var.
8253 (auto_save_error): Set it.
8254 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8255 error occurred.
8256
82572008-02-23 Eli Zaretskii <eliz@gnu.org>
8258
8259 * w32.c (globals_of_w32): Add initializations for
8260 g_b_init_get_sid_sub_authority and
8261 g_b_init_get_sid_sub_authority_count.
8262
82632008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8264
8265 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8266 (font_parse_xlfd): Use them for sanity check.
8267 (Finternal_set_font_style_table): Make sure the table is bijective.
8268
8269 Consolidate the image_cache to the terminal struct.
8270 * termhooks.h (P_): Remove redundant def.
8271 (struct terminal): New field `image_cache'.
8272 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8273 of FRAME_X_IMAGE_CACHE.
8274 * xterm.h (struct x_display_info): Remove image_cache field.
8275 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8276 * w32term.h (struct w32_display_info): Remove image_cache field.
8277 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8278 * macterm.h (struct mac_display_info): Remove image_cache field.
8279 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8280 * xterm.c (x_term_init):
8281 * w32term.c (w32_term_init):
8282 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8283 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8284 Remove declarations.
8285 (clear_image_caches, mark_image_cache): New declarations.
8286 * xfaces.c (clear_face_cache):
8287 * xdisp.c (redisplay_internal): Use clear_image_caches.
8288 * image.c (clear_image_cache): Don't check that a frame is on
8289 a window-system before checking if it shares the same cache.
8290 (clear_image_caches): New function.
8291 (Fclear_image_cache): Use it.
8292 (mark_image): Move from allo.c.
8293 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8294 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8295 (mark_object): Don't call mark_image_cache for frames.
8296 (mark_terminals): Call mark_image_cache.
8297
8298 * lisp.h (Fdelete_terminal): Declare.
8299
8300 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8301 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8302 wrong_type_argument.
8303
83042008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8305
8306 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8307 malayalam.el, and tamil.el. Add sinhala.el.
8308
83092008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8310
8311 * xterm.c (x_connection_closed): Consolidate identical tests.
8312 (x_delete_terminal): Don't crash if called via x_connection_closed.
8313
83142008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8315
8316 * xdisp.c (decode_mode_spec): New arg string.
8317 (display_mode_element): Adjust for the above change.
8318
83192008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8320
8321 * callint.c (Fcall_interactively): Use AREF.
8322
83232008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8324
8325 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8326
83272008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8328
8329 * xfns.c (Fx_show_tip): Set string to " " if empty.
8330
83312008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8332
8333 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8334 with Qt.
8335
83362008-02-17 Kenichi Handa <handa@m17n.org>
8337
8338 * ftfont.c (ftfont_shape): Return Lispy number.
8339
8340 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8341 for GCs.
8342 (Finternal_set_font_selection_order): Call font_update_sort_order
8343 only when enable_font_backend is set.
8344 (realize_x_face): Set face->font_info to that of default face only
8345 when enable_font_backend is set.
8346
8347 * xdisp.c (handle_composition_prop): Set it->c to the fist
8348 character of the composed region.
8349 (fill_composite_glyph_string): Set base_face->font_info to
8350 s->font_info. Get a face for ascii from base_face->ascii_face.
8351 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8352 with a face already decided.
8353 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8354 non-negative.
8355 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8356 call font_prepare_composition unconditionally.
8357
8358 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8359
8360 * xterm.h (struct x_display_info): New member font.
8361
8362 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8363 (x_set_mouse_face_gc, x_new_font): Likewise.
8364 (x_term_init): Setup display_info->font.
8365 (x_delete_terminal): Free display_info->font.
8366
8367 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8368
8369 * ftxfont.c (ftxfont_default_fid): Delete it.
8370 (ftxfont_open): Set xfont->fid to 0.
8371 (ftxfont_end_for_frame): Clear data specific to the frame and the
8372 font-driver.
8373
8374 * xftfont.c (xftfont_default_fid): Delete it.
8375 (xftfont_open): Set xfont->fid to 0.
8376
8377 * fontset.c (FONTSET_OBJLIST): New macro.
8378 (fontset_find_font): Update font-object list of the fontset.
8379 (free_realized_fontset): New function.
8380 (free_face_fontset): Call free_realized_fontset.
8381 (Ffont_info): Call font_close_object only when enable_font_backend
8382 is set.
8383
8384 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8385 [HAVE_NTGUI]: Include w32term.h.
8386 [MAC_OS]: Include macterm.ch.
8387 (font_otf_ValueRecord): Use make_number.
8388 (font_finish_cache): Fix handling of reference count.
8389 (font_clear_cache): Update num_fonts.
8390 (font_open_entity): Update smallest_char_width and
8391 smallest_font_height of the frame.
8392 (font_close_object): Update num_fonts.
8393 (Fclear_font_cache): Fix finding the target cache data.
8394
83952008-02-16 Glenn Morris <rgm@gnu.org>
8396
8397 * fontset.c (Finternal_char_font): Fix compilation warning.
8398
83992008-02-16 Eli Zaretskii <eliz@gnu.org>
8400
8401 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8402 instead of char arrays. Enlarge the size of array passed to
8403 get_token_information.
8404
8405 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8406 warnings.
8407
84082008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8409
8410 * .gdbinit: Don't set `args', it breaks gdb --args.
8411
84122008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8413
8414 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8415 within a narrowed buffer.
8416
84172008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8418
8419 * coding.c (decode_coding_object, encode_coding_object):
8420 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8421
84222008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8423
8424 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8425 hardcoding 1.
8426 (detect_coding_system):
8427 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8428 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8429 * insdel.c (insert_from_gap):
8430 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8431 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8432 (string_to_multibyte):
8433 * character.c (chars_in_text, multibyte_chars_in_text):
8434 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8435
8436 * character.h (FETCH_STRING_CHAR_ADVANCE)
8437 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8438 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8439 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8440
8441 * casefiddle.c (casify_region): Only call after-change and composition
8442 functions on the part of the region that was changed.
8443
8444 * keyboard.c (read_avail_input):
8445 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8446
84472008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8448
8449 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8450 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8451
84522008-02-11 Juanma Barranquero <lekktu@gmail.com>
8453
8454 * w32menu.c (push_submenu_start, push_submenu_end)
8455 (push_left_right_boundary, push_menu_pane, push_menu_item):
8456 * keyboard.c (read_key_sequence): Don't pass args with side effects
8457 to AREF, it fails when compiling with -DENABLE_CHECKING.
8458
84592008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8460
8461 * Makefile.in (${lispsource}international/charprop.el):
8462 Delete this target.
8463
8464 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8465 emacs-unicode-2.
8466
84672008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8468
8469 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8470
84712008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8472
8473 * frame.c (Qnoelisp): New symbol.
8474 (syms_of_frame): Initialize it.
8475 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8476 harmless Elisp code, from a strong `force' from x_connection_closed.
8477 * frame.h (Qnoelisp): Declare.
8478 * xterm.c (x_connection_closed): Pass `noelisp'.
8479
8480 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8481 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8482 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8483 rather than `int' for the type of `type'.
8484
84852008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8486
8487 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8488
8489 * Makefile.in (GNUC): Remove support for gcc-1.x.
8490
84912008-02-10 Richard Stallman <rms@gnu.org>
8492
8493 * lisp.h (ASET): Use AREF, not ASLOT.
8494
84952008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8496
8497 * lisp.h (ASET): Check bounds.
8498
84992008-02-10 Glenn Morris <rgm@gnu.org>
8500
8501 * buffer.c (mode-name): Doc fix.
8502
85032008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8504
8505 * Makefile.in:
8506 * emacs.c:
8507 * gmalloc.c:
8508 * keyboard.c:
8509 * lisp.h:
8510 * m/ibm370aix.h:
8511 * process.c:
8512 * regex.c:
8513 * s/hpux.h:
8514 * sysdep.c:
8515 * sysselect.h:
8516 * systty.h:
8517 * unexec.c:
8518 * w32term.c:
8519 * xsmfns.c:
8520 * xterm.c: Remove code that deals with obsolete variables.
8521
8522 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8523
8524 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8525 nothing else needs it anymore.
8526
85272008-02-09 Eli Zaretskii <eliz@gnu.org>
8528
8529 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8530 instead of unibyte_char_to_multibyte.
8531
85322008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8533
8534 * s/gnu-linux.h: Remove commented out code.
8535
8536 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8537
8538 * Makefile.in: Update what RMS says about using autoconf.
8539 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8540 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8541 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8542 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8543
85442008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8545
8546 * keymap.c (Fkey_description): Move side effect outside of macro call.
8547
8548 * xfaces.c (Finternal_make_lisp_face):
8549 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8550
8551 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8552 (syms_of_fontset): Use ASET.
8553
8554 * fns.c (concat): Move side effect outside of macro call.
8555 (hash_clear): Use ASET.
8556
85572008-02-08 Richard Stallman <rms@gnu.org>
8558
8559 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8560 If FORCE, and frame has a surrogate minibuffer for another frame,
8561 delete the other frame first.
8562
85632008-02-07 Timo Savola <timo.savola@iki.fi>
8564
8565 * xterm.c (x_detect_focus_change): Handle embed client message.
8566 (handle_one_xevent): Ditto.
8567 (handle_one_xevent): If embedded and we get a button press/release,
8568 request focus.
8569 (xembed_set_info, xembed_send_message): New functions.
8570 (x_make_frame_visible): Call xembed_set_info if embedded.
8571 (x_make_frame_invisible): Call xembed_set_info if embedded.
8572 (x_term_init): Initialize Xatom_XEMBED.
8573 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8574 (x_iconify_frame): Ditto.
8575
8576 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8577 (enum xembed_info, enum xembed_message, enum xembed_focus)
8578 (enum xembed_modifier, enum xembed_accelerator): New.
8579 (xembed_set_info, xembed_send_message): Declare.
8580 (FRAME_X_EMBEDDED_P): New.
8581
8582 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8583 gtk_plug_new.
8584
8585 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8586 window ID of a frame.
8587 (x_window): Reparent frame if embedded.
8588 (Fx_create_frame): Don't set border width if embedded.
8589
8590 * emacs.c (USAGE3): Add --parent-id.
8591 (standard_args): Ditto.
8592
85932008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8594
8595 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8596
85972008-02-07 Jim Meyering <meyering@redhat.com>
8598
8599 Use "do...while (0)", not "if (1)...else" in macro definitions.
8600 The latter provokes a warning from gcc about the empty else, when
8601 followed by ";". Also, without that trailing semicolon, it would
8602 silently swallow up any following statement.
8603 * syntax.h (SETUP_SYNTAX_TABLE)
8604 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8605 * buffer.h (DECODE_POSITION): Likewise.
8606 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8607 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8608 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8609 (FETCH_CHAR_ADVANCE): Likewise.
8610 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8611
86122008-02-07 Jim Meyering <meyering@redhat.com>
8613
8614 * lread.c [lint]: Don't include <sys/inode.h>.
8615
86162008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8617
8618 * xselect.c (x_handle_dnd_message):
8619 * xmenu.c (digest_single_submenu, xmenu_show):
8620 * xdisp.c (with_echo_area_buffer_unwind_data)
8621 (format_mode_line_unwind_data, unwind_format_mode_line)
8622 (display_menu_bar):
8623 * eval.c (Ffetch_bytecode):
8624 * doc.c (store_function_docstring):
8625 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8626 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8627 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8628
86292008-02-07 Kenichi Handa <handa@m17n.org>
8630
8631 * ftxfont.c (ftxfont_open): Don't set
8632 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8633
8634 * ftfont.c (ftfont_open): Fix previous change.
8635
86362008-02-06 Jason Rumney <jasonr@gnu.org>
8637
8638 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8639 Use cached metrics for ASCII characters.
8640 (w32font_open_internal): Don't set font's owning_frame.
8641 Cache metrics for ASCII characters.
8642
8643 * w32font.h (struct w32font_info): Add ascii_metrics.
8644 Remove owning_frame.
8645
86462008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8647
8648 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8649 to negative value.
8650
8651 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8652
8653 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8654
8655 * charset.c (syms_of_charset): Set QCtest and Qeq.
8656
86572008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8658
8659 * process.c (Fstart_process):
8660 * callproc.c (Fcall_process): Handle the case where
8661 Funhandled_file_name_directory returns nil.
8662
8663 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8664 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8665 * font.c (check_gstring): Use them and AREF to access the vector before
8666 we know it's really a gstring.
8667 (Ffont_shape_text): Fix typo.
8668 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8669
8670 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8671 Declare.
8672
8673 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8674
86752008-02-05 Jason Rumney <jasonr@gnu.org>
8676
8677 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8678 Set smallest_font_height and smallest_char_width in display info.
8679
86802008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8681
8682 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8683
86842008-02-05 Miles Bader <miles@gnu.org>
8685
8686 * xfaces.c (get_lface_attributes, merge_named_face)
8687 (lookup_named_face, lookup_derived_face, realize_named_face):
8688 Revert 2008-02-01 change by cyd@stupidchicken.com.
8689
86902008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8691
8692 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8693 fallback fonts.
8694 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8695
86962008-02-04 Jason Rumney <jasonr@gnu.org>
8697
8698 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8699 set full_name.
8700 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8701
87022008-02-03 Jason Rumney <jasonr@gnu.org>
8703
8704 * makefile.w32-in (OBJ1): Include font.o here.
8705 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8706
87072008-02-02 Jason Rumney <jasonr@gnu.org>
8708
8709 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8710
87112008-02-01 Jason Rumney <jasonr@gnu.org>
8712
8713 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8714
8715 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8716
87172008-02-01 Andreas Schwab <schwab@suse.de>
8718
8719 * Makefile.in (shortlisp, lisp): Update for rename of
8720 ../lisp/language/myanmar.el.
8721
87222008-02-01 Chong Yidong <cyd@stupidchicken.com>
8723
8724 * xfaces.c (get_lface_attributes): Delete function.
8725 (merge_named_face, lookup_named_face, lookup_derived_face)
8726 (realize_named_face): Call lface_from_face_name directly, and use
8727 the fact that merge_face_vectors does not alter its FROM argument.
8728
87292008-02-01 Jason Rumney <jasonr@gnu.org>
8730
8731 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8732 input in the default locale. Handle non-Unicode multibyte input.
8733
87342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8735
8736 * fontset.c (reorder_font_vector): Exclude nil elements from the
8737 font group. Don't try multiple fonts.
8738 (fontset_font): Adjust for the above change.
8739 (Finternal_char_font): Return nil if the found font doesn't
8740 contain the character ch.
8741
8742 * Makefile.in (lisp, shortlisp): Add cham.el.
8743
87442008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8745
8746 * font.h (FONTP): Make it return 1 also for a font-object.
8747
8748 * .gdbinit (xfontset): New function.
8749
8750 * font.c (font_find_for_lface): Check if the character C is
8751 supported or not only for the first font.
8752
8753 * fontset.c (reorder_font_vector): Fix typo.
8754 (fontset_find_font): Don't add a font-spec specifying a script.
8755 Use 0 (not Qt) for the indication of empty font-group. Change the
8756 format of RFONT-DEF. Return Qt if no font in the font-group
8757 support the character.
8758 (fontset_font): Adjust for the above change. If no font was
8759 found the character, remember that.
8760 (face_for_char): Adjust for the change of RFONT-DEF.
8761 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8762 no font for the target.
8763 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8764
87652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8766
8767 * font.c (font_load_for_face): Handle the case that the font in
8768 face->lface is a string.
8769
87702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8771
8772 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8773
87742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8775
8776 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8777 Fix previous change. If the frame is not on a window system,
8778 signal an error.
8779
87802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8781
8782 * coding.c (decode_coding_object, encode_coding_object): Adjust
8783 marker positions after conversion.
8784
8785 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8786
87872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8788
8789 * font.c (font_find_for_lface): Fix the handling of the return
8790 value of font_has_char.
8791 (Ffont_shape_text): Fix previous change.
8792
8793 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8794 (fontset_ref_and_range): Delete it.
8795 (fontset_find_font): Call char_table_ref_and_range instead of
8796 FONTSET_REF_AND_RANGE.
8797 (make_fontset): Don't setup font groups of Latin here.
8798 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8799 (new_fontset_from_font): Make the specified font the default for
8800 all Latin characters.
8801
88022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8803
8804 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8805 is on a window system before accessing the fontset of the frame.
8806
88072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8808
8809 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8810
8811 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8812 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8813
8814 * font.c (Ffont_shape_text): If the font driver doesn't have a
8815 shaper function, make zero-width glyphs to have at least one-pixel
8816 width. Fix setting of `to' field of glyphs.
8817
88182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8819
8820 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8821 glyphs.
8822
8823 * font.h (struct font_driver): Improve docstring of member `shape'.
8824
88252008-02-01 Kenichi Handa <handa@m17n.org>
8826
8827 * composite.c (syms_of_composite): Fix docstring of
8828 auto-composition-function.
8829
8830 * font.h (LGLYPH_SIZE): New macro.
8831
8832 * font.c (Ffont_fill_gstring): Stop filling when a character not
8833 supported by the font is found.
8834 (Ffont_shape_text): When a shape callback function returns nil,
8835 try at most two more times with larger gstring.
8836 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8837
8838 * xdisp.c (handle_auto_composed_prop): Change the argument to
8839 auto-composition-function.
8840
8841 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8842 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8843 Lispy glyph and store it in the lgstring.
8844
8845 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8846
8847 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8848
88492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8850
8851 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8852
8853 * fontset.c (Vfont_encoding_charset_alist): New variable.
8854 (syms_of_fontset): DEFVAR it.
8855 (reorder_font_vector, fontset_find_font): Optimize for the case of
8856 no need of reordering.
8857 (face_for_char): Map the charset property by
8858 Vfont_encoding_charset_alist.
8859
88602008-02-01 Jason Rumney <jasonr@gnu.org>
8861
8862 * w32font.c (logfonts_match): Don't check adstyle here.
8863 (font_matches_spec): Check here against physical font instead.
8864 (add_font_entity_to_list): Avoid some substitutions.
8865
8866 * font.c (font_parse_fcname): Default weight and slant to normal.
8867 (font_score): Prefer normal fonts if weight or slant unspecified.
8868 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8869 match freetype scores.
8870
88712008-02-01 Jason Rumney <jasonr@gnu.org>
8872
8873 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8874 font, as it may have been deleted.
8875 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8876 most common hyphenless variation.
8877 (logfonts_match): Check generic family.
8878 (font_matches_spec): Don't check generic family here.
8879 (fill_in_logfont): Set generic family based on adstyle.
8880
8881 * w32font.h (w32font_get_cache): Update declaration.
8882
88832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8884
8885 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8886
8887 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8888 If none of the new drivers are available, call font_update_drivers
8889 with the old drivers.
8890
8891 * w32font.c (w32font_get_cache): Adjust the argument type.
8892
8893 * xfont.c (xfont_get_cache): Adjust the argument type.
8894
8895 * font.h (struct font_driver): Change argument type of get_cache.
8896
8897 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8898
8899 * font.c (Ffont_get): Fix arguments to Fassoc.
8900 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8901 (font_clear_cache): New function.
8902 (font_list_entities, font_matching_entity): Use font_get_cache.
8903 (font_update_drivers): Call font_clear_cache when finishing a driver.
8904
8905 * fontset.c (fontset_find_font): Fix previous change.
8906
89072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8908
8909 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8910 dpyinfo->font_table.
8911 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8912 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8913
8914 * font.c (font_at): Handle the case that the arg C is negative.
8915 Handle the unibyte case.
8916 (Ffont_at): Call font_at with the arg C -1.
8917
8918 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8919 the position here, and call font_at with the arg C -1.
8920 Don't check the range of the existing composition at the point.
8921
89222008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8923
8924 * fontset.c (fontset_add): New args charset_id and family.
8925 Change caller.
8926 (load_font_get_repertory, fontset_find_font): Assume that
8927 font_spec is always a font-spec object.
8928 (Fset_fontset_font): Always store a font-spec object in a fontset.
8929
8930 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8931 instead of get_property_and_range.
8932
89332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8934
8935 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8936 (xftfont_open): Don't keep locking face.
8937 (xftfont_close): Don't unlock face.
8938 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8939
8940 * fontset.c (fontset_find_font): Don't prefer a font of
8941 supplementary charset.
8942
89432008-02-01 Kenichi Handa <handa@m17n.org>
8944
8945 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8946 script, langsys_tag to langsys, new member script.
8947 (OTF_TAG_STR): Terminate by '\0'.
8948 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8949 listing to the script specified in that property. Fix arg to
8950 OTF_check_features.
8951
89522008-02-01 Jason Rumney <jasonr@gnu.org>
8953
8954 * w32font.h: New file.
8955
8956 * w32font.c: Include it.
8957 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8958 (w32font_open): Set owning_frame.
8959 (w32font_text_extents): Use owning_frame.
8960 (struct font_callback_data): Add opentype_only field.
8961 (add_font_entity_to_list): Use it to filter fonts.
8962 Don't check against full name.
8963 (w32font_list_internal): New function.
8964 (w32font_list): Use it.
8965 (w32font_match_internal): New function.
8966 (w32font_match): Use it.
8967 (w32font_open_internal): New function.
8968 (w32font_open): Use it.
8969 (w32font_get_cache, w32font_close, w32font_has_char)
8970 (w32font_encode_char, w32font_text_extents, w32font_draw):
8971 Make non-static.
8972
8973 * makefile.w32-in (w32font.o): Depend on w32font.h.
8974
89752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8976
8977 * charset.c (Fdefine_charset_internal): Record a supplementary
8978 charset at the tail of Vcharset_order_list.
8979
8980 * font.c (Ffont_shape_text): Fix the return value.
8981
8982 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8983
8984 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8985
89862008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8987
8988 * ftfont.c (struct OpenTypeSpec): New struct.
8989 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8990 (ftfont_get_open_type_spec): New function.
8991 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8992
8993 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8994
89952008-02-01 Jason Rumney <jasonr@gnu.org>
8996
8997 * w32font.c (add_font_entity_to_list): Compare only the beginning
8998 of full name.
8999
90002008-02-01 Kenichi Handa <handa@m17n.org>
9001
9002 * xdisp.c (handle_auto_composed_prop): Simplify the code.
9003 Never return HANDLED_RECOMPUTE_PROPS.
9004
90052008-02-01 Kenichi Handa <handa@m17n.org>
9006
9007 * font.c (font_gstring_produce): Delete it.
9008
9009 * composite.h (COMPOSITION_METHOD):
9010 Handle COMPOSITION_WITH_GLYPH_STRING.
9011
90122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9013
9014 * xfont.c (Qx): Delete.
9015 (syms_of_xfont): Don't initialize Qx.
9016
9017 * composite.h (enum composition_method):
9018 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
9019
90202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9021
9022 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
9023 (choose_face_font): Accept new form of font-spec.
9024
9025 * frame.h (font_driver_list): Declare it unconditionally.
9026 (struct frame): Define members font_driver_list and font_data_list
9027 unconditionally.
9028
9029 * fontset.c: Include "font.h" unconditionally.
9030 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
9031 (Fset_fontset_font): Accept a font-spec object.
9032
9033 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
9034 PIXEL_SIZE part a wild card.
9035
9036 * dispextern.h (struct glyph_string): Define members clip and
9037 num_clips unconditionally.
9038 (struct face): Define members font_info and extra unconditionally.
9039
9040 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
9041 ftfont_info only when HAVE_LIBOTF is defined.
9042
90432008-02-01 Andreas Schwab <schwab@suse.de>
9044
9045 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
9046 and end.
9047
90482008-02-01 Jason Rumney <jasonr@gnu.org>
9049
9050 * w32font.c (w32font_driver): Add new fields.
9051
90522008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9053
9054 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
9055 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
9056 (LIBES): Add @M17N_FLT_CFLAGS@.
9057
9058 * composite.c (compose_text): Don't treat the new style
9059 composition specially.
9060
9061 * emacs.c (main): Call syms_of_font unconditionally.
9062
9063 * font.h (FONT_ENTITY_NOT_LOADABLE)
9064 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
9065 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
9066 (struct font_driver): New member shape.
9067 (font_registry_charsets): Extern it.
9068 (font_find_for_lface, font_prepare_composition): Adjust prototype.
9069 (font_otf_capability, font_drive_otf): Delete their externs.
9070
9071 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
9072 (font_charset_alist, font_registry_charsets): Move from xfont.c
9073 and rename.
9074 (font_prop_validate_otf): New function.
9075 (font_property_table): Register it for QCotf.
9076 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
9077 (font_drive_otf): Delete.
9078 (font_prepare_composition): New arg F. Adjust for the change of
9079 lispy gstring.
9080 (font_find_for_lface): New arg C.
9081 (font_load_for_face): Adjust for the change of font_find_for_lface.
9082 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
9083 lispy gstring.
9084 (Ffont_shape_text): New function.
9085 (Fopen_font): If the font size is not given, use 12-pixel.
9086 (Ffont_at): New arg STRING.
9087 (syms_of_font): Initalize font_charset_alist.
9088 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
9089 conditionally.
9090
9091 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
9092 fonts of the same font-spec. Change the format of RFONT-DEF.
9093 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
9094 Adjust for the change of RFONT-DEF.
9095 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
9096
9097 * ftfont.h: New file.
9098
9099 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9100 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9101 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9102 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9103 font_otf_capability and font_drive_otf, set ftfont_shape.
9104 (ftfont_list): Adjust for the change of :otf property value.
9105 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9106 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9107 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9108 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9109 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9110 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9111
9112 * w32term.c (x_draw_composite_glyph_string_foreground):
9113 Adjust for the change of lispy gstring.
9114
9115 * xdisp.c (handle_composition_prop): Adjust for the change of
9116 lispy gstring. Call a function for auto-composition with the
9117 third arg it->window.
9118 (fill_composite_glyph_string): Adjust for the change of lispy string.
9119 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9120
9121 * xfaces.c (set_font_frame_param): Adjust for the change of
9122 font_find_for_lface.
9123
9124 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9125 (xfont_registry_charsets): Likewise. Change caller.
9126 (syms_of_xfont): Don't handle x_font_charset_alist.
9127
9128 * xftfont.c: Include "ftfont.h".
9129 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9130 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9131 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9132 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9133 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9134 Set xftfont_driver.shape to xftfont_shape.
9135
9136 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9137 the change of lispy gstring.
9138
91392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9140
9141 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9142
91432008-02-01 Jason Rumney <jasonr@gnu.org>
9144
9145 * w32font.c (w32font_draw): Fill background manually.
9146
91472008-02-01 Jason Rumney <jasonr@gnu.org>
9148
9149 * font.c (Qfontp): Remove unused symbol.
9150 (QCantialias): New symbol.
9151 (syms_of_font): Define it.
9152 (font_property_table): Set a validator for QCantialias.
9153
9154 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9155 Define if not already.
9156 (QCfamily): Share with xfaces.c.
9157 (Qstandard, Qsubpixel, Qnatural): New symbols.
9158 (syms_of_w32font): Define them. Don't define QCfamily here.
9159 (w32_antialias_type, lispy_antialias_type): New functions.
9160 (w32_enumfont_pattern_entity): New arg requested_font.
9161 Set antialias parameter if non-default was requested.
9162 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9163
91642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9165
9166 * lread.c (read1): Undo the previous change.
9167
91682008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9169
9170 * frame.c (Fdelete_frame): Call font_update_drivers only when
9171 USE_FONT_BACKEND is defined.
9172
91732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9174
9175 * font.h (struct font_bitmap): New member bits_per_pixel.
9176 (struct font_driver): New members start_for_frame and end_for_frame.
9177 (struct font_data_list): New struct.
9178 (font_put_frame_data, font_get_frame_data): Extern them.
9179
9180 * frame.h (struct frame): New member font_data_list.
9181
9182 * font.c (font_update_drivers): Call driver->start_for_frame and
9183 driver->end_for_frame at proper timings.
9184 (font_put_frame_data, font_get_frame_data): New functions.
9185 (Ffont_spec): Add usage in the docstring.
9186
9187 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9188 (Fdelete_frame): Call font_update_drivers.
9189
9190 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9191 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9192 (xftfont_get_xft_draw): New function.
9193 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9194 (xftfont_end_for_frame): New function.
9195 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9196
9197 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9198 Change argument. Cache GCs in the per-frame data.
9199 (struct ftxfont_frame_data): New struct.
9200 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9201 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9202 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9203 (ftxfont_end_for_frame): New function.
9204 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9205
9206 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9207
92082008-02-01 Kenichi Handa <handa@m17n.org>
9209
9210 * xselect.c (Vselection_coding_system)
9211 (Vnext_selection_coding_system): Delete them.
9212 (syms_of_xselect): Don't declare selection-coding-system and
9213 next-selection-coding-system. They are declared in select.el.
9214
92152008-02-01 Jason Rumney <jasonr@gnu.org>
9216
9217 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9218
9219 * w32fns.c: Include imm.h.
9220 (get_composition_string_fn, get_ime_context_fn): New optional
9221 system functions.
9222 (globals_of_w32fns): Load them from imm32.dll.
9223 (ignore_ime_char): New flag.
9224 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9225 WM_IME_ENDCOMPOSITION messages.
9226
9227 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9228 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9229
92302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9231
9232 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9233 (READCHAR_REPORT_MULTIBYTE): New macro.
9234 (readchar): New 2nd arg MULTIBYTE.
9235 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9236 Make symbol's name multibyte according to the multibyteness of the
9237 source.
9238
92392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9240
9241 * xfaces.c (face_for_overlay_string): Call lookup_face with
9242 correct arguments (fix of synching with the trunk).
9243
92442008-02-01 Kenichi Handa <handa@m17n.org>
9245
9246 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9247 (font_prop_validate_non_neg, font_prop_validate_spacing):
9248 Delete argument prop_index.
9249 (font_property_table): Change arguments to validater. Change Callers.
9250 (font_lispy_object): Delete.
9251 (font_at): Use font_find_object instead fo font_lispy_object.
9252
92532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9254
9255 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9256 and file names.
9257
92582008-02-01 Jason Rumney <jasonr@gnu.org>
9259
9260 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9261 (font_matches_spec): Remove debug output.
9262 (add_font_entity_to_list): Avoid using substituted fonts.
9263
92642008-02-01 Jason Rumney <jasonr@gnu.org>
9265
9266 * doc.c (Fsnarf_documentation):
9267 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9268
92692008-02-01 Miles Bader <miles@gnu.org>
9270
9271 * dispextern.h (struct glyph_row): Only define "clip" field if
9272 HAVE_WINDOW_SYSTEM is defined.
9273
92742008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9275
9276 Fix up multi-tty merge.
9277
9278 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9279 and indentation.
9280
9281 * xfaces.c (free_realized_face, clear_face_gcs):
9282 Include font_done_for_face in the input_blocked section, just in case.
9283
9284 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9285 (get_char_face_and_encoding): Undo last change and remove the *other*
9286 duplicate definition (i.e. keep the one that's better scoped and that
9287 includes code for the font-backend).
9288
9289 * terminal.c (create_terminal): Default keyboard_coding to
9290 `no-conversion' and terminal_coding to `undecided'.
9291
9292 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9293
9294 * fontset.c (free_realized_fontsets): Check that the table entry does
9295 contain a fontset before trying to compare it to `base'.
9296
9297 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9298 syms_of_charset, and syms_of_coding earlier because init_window_once
9299 now needs Vcoding_system_hash_table to be setup.
9300
9301 * coding.h (default_buffer_file_coding): Remove.
9302
9303 * coding.c (default_buffer_file_coding): Remove.
9304 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9305 than ->symbol, and use the terminal-local coding system.
9306 (syms_of_coding): Don't setup the coding-systems that are not
9307 terminal-local.
9308 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9309
9310 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9311 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9312
9313 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9314 in chartab.c and were re-added here by mistake.
9315 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9316
9317 * doc.c (Fsnarf_documentation):
9318 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9319 src to etc.
9320
9321 * ChangeLog.10: Add mistakenly removed entry.
9322
93232008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9324
9325 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9326
93272008-02-01 Miles Bader <miles@gnu.org>
9328
9329 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9330 Add extra args to FACE_FOR_CHAR.
9331
93322008-02-01 Kenichi Handa <handa@m17n.org>
9333
9334 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9335 in sequence.
9336
9337 * chartab.c (map_sub_char_table, map_char_table): If the range
9338 contains just one character, call the function with that character
9339 even if the depth is not 3.
9340
93412008-02-01 Jason Rumney <jasonr@gnu.org>
9342
9343 * w32font.c (w32font_text_extents): Calculate metrics for the
9344 whole string.
9345
93462008-02-01 Jason Rumney <jasonr@gnu.org>
9347
9348 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9349
93502008-02-01 Jason Rumney <jasonr@gnu.org>
9351
9352 * w32term.c (x_set_glyph_string_clipping): Use
9353 get_glyph_string_clip_rects.
9354 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9355 Adjust for the change of struct glyph_string.
9356
9357 * w32font.c (w32font_draw): Do clipping here.
9358
93592008-02-01 Kenichi Handa <handa@m17n.org>
9360
9361 * xftfont.c (xftfont_draw): Adjust for the change of struct
9362 glyph_string.
9363
9364 * xterm.c (x_set_glyph_string_clipping): Use
9365 get_glyph_string_clip_rects.
9366 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9367 Adjust for the change of struct glyph_string.
9368
9369 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9370 the resulting clip(s}.
9371 (expose_overlaps): Add arg r. Change callers. Set it to
9372 row->clip temporarily.
9373 (expose_window): Redraw rows overlapping the exposed area.
9374
9375 * dispextern.h (struct glyph_row): New member clip.
9376 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9377 clip_height, new member clip, and num_clips.
9378
93792008-02-01 Kenichi Handa <handa@m17n.org>
9380
9381 * data.c (Fchar_or_string_p): Fix docstring.
9382
93832008-02-01 Kenichi Handa <handa@m17n.org>
9384
9385 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9386 create a temporary XftDraw object.
9387
93882008-02-01 Kenichi Handa <handa@m17n.org>
9389
9390 * font.c (Ffontp): Fix docstring.
9391
9392 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9393 strong evidence of ISO-2022.
9394
93952008-02-01 Kenichi Handa <handa@m17n.org>
9396
9397 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9398 SYNTAX_ENTRY_FOLLOW_PARENT.
9399
94002008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9401
9402 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9403 its type.
9404 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9405 Update to the new type of weak_hash_tables and next_weak.
9406
9407 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9408 a plain C pointer to Lisp_Hash_Table.
9409
9410 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9411 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9412 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9413 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9414 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9415 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9416 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9417 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9418 (GC_EQ): Remove since they've been identical to their non-GC_
9419 alter-egos ever since the markbit was eradicated.
9420
9421 * alloc.c:
9422 * buffer.c:
9423 * buffer.h:
9424 * data.c:
9425 * fileio.c:
9426 * filelock.c:
9427 * fns.c:
9428 * frame.h:
9429 * lisp.h:
9430 * macterm.c:
9431 * print.c:
9432 * process.c:
9433 * w32fns.c:
9434 * w32menu.c:
9435 * w32term.c:
9436 * xfns.c:
9437 * xmenu.c:
9438 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9439
94402008-02-01 Kenichi Handa <handa@m17n.org>
9441
9442 * chartab.c (map_sub_char_table): Make it work for the top-level
9443 char-table. Fix handling of parent char-table.
9444 (map_char_table): Adjust for the above change.
9445
94462008-02-01 Jason Rumney <jasonr@gnu.org>
9447
9448 * w32font.c (Qgdi): Rename from Qw32.
9449
94502008-02-01 Jason Rumney <jasonr@gnu.org>
9451
9452 * w32bdf.c (get_quoted_string): Make function static.
9453
94542008-02-01 Kenichi Handa <handa@m17n.org>
9455
9456 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9457 bigger ascent and descent than those of the font, use them as
9458 font's ascent and descent.
9459
94602008-02-01 Kenichi Handa <handa@m17n.org>
9461
9462 * Makefile.in (${lispsource}international/charprop.el): Move this
9463 target within "#ifdef HAVE_UNIDATA" and "#endif".
9464
94652008-02-01 Kenichi Handa <handa@m17n.org>
9466
9467 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9468 (shortlisp): Add ../lisp/language/tai-viet.el.
9469
94702008-02-01 Ulrich Mueller <ulm@gentoo.org>
9471
9472 * Makefile.in (${lispsource}international/charprop.el): Depend on
9473 temacs${EXEEXT}.
9474
94752008-02-01 Jason Rumney <jasonr@gnu.org>
9476
9477 * w32font.c (w32font_close): Delete the GDI font object.
9478
9479 * w32menu.c: Include character.h.
9480
9481 * w32proc.c: Likewise.
9482
9483 * w32select.c: Likewise.
9484
9485 * makefile.w32-in (w32proc.o): Depend on character.h.
9486
94872008-02-01 Jason Rumney <jasonr@gnu.org>
9488
9489 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9490
9491 * w32menu.c (syms_of_w32menu): Likewise.
9492
9493 * w32proc.c (syms_of_ntproc): Likewise.
9494
9495 * w32select.c (syms_of_w32select): Likewise.
9496
9497 * w32term.c (syms_of_w32term): Likewise.
9498
94992008-02-01 Jason Rumney <jasonr@gnu.org>
9500
9501 * w32font.c (w32font_draw): Delete brush after using it.
9502
95032008-02-01 Jason Rumney <jasonr@gnu.org>
9504
9505 * w32font.c (w32font_open): Don't set font_idx.
9506 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9507 to font settings.
9508 (w32font_draw): Fill background explicitly.
9509
95102008-02-01 Jason Rumney <jasonr@gnu.org>
9511
9512 * w32term.c (w32_initialize): Don't call w32font_initialize.
9513
9514 * w32font.c (w32font_info): Remove subranges.
9515 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9516 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9517 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9518 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9519 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9520 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9521 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9522 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9523 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9524 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9525 New symbols.
9526 (font_callback_data): New struct.
9527 (w32font_list, w32font_match): Use it.
9528 (w32font_open): Don't populate subranges.
9529 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9530 (w32font_encode_char): Always return unicode code-point as-is.
9531 (w32font_text_extents): Supply a transformation matrix to
9532 GetGlyphOutline. Never look up by glyph index. Avoid looping
9533 twice. Use unicode version of GetTexExtentPoint32 instead of
9534 glyph index version.
9535 (set_fonts_frame): Remove.
9536 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9537 set frame parameter. Use backward compatible fake foundries.
9538 Save generic family in extra slot under QCfamily. Make width slot
9539 constant. Save QCspacing value. Save list of scripts instead of
9540 binary subranges.
9541 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9542 (add_font_entity_to_list): Use font_callback_data struct. Filter
9543 unwanted fonts.
9544 (add_one_font_entity_to_list): Use font_callback_data struct.
9545 (w32_registry): Default to iso10646_1.
9546 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9547 string font registries. Don't fill in font name if it is a generic
9548 family name, fill family instead. Use spacing, family and script
9549 extra info to fill pitch, family and charset fields.
9550 (list_all_matching_fonts): Use font_callback_data struct.
9551 (unicode_range_for_char): Remove.
9552 (font_supported_scripts): New function.
9553 (w32font_initialize): Remove.
9554 (syms_of_w32font): Update which symbols are defined.
9555
95562008-02-01 Jason Rumney <jasonr@gnu.org>
9557
9558 * font.c (font_pixel_size): Reverse assq_no_quit args.
9559
9560 * w32term.h (FONT_WIDTH): Report max width, not average.
9561 (FONT_MAX_WIDTH): Remove.
9562 (FONT_AVG_WIDTH): New macro.
9563
9564 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9565 redefinition of FONT_WIDTH.
9566
9567 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9568 (w32_cache_char_metrics): Use FONT_WIDTH.
9569
9570 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9571
95722008-02-01 Jason Rumney <jasonr@gnu.org>
9573
9574 * w32font.c (w32font_open): Make lfHeight negative.
9575
9576 * w32fns.c (x_default_font_parameter): Use new style font name.
9577 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9578
95792008-02-01 Jason Rumney <jasonr@gnu.org>
9580
9581 * w32font.c (QCsubranges): New symbol.
9582 (w32font_open, w32font_has_char): Get subranges from subproperty
9583 of extra.
9584 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9585 (syms_of_w32font): Define :subranges symbol.
9586
9587 * font.c (font_put_extra): Expose externally.
9588
9589 * font.h (font_put_extra): Move declaration from font.c.
9590
9591 * font.c (Ffont_get): Use font driver to determine otf capability.
9592 (adjust_anchor): Check if driver defines anchor_point before using.
9593
9594 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9595 (w32font_draw): Use options.
9596 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9597 Fix detection of truetype fonts.
9598 (registry_to_w32_charset): Handle charsets other than iso8859-1
9599 expressed as lisp symbols.
9600 (w32_registry): Express charset as lisp symbol.
9601 (fill_in_logfont): Reverse pixel and point height logic.
9602 Don't set width here. Set quality to default.
9603
9604 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9605 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9606
9607 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9608 Remove redundant loop and allocation.
9609
9610 * makefile.w32-in (font.o, w32font.o): New objects.
9611 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9612 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9613
9614 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9615 STORE_XCHARB a valid l-value.
9616
9617 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9618 calculations for non-Truetype fonts.
9619 (x_draw_glyph_string): Sync with xterm.c.
9620 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9621 Remove redundant code.
9622 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9623
9624 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9625 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9626
9627 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9628 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9629
9630 * w32font.c: New file for w32 font backend.
9631
96322008-02-01 Kenichi Handa <handa@m17n.org>
9633
9634 * term.c: Don't include "buffer.h" twice.
9635
96362008-02-01 Kenichi Handa <handa@m17n.org>
9637
9638 * character.c (Funibyte_string): New function.
9639 (syms_of_character): Defsubr it.
9640
96412008-02-01 Jason Rumney <jasonr@gnu.org>
9642
9643 * w32term.c [USE_FONT_BACKEND]:
9644 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9645 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9646 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9647 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9648 (x_free_frame_resources): Sync with xterm.c.
9649
96502008-02-01 Andreas Schwab <schwab@suse.de>
9651
9652 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9653 char-table size.
9654
96552008-02-01 Kenichi Handa <handa@m17n.org>
9656
9657 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9658
96592008-02-01 Kenichi Handa <handa@m17n.org>
9660
9661 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9662 font_otf_gpos, add font_drive_otf.
9663
9664 * fontset.c (fontset_find_font): Pay attention to font size
9665 specified for a font.
9666 (reorder_font_vector): Check contents of font_def.
9667
9668 * font.c (struct otf_list): Delete it.
9669 (otf_list): Make it a lisp variable.
9670 (otf_open): Use lispy otf_list.
9671 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9672 (check_otf_features): New function.
9673 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9674 New functions.
9675 (font_drive_otf): New function merging font_otf_gsub and
9676 font_otf_gpos.
9677 (font_open_for_lface): New arg spec. Change argument order.
9678 (font_load_for_face): Adjust for the change of font_open_for_lface.
9679 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9680 Ffont_otf_gpos.
9681 (syms_of_font): Staticpro otf_list. Delete defsubr of
9682 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9683
9684 * xfaces.c (set_font_frame_param): Adjust for the change of
9685 font_open_for_lface.
9686
9687 * font.h (font_open_for_lface): Adjust prototype.
9688 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9689 member otf_drive.
9690 (font_otf_gsub, font_otf_gpos): Delete externs.
9691 (font_drive_otf): Extern it.
9692
96932008-02-01 Kenichi Handa <handa@m17n.org>
9694
9695 * font.c (font_at): If the window W is not on a window system,
9696 return Qnil.
9697
9698 * coding.c (produce_chars, encode_coding): Don't call
9699 insert_from_gap if no characters to produce.
9700
97012008-02-01 Kenichi Handa <handa@m17n.org>
9702
9703 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9704 Fclear_face_cache.
9705
9706 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9707
97082008-02-01 Miles Bader <miles@gnu.org>
9709
9710 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9711 Parse "--disable-font-backend" option.
9712 (standard_args): Add "--disable-font-backend" option.
9713
97142008-02-01 Kenichi Handa <handa@m17n.org>
9715
9716 * fontset.c (fontset_find_font): New function.
9717 (fontset_font): Use fontset_find_font.
9718 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9719 Register the specified font for all Latin characters.
9720 (new_fontset_from_font): Register the specified font for all Latin
9721 characters.
9722 (dump_fontset): For a realized fontset, include the base fontset
9723 name in the returned vector.
9724
97252008-02-01 Kenichi Handa <handa@m17n.org>
9726
9727 * character.h (CHAR_STRING): Cast C to unsigned on calling
9728 char_string.
9729
9730 * character.c (char_string): Type of arg C changed to unsigned.
9731 Signal an error if C is an invalid character code.
9732
9733 * editfns.c (general_insert_function, Fchar_to_string):
9734 Use CHARACTERP, not INTEGERP.
9735
97362008-02-01 Kenichi Handa <handa@m17n.org>
9737
9738 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9739 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9740
9741 * regex.c (analyse_first): Fix for multibyte characters in "case
9742 charset:" and "case categoryspec:".
9743
97442008-02-01 Andreas Schwab <schwab@suse.de>
9745
9746 * Makefile.in (LIBES): Move standard libraries to the end.
9747
97482008-02-01 Kenichi Handa <handa@m17n.org>
9749
9750 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9751 nonzero, don't shrink the buffer nextb.
9752
9753 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9754
9755 * coding.c (coding_alloc_by_making_gap): New arg offset.
9756 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9757 offset.
9758 (decode_coding_iso_2022): Update coding->safe_charsets.
9759 (decode_coding_gap): Temporarily set
9760 current_buffer->text->inhibit_shrinking to 1.
9761
97622008-02-01 Kenichi Handa <handa@m17n.org>
9763
9764 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9765 indexing into elements of s->cmp and s->char2b.
9766
97672008-02-01 Juanma Barranquero <lekktu@gmail.com>
9768
9769 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9770
97712008-02-01 Kenichi Handa <handa@m17n.org>
9772
9773 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9774 target_multibyte instead of multibyte.
9775 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9776 (bcmp_translate): Change the argument name from multibyte to
9777 target_multibyte.
9778
97792008-02-01 Kenichi Handa <handa@m17n.org>
9780
9781 These changes are to compile a regexp into a pattern that can be
9782 used both for multibyte and unibyte targets.
9783
9784 * Makefile.in (search.o): Depend on charset.h.
9785
9786 * character.c (multibyte_char_to_unibyte_safe): New function.
9787
9788 * search.c: Include "charset.h".
9789 (compile_pattern_1): Delete argument multibyte. Don't set
9790 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9791 (compile_pattern): Don't compare cp->buf.target_multibyte.
9792 Compare cp->buf.charset_unibyte.
9793 (compile_pattern): Set cp->buf.target_multibyte.
9794
9795 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9796
9797 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9798
9799 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9800 multibyte. Change callers.
9801 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9802 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9803 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9804 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9805 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9806 (regex_compile): Make the compiled pattern usable both for
9807 multibyte and unibyte targets.
9808 (analyse_first): Make the fastmap usable both for multibyte and
9809 unibyte targets.
9810 (TRANSLATE_VIA_MULTIBYTE): Delete.
9811 (re_match_2_internal): Pay attention to the case that the
9812 multibyteness of bufp and target may be different.
9813
98142008-02-01 Kenichi Handa <handa@m17n.org>
9815
9816 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9817 empty box occupy at least one column width.
9818
98192008-02-01 Miles Bader <miles@gnu.org>
9820
9821 * Makefile.in: Remove redundant HAVE_XFT clause.
9822
98232008-02-01 Kenichi Handa <handa@m17n.org>
9824
9825 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9826
98272008-02-01 Kenichi Handa <handa@m17n.org>
9828
9829 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9830 being nil.
9831
98322008-02-01 Kenichi Handa <handa@m17n.org>
9833
9834 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9835
98362008-02-01 Kenichi Handa <handa@m17n.org>
9837
9838 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9839
98402008-02-01 Kenichi Handa <handa@m17n.org>
9841
9842 * search.c (simple_search): Fix previous change.
9843
98442008-02-01 Kenichi Handa <handa@m17n.org>
9845
9846 * xftfont.c (ftfont_font_format): Extern declaration.
9847
9848 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9849
9850 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9851 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9852
9853 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9854 (ftfont_font_format): Fix previous change.
9855
9856 * font.h (Ffont_xlfd_name): EXFUN it.
9857
9858 * font.c (font_parse_xlfd): Fix the array size of `f'.
9859 (register_font_driver): Use EQ to compare driver->type.
9860
9861 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9862 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9863 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9864
98652008-02-01 Kenichi Handa <handa@m17n.org>
9866
9867 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9868 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9869
98702008-02-01 Kenichi Handa <handa@m17n.org>
9871
9872 * xfont.c (xfont_open): Set font->format.
9873
9874 * xftfont.c (xftfont_open): Set font->format.
9875
9876 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9877 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9878 (ftfont_open): Set font->format.
9879 (ftfont_font_format): New function.
9880
9881 * font.h (struct font): New member format.
9882
9883 * font.c (Qopentype): New variable.
9884 (syms_of_font): Defsym it.
9885 (Fquery_font): Change the format of the last element of the return
9886 value.
9887
98882008-02-01 Kenichi Handa <handa@m17n.org>
9889
9890 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9891 last resort.
9892
98932008-02-01 Kenichi Handa <handa@m17n.org>
9894
9895 * coding.c (detect_coding_charset): Fix detection of multi-byte
9896 charset.
9897
98982008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9899
9900 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9901
99022008-02-01 Kenichi Handa <handa@m17n.org>
9903
9904 * xdisp.c (get_next_display_element): Set it->face_id for the
9905 first component of a composition.
9906 (x_produce_glyphs): Check if the font is changed or not for composition.
9907
99082008-02-01 Kenichi Handa <handa@m17n.org>
9909
9910 * fontset.c (Qlatin): New variable.
9911 (syms_of_fontset): Define it as a lisp symbol.
9912 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9913
99142008-02-01 Kenichi Handa <handa@m17n.org>
9915
9916 * font.c (font_unparse_fcname): Pay attention to the case that
9917 some of font property is a null string.
9918
99192008-02-01 Kenichi Handa <handa@m17n.org>
9920
9921 * term.c: Include "composite.h".
9922 (encode_terminal_code): Output all components of composition.
9923 Check the size of encode_terminal_src.
9924 (produce_glyphs): For composition, call produce_composite_glyph.
9925 (append_composite_glyph, produce_composite_glyph): New functions.
9926
9927 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9928 is not found, get font_info from the current ascii face.
9929
99302008-02-01 Kenichi Handa <handa@m17n.org>
9931
9932 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9933 buffer-file-name to Qnil before calling insert_from_buffer.
9934
9935 * font.c (font_unparse_fcname): Pay attention to the case that
9936 foundry is a null string.
9937
99382008-02-01 Kenichi Handa <handa@m17n.org>
9939
9940 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9941
9942 * font.c (Qunicode_sip): New variable.
9943 (syms_of_font): Declare it as a Lisp symbol.
9944
9945 * font.h (Qunicode_sip): Extern it.
9946
99472008-02-01 Kenichi Handa <handa@m17n.org>
9948
9949 * composite.c (get_composition_id): Pay attention to TAB component.
9950
9951 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9952 TAB. Adjust for the change of s->char2b which always points to
9953 the first element of allocated memory.
9954
9955 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9956
9957 * xdisp.c (handle_composition_prop): Set it->c to the first
9958 non-TAB component.
9959 (fill_composite_glyph_string): Change argument.
9960 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9961 (x_produce_glyphs): Fix handling of left/right padding.
9962
99632008-02-01 Kenichi Handa <handa@m17n.org>
9964
9965 * coding.c (detect_coding_system): Fix for handling off
9966 inhibit_iso_escape_detection. Fix for the case that no coding
9967 system is defined for a specific coding category.
9968
99692008-02-01 Kenichi Handa <handa@m17n.org>
9970
9971 * font.c (font_matching_entity): Delete unused local var.
9972
9973 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9974 opening a font.
9975
9976 * fileio.c (Finsert_file_contents): On recovering a file, assume
9977 Unix-like eol.
9978 (choose_write_coding_system): On auto-saving a file, force
9979 Unix-like eol.
9980
9981 * coding.c (setup_coding_system): Fix setting of
9982 coding->common_flags based on eol_type.
9983 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9984 inherit from it.
9985
99862008-02-01 Kenichi Handa <handa@m17n.org>
9987
9988 * alloc.c (NSTATICS): Increas to 0x600.
9989
99902008-02-01 Kenichi Handa <handa@m17n.org>
9991
9992 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9993 (ftfont_list): Don't check :name property.
9994 (ftfont_match): New function.
9995 (ftfont_pattern_entity): If the pattern doesn't contain
9996 FC_SPACING, don't assume FC_MONO.
9997
9998 * font.h (struct font_driver): New member `match'.
9999 (font_update_drivers): Adjust prototype.
10000
10001 * font.c (font_parse_fcname, font_parse_name): Don't change :name
10002 property of FONT.
10003 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
10004 them unconditionally.
10005 (font_matching_entity): New function.
10006 (font_open_by_name): Try font_matching_entity if exact match is
10007 not found.
10008 (font_update_drivers): Delete the arg FONT. Return a list of
10009 actually used backends. Don't free faces, font caches here.
10010 Don't store data in frame parameters. Don't call x_set_font.
10011 (Ffont_spec): Store :name property as is.
10012 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
10013 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
10014 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
10015 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
10016 Call font->driver->otf_gsub instead of font_otf_gsub.
10017
10018 * frame.c (x_set_font_backend): Do more works that were done in
10019 font_update_drivers before.
10020
10021 * xfont.c (xfont_match): New function.
10022 (xfont_driver): Set xfont_driver.match to xfont_match.
10023 (xfont_draw): Set font in GC if necessary.
10024
10025 * ftxfont.c (ftxfont_match): New function.
10026 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
10027
10028 * xftfont.c (xftfont_match): New function.
10029 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
10030
100312008-02-01 Kenichi Handa <handa@m17n.org>
10032
10033 * font.h (struct font): New member scalable.
10034 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
10035 (font_otf_gsub): Adjust prototype.
10036
10037 * font.c (font_otf_capability): Fix handling of the default langsys.
10038 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
10039 Check the contents of SPEC.
10040 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
10041 (check_gstring): New function.
10042 (REPLACEMENT_CHARACTER): New macro.
10043 (font_otf_gsub): New arg alternate_subst. Be sure to set all
10044 glyph codes of GSTRING.
10045 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
10046 (font_prepare_composition): Set cmp->glyph_len.
10047 (font_open_entity): Set font->scalable.
10048 (Ffont_get): Handle :otf property.
10049 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
10050 functions.
10051 (Fquery_font): Use font->font.full_name.
10052 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
10053 Sfont_otf_alternates.
10054
10055 * ftfont.c (ftfont_open): Set font->font.full_name and
10056 font->font.name properly. Fix calculation of font->font.height
10057 and font->min_width.
10058
10059 * ftxfont.c (ftxfont_create_gcs): New function.
10060 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
10061 (ftxfont_draw_backgrond): Fix filling region.
10062 (ftxfont_default_fid): New function.
10063 (ftxfont_open): Set xfont->fid to the return value of
10064 ftxfont_default_fid.
10065 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
10066 (ftxfont_done_face): Free only GCs that are created by
10067 ftxfont_create_gcs.
10068 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
10069
10070 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
10071 Clip to src->width, etc (not src->clip_XXX).
10072
10073 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
10074 FontBackend frame parameter.
10075
100762008-02-01 Kenichi Handa <handa@m17n.org>
10077
10078 * font.h (struct font_driver_list): New member `on'.
10079 (Fclear_font_cache): EXFUN it.
10080 (font_update_drivers): Extern it.
10081
10082 * font.c (font_unparse_fcname): Fix typo (swidth->width).
10083 (font_list_entities): Check driver_list->on.
10084 (register_font_driver): Initalize `on' member to 0.
10085 (font_update_drivers): New function.
10086 (Fclear_font_cache): Check driver_list->on.
10087
10088 * frame.h (Qfont_backend): Extern it.
10089 (x_set_font_backend): Extern it.
10090
10091 * frame.c (Qfont_backend): New variable.
10092 (frame_parms): New element for font-backend.
10093 (x_set_font_backend): New function.
10094
10095 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
10096 FontBackend frame parameter.
10097 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10098 x_set_font_backend.
10099
10100 * xfont.c (xfont_list): Don't try listing by :name property if the
10101 name is not for XLFD.
10102
101032008-02-01 Kenichi Handa <handa@m17n.org>
10104
10105 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10106 (LGLYPH_SET_TO): New macros.
10107 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10108 element of G is vector or not.
10109 (font_at): Extern it.
10110
10111 * font.c: Include window.h.
10112 (font_lispy_object): New function.
10113 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10114 end of valid glyph.
10115 (font_close_object): Fix getting (struct font *).
10116 (font_at): New function.
10117 (Ffont_get): If FONT is a font-object, get entity from it.
10118 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10119 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10120 range check.
10121 (Ffont_at): New function.
10122 (syms_of_font): Defsubr Sfont_at.
10123
10124 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10125 before the entry for Qcomposition.
10126 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10127 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10128 the font in gstring.
10129 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10130 LGLYPH_FORM (g) to detect the end of valid glyph.
10131 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10132 we are composing with gstring.
10133
10134 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10135 Check if adjustment is vector or not.
10136
10137 * Makefile.in (font.o): Make it depends on window.h.
10138
101392008-02-01 Kenichi Handa <handa@m17n.org>
10140
10141 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10142 adjustment is vector or not.
10143
101442008-02-01 Miles Bader <miles@gnu.org>
10145
10146 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10147
101482008-02-01 Kenichi Handa <handa@m17n.org>
10149
10150 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10151 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10152 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10153
10154 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10155 (DEVICE_DELTA): Fix typo.
10156 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10157 LGLYPH format.
10158
10159 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10160 the change of LGLYPH format.
10161
101622008-02-01 Kenichi Handa <handa@m17n.org>
10163
10164 * ftfont.c (ftfont_list): Fix typo.
10165 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10166
101672008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10168
10169 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10170
10171 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10172 xftface_info is non-NULL.
10173
101742008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10175
10176 * ftfont.c (ftfont_list): Move misplaced #endif.
10177
101782008-02-01 Kenichi Handa <handa@m17n.org>
10179
10180 * ftfont.c (ftfont_list): Pay attention to the case that
10181 FC_CAPABILITY is not defined.
10182
101832008-02-01 Kenichi Handa <handa@m17n.org>
10184
10185 * xftfont.c (xftfont_open): Set charset related members to -1.
10186
10187 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10188 QCname.
10189 (ftfont_open): Set charset related members to -1.
10190
10191 * fontset.c (Votf_script_alist): New variable.
10192 (syms_of_fontset): Initialize it.
10193 (fontset_font): Delete unused variable.
10194
10195 * fontset.h (Votf_script_alist): Extern it.
10196
10197 * font.c (font_find_for_lface): Optimize code.
10198
10199 * font.h (font_close_object, font_merge_old_spec): Extern them.
10200
102012008-02-01 Kenichi Handa <handa@m17n.org>
10202
10203 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10204 (syms_of_font): Initialize them.
10205 (font_pixel_size): Allow float value in dpi.
10206 (font_prop_validate_type): Delete.
10207 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10208 Change caller.
10209 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10210 (font_prop_validate_extra): Delete.
10211 (font_prop_validate_spacing): New function.
10212 (font_property_table): Add elements for all known properties.
10213 (get_font_prop_index): Rename from check_font_prop_name. New
10214 argument FROM. Change caller.
10215 (font_prop_validate): Validate all known properties.
10216 (font_put_extra): Delete argument force. Change caller.
10217 (font_expand_wildcards): Make it static. Fix the way of shrinking
10218 the possible range.
10219 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10220 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10221 Change caller.
10222 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10223 (font_parse_fcname): Delete argument merge. Fix parsing of point
10224 size. Don't validate properties values here. Change caller.
10225 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10226 (font_open_by_name): Delete unused variable.
10227 (Ffont_spec): Likewise. Validate property values.
10228 (Ffont_match_p): New function.
10229
10230 * font.h (QCscalable): Extern it.
10231 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10232
10233 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10234
10235 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10236 (xfont_list_pattern): New function.
10237 (xfont_list): Use xfont_list_pattern.
10238
102392008-02-01 Kenichi Handa <handa@m17n.org>
10240
10241 * font.h (Flist_fonts): EXFUN it.
10242
102432008-02-01 Jason Rumney <jasonr@gnu.org>
10244
10245 * w32term.c (w32_initialize): Add back smoothing_type and
10246 smoothing_enabled definitions.
10247
102482008-02-01 Kenichi Handa <handa@m17n.org>
10249
10250 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10251 s->face->font on determining underline position.
10252
102532008-02-01 Kenichi Handa <handa@m17n.org>
10254
10255 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10256 (font_has_char): Accept font-object too.
10257 (font_find_for_lface): Try at first with a size specified in face.
10258
102592008-02-01 Kenichi Handa <handa@m17n.org>
10260
10261 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10262 font_open_by_name.
10263
102642008-02-01 Kenichi Handa <handa@m17n.org>
10265
10266 * font.h (QCspacing, QCdpi): Extern them.
10267 (enum font_spacing): New enum.
10268 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10269
10270 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10271 (QCspacing, QCdpi): New variables.
10272 (syms_of_font): Initialize them.
10273 (font_pixel_size): New function.
10274 (font_put_extra): New function.
10275 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10276 in FONT_EXTRA.
10277 (font_parse_fcname): Handle enumerated values (e.g. bold).
10278 Fix handling font size. Add QCname property that contains only
10279 unknown properties.
10280 (font_score): Change argument. Change caller. Pay attention to
10281 FONT_PIXEL_SIZE_QUANTUM.
10282 (font_sort_entites, font_list_entities, font_find_for_lface)
10283 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10284 (Ffont_spec): Add QCname property that contains only unknown properties.
10285
10286 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10287 include weight in listing pattern, instead check weight of each
10288 listed font. Don't include scalable in pattern. Pay attention to
10289 FONT_PIXEL_SIZE_QUANTUM.
10290
102912008-02-01 Kenichi Handa <handa@m17n.org>
10292
10293 * font.c (font_parse_fcname): Fix parsing of point-size.
10294 (font_unparse_fcname): Produce symbolic names for style properties.
10295 (font_list_entities): Handle float size correctly.
10296 (font_open_by_name): Prefer `normal' property values if the name
10297 doesn't specify them.
10298
10299 * fontset.c (Finternal_char_font): Use font_get_name, not
10300 Ffont_xlfd_name.
10301
10302 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10303 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10304 pattern. Don't force scalable.
10305
10306 * xftfont.c (xftfont_open): For generating a name, start from
10307 96-byte buffer.
10308
103092008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10310
10311 * frame.h (x_new_fontset2): Fix prototype.
10312
103132008-02-01 Kenichi Handa <handa@m17n.org>
10314
10315 * font.h (struct font_driver): Delete member parse_name.
10316 (font_match_p, font_get_spec, font_parse_fcname)
10317 (font_unparse_fcname): Extern them.
10318 (font_get_name): Adjust prototype.
10319
10320 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10321 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10322 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10323 unnecessary checks for weight, slant, and swidth.
10324 (font_parse_fcname): New function.
10325 (font_unparse_fcname): New function.
10326 (font_parse_name): New function.
10327 (font_match_p): New function.
10328 (font_get_name): Change return value to Lisp string.
10329 (font_get_spec): New function.
10330 (Qunspecified, Qignore_defface): Don't extern them.
10331 (font_find_for_lface): Assume that LFACE is fully specified.
10332 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10333 object, use it for FACE.
10334 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10335 driver->parse_name.
10336 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10337
10338 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10339 prototype.
10340
10341 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10342 argument F. Don't call Fnew_fontset. Instead, directly call
10343 make_fontset.
10344
10345 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10346
10347 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10348 of x_new_fontset2.
10349
10350 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10351 (Qsans__serif): New variables.
10352 (ftfont_generic_family_list): New variable.
10353 (syms_of_ftfont): Initialize the above variables.
10354 (ftfont_pattern_entity): Delete argument NAME.
10355 (ftfont_list_generic_family): New function.
10356 (ftfont_parse_name): Delete this function.
10357 (ftfont_list): Try generic family only when FcFontList found no font.
10358 (ftfont_list_family): Fix args to FcObjectSetBuild.
10359
10360 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10361 object in attrs[LFACE_FONT_INDEX].
10362 (set_lface_from_font_name): Cancel all changes for font-backend.
10363 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10364 function.
10365 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10366 font object in QCfont attribute.
10367 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10368 (realize_default_face) [USE_FONT_BACKEND]: Call
10369 set_lface_from_font_and_fontset.
10370
10371 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10372 "fixed", and signal error here if no suitable font was found.
10373
10374 * xfont.c (xfont_parse_name): Delete this function.
10375
10376 * xftfont.c (xftfont_open): Change coding style of error
10377 handling. Generate fontconfig's fontname pattern.
10378
10379 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10380 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10381
10382 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10383 Both args FONTSET and FONT_OBJECT must be existing ones.
10384
103852008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10386
10387 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10388
103892008-02-01 Kenichi Handa <handa@m17n.org>
10390
10391 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10392
10393 * font.h (struct font): Fix typo.
10394
10395 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10396 XLFD_XXX_INDEX.
10397 (enum xlfd_field_mask): New enum.
10398 (intern_font_field): Changed argument. Change caller. If digits
10399 are followed by non-digits, return a symbol.
10400 (font_expand_wildcards): New function.
10401 (font_parse_xlfd): Fix wildcard handling.
10402 (Ffont_spec): If :name is specified, reflect the info in the other
10403 properties.
10404
10405 * ftfont.c (ftfont_pattern_entity): Fix typo.
10406 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10407 locale.
10408
104092008-02-01 Kenichi Handa <handa@m17n.org>
10410
10411 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10412
10413 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10414 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10415 registry doesn't specify encoding part.
10416 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10417 (font_open_by_name): At first try parsing the name.
10418 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10419 as Lisp symbols.
10420
10421 * fontset.c (reorder_font_vector): Pay attention to the case that
10422 the 3rd element of font_def is nil.
10423 (fontset_font): For the default fontset, append one more fontset
10424 elements for a script-based font specification. Don't add script
10425 attribute on finding a font.
10426 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10427 font name.
10428 (fontset_ascii_font): If a font can't be opened, return nil.
10429
10430 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10431 (ftfont_pattern_entity): New function.
10432 (ftfont_get_cache): Assume that freetype_font_cache is already
10433 initialized.
10434 (ftfont_list): Handle the case that a file is specified in font
10435 name. Use ftfont_pattern_entity to generate entities.
10436 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10437 (syms_of_ftfont): Initialize freetype_font_cache.
10438
10439 * xftfont.c (xftfont_open): Make the font name fontconfig's
10440 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10441 (xftfont_close): Free font->font.name if not NULL.
10442
10443 * xfont.c (xfont_list): If script is specified for a font, return
10444 null_vector.
10445 (xfont_list_family): Declare argument type.
10446
10447 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10448 name, set LFACE_FONT (lface) to nil.
10449
10450 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10451 return Qnil.
10452
104532008-02-01 Kenichi Handa <handa@m17n.org>
10454
10455 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10456 (standard_args): Add "-enable-font-backend".
10457
104582008-02-01 Kenichi Handa <handa@m17n.org>
10459
10460 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10461 (struct xftdraw_list, xftdraw_list): Delete them.
10462 (register_xftdraw, check_xftdraw): Delete them.
10463 (xftfont_prepare_face): Don't call register_xftdraw.
10464 (xftfont_done_face): Don't call check_xftdraw.
10465 (xftfont_draw): Get background color only when with_background is
10466 nonzero.
10467
10468 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10469
104702008-02-01 Kenichi Handa <handa@m17n.org>
10471
10472 These changes are for the new font handling codes.
10473
10474 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10475 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10476 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10477 (FONTSRC, FONTOBJ): New variables.
10478 (obj): Add $(FONTOBJ).
10479 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10480 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10481 @LIBOTF_LIBS@.
10482 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10483 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10484
10485 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10486
10487 * character.h (Vscript_representative_chars): Extern it.
10488
10489 * character.c (Vscript_representative_chars): New variable.
10490 (syms_of_character): Declare it as a Lisp variable.
10491
10492 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10493 enable_font_backend is nonzero, accept the composition method
10494 COMPOSITION_WITH_GLYPH_STRING.
10495
10496 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10497 enumeration COMPOSITION_WITH_GLYPH_STRING.
10498
10499 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10500 members clip_x, clip_y, clip_width, and clip_height.
10501 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10502
10503 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10504 --enable-font-backend. Call syms_of_font.
10505
10506 * fns.c (assoc_no_quit): New function.
10507
10508 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10509 (face_for_font, new_fontset_from_font)
10510 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10511
10512 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10513 (fontset_font, fontset_ascii, face_for_char)
10514 (make_fontset_for_ascii_face, Ffont_info)
10515 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10516 is nonzero, use font-backend mechanism.
10517 (find_font_encoding): Make it non-static.
10518 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10519 New functions.
10520
10521 * frame.h (struct frame): New members resx and resy.
10522 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10523 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10524
10525 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10526 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10527
10528 * lisp.h (assoc_no_quit): Extern it.
10529
10530 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10531 Through out the file, use FONT_INFO_FROM_FACE instead of
10532 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10533 rif->per_char_metric.
10534 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10535 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10536 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10537 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10538 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10539 nonzero, use font-backend mechanism.
10540 (get_per_char_metric): New function.
10541
10542 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10543 (set_lface_from_font_name)
10544 (set_font_frame_param, free_realized_face)
10545 (prepare_face_for_display, clear_face_gcs)
10546 (Finternal_set_font_selection_order, realize_x_face)
10547 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10548 font-backend mechanism.
10549 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10550 (load_face_font) [USE_FONT_BACKEND]: Abort.
10551 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10552 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10553
10554 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10555 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10556 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10557 nonzero, register all available font drivers. Call
10558 x_default_font_parameter for deciding a font.
10559 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10560
10561 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10562 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10563 (x_set_glyph_string_clipping_exactly)
10564 (x_compute_glyph_string_overhangs)
10565 (x_draw_glyph_string_foreground)
10566 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10567 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10568 enable_font_backend is nonzero, use font-backend mechanism.
10569 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10570
105712008-02-01 Kenichi Handa <handa@m17n.org>
10572
10573 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10574 system_eol_type.
10575 (syms_of_coding): Initialize system_eol_type.
10576
10577 * process.c (Fset_process_coding_system): Inherit system's eol
10578 format if necessary.
10579
105802008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10581
10582 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10583
105842008-02-01 Kenichi Handa <handa@m17n.org>
10585
10586 * coding.c (decode_eol): Pay attention to buffer relocation in
10587 del_range_2.
10588 (decode_coding): Call decode_eol before restoring undo_list.
10589
105902008-02-01 Kenichi Handa <handa@m17n.org>
10591
10592 * charset.c (Fdefine_charset_internal): Fix setting of
10593 emacs_mule_bytes.
10594
105952008-02-01 Kenichi Handa <handa@m17n.org>
10596
10597 * keyboard.c (read_char): Check if C is a character or not before
10598 looking up Vkeyboard_translate_table.
10599
106002008-02-01 Kenichi Handa <handa@m17n.org>
10601
10602 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10603 condition to terminate the loop.
10604
106052008-02-01 Kenichi Handa <handa@m17n.org>
10606
10607 * coding.c (produce_composition): Compare charbuf[i] instead of
10608 args[i] against 0.
10609 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10610
106112008-02-01 Kenichi Handa <handa@m17n.org>
10612
10613 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10614 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10615 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10616 detect_coding.
10617 (emacs_mule_char): Handle old style (Emacs 20) component character
10618 of a composition.
10619 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10620 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10621 composition rule.
10622 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10623
106242008-02-01 Kenichi Handa <handa@m17n.org>
10625
10626 * coding.c (encode_coding_ccl): Allocate destination dynamically
10627 when necessary.
10628
106292008-02-01 Kenichi Handa <handa@m17n.org>
10630
10631 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10632 the loop. When quitted, show a proper error message.
10633
106342008-02-01 Kenichi Handa <handa@m17n.org>
10635
10636 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10637 src->clip_head and src->clip_tail temporarily instead of src->hl.
10638
10639 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10640 character sequence.
10641 (Fccl_execute_on_string): Use ASET, not XSET.
10642
106432008-02-01 Kenichi Handa <handa@m17n.org>
10644
10645 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10646
106472008-02-01 Kenichi Handa <handa@m17n.org>
10648
10649 * coding.c (decode_coding): Fix the condition of terminating the
10650 decoding loop.
10651
106522008-02-01 Kenichi Handa <handa@m17n.org>
10653
10654 * data.c (Faset): On setting a character bigger than 255 in a
10655 unibyte string, signal an error instead of make the string multibyte.
10656
106572008-02-01 Kenichi Handa <handa@m17n.org>
10658
10659 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10660 made by a mapping table.
10661
106622008-02-01 Kenichi Handa <handa@m17n.org>
10663
10664 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10665 not.
10666 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10667 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10668
10669 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10670 s->face is NULL or not.
10671
106722008-02-01 Kenichi Handa <handa@m17n.org>
10673
10674 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10675 (x_draw_glyph_string): Fix drawing of right_overhang and
10676 left_overhang around/on cursor.
10677
10678 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10679
106802008-02-01 Kenichi Handa <handa@m17n.org>
10681
10682 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10683
106842008-02-01 Kenichi Handa <handa@m17n.org>
10685
10686 * coding.c (Fdefine_coding_system_internal)
10687 (Fdefine_coding_system_alias): Avoid a duplicated element in
10688 Vcoding_system_alist.
10689
106902008-02-01 Kenichi Handa <handa@m17n.org>
10691
10692 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10693
10694 * coding.c (Qcoding_system_define_form): New variable.
10695 (syms_of_coding): Intern and staticpro it.
10696 (Fcoding_system_p): Check Qcoding_system_define_form.
10697 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10698
10699 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10700 Fcoding_system_p.
10701 (CHECK_CODING_SYSTEM): If ID is not available, call
10702 Fcheck_coding_system.
10703 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10704 Try also Fcheck_coding_system.
10705
107062008-02-01 Kenichi Handa <handa@m17n.org>
10707
10708 * coding.c (code_conversion_restore): GCPRO arg.
10709
107102008-02-01 Kenichi Handa <handa@m17n.org>
10711
10712 * character.c (lisp_string_width): Check multibyteness of STRING.
10713
107142008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10715
10716 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10717 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10718 (decode_mac_font_name): Use decode_coding_c_string instead of
10719 decode_coding.
10720 (x_load_font): Initialize fontp->fontset to -1. Set
10721 fontp->encoding_type.
10722
107232008-02-01 Kenichi Handa <handa@m17n.org>
10724
10725 * search.c (search_buffer): Give up BM search on case-fold-search
10726 if one of a target character has a case-equivalence of different
10727 byte length even if that target charcter is an ASCII.
10728 (simple_search): Fix calculation of byte length of matched text.
10729 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10730
107312008-02-01 Kenichi Handa <handa@m17n.org>
10732
10733 * coding.c (decode_coding): Fix handling of invalid bytes.
10734
107352008-02-01 Kenichi Handa <handa@m17n.org>
10736
10737 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10738 Unicode characters.
10739
107402008-02-01 Kenichi Handa <handa@m17n.org>
10741
10742 * coding.c (encode_coding_object): If a pre-write-conversion
10743 function makes a new buffer, kill it.
10744
107452008-02-01 Kenichi Handa <handa@m17n.org>
10746
10747 * coding.c (QCascii_compatible_p): New variable.
10748 (syms_of_coding): Initialize it.
10749 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10750 calling string_char.
10751 (record_conversion_result): Add `default:' case.
10752 (coding_charset_list): Delete unused variable `coding_type'.
10753 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10754 property in the plist of the coding system.
10755 (Fcoding_system_put): Check QCascii_compatible_p.
10756
107572008-02-01 Miles Bader <miles@gnu.org>
10758
10759 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10760 removed calculation of frame `f', as it's now used.
10761
107622008-02-01 Kenichi Handa <handa@m17n.org>
10763
10764 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10765 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10766 (UNIDATA): New variable.
10767 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10768 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10769 $(RUN_TEMACS) unconditionally.
10770
107712008-02-01 Kenichi Handa <handa@m17n.org>
10772
10773 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10774 (admindir): New variable.
10775 ($(lispsource)international/charprop.el): New target.
10776
107772008-02-01 Miles Bader <miles@gnu.org>
10778
10779 * character.c (chars-in-region): Remove obsolete function.
10780 (syms_of_character): Remove its initialization.
10781
107822008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10783
10784 * w32select.c (validate_coding_system)
10785 (setup_windows_coding_system): New functions.
10786 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10787 setup_windows_coding_system.
10788 (setup_config, Fw32_get_clipboard_data): Use
10789 validate_coding_system.
10790 (Fx_selection_exists): Move call to setup_config to a place
10791 where signals are allowed.
10792
10793 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10794 (Fcheck_coding_system): Add declarations.
10795
107962008-02-01 Kenichi Handa <handa@m17n.org>
10797
10798 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10799
108002008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10801
10802 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10803 string as the second argument for x_new_fontset.
10804
108052008-02-01 Kenichi Handa <handa@m17n.org>
10806
10807 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10808 (encode_coding_object): Use safe_call instead of call2.
10809
108102008-02-01 Kenichi Handa <handa@m17n.org>
10811
10812 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10813
10814 * Makefile.in (lisp): Include charprop.el.
10815
108162008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10817
10818 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10819 Not sure if it's unnecessary.
10820
108212008-02-01 Steven Tamm <steventamm@mac.com>
10822
10823 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10824 some possibly unnecessary fontset checking code that crashed
10825 when creating a new frame.
10826
108272008-02-01 Kenichi Handa <handa@m17n.org>
10828
10829 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10830 lookup_face.
10831
10832 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10833
10834 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10835
108362008-02-01 Kenichi Handa <handa@m17n.org>
10837
10838 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10839 (coding_charset_list): New function.
10840
10841 * coding.h (coding_charset_list): Extern it.
10842
108432008-02-01 Kenichi Handa <handa@m17n.org>
10844
10845 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10846 concatenation of family and registry.
10847
108482008-02-01 Kenichi Handa <handa@m17n.org>
10849
10850 * character.h (BYTE8_STRING): Fix typo.
10851
10852 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10853 string to multibyte (sync to HEAD).
10854
10855 * casefiddle.c (casify_region): Handle changes in byte-length
10856 using replace_range_2 (sync to HEAD).
10857
108582008-02-01 Andreas Schwab <schwab@suse.de>
10859
10860 * chartab.c (map_char_table): GCPRO table and arg.
10861
108622008-02-01 Kenichi Handa <handa@m17n.org>
10863
10864 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10865 already at limit.
10866
108672008-02-01 Kenichi Handa <handa@m17n.org>
10868
10869 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10870 instead of fast_c_string_match_ignore_case.
10871 (find_font_encoding): Change argument to Lisp_Object. Use
10872 fast_string_match_ignore_case instead of
10873 fast_c_string_match_ignore_case. Change caller.
10874
108752008-02-01 Kenichi Handa <handa@m17n.org>
10876
10877 * xdisp.c (get_next_display_element): In unibyte case, decide to
10878 display in octal form by checking a character by
10879 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10880
10881 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10882
10883 * character.c (unibyte_has_multibyte_table): New variable.
10884
10885 * character.h (unibyte_has_multibyte_table): Extern it.
10886 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10887
108882008-02-01 Kenichi Handa <handa@m17n.org>
10889
10890 * coding.c (encode_coding_iso_2022): Fix handling of charset
10891 annotation.
10892
108932008-02-01 Kenichi Handa <handa@m17n.org>
10894
10895 * coding.c (setup_coding_system): If coding_system is nil, use
10896 Qundecided.
10897 (Fterminal_coding_system): Return nil if terminal coding system is
10898 `undecided'.
10899 (syms_of_coding): Define coding-system `undecided' here. Setup
10900 terminal_coding as `undecided'.
10901
109022008-02-01 Kenichi Handa <handa@m17n.org>
10903
10904 * xdisp.c (message_dolog, set_message_1): Call
10905 unibyte_char_to_multibyte with arg type int.
10906
10907 * lread.c (read1): Fix reading of a char-table.
10908
10909 * print.c (print_object): Include sub char-table in circularities
10910 detection.
10911
109122008-02-01 Kenichi Handa <handa@m17n.org>
10913
10914 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10915 Append the found sequences in car of ARGS instead of prepending.
10916
109172008-02-01 Kenichi Handa <handa@m17n.org>
10918
10919 * fileio.c (report_file_error): Make a unibyte string from
10920 strerror (errorno).
10921 (Fsubstitute_in_file_name): Fix the arg to
10922 unibyte_char_to_multibyte. It is evaluated twice.
10923
109242008-02-01 Kenichi Handa <handa@m17n.org>
10925
10926 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10927
109282008-02-01 Kenichi Handa <handa@m17n.org>
10929
10930 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10931 BOM is not found.
10932 (detect_coding, detect_coding_system): Optimization for ISO-2022
10933 when no 8-bit data is found.
10934
109352008-02-01 Jason Rumney <jasonr@gnu.org>
10936
10937 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10938
109392008-02-01 Kenichi Handa <handa@m17n.org>
10940
10941 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10942 CHARS.
10943
109442008-02-01 Steven Tamm <steventamm@mac.com>
10945
10946 * macterm.c (mac_encode_char): Add charset argument and update
10947 to use encoding_type.
10948 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10949 switch to pure fontset.
10950 (decode_mac_font_name): Temporarily remove decoding.
10951 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10952 (x_load_font): Temporarily remove encoding.
10953
109542008-02-01 Kenichi Handa <handa@m17n.org>
10955
10956 * xfaces.c (Fface_font): If frame is not on a window system,
10957 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10958 refer to face->font.
10959 (split_font_name_into_vector, build_font_name_from_vector)
10960 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10961 when HAVE_WINDOW_SYSTEM is defined.
10962
109632008-02-01 Kenichi Handa <handa@m17n.org>
10964
10965 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10966 (x_produce_glyphs): Fix setting of members of cmp in case
10967 cmp->glyph_len is zero.
10968
10969 * fontset.c (Fset_fontset_font): Fix docstring.
10970 (Ffontset_info): Make it backward compatible. New arg ALL.
10971
109722008-02-01 Kim F. Storm <storm@cua.dk>
10973
10974 * process.c (read_process_output): Grow decoding_buf when needed;
10975 this could cause a crash in allocate_string and compact_small_strings.
10976
109772008-02-01 Kenichi Handa <handa@m17n.org>
10978
10979 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10980
109812008-02-01 Kenichi Handa <handa@m17n.org>
10982
10983 * coding.c (setup_coding_system): Set coding->common_flags
10984 correctly for raw-text.
10985 (consume_chars): On encoding unibyte text by raw-text, don't check
10986 multibyte form.
10987 (encode_coding): On encoding by raw-text, never use translation tables.
10988
10989 * fileio.c (e_write): Short cut for the case of no encoding.
10990
109912008-02-01 Kenichi Handa <handa@m17n.org>
10992
10993 * coding.c (detect_coding, detect_coding_system): Delete unused
10994 variables.
10995
109962008-02-01 Kenichi Handa <handa@m17n.org>
10997
10998 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10999 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
11000
110012008-02-01 Kenichi Handa <handa@m17n.org>
11002
11003 * coding.c (Ffind_coding_systems_region_internal): Include
11004 raw-text and no-conversion in the result.
11005
110062008-02-01 Kenichi Handa <handa@m17n.org>
11007
11008 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
11009 (load_font_get_repertory): Delete unnecessary check of ENCODING of
11010 FONT_DEF.
11011 (font_def_arg, add_arg, from_arg, to_arg): New args.
11012 (set_fontset_font): Change argument.
11013 (Fset_fontset_font): Fix for the case that TARGET is a script
11014 name and charset name.
11015 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
11016
110172008-02-01 Kenichi Handa <handa@m17n.org>
11018
11019 * fontset.c (fontset_font): Rename from fontset_face. Change return
11020 value.
11021 (face_suitable_for_char_p, face_for_char): Adjust for the change
11022 of fontset_font.
11023 (make_fontset_for_ascii_face): Fix setting of the fontset element
11024 for ASCII.
11025 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
11026 to get a font name.
11027 (Ffontset_info): Adjust for the change of fontset_font.
11028
11029 * coding.c (emacs_mule_char): Check invalid code more rigidly.
11030
11031 * character.h (LEADING_CODE_LATIN_1_MIN)
11032 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
11033
110342008-02-01 Kenichi Handa <handa@m17n.org>
11035
11036 * editfns.c (check_translation): New function.
11037 (Ftranslate_region_internal): Handle M:N mapping.
11038
110392008-02-01 Kenichi Handa <handa@m17n.org>
11040
11041 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
11042
110432008-02-01 Kenichi Handa <handa@m17n.org>
11044
11045 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
11046 goto invalid_code.
11047 (decode_coding_iso_2022): Fix handling of invalid designation.
11048
11049 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
11050 after calling code_conversion_save.
11051
110522008-02-01 Kenichi Handa <handa@m17n.org>
11053
11054 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
11055
11056 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
11057
11058 * fontset.c: Include "intervals.h".
11059 (fontset_face): Fix comparing of Lisp_Objects.
11060 (free_face_fontset, new_fontset_from_font_name): Fix
11061 Lisp_Object/int mixup.
11062
11063 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
11064
11065 * coding.c: Add many prototypes for static functions.
11066 (get_translation_table): Allow max_lookup to be NULL.
11067 (decode_coding, Ffind_coding_systems_region_internal)
11068 (Funencodable_char_position, Fcheck_coding_systems_region): Call
11069 get_translation_table with max_lookup NULL.
11070
110712008-02-01 Kenichi Handa <handa@m17n.org>
11072
11073 * coding.c (get_translation_table): Declare it as Lisp_Object.
11074 (LOOKUP_TRANSLATION_TABLE): New macro.
11075 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
11076 instead of CHAR_TABLE_REF.
11077
110782008-02-01 Kenichi Handa <handa@m17n.org>
11079
11080 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
11081 annotation data format.
11082 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
11083 Change arguments FROM and TO to single argument NCHARS. Change caller.
11084 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
11085 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11086 (decode_coding_ccl, decode_coding_charset): Pay attention to
11087 coding->charbuf_used.
11088 (get_translation): New function.
11089 (produce_chars): New arguments translation_table and last_block.
11090 Translate characters here. Return number of carryover chars.
11091 Change caller.
11092 (produce_composition): New argument pos. Change caller.
11093 Adjust for the change of annotation data format.
11094 (produce_charset, produce_annotation): Likewise.
11095 (decode_coding, encode_coding): Don't call translate_chars.
11096 (consume_chars): New arg translation_table. Change caller.
11097 (translate_chars): Delete.
11098 (syms_of_coding): Make translation-table's number of extra slots 2.
11099
111002008-02-01 Kenichi Handa <handa@m17n.org>
11101
11102 * search.c (simple_search): Fix setting this_pos_byte in backward
11103 search.
11104
11105 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11106 byte sequence.
11107 (detect_coding_ccl): Fix setting of the variable valids.
11108
111092008-02-01 Kenichi Handa <handa@m17n.org>
11110
11111 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11112
11113 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11114
11115 * editfns.c (Ftranslate_region_internal): Rename from
11116 Ftranslate_region. Accept a char-table in TABLE.
11117 (syms_of_editfns): Defsubr Stranslate_region_internal.
11118
11119 * xfaces.c (set_lface_from_font_name): If a font is specified for
11120 a frame, generate a fontset from the font.
11121 (build_scalable_font_name): If the scalable font is requested for
11122 a specific size, don't change that size.
11123 (try_font_list): Try a scalable font also in the case that a
11124 pattern string is specified.
11125
111262008-02-01 Kenichi Handa <handa@m17n.org>
11127
11128 * xfaces.c (Fface_font): New optional arg CHARACTER.
11129
111302008-02-01 Kenichi Handa <handa@m17n.org>
11131
11132 * charset.h (CHARSET_OFFSET): New macro.
11133
111342008-02-01 Kenichi Handa <handa@m17n.org>
11135
11136 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11137
11138 * fontset.c (fontset_face): Handle the case that repertory is a
11139 char-table.
11140 (find_font_encoding): Return nil for unknown encoding.
11141 (Fset_fontset_font): Ignore a font of unknown encoding.
11142
111432008-02-01 Kenichi Handa <handa@m17n.org>
11144
11145 * keymap.c (describe_vector): Handle default value of a char table.
11146
11147 * fontset.c (fontset_face): Handle fallback fonts correctly.
11148 (Ffontset_info): Return infomation about fallback fonts.
11149
111502008-02-01 Kenichi Handa <handa@m17n.org>
11151
11152 * fontset.c (FONTSET_DEFAULT): New macro.
11153 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11154 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11155 the case that it is nil.
11156 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11157 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11158
11159 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11160 subset or superset.
11161
111622008-02-01 Kenichi Handa <handa@m17n.org>
11163
11164 * emacs.c (main): Call init_charset after syms_of_XXX.
11165
11166 * charset.c (Vcharset_map_directory): Delete.
11167 (Vcharset_map_path): New variable.
11168 (load_charset_map_from_file): Use Vcharset_map_path instead.
11169 (init_charset): Initialize Vcharset_map_path.
11170 (syms_of_charset): Delete declaration of "charset-map-directory",
11171 add declaration of "charset-map-path".
11172
111732008-02-01 Kenichi Handa <handa@m17n.org>
11174
11175 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11176 ASCII only string.
11177
11178 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11179
11180 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11181 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11182
111832008-02-01 Kenichi Handa <handa@m17n.org>
11184
11185 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11186
11187 * coding.c (QCmnemonic, QCdefalut_char)
11188 (QCdecode_translation_table, QCencode_translation_table)
11189 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11190 (get_translation_table): Return a list of translation tables if
11191 necessary.
11192 (decode_coding): Call get_translation_table with ENCODEP 0.
11193 (char_encodable_p): If translation_table is non-nil, always call
11194 translate_char.
11195 (Fdefine_coding_system_internal): Accept list of translation
11196 tables as :encode-translation-table and :decode-translation-table.
11197 (Fcoding_system_put): New function.
11198 (syms_of_coding): Declare new symbols. Defsubr
11199 Scoding_system_put.
11200 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11201 typically JISX0212.
11202
11203 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11204 when the charset is superset type.
11205
11206 * character.c (translate_char): Accept list of translation tables.
11207
112082008-02-01 Kenichi Handa <handa@m17n.org>
11209
11210 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11211 (CODING_ATTR_TRANS_TBL): New macro.
11212
11213 * coding.c (get_translation_table): New function.
11214 (translate_chars): Fix the bug of skipping annotation data.
11215 (decode_coding, encode_coding): Utilize get_translation_table.
11216 (char_encodable_p, Funencodable_char_position): Translate char if
11217 necessary.
11218 (Ffind_coding_systems_region_internal)
11219 (Fcheck_coding_systems_region): Setup translation table for encode
11220 in a coding system attribute vector in advance.
11221 (Fdefine_coding_system_internal): Allow a symbol as translation
11222 table. For shift-jis type coding system, allow 4th charset.
11223
112242008-02-01 Kenichi Handa <handa@m17n.org>
11225
11226 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11227
11228 * xdisp.c (get_next_display_element): Pass -1 as POS to
11229 FACE_FOR_CHAR if displaying a C-string.
11230
112312008-02-01 Kenichi Handa <handa@m17n.org>
11232
11233 * composite.c (get_composition_id): Handle xoff and yoff in a
11234 composition rule.
11235
11236 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11237 (struct composition): New member lbearing and rbearing.
11238
11239 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11240 (x_get_glyph_overhangs): Handle a composition glyph.
11241 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11242
11243 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11244 composition glyph.
11245
112462008-02-01 Kenichi Handa <handa@m17n.org>
11247
11248 * print.c: Include charset.h.
11249 (Vprint_charset_text_property): New variable.
11250 (Qdefault): Extern it.
11251 (PRINT_STRING_NON_CHARSET_FOUND)
11252 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11253 (print_check_string_result): New variable.
11254 (print_check_string_charset_prop): New function.
11255 (print_prune_charset_plist): New variable.
11256 (print_prune_string_charset): New function.
11257 (print_object): Call print_prune_string_charset if
11258 Vprint_charset_text_property is not t.
11259 (print_interval): Print nothing if interval->plist is nil.
11260 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11261 variable. Init and staticpro print_prune_charset_plist.
11262
112632008-02-01 Kenichi Handa <handa@m17n.org>
11264
11265 * fontset.c (new_fontset_from_font_name): Use the specified font
11266 for all characters in the new fontset.
11267
11268 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11269 OBJECT args.
11270
11271 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11272 OBJECT args for composition too.
11273
11274 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11275 OBJECT args.
11276
112772008-02-01 Kenichi Handa <handa@m17n.org>
11278
11279 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11280
11281 * fontset.c (reorder_font_vector): Adjust for the change of
11282 FONT_DEF format.
11283 (fontset_face): New arg id. Change caller.
11284 (face_for_char): New args pos and object.
11285 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11286 (fs_query_fontset): Check NAME by Fassoc too.
11287 (Fset_fontset_font): Allow non-XLFD font name.
11288 (Ffontset_info): Adjust for the change of FONT_DEF format.
11289
11290 * fontset.h (face_for_char): Adjust prototype.
11291
11292 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11293 (append_space, extend_face_to_end_of_line)
11294 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11295 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11296
11297 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11298 POS and OBJECT args.
11299
11300 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11301 POS and OBJECT args.
11302
113032008-02-01 Jason Rumney <jasonr@gnu.org>
11304
11305 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11306 of GlobalAlloc'ed memory.
11307
113082008-02-01 Kenichi Handa <handa@m17n.org>
11309
11310 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11311
11312 * charset.h (charset_table_used): Delete extern.
11313
11314 * charset.c (charset_table_used): Make it static.
11315 (map_charset_chars): Fix args to c_function with.
11316
11317 * chartab.c (map_sub_char_table_for_charset): Fix args to
11318 c_function with.
11319
11320 * coding.h (enum coding_result_code): Delete
11321 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11322
11323 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11324 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11325 (Vlast_code_conversion_error): New variables.
11326 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11327 (ONE_MORE_BYTE): Record error if any instead of signaling an
11328 error. If non-ASCII multibyte char is found, return the negative
11329 value of the code. All callers changed to check it.
11330 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11331 (record_conversion_result): New function. Change all codes setting
11332 coding->result to call this function.
11333 (detect_coding_utf_8, decode_coding_utf_8)
11334 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11335 Don't use the local variable incomplete.
11336 (emacs_mule_char): Change the second arg to `const'.
11337 (decode_coding): Fix of flushing out unprocessed data.
11338 (make_conversion_work_buffer): Fix making of a work buffer.
11339 (decode_coding_object): Return coding->dst_object.
11340
11341 * fontset.c (set_fontset_font): Fix args.
11342
11343 * lisp.h (CHARACTERBITS): Define as 22.
11344
11345 * process.c (send_process): Be sure to set coding->src_multibyte.
11346
11347 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11348
113492008-02-01 Kenichi Handa <handa@m17n.org>
11350
11351 * xdisp.c (handle_auto_composed_prop): Give limit to
11352 Fnext_single_char_property_change.
11353
113542008-02-01 Kenichi Handa <handa@m17n.org>
11355
11356 * composite.c (syms_of_composite): Don't make the composition hash
11357 table weak.
11358
11359 * fontset.c (Fset_fontset_font): Fix docstring.
11360
11361 * lisp.h (detect_coding_system): Adjust prototype.
11362
11363 * fileio.c (kill_workbuf_unwind): Delete this function.
11364 (Finsert_file_contents): Adjust the call of detect_coding_system.
11365 Get conversion_buffer by code_conversion_save. Use the macro
11366 CODING_MAY_REQUIRE_DECODING. After decoding, update
11367 coding_system.
11368
11369 * coding.h (make_conversion_work_buffer): Delete extern.
11370 (code_conversion_save): Extern it.
11371
11372 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11373 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11374 (decode_coding_utf_8): Don't do eol converion.
11375 (detect_coding_utf_16): Check coding->src_chars, not
11376 coding->src_bytes. Add heuristics for those that have no signature.
11377 (decode_coding_emacs_mule, decode_coding_iso_2022)
11378 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11379 Don't do eol converion.
11380 (adjust_coding_eol_type): Return a new coding system.
11381 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11382 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11383 each change.
11384 (decode_coding): Pay attention to undo_list. Do eol conversion for
11385 all types of coding-systems (if necessary).
11386 (Vcode_conversion_work_buf_list): Delete it.
11387 (Vcode_conversion_reused_workbuf): Rename from
11388 Vcode_conversion_reused_work_buf.
11389 (Vcode_conversion_workbuf_name): New variable.
11390 (reused_workbuf_in_use): New variable.
11391 (make_conversion_work_buffer): Delete the arg DEPTH.
11392 (code_conversion_restore): Change argument to cons.
11393 (code_conversion_save): Delete the argument BUFFER. Change callers.
11394 (detect_coding_system): New argument src_chars. Change callers.
11395 Fix for utf-16 detection.
11396 (init_coding_once): Don't use ISO_carriage_return.
11397 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11398 reused_workbuf_in_use.
11399
114002008-02-01 Kenichi Handa <handa@m17n.org>
11401
11402 * keymap.c (store_in_keymap): Pay attention to the case that idx
11403 is a cons specifying a character range.
11404
114052008-02-01 Kenichi Handa <handa@m17n.org>
11406
11407 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11408 HANDLED_RECOMPUTE_PROPS.
11409
11410 * coding.c (Fdefine_coding_system_internal): Fix checking of
11411 ascii compatibility.
11412
114132008-02-01 Kenichi Handa <handa@m17n.org>
11414
11415 * charset.c (find_charsets_in_text): Delete unused locale variable.
11416 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11417
11418 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11419 Resync charset_list to Vemacs_mule_charset_list.
11420
11421 * keymap.c (store_in_keymap): Pay attention to the case that idx
11422 is a cons specifying a character range.
11423
114242008-02-01 Kenichi Handa <handa@m17n.org>
11425
11426 * composite.c (update_compositions): Bind inhibit-read-only, etc
11427 to t before calling remove-list-of-text-properties.
11428
11429 * print.c (print_object): Always print ASCII chars as is.
11430
114312008-02-01 Kenichi Handa <handa@m17n.org>
11432
11433 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11434
11435 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11436 is a char table.
11437
114382008-02-01 Kenichi Handa <handa@m17n.org>
11439
11440 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11441
114422008-02-01 Kenichi Handa <handa@m17n.org>
11443
11444 * xfaces.c (set_lface_from_font_name): Fix for the case that
11445 FONTNAME is not fontset name.
11446
114472008-02-01 Kenichi Handa <handa@m17n.org>
11448
11449 * fns.c (base64_encode_1): Fix previous change.
11450
114512008-02-01 Kenichi Handa <handa@m17n.org>
11452
11453 * fontset.c (set_fontset_font): New function.
11454 (Fset_fontset_font): If a font is specified for a charset, use
11455 map_charset_chars to store the font spec in a fontset.
11456
114572008-02-01 Kenichi Handa <handa@m17n.org>
11458
11459 * fontset.c (fontset_face): Create a fallback fontset on demand.
11460 (make_fontset): Don't create a fallback fontset here.
11461 (free_face_fontset): Free a fallback fontset (if any) too.
11462 (n_auto_fontsets): Delete this variable.
11463 (auto_fontset_alist): New variable.
11464 (new_fontset_from_font_name): Check auto_fontset_alist.
11465 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11466 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11467 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11468 Defsubr Sfontset_list_all.
11469
114702008-02-01 Kenichi Handa <handa@m17n.org>
11471
11472 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11473
114742008-02-01 Kenichi Handa <handa@m17n.org>
11475
11476 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11477
114782008-02-01 Kenichi Handa <handa@m17n.org>
11479
11480 * editfns.c (Fgoto_char): Fix docstring.
11481
114822008-02-01 Kenichi Handa <handa@m17n.org>
11483
11484 * insdel.c (insert_from_gap): Adjust intervals correctly.
11485
114862008-02-01 Jason Rumney <jasonr@gnu.org>
11487
11488 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11489 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11490 (w32_initialize): Try to load it.
11491 (x_get_font_repertory): Use it if available.
11492 (w32_encode_char): Add shortcut for unicode output.
11493
11494 * w32fns.c (w32_load_system_font): Default charset to -1.
11495 (x_to_w32_charset): Match all fonts for unicode.
11496 (w32_to_x_charset): New parameter matching. Don't return partial
11497 or wildcard charsets.
11498 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11499 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11500 (w32_to_x_font): Match charset to real charset.
11501 (enum_font_cb2): Always list unicode versions.
11502
11503 * makefile.w32-in (temacs): Increase EMHEAP.
11504
115052008-02-01 Jason Rumney <jasonr@gnu.org>
11506
11507 * w32term.c (w32_encode_char): New charset parameter.
11508 font_info.encoding becomes encoding_type.
11509 (x_get_font_repertory): New function. Warning: stub only!
11510 (x_new_font): Return quickly if font already set.
11511 (x_new_fontset): fontsetname parameter is Lisp_Object.
11512 Use new fs_query_fontset. Try new_fontset_from_font_name.
11513 Use fontset_name for return value.
11514
11515 * w32term.h: Declare x_get_font_repertory.
11516
11517 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11518 place of find_charset_in_text. Use encode_coding_object in place
11519 of encode_coding.
11520 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11521 decode_coding.
11522
11523 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11524 of x_new_fontset.
11525 (w32_load_system_font): Initialize charset as unicode.
11526 font_info.encoding becomes encoding_type.
11527 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11528 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11529 (syms_of_w32fns): Set get_font_repertory_func.
11530
11531 * w32console.c: Include character.h. Use terminal_encode_buffer
11532 from term.c.
11533 (write_glyphs): Use new version of encode_terminal_code. Use
11534 encode_coding_object in place of encode_coding.
11535
11536 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11537 encoding becomes encoding_type.
11538
11539 * term.c (terminal_encode_buffer): Make externally visible.
11540
11541 * makefile.w32-in: Add character.h dependancies.
11542 (character.o, chartab.o): New targets.
11543
115442008-02-01 Kenichi Handa <handa@m17n.org>
11545
11546 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11547 CODING_ID_EOL_TYPE.
11548
115492008-02-01 Andreas Schwab <schwab@suse.de>
11550
11551 * coding.c (produce_chars): Revert last change.
11552
115532008-02-01 Kenichi Handa <handa@m17n.org>
11554
11555 * charset.h (charset_unicode): Extern it.
11556
11557 * charset.c (string_xstring_p): Check by (C >= 0x100).
11558 (find_charsets_in_text): Change format of the arc CHARSETS. New
11559 arg MULTIBYTE.
11560 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11561 change of find_charsets_in_text.
11562 (Fsplit_char): Fix doc. Never return unknown.
11563
11564 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11565
11566 * coding.c (Fdefine_coding_system_alias): Update
11567 Vcoding_system_list.
11568
11569 * fontset.c (load_font_get_repertory): Pay attention to the case
11570 that ENCODING of a font is specified by a char-table.
11571
11572 * xterm.c (x_get_font_repertory): Handle the case that the
11573 encoding of font is other than Unicode.
11574
115752008-02-01 Kenichi Handa <handa@m17n.org>
11576
11577 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11578 if a character is encodable by the terminal coding system. If
11579 not, produces proper number of `?'s. Update
11580 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11581 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11582
115832008-02-01 Kenichi Handa <handa@m17n.org>
11584
11585 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11586 variables.
11587 (encode_terminal_code): Change argument. Encode multiple
11588 characters at once. Store the result of encoding in
11589 terminal_encode_buffer.
11590 (write_glyphs, insert_glyphs): Adjust for the change of
11591 encode_terminal_code.
11592 (term_init): Initialize terminal_encode_buffer and
11593 terminal_encode_buf_size.
11594
11595 * coding.c (consume_chars): If coding->src_object is nil, don't
11596 check annotation.
11597
115982008-02-01 Kenichi Handa <handa@m17n.org>
11599
11600 * character.c (char_string): Use ASCII_CHAR_P instead of
11601 SINGLE_BYTE_CHAR_P.
11602
116032008-02-01 Kenichi Handa <handa@m17n.org>
11604
11605 * xdisp.c (handle_auto_composed_prop): Check if the last
11606 characters of auto-composed region is newly composed with the
11607 following characters.
11608 (handle_composition_prop): Fix checking of point being inside
11609 composition.
11610
116112008-02-01 Kenichi Handa <handa@m17n.org>
11612
11613 * fns.c (concat): Don't change multibyteness of the result by
11614 concatenating an 8-bit character.
11615
11616 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11617 multibyteness of the result when newelt is an 8-bit character.
11618
116192008-02-01 Dave Love <fx@gnu.org>
11620
11621 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11622 EMACS_INT.
11623
11624 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11625
11626 * xfaces.c (face_numeric_value): Declare dim size_t.
11627 (Finternal_lisp_face_equal_p): Remove unused f.
11628
11629 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11630 (MATRIX_ROW): Remove unused vars.
11631 (draw_glyphs, x_insert_glyphs, fast_find_position)
11632 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11633 byte/char counts.
11634
11635 * regex.c (regex_compile): Remove unused var.
11636
11637 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11638
11639 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11640 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11641
11642 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11643
11644 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11645
11646 * fileio.c (Fwrite_region): Remove unused var.
11647
11648 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11649 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11650
11651 * composite.c (Fremove_list_of_text_properties): Declare.
11652
11653 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11654 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11655 (coding_inherit_eol_type): Remove unused attrs.
11656 (detect_coding): Cast arg of detect_eol.
11657
11658 * charset.c (syms_of_charset): Remove unused var p.
11659 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11660 byte/char counts.
11661
11662 * casetab.c (set_case_table): Remove unused var.
11663
11664 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11665 unused vars.
11666
116672008-02-01 Dave Love <fx@gnu.org>
11668
11669 * xterm.c (x_bitmap_mask): Declare.
11670
116712008-02-01 Dave Love <fx@gnu.org>
11672
11673 * xterm.c (x_term_init): Fix type error.
11674
11675 * lisp.h: Add Funibyte_char_to_multibyte.
11676
11677 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11678 (Fset_coding_system_priority): Doc fix.
11679
11680 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11681
11682 * indent.c (check_composition): Make start and end EMACS_INT.
11683
11684 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11685
11686 * xdisp.c (handle_composition_prop, check_point_in_composition):
11687 Make buffer positions EMACS_INT.
11688
11689 * composite.c (find_composition, run_composition_function)
11690 (update_compositions, Ffind_composition_internal): Make buffer
11691 positions EMACS_INT.
11692
11693 * composite.h (find_composition, update_compositions): Make
11694 position args EMACS_INT.
11695
11696 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11697
11698 * intervals.c (get_property_and_range):
11699 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11700
11701 * unexalpha.c: Don't include varargs.h.
11702
117032008-02-01 Dave Love <fx@gnu.org>
11704
11705 * coding.h (ENCODE_UTF_8): New.
11706
11707 * Makefile.in (gtkutil.o): Depend on coding.h.
11708
11709 * coding.c (Fset_coding_system_priority): Doc fix.
11710
117112008-02-01 Kenichi Handa <handa@m17n.org>
11712
11713 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11714 the case of auto saving.
11715
117162008-02-01 Andreas Schwab <schwab@suse.de>
11717
11718 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11719 `range' from GC.
11720
117212008-02-01 Kenichi Handa <handa@m17n.org>
11722
11723 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11724
117252008-02-01 Kenichi Handa <handa@m17n.org>
11726
11727 * fileio.c (choose_write_coding_system): Return a decided coding system.
11728 (Fwrite_region): Set Vlast_coding_system_used to the return value
11729 of choose_write_coding_system.
11730
117312008-02-01 Kenichi Handa <handa@m17n.org>
11732
11733 * charset.c (Fset_charset_priority): Pay attention to duplicated
11734 arguments.
11735
11736 * coding.c (QCcategory): New variable.
11737 (syms_of_coding): Defsym it. Set all elements of
11738 Vcoding_category_table and their symbol values.
11739 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11740 coding-category-XXX, and coding-category-list.
11741 (Fdefine_coding_system_internal): Add category in the plist.
11742
117432008-02-01 Kenichi Handa <handa@m17n.org>
11744
11745 * callproc.c (Fcall_process): Handle carryover correctly.
11746
11747 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11748 (raw_text_coding_system): Check NILP (coding_system).
11749 (coding_inherit_eol_type): Check NILP (coding_system) and
11750 NILP (parent).
11751 (consume_chars): Fix for the case of raw-text.
11752
11753 * process.c (read_process_output): Handle carryover correctly.
11754
117552008-02-01 Dave Love <fx@gnu.org>
11756
11757 * regex.c (re_search_2): Fix last change.
11758
117592008-02-01 Kenichi Handa <handa@m17n.org>
11760
11761 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11762 target_multibyte. Even in a unibyte case, return a converted
11763 multibyte char.
11764 (GET_CHAR_AFTER): New macro.
11765 (PATFETCH): Translate via multibyte char.
11766 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11767 (SETUP_MULTIBYTE_RANGE): New macro.
11768 (regex_compile): Setup compiled code so that its multibyteness
11769 matches that of a target. Fix the handling of "[X-YZ]" using
11770 SETUP_MULTIBYTE_RANGE.
11771 (analyse_first) <charset>: For filling fastmap for all multibyte
11772 characters, don't check by BASE_LEADING_CODE_P.
11773 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11774 the same as RE_MULTIBYTE_P (bufp) now.
11775 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11776 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11777 (TRANSLATE_VIA_MULTIBYTE): New macro.
11778 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11779 It is the same as RE_MULTIBYTE_P (bufp) now.
11780 <exactn>: Translate via multibyte.
11781 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11782 translate it.
11783 <charset, charset_not>: Fetch a character by
11784 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11785 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11786 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11787 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11788 by GET_CHAR_AFTER.
11789 (bcmp_translate): Likewise.
11790
11791 * search.c (compile_pattern): Check the member target_multibyte,
11792 not the member multibyte of buf.
11793
11794 * lread.c (read1): While reading a string, set force_singlebyte
11795 and force_multibyte correctly.
11796
11797 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11798 up of unibyte_to_multibyte_table.
11799
118002008-02-01 Kenichi Handa <handa@m17n.org>
11801
11802 * coding.c (setup_coding_system): If coding has
11803 post-read-conversion or pre-write-conversion, set
11804 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11805 respectively.
11806 (decode_coding_gap): Run post-read-conversion if any.
11807
11808 * fileio.c (Finsert_file_contents): Even if we read into a
11809 unibyte buffer, check if we must decode the result or not.
11810
118112008-02-01 Kenichi Handa <handa@m17n.org>
11812
11813 * coding.c (make_conversion_work_buffer): Change the work buffer
11814 name to the same one as that of Emacs 21.
11815
118162008-02-01 Kenichi Handa <handa@m17n.org>
11817
11818 * coding.h (make_conversion_work_buffer): Adjust prototype.
11819 (code_conversion_restore): Don't extern it.
11820
11821 * coding.c (detected_mask): Delete unused variable.
11822 (decode_coding_iso_2022): Pay attention to the byte sequence of
11823 CTEXT extended segment, and retain those bytes as is.
11824 (decode_coding_ccl): Delete unused variable `valids'.
11825 (setup_coding_system): Delete unused variable `category'.
11826 (consume_chars): Delete unused variable `category'. Make it work
11827 for non-multibyte case.
11828 (make_conversion_work_buffer): Change argument.
11829 (saved_coding): Delete unused variable.
11830 (code_conversion_restore): Don't check saved_coding->destination.
11831 (code_conversion_save): New function.
11832 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11833 instead of record_unwind_protect.
11834 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11835 (detect_coding_system): Delete unused variable `mask'.
11836 (Fdefine_coding_system_internal): Delete unused variable id.
11837
11838 * fileio.c (kill_workbuf_unwind): New function.
11839 (Finsert_file_contents): On replacing, call
11840 make_conversion_work_buffer with correct args, and call
11841 record_unwind_protect with the first arg kill_workbuf_unwind.
11842
11843 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11844
118452008-02-01 Kenichi Handa <handa@m17n.org>
11846
11847 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11848 (fontset_add): Fix for the case that TO is less than TO1.
11849 (Ffontset_info): Don't use fallback fontset on checking the
11850 default fontset.
11851 (dump_fontset): New function for debugging.
11852
11853 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11854 coding_type is Qcharset.
11855
118562008-02-01 Kenichi Handa <handa@m17n.org>
11857
11858 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11859 (map_char_table): Don't inherit the value from the parent on
11860 initializing VAL. Adjust for the above change.
11861
118622008-02-01 Kenichi Handa <handa@m17n.org>
11863
11864 * coding.c (Qsignature, Qendian): Delete these variables.
11865 (syms_of_coding): Don't initialize them.
11866 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11867 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11868 detect_info->found.
11869 (decode_coding_utf_16): Don't detect BOM here.
11870 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11871 is NOT utf_16_without_bom.
11872 (setup_coding_system): For a coding system of type utf-16, check
11873 if the attribute :endian is Qbig or not (not nil or not), and set
11874 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11875 (detect_coding): If coding type is utf-16 and BOM detection is
11876 required, detect it.
11877 (Fdefine_coding_system_internal): For a coding system of type
11878 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11879
118802008-02-01 Kenichi Handa <handa@m17n.org>
11881
11882 * coding.c (coding_set_source): Fix for the case that the current
11883 buffer is different from coding->src_object.
11884 (decode_coding_object): Don't use the conversion work buffer if
11885 DST_OBJECT is a buffer.
11886
118872008-02-01 Dave Love <fx@gnu.org>
11888
11889 * lread.c (read_emacs_mule_char) [len==2]: Index
11890 emacs_mule_charset correctly.
11891
118922008-02-01 Dave Love <fx@gnu.org>
11893
11894 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11895 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11896 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11897 treated specially.)
11898 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11899 (detected_mask): Remove Big5 bits.
11900
119012008-02-01 Kenichi Handa <handa@m17n.org>
11902
11903 The following changes are to make the font rescaling facility
11904 compatible with Emacs 21.
11905
11906 * xfaces.c (Vface_font_rescale_alist): Rename from
11907 Vface_resizing_fonts.
11908 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11909 (font_rescale_ratio): Rename from font_resizing_ratio.
11910 (split_font_name): Set font->rescale_ratio.
11911 (better_font_p): Pay attention to font->rescale_ratio.
11912 (build_scalable_font_name): Likewise. Change RESX, and RESY
11913 fields.
11914 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11915
119162008-02-01 Kenichi Handa <handa@m17n.org>
11917
11918 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11919 (Qutf_16_le): Remove these variables.
11920 (syms_of_coding): Don't DEFSYM them.
11921 (decode_coding_utf_16): Fix handling of BOM.
11922 (encode_coding_utf_16): Fix handling of BOM.
11923
119242008-02-01 Kenichi Handa <handa@m17n.org>
11925
11926 * fileio.c (Finsert_file_contents): On replacing, before decoding
11927 the file into the work buffer, set point of the work buffer to the end.
11928
119292008-02-01 Dave Love <fx@gnu.org>
11930
11931 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11932
119332008-02-01 Dave Love <fx@gnu.org>
11934
11935 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11936 and fix C types.
11937
119382008-02-01 Kenichi Handa <handa@m17n.org>
11939
11940 * xdisp.c (SKIP_GLYPHS): New macro.
11941 (set_cursor_from_row): Pay attention to string display properties.
11942
11943 * category.c (copy_category_entry): Fix for the case that RANGE
11944 is an integer.
11945
11946 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11947
11948 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11949
119502008-02-01 Kenichi Handa <handa@m17n.org>
11951
11952 * charset.c (Fcharset_id_internal): New function.
11953 (syms_of_charset): Defsubr it.
11954
11955 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11956 with the last arg charset_list acquired from coding.
11957 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11958 the attribute coding_attr_ccl_valids.
11959
11960 * coding.h (enum define_coding_ccl_arg_index): Set the first
11961 member coding_arg_ccl_decoder to coding_arg_max.
11962
11963 * ccl.h (ccl_driver): Adjust prototype.
11964
11965 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11966 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11967 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11968 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11969 last arg Qnil.
11970
119712008-02-01 Kenichi Handa <handa@m17n.org>
11972
11973 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11974 call encode_char.
11975
11976 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11977
119782008-02-01 Dave Love <fx@gnu.org>
11979
11980 * composite.c (syms_of_composite): Make composition_hash_table weak.
11981
119822008-02-01 Kenichi Handa <handa@m17n.org>
11983
11984 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11985 (font_name_registry): Don't extern them.
11986 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11987
11988 * fontset.h (Qfontset): Don't extern it.
11989 (new_fontset_from_font_name): Extern it.
11990
11991 * fontset.c: Give 8 extra slots to fontset objects.
11992 (Qfontset_info): New variable.
11993 (syms_of_fontset): Defsym it.
11994 (FONTSET_FALLBACK): New macro.
11995 (fontset_face): Try also the default fontset.
11996 (make_fontset): Realize a fallback fontset from the default fontset.
11997 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11998 using split_font_name_into_vector and build_font_name_from_vector.
11999 (Fset_fontset_font): Access the elements of font_spec by enum
12000 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
12001 name by using split_font_name_into_vector.
12002 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
12003 generate a proper font name from the fontset name. Update
12004 Vfontset_alias_alist.
12005 (n_auto_fontsets): New variable.
12006 (new_fontset_from_font_name): New function.
12007 (Ffont_info): Store the information about fonts generated from the
12008 default fontset in the first extra slot of the returned char-table.
12009
12010 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
12011 (font_name_registry): Delete function.
12012 (split_font_name_into_vector): New function.
12013 (build_font_name_from_vector): New function.
12014 (font_list): The argument REGISTRY is now a list of registry names.
12015 (choose_face_font): If we are choosing an ASCII font, and ATTRS
12016 specifies an explicit font name, return the name as is. Make a
12017 list of registy names.
12018
12019 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
12020 of x_new_fontset.
12021 (Fx_create_frame): Don't call x_new_fontset here. Just use
12022 x_list_fonts to check the existence of fonts.
12023
12024 * xterm.h (x_new_fontset): Adjust prototype.
12025
12026 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
12027 string. Use new_fontset_from_font_name to create a fontset from a
12028 font name.
12029
120302008-02-01 Kenichi Handa <handa@m17n.org>
12031
12032 * syntax.c (Vfind_word_boundary_function_table): New name for
12033 Vnext_word_boundary_function_table.
12034 (find-word-boundary-function-table): New name for
12035 next-word-boundary-function-table.
12036
120372008-02-01 Dave Love <fx@gnu.org>
12038
12039 * Makefile.in: Fix some dependencies.
12040
12041 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
12042 set it to nil before returning.
12043
12044 * composite.c (update_compositions): Fix type error.
12045
12046 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
12047
120482008-02-01 Kenichi Handa <handa@m17n.org>
12049
12050 * xterm.c (x_new_font): Optimize for the case that the font is
12051 already set for the frame.
12052
120532008-02-01 Kenichi Handa <handa@m17n.org>
12054
12055 * chartab.c (char_table_ascii): Check if the char table contents
12056 is sub-char-table or not.
12057 (char_table_set, char_table_set_range): Fix argument to
12058 char_table_ascii.
12059
12060 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
12061 (detect_coding_utf_8, detect_coding_utf_16)
12062 (detect_coding_emacs_mule, detect_coding_iso_2022)
12063 (detect_coding_sjis, detect_coding_big5)
12064 (detect_coding_ccl, detect_coding_charset): Change argument MASK
12065 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
12066 sequence is valid in this coding system. Change callers.
12067 (MAX_ANNOTATION_LENGTH): New macro.
12068 (ADD_ANNOTATION_DATA): New macro.
12069 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
12070 ADD_ANNOTATION_DATA. Change the format of annotation data.
12071 (ADD_CHARSET_DATA): New macro.
12072 (emacs_mule_char): New argument ID. Change callers.
12073 (decode_coding_emacs_mule, decode_coding_iso_2022)
12074 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12075 Produce charset annotation data in coding->charbuf.
12076 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
12077 to charset annotation data in coding->charbuf.
12078 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
12079 coding->common_flags if the coding system is iso-2022 based and
12080 uses designation.
12081 (produce_composition): Adjust for the new annotation data format.
12082 (produce_charset): New function.
12083 (produce_annotation): Handle charset annotation.
12084 (handle_composition_annotation, handle_charset_annotation): New
12085 functions.
12086 (consume_chars): Handle charset annotation. Utilize the above two
12087 functions.
12088 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
12089 buffer, get the deleted text as a string and set
12090 coding->src_object to that string.
12091 (detect_coding, detect_coding_system): Use the new struct
12092 coding_detection_info.
12093
12094 * coding.h (struct coding_detection_info): New structure.
12095 (struct coding_system): Adjust prototype of the member `detector'.
12096 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12097
120982008-02-01 Kenichi Handa <handa@m17n.org>
12099
12100 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12101
121022008-02-01 Dave Love <fx@gnu.org>
12103
12104 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12105 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12106 to new local and nullify apropos_accumulate before returning.
12107 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12108
121092008-02-01 Kenichi Handa <handa@m17n.org>
12110
12111 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12112 correctly.
e3eea1fc 12113
aac0c6e3
MR
121142008-02-01 Dave Love <fx@gnu.org>
12115
12116 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12117
121182008-02-01 Kenichi Handa <handa@m17n.org>
12119
12120 The following changes are to make character composition happen
12121 automatically on displaying.
12122
12123 * Makefile.in (lisp, shortlisp): Add composite.elc.
12124
12125 * composite.h (Qauto_composed, Vauto_composition_function)
12126 (Qauto_composition_function): Extern them.
12127
12128 * composite.c (Vcomposition_function_table)
12129 (Qcomposition_function_table): Delete variables.
12130 (Qauto_composed, Vauto_composition_function)
12131 (Qauto_composition_function): New variables.
12132 (run_composition_function): Don't call
12133 compose-chars-after-function.
12134 (update_compositions): Clear `auto-composed' text property.
12135 (compose_chars_in_text): Delete this function.
12136 (syms_of_composite): Staticpro Qauto_composed and
12137 Qauto_composition_function. Declare Vauto_composition_function as
12138 a Lisp variable.
12139
12140 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12141
12142 * xdisp.c (it_props): Add an entry for Qauto_composed.
12143 (handle_auto_composed_prop): New function.
12144
12145 * xselect.c (selection_data_to_lisp_data): Don't call
12146 compose_chars_in_text.
12147
121482008-02-01 Dave Love <fx@gnu.org>
12149
12150 * keyboard.c (read_char): Modify checking around use of
12151 Vkeyboard_translate_table.
12152
12153 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12154 and fix C types.
12155
121562008-02-01 Kenichi Handa <handa@m17n.org>
12157
12158 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12159 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12160 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12161 the case that the last byte is '\r' correctly.
12162 (decode_coding): Flush out the unprocessed data correctly.
12163 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12164
121652008-02-01 Dave Love <fx@gnu.org>
12166
12167 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12168 Add XK_ISO... case.
12169 (xaw_scroll_callback): Revert last change.
12170
121712008-02-01 Kenichi Handa <handa@m17n.org>
12172
12173 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12174
121752008-02-01 Kenichi Handa <handa@m17n.org>
12176
12177 * xfaces.c (Vface_resizing_fonts): New variable.
12178 (struct font_name): New member `resizing_ratio'.
12179 (font_resizing_ratio): New function.
12180 (split_font_name): Set font->resizing_ratio.
12181 (better_font_p): Pay attention to font->resizing_ratio.
12182 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12183 RESX, and RESY fields.
12184 (try_alternative_families): Try scalable fonts if
12185 Vscalable_fonts_allowed is not Qt.
12186 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12187
121882008-02-01 Dave Love <fx@gnu.org>
12189
12190 * xterm.c (xaw_scroll_callback): Cast correctly.
12191
121922008-02-01 Dave Love <fx@gnu.org>
12193
12194 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12195 (lispy_kana_keys): Comment out.
12196 (make_lispy_event) [XK_kana_A]: Comment out.
12197
12198 * xterm.c (xaw_scroll_callback): Cast call_data.
12199 (XTread_socket): Deal with ASCII keysyms.
12200 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12201
122022008-02-01 Dave Love <fx@gnu.org>
12203
12204 * xterm.c (Vx_keysym_table): New.
12205 (syms_of_xterm): Initialize it.
12206 (XTread_socket): Use it.
12207 From head: Eliminate incorrect optimization that tried to avoid
12208 decoding the output of X*LookupString.
12209 (x_get_font_repertory): Delete charset declaration.
12210
122112008-02-01 Kenichi Handa <handa@m17n.org>
12212
12213 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12214 return 0.
12215 (Fdefine_coding_system_internal): Setup
12216 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12217
122182008-02-01 Dave Love <fx@gnu.org>
12219
12220 * coding.c (Fcheck_coding_system): Doc fix.
12221
12222 * editfns.c (Finsert_byte): Return a proper value.
12223
122242008-02-01 Kenichi Handa <handa@m17n.org>
12225
12226 * coding.c (decode_coding): Fix args to translate_chars. Pay
12227 attention to Vstandard_translation_table_for_decode.
12228 (encode_coding): Fix args to translate_chars. Pay attention to
12229 Vstandard_translation_table_for_encode.
12230
12231 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12232 SINGLE_BYTE_CHAR_P.
12233
12234 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12235 not by SINGLE_BYTE_CHAR_P.
12236
12237 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12238 SINGLE_BYTE_CHAR_P.
12239
12240 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12241 SINGLE_BYTE_CHAR_P.
12242
12243 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12244 by SINGLE_BYTE_CHAR_P.
12245
12246 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12247 SINGLE_BYTE_CHAR_P.
12248
122492008-02-01 Dave Love <fx@gnu.org>
12250
12251 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12252
122532008-02-01 Dave Love <fx@gnu.org>
12254
12255 * fns.c (Flanginfo): Fix typo.
12256
12257 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12258
122592008-02-01 Kenichi Handa <handa@m17n.org>
12260
12261 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12262 (detect_coding_emacs_mule, detect_coding_iso_2022)
12263 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12264 incomplete byte sequence. Don't update *mask when correctly detected.
12265 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12266 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12267 (detect_coding, detect_coding_system): Adjust for the changes above.
12268
122692008-02-01 Kenichi Handa <handa@m17n.org>
12270
12271 * character.c (char_string): Rename from
12272 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12273 (string_char): Rename from string_char.
12274
12275 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12276 if C is greater than MAX_3_BYTE_CHAR.
12277 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12278 string_char instead of string_char_with_unification.
12279
122802008-02-01 Dave Love <fx@gnu.org>
12281
12282 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12283
122842008-02-01 Kenichi Handa <handa@m17n.org>
12285
12286 * keymap.c (push_key_description): Pay attention to force_multibyte.
12287
12288 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12289
122902008-02-01 Dave Love <fx@gnu.org>
12291
12292 * charset.c (define_charset_internal): Rename `supprementary'.
12293
12294 * Makefile.in (lisp, shortlisp): Remove latin-N.
12295
122962008-02-01 Dave Love <fx@gnu.org>
12297
12298 * xfns.c (x_window, x_window): Use use_xim.
12299
12300 * xterm.c (use_xim): Initialize.
12301 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12302 (x_term_init): Maybe set use_xim.
12303
12304 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12305
123062008-02-01 Kenichi Handa <handa@m17n.org>
12307
12308 * search.c (search_buffer): Fix case-fold-search of multibyte
12309 characters.
12310 (boyer_moore): Rename the last argument to char_high_bits.
12311
123122008-02-01 Kenichi Handa <handa@m17n.org>
12313
12314 * xdisp.c (display_string): Fix for the case of zero width glyph.
12315
12316 * xfns.c (x_set_font): Change the error message of the case that
12317 x_new_fontset returns Qt.
12318
12319 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12320 (Finternal_set_lisp_face_attribute): Use signal_error for the
12321 error of invalid fontset.
12322
12323 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12324 fontset, return Qt.
12325
123262008-02-01 Dave Love <fx@gnu.org>
12327
12328 * unexelf.c (unexec): Make .got handling not SGI-specific.
12329
12330 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12331
12332 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12333
12334 * keyboard.c (read_key_sequence): Fix type error.
12335
12336 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12337 type error.
12338
12339 * fontset.c (fontset_add): Return Lisp_Object.
12340
123412008-02-01 Dave Love <fx@gnu.org>
12342
12343 * charset.h (charset_ordered_list_tick): Declare extern.
12344
123452008-02-01 Kenichi Handa <handa@m17n.org>
12346
12347 The following changes (and some of 2008-02-01 changes of mine) are
12348 for handling syntax, category, and case conversion for unibyte
12349 characters by converting them to multibyte on the fly. With these
12350 changes, we don't have to setup syntax and case tables for unibyte
12351 characters in each language environment.
12352
12353 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12354 multibyte if necessary.
12355
12356 * bytecode.c (Fbyte_code): Likewise.
12357
12358 * character.h (LEADING_CODE_LATIN_1_MIN)
12359 (LEADING_CODE_LATIN_1_MAX): New macros.
12360 (unibyte_to_multibyte_table): Extern it.
12361 (unibyte_char_to_multibyte): New macro.
12362 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12363 (CHAR_LEADING_CODE): New macro.
12364 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12365
12366 * character.c (unibyte_to_multibyte_table): New variable.
12367 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12368 (multibyte_char_to_unibyte): If C is an eight-bit character,
12369 convert it to the corresponding byte value.
12370
12371 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12372 not 1, signals an error. Update the elements of
12373 unibyte_to_multibyte_table.
12374 (init_charset_once): Initialize unibyte_to_multibyte_table.
12375 (syms_of_charset): Define the charset `iso-8859-1'.
12376
12377 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12378 as is without converting it to unibyte. In a unibyte buffer,
12379 convert C to multibyte before checking the syntax.
12380
12381 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12382
12383 * minibuf.c (Fminibuffer_complete_word): Use the macro
12384 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12385
12386 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12387
12388 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12389 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12390 that is zero, convert an eight-bit char to multibyte.
12391 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12392 non-emacs case.
12393 (PATFETCH): Convert an eight-bit char to multibyte.
12394 (HANDLE_UNIBYTE_RANGE): New macro.
12395 (regex_compile): Setup the compiled pattern for multibyte chars
12396 even if the given regex string is unibyte. Use PATFETCH_RAW
12397 instead of PATFETCH in many places. To handle `charset'
12398 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12399 only for ASCII chars.
12400 (analyse_first) <exactn>: Simplify because the compiled pattern
12401 is multibyte.
12402 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12403 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12404 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12405 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12406 multibyte always 1.
12407 (re_search_2): In emacs, set the locale variable multibyte to 1,
12408 otherwise to 0. New local variable target_multibyte. Check it
12409 to decide the multibyteness of STR1 and STR2. If
12410 target_multibyte is zero, convert unibyte chars to multibyte
12411 before translating and checking fastmap.
12412 (TARGET_CHAR_AND_LENGTH): New macro.
12413 (re_match_2_internal): In emacs, set the locale variable multibyte
12414 to 1, otherwise to 0. New local variable target_multibyte. Check
12415 it to decide the multibyteness of STR1 and STR2. Use
12416 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12417 <charset, charset_not>: If multibyte is nonzero, check fastmap
12418 only for ASCII chars. Call bcmp_translate with
12419 target_multibyte, not with multibyte.
12420 <begline>: Declare the local variable C as `unsigned'.
12421 (bcmp_translate): Change the last arg name to target_multibyte.
12422
12423 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12424 the regexp pattern and the matching target. Set cp->buf.multibyte
12425 to the multibyteness of the regexp pattern. Set
12426 cp->but.target_multibyte to the multibyteness of the matching target.
12427 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12428 FETCH_STRING_CHAR_ADVANCE.
12429 (Freplace_match): Convert unibyte chars to multibyte.
12430
12431 * syntax.c (char_quoted, back_comment, scan_words)
12432 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12433 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12434 unibyte chars to multibyte.
12435 (skip_chars): Delete the arg syntaxp, and move the code for
12436 handling syntaxes to skip_syntaxes. Change callers.
12437 Fix the case that the multibyteness of STRING and the current
12438 buffer doesn't match.
12439 (skip_syntaxes): New function.
12440 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12441 SINGLE_BYTE_CHAR_P.
12442
124432008-02-01 Kenichi Handa <handa@m17n.org>
12444
12445 * xfaces.c (QCfontset): New variable.
12446 (LFACE_FONTSET): New macro.
12447 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12448 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12449 (Finternal_set_lisp_face_attribute)
12450 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12451 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12452 check also LFACE_FONTSET_INDEX.
12453 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12454 attrs[LFACE_FONT_INDEX].
12455 (syms_of_xfaces): Intern and staticpro QCfontset.
12456
12457 * dispextern.h (enum lface_attribute_index): New member
12458 LFACE_FONTSET_INDEX.
12459
12460 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12461
124622008-02-01 Kenichi Handa <handa@m17n.org>
12463
12464 * coding.c (coding_set_destination): Fix coding->destination for
12465 the case converting a region.
12466 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12467 (encode_coding_object): Fix coding->dst_pos and
12468 coding->dst_pos_byte for the case converting a region.
12469
12470 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12471
12472 * character.h (BYTE8_STRING): New macro.
12473
12474 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12475
124762008-02-01 Kenichi Handa <handa@m17n.org>
12477
12478 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12479 characters by octal form.
12480
12481 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12482
12483 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12484 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12485 _fetch_multibyte_char_len.
12486 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12487
12488 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12489
12490 * casefiddle.c (casify_object): Simplify. Handle the case that
12491 the case conversion change the byte length.
12492 (casify_region): Likewise.
12493
12494 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12495
12496 * character.c (_fetch_multibyte_char_len): Delete this variable.
12497 (syms_of_character): Setup Vprintable_chars.
12498
12499 * editfns.c (Fchar_equal): Fix for the unibyte case.
12500 (Finsert_byte): New function.
12501 (syms_of_editfns): Defsubr it.
12502
12503 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12504 of direct code 0x3ffff.
12505
12506 * search.c (Freplace_match): Fix for the unibyte case.
12507
125082008-02-01 Kenichi Handa <handa@m17n.org>
12509
12510 * lread.c (safe_to_load_p): Fix the logic.
12511
12512 * syntax.c (scan_words): Don't treat characters belonging to
12513 different scripts as constituting a word.
12514
12515 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12516
12517 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12518
12519 * emacs.c (main): In the case of --unibyte, instead of aborting on
12520 finding non-empty buffer, make it unibyte.
12521
125222008-02-01 Kenichi Handa <handa@m17n.org>
12523
12524 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12525 to create a fontset.
12526
125272008-02-01 Dave Love <fx@gnu.org>
12528
12529 * character.c (Funibyte_char_to_multibyte): Doc fix.
12530
12531 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12532
125332008-02-01 Kenichi Handa <handa@m17n.org>
12534
12535 * fontset.c (fontset_add): Make the type `int'.
12536 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12537
12538 * character.c (unibyte_char_to_multibyte)
12539 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12540 charset_unibyte, not charset_primary.
12541
12542 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12543
12544 * charset.c (charset_unibyte): Rename from charset_primary.
12545 (Funibyte_charset): Rename from Fprimary_charset.
12546 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12547 (syms_of_charset): Adjust for the above changes.
12548
12549 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12550 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12551 it->multibyte_p is zero.
12552
12553 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12554 Delete extern.
12555
125562008-02-01 Kenichi Handa <handa@m17n.org>
12557
12558 * coding.c (Fdefine_coding_system_internal): Fix category setting
12559 for a coding system of type iso-2022.
12560
125612008-02-01 Kenichi Handa <handa@m17n.org>
12562
12563 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12564
125652008-02-01 Kenichi Handa <handa@m17n.org>
12566
12567 * syntax.c (Vnext_word_boundary_function_table): New variable.
12568 (next-word-boundary-function-table): Declare it as a Lisp variable
12569 in syms_of_syntax.
12570 (scan_words): Call functions in Vnext_word_boundary_function_table
12571 if any.
12572
12573 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12574
12575 * fontset.c (fs_load_font): If fontp->charset is not negative,
12576 return fontp without setting its members.
12577
125782008-02-01 Dave Love <fx@gnu.org>
12579
12580 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12581
12582 * m/sparc.h (HAVE_ALLOCA): Delete.
12583
12584 * s/irix6-5.h: Don't include strings.h.
12585 (bcopy, bzero, bcmp): Don't undef.
12586
12587 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12588
12589 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12590 (TIOCSIGSEND): Don't test IRIX6.
12591 (bcopy, bzero, bcmp): Define conditionally.
12592
125932008-02-01 Kenichi Handa <handa@m17n.org>
12594
12595 * buffer.c (Qas, Qmake, Qto): New variables.
12596 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12597 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12598
12599 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12600 we are inserting a process output into a multibyte buffer.
12601
12602 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12603 multibyte_char_to_unibyte.
12604
12605 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12606 by the primary charset, make it eight-bit char.
12607 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12608
12609 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12610 (charset_8_bit__control, charset_8_bit_graphic)
12611 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12612 (define_charset_internal): New function.
12613 (syms_of_charset): Call define_charset_internal for pre-defined
12614 charsets.
12615
12616 * charset.h (charset_8_bit): Extern it.
12617
12618 * coding.c (make_conversion_work_buffer): Adjust for the change
12619 of Fset_buffer_multibyte.
12620 (encode_coding_raw_text): Increment p0 in the loop.
12621
12622 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12623
12624 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12625 for the change of Fset_buffer_multibyte.
12626
12627 * fns.c (Fstring_to_multibyte): New function.
12628 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12629
126302008-02-01 Dave Love <fx@gnu.org>
12631
12632 * xfns.c (x_put_x_image): Declare args.
12633
12634 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12635 (try_font_list): Declare an arg.
12636
12637 * xdisp.c (message2_nolog, set_message): Declare an arg.
12638
12639 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12640
12641 * syntax.c (scan_sexps_forward): Declare an arg.
12642
12643 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12644 Declare an arg.
12645
12646 * lisp.h (Fnew_fontset): Declare.
12647
12648 * keymap.c (push_key_description): Call CHARACTERP correctly.
12649
12650 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12651 (face_for_char): Delete unused vars.
12652 (Fset_fontset_font): Doc fix. Delete unused vars.
12653
12654 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12655
12656 * composite.c (update_compositions): Declare arg.
12657
12658 * cm.c (calccost, cmgoto): Declare args.
12659
12660 * charset.c: Remove `emacs' conditional. Doc fixes.
12661 (map_char_table_for_charset): Declare.
12662
12663 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12664
12665 * ccl.c: Remove `emacs' conditional.
12666
126672008-02-01 Kenichi Handa <handa@m17n.org>
12668
12669 The following changes are to allow specifying multiple font
12670 patterns for a character range (specified by script or charset).
12671
12672 * Makefile.in (abbrev.o): Depend on syntax.h.
12673 (xfaces.o): Depend on charset.h.
12674
12675 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12676 SINGLE_BYTE_CHAR_P.
12677
12678 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12679
12680 * character.h (Vchar_script_table): Extern it.
12681
12682 * character.c (Vscript_alist): Delete.
12683 (Vchar_script_table, Qchar_script_table): New variable.
12684 (syms_of_character): Declare Vchar_script_table as a lisp variable
12685 and initialize it.
12686
12687 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12688 have property char-table-extra-slots, make no extra slot.
12689
12690 * dispextern.h (struct face): Delete member `charset'.
12691 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12692 SINGLE_BYTE_CHAR_P.
12693 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12694 Add prototypes.
12695 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12696 (generate_ascii_font_name): Rename from generate_ascii_font.
12697
12698 * fontset.h (get_font_repertory_func): New prototype.
12699 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12700 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12701
12702 * fontset.c (Qprepend, Qappend): New variables.
12703 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12704 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12705 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12706 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12707 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12708 (load_font_get_repertory): New functions.
12709 (fontset_set): Delete.
12710 (fontset_face): New arg FACE. Return face ID, not face.
12711 Complete re-write to handle new fontset structure. Change caller.
12712 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12713 (face_for_char): Don't call lookup_face.
12714 (make_fontset_for_ascii_face): New arg FACE.
12715 (fs_load_font): New arg CHARSET_ID. Don't check
12716 Vfont_encoding_alist here.
12717 (find_font_encoding): New function.
12718 (list_fontsets): Use STRINGP, not ! NILP.
12719 (accumulate_script_ranges): New function.
12720 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12721 re-written to handle new fontset structure.
12722 (Ffontset_font): Return a copy of element.
12723 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12724 docstring of font-encoding-alist.
12725
12726 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12727 (Fset_fotset_font): Fix arguments to 5.
12728
12729 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12730
12731 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12732 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12733 (highlight_trailing_whitespace): Adjust for the change of
12734 lookup_named_face.
12735
12736 * xfaces.c: Include charset.h.
12737 (load_face_font): Delete argument C. Change caller.
12738 (generate_ascii_font_name): Rename from generate_ascii_font.
12739 (font_name_registry): New function.
12740 (cache_face): Store ascii faces before non-ascii faces in buckets.
12741 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12742 Lookup only ascii faces.
12743 (lookup_non_ascii_face): New function.
12744 (lookup_named_face): Delete argument C. Change caller.
12745 (lookup_derived_face): Delete argument C. Change caller.
12746 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12747 a string, just call font_list with it.
12748 (choose_face_font): Delete arguments FACE and C. New arg
12749 FONT_SPEC. Change caller.
12750 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12751 Change caller.
12752 (realize_non_ascii_face): New function.
12753 (realize_x_face): Call load_face_font here.
12754 (realize_tty_face): Delete argument C. Change caller.
12755 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12756 get a face ID.
12757 (dump_realized_face): Don't print charset of FACE.
12758
12759 * xfns.c (x_set_font): Always call x_new_fontset and
12760 store_frame_parameter.
12761 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12762 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12763
12764 * xterm.h (x_get_font_repertory): Extern it.
12765
12766 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12767 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12768 it->multibyte_p is zero.
12769 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12770 (x_new_fontset): If FONTSETNAME doesn't match any existing
12771 fontsets, create a new one.
12772 (x_get_font_repertory): New function.
12773
127742008-02-01 Kenichi Handa <handa@m17n.org>
12775
12776 * coding.c (Ffind_coding_systems_region_internal): Detect an
12777 ASCII only string correctly.
12778
12779 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12780 version is 0.
12781
127822008-02-01 Kenichi Handa <handa@m17n.org>
12783
12784 * lread.c: Include "coding.h".
12785 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12786 (load_each_byte, unread_char): New variables.
12787 (readchar_backlog): Delete.
12788 (readchar): Return a character unless load_each_byte is nonzero.
12789 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12790 cons. If unread_char is not -1, simply return it.
12791 (unreadchar): Handle the case that readcharfun is
12792 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12793 (read_multibyte): Delete.
12794 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12795 (read_emacs_mule_char): New functions.
12796 (Fload): Even if the file doesn't have the extension ".elc", if
12797 safe_to_load_p returns a positive version number, assume that the
12798 file contains bytecompiled code. If the version is less than 22,
12799 load the file while decoding multibyte sequences by emacs-mule.
12800 (readevalloop): Don't use readchar_backlog.
12801 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12802 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12803 (read_escape): Delete the arg BYTEREP.
12804 (read1): Set load_each_byte to 1 temporarily while handling
12805 #@NUMBER. Don't call read_multibyte.
12806 (read_vector): Call Fread with a cons. If readcharfun is
12807 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12808 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12809 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12810 and Qload_force_doc_strings.
12811
128122008-02-01 Kenichi Handa <handa@m17n.org>
12813
12814 * xdisp.c (face_before_or_after_it_pos): Call
12815 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12816
128172008-02-01 Kenichi Handa <handa@m17n.org>
12818
12819 * character.h (TRAILING_CODE_P): New macro.
12820 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12821 (string_char_with_unification): Fix prototype.
12822 (Vscript_alist): Extern it.
12823
12824 * character.c (Vscript_alist): New variable.
12825 (string_char_with_unification, str_as_unibyte)
12826 (string_escape_byte8): Add `const' to local variables.
12827 (syms_of_character): Declare script-alist as a Lisp variable.
12828
12829 * charset.h (Vcharset_ordered_list): Extern it.
12830 (charset_ordered_list_tick): Extern it.
12831 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12832 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12833 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12834 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12835 (Funify_charset): Adjust for the change of Funify_charset.
12836
12837 * charset.c (charset_ordered_list_tick): New variable.
12838 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12839 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12840 deunify intead of unify a charset.
12841 (string_xstring_p): Add `const' to local variables.
12842 (find_charsets_in_text): Add `const' to arguments and local variables.
12843 (encode_char): Adjust for the change of Funify_charset. Fix
12844 detecting of invalid code.
12845 (Fset_charset_priority): Increment charset_ordered_list_tick.
12846 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12847 and TO_CODE.
12848
12849 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12850 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12851 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12852 (decode_coding_ccl, consume_chars)
12853 (Ffind_coding_systems_region_internal)
12854 (Fcheck_coding_systems_region): Add `const' to local variables.
12855
12856 * print.c (print_object): Use octal form for printing the
12857 contents of a bool vector.
12858
128592008-02-01 Dave Love <fx@gnu.org>
12860
12861 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12862 <version == 20>: Refuse to load.
12863
128642008-02-01 Dave Love <fx@gnu.org>
12865
12866 * fns.c: Move coding.h.
12867 (Qcodeset, Qdays, Qmonths): New.
12868 (concat): Use CHARACTERP instead of INTEGERP.
12869 (Flocale_codeset): Delete.
12870 (Flanginfo): New function.
12871 (syms_of_fns): Change accordingly.
12872
12873 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12874
128752008-02-01 Dave Love <fx@gnu.org>
12876
12877 * casetab.c (init_casetab_once, init_casetab_once): Fix
12878 CHAR_TABLE_SET call.
12879
12880 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12881
12882 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12883
12884 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12885 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12886 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12887
12888 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12889
12890 * coding.c (ENCODE_DESIGNATION, decode_eol)
12891 (make_conversion_work_buffer, code_conversion_restore)
12892 (Fdefine_coding_system_internal): Convert Lisp types.
12893 (code_conversion_restore): Use EQ, not ==.
12894 (Fencode_coding_string): Fix code_convert_string call.
12895
12896 * coding.h (code_convert_region): Fix prototype.
12897
12898 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12899
12900 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12901 (Ffontset_info): Convert Lisp types.
12902
12903 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12904
12905 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12906
12907 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12908
12909 * chartab.c: Include "...h", not <...h> in some cases.
12910
12911 * callproc.c (Fcall_process): Remove unused variables.
12912
129132008-02-01 Dave Love <fx@gnu.org>
12914
12915 * coding.c (Fset_coding_system_priority): Allow null arg list.
12916
129172008-02-01 Dave Love <fx@gnu.org>
12918
12919 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12920 (Fself_insert_and_exit): Use CHARACTERP.
12921
12922 * callproc.c (Fcall_process): Remove unused vars.
12923
12924 * xterm.c (XTread_socket): Add extra dead keysyms.
12925
12926 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12927
12928 * dispextern.h: Remove prototypes for redraw_frame,
12929 redraw_garbaged_frames.
12930
12931 * cmds.c (Fself_insert_command): Use CHARACTERP.
12932
12933 * chartab.c (make_sub_char_table): Remove unused var.
12934 (Fset_char_table_default, Fmap_char_table): Doc fix.
12935
12936 * keymap.c (access_keymap): Remove generic char code.
12937 (push_key_description): Use CHARACTERP.
12938
129392008-02-01 Dave Love <fx@gnu.org>
12940
12941 * charset.c: Doc fixes.
12942 (Funify_charset): Extra checking.
12943
129442008-02-01 Dave Love <fx@gnu.org>
12945
12946 * lread.c: Remove some unused variables.
12947 (safe_to_load_p): If safe, return the magic number version byte.
12948 (Fload): Maybe use load-with-code-conversion.
12949
129502008-02-01 Kenichi Handa <handa@m17n.org>
12951
12952 * category.c (Fmodify_category_entry): Don't modify the contents
12953 of category_set for characters out of the range. Avoid
12954 unnecessary modification.
12955
12956 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12957 Vchar_unify_table. The default value of the table is now nil.
12958
12959 * character.c (syms_of_character): Setup Vchar_width_table for
12960 eight-bit-control and raw-byte chars.
12961
12962 * charset.h (enum define_charset_arg_index): Delete
12963 charset_arg_parents and add charset_arg_subset and
12964 charset_arg_superset.
12965 (enum charset_attr_index): Delete charset_parents and add
12966 charset_subset and charset_superset.
12967 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12968 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12969 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12970 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12971 (CHARSET_SUPERSET): New macros.
12972 (charset_work): Extern it.
12973 (ENCODE_CHAR): Use charset_work.
12974 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12975 (map_charset_chars): Extern it.
12976
12977 * charset.c (load_charset_map): Set the default value of encoder
12978 and deunifier char-tables to nil.
12979 (map_charset_chars): Change argument. Change callers. Use
12980 map_char_table_for_charset instead of map_char_table.
12981 (Fmap_charset_chars): New optional args from_code and to_code.
12982 (Fdefine_charset_internal): Adjust for the change of
12983 `define-charset' (:parents -> :subset or :superset).
12984 (charset_work): New variable.
12985 (encode_char, syms_of_charset): Adjust for the change of
12986 Fdefine_charset_internal.
12987 (Ffind_charset_string): Setup the vector `charsets' correctly.
12988
12989 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12990 the previous change.
12991 (char_table_ref_and_range): Adjust for the above change.
12992 (map_sub_char_table_for_charset): New function.
12993 (map_char_table_for_charset): New function.
12994
12995 * keymap.c (describe_vector): Handle a char-table directly here.
12996 (describe_char_table): Delete.
12997
12998 * lisp.h (map_charset_chars): Delete.
12999
130002008-02-01 Dave Love <fx@gnu.org>
13001
13002 * fns.c (count_combining): Comment out (unused).
13003 (Flocale_codeset): New.
13004 (syms_of_fns): Defsubr it.
13005
13006 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
13007 (size_t): Remove.
13008
130092008-02-01 Dave Love <fx@gnu.org>
13010
13011 * Makefile.in (chartab.o): Depend on charset.h.
13012
130132008-02-01 Kenichi Handa <handa@m17n.org>
13014
13015 * character.c (syms_of_character): Set the default value of
13016 Vprintable_chars to Qnil.
13017
130182008-02-01 Dave Love <fx@gnu.org>
13019
13020 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
13021
130222008-02-01 Kenichi Handa <handa@m17n.org>
13023
13024 * charset.c (load_charset_map): Handle the case that from < to
13025 correctly.
13026
13027 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
13028 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
13029 Pay attention to raw-8-bit chars.
13030
130312008-02-01 Kenichi Handa <handa@m17n.org>
13032
13033 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
13034 It is not bytecompiled now.
13035
13036 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
13037 (charset_jisx0208): New variables.
13038 (Fdefine_charset_internal): Setup them if appropriate.
13039 (init_charset_once): Initialize them to -1.
13040
13041 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
13042 (charset_jisx0208): Extern them.
13043
13044 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
13045 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
13046 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
13047 (setup_iso_safe_charsets): Fix arguments to Fassq.
13048 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
13049 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
13050 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
13051 (encode_coding_iso_2022): Change the 1st arg to
13052 ENCODE_ISO_CHARACTER to a variable.
13053
130542008-02-01 Kenichi Handa <handa@m17n.org>
13055
13056 * charset.h (enum define_charset_arg_index): New enums
13057 charset_arg_min_code and charset_arg_max_code.
13058 (struct charset): New member char_index_offset.
13059
13060 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
13061 Take charset->char_index_offset into account.
13062 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
13063 args[charset_arg_max_code]. Setup charset.char_index_offset.
13064 (syms_of_charset): Fix args to Fdefine_charset_internal.
13065
130662008-02-01 Dave Love <fx@gnu.org>
13067
13068 * coding.c (decode_coding_utf_8): Reject overlong sequences.
13069
130702008-02-01 Dave Love <fx@gnu.org>
13071
13072 * coding.c: Doc fixes.
13073 (Fcoding_system_aliases): Fix return value.
13074 (Qmac): Remove (duplicated) definition.
13075
130762008-02-01 Dave Love <fx@gnu.org>
13077
13078 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
13079 functions.
13080
13081 * character.c (Fstring): Doc fix.
13082
13083 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
13084
13085 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
13086 ids.
13087 (font-encoding-alist): Doc fix.
13088
130892008-02-01 Dave Love <fx@gnu.org>
13090
13091 * term.c (costs_set): Declare static, non-initialized for pcc.
13092 (encode_terminal_code): Remove unused var.
13093
13094 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13095 for K&R.
13096
13097 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13098
13099 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13100 (suffixes): Move out of make_subsidiaries for K&R.
13101
13102 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13103
13104 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13105
131062008-02-01 Dave Love <fx@gnu.org>
13107
13108 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13109
13110 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13111
131122008-02-01 Yong Lu <lyongu@asia-infonet.com>
13113
13114 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13115
13116 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13117
131182008-02-01 Kenichi Handa <handa@m17n.org>
13119
13120 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13121 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13122
131232008-02-01 Kenichi Handa <handa@m17n.org>
13124
13125 * coding.c (decode_coding_charset): Adjust for the change of
13126 Fdefine_coding_system_internal.
13127 (Fdefine_coding_system_internal): For a coding system of
13128 `charset' type, store a list of charset IDs in
13129 `charset_attr_charset_valids' element of coding attributes.
13130
131312008-02-01 Kenichi Handa <handa@m17n.org>
13132
13133 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13134 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13135 caller. Handle 2-byte and 3-byte charsets correctly.
13136 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13137 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13138 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13139 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13140 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13141 sequence.
13142 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13143 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13144 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13145 and alt&rule composition.
13146 (decode_coding_iso_2022): Handle composition correctly.
13147 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13148
13149 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13150 re-defining a charset. If the charset has :emacs-mule-id, setup
13151 emacs_mule_bytes.
13152 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13153
131542008-02-01 Kenichi Handa <handa@m17n.org>
13155
13156 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13157 (encode_coding_big5, encode_coding_charset): If coding requires safe
13158 encoding, produce a character specified by
13159 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13160
131612008-02-01 Dave Love <fx@gnu.org>
13162
13163 * xterm.c (XSetIMValues): Declare.
13164
13165 * process.c: Conditionally include sys/wait.h, pty.h.
13166
13167 * print.c (print_object): Fix print format for 64-bit systems.
13168
13169 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13170
13171 * buffer.c (emacs_strerror): Declare.
13172
13173 * fontset.c (Fclear_face_cache): Declare.
13174 (accumulate_font_info): Comment-out (unused).
13175 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13176 variables.
13177
13178 * character.h (string_escape_byte8): Declare.
13179
13180 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13181 unused vars.
13182 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13183 (Fmap_charset_chars): Doc fix.
13184
13185 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13186 (Fset_coding_system_priority, Fset_coding_system_priority)
13187 (Fdefine_coding_system_internal): Doc fix.
13188
131892008-02-01 Dave Love <fx@gnu.org>
13190
13191 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13192
131932008-02-01 Kenichi Handa <handa@m17n.org>
13194
13195 * character.c (string_escape_byte8): Make multibyte string with
13196 correct size.
13197
13198 * charset.c (Fmake_char): Delete unnecessary code.
13199
132002008-02-01 Kenichi Handa <handa@m17n.org>
13201
13202 * xfns.c (x_encode_text): Allocate coding.destination here, and
13203 call encode_coding_object with dst_object Qnil.
13204
13205 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13206 multibyte form correctly.
13207
13208 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13209 against Vfont_encoding_alist.
13210
13211 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13212 handling of charset list.
13213 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13214 (decode_coding_object): Move point to coding->dst_pos before
13215 calling post-read-conversion function.
13216 (encode_coding_object): Give correct arguments to
13217 pre-write-conversion. Ignore the return value of
13218 pre-write-conversion function. Pay attention to the case that
13219 pre-write-conversion changes the current buffer. If dst_object is
13220 Qt, even if coding->src_bytes is zero, allocate at least one byte
13221 to coding->destination.
13222
13223 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13224
13225 * charset.c (Fmake_char): Make it more backward compatible.
13226 (Fmap_charset_chars): Fix docstring.
13227
132282008-02-01 Dave Love <fx@gnu.org>
13229
13230 * coding.c: Doc fixes.
13231 (Fdefine_coding_system_alias): Use names, not symbols, in
13232 coding-system-alist.
13233
132342008-02-01 Kenichi Handa <handa@m17n.org>
13235
13236 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13237 of calling free_realized_face.
13238
132392008-02-01 Yong Lu <lyongu@asia-infonet.com>
13240
13241 * charset.c (read_hex): Don't treat SPC as a comment starter.
13242 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13243 (Fdecode_char): Fix typo.
13244
132452008-02-01 Kenichi Handa <handa@m17n.org>
13246
13247 * charset.h (struct charset): New member `code_space_mask'.
13248
13249 * coding.c (coding_set_source): Delete the local variable beg_byte.
13250 (encode_coding_charset, Fdefine_coding_system_internal):
13251 Delete the local variable charset.
13252 (Fdefine_coding_system_internal): Setup
13253 attrs[coding_attr_charset_valids] correctly.
13254
13255 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13256 member to check if CODE is valid or not.
13257 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13258 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13259 is within the range of charset->min_code and carset->max_code.
13260
132612008-02-01 Dave Love <fx@gnu.org>
13262
13263 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13264
13265 * dispextern.h (generate_ascii_font): Fix return type.
13266
13267 * xfaces.c (generate_ascii_font): Fix arg declaration.
13268
13269 * coding.c (coding_inherit_eol_type)
13270 (Fset_terminal_coding_system_internal)
13271 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13272
132732008-02-01 Kenichi Handa <handa@m17n.org>
13274
13275 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13276 multiple charsets correctly.
13277
132782008-02-01 Kenichi Handa <handa@m17n.org>
13279
13280 * search.c (boyer_moore): Fix handling of multibyte character
13281 translation.
13282
13283 * xdisp.c (display_mode_element): When the variable `elt' is
13284 changed, update `this' and `lisp_string'.
13285
132862008-02-01 Kenichi Handa <handa@m17n.org>
13287
13288 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13289
13290 * callproc.c (Fcall_process): Be sure to give the current buffer
13291 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13292
13293 * charset.c (struct charset_map_entries): New struct.
13294 (load_charset_map): Rename from parse_charset_map. New args
13295 entries and n_entries. Change caller.
13296 (load_charset_map_from_file): Rename from load_charset_map.
13297 Change caller. New arg control_flag. Call load_charset_map at
13298 the tail.
13299 (load_charset_map_from_vector): New function.
13300 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13301 (encode_char): If the charset is compact, change a character index
13302 to a code point.
13303
13304 * coding.c (coding_alloc_by_making_gap): Check the case that the
13305 source and destination are the same correctly.
13306 (decode_coding_raw_text): Set coding->consumed_char and
13307 coding->consumed to 0.
13308 (produce_chars): If coding->chars_at_source is nonzero, update
13309 coding->consumed_char and coding->consumed before calling
13310 alloc_destination.
13311 (Fdefine_coding_system_alias): Register ALIAS in
13312 Vcoding_system_alist.
13313 (syms_of_coding): Define `no-conversion' coding system at the tail.
13314
13315 * fileio.c (Finsert_file_contents): Set coding_system instead of
13316 val. If the current buffer is multibyte, always call
13317 decode_coding_gap.
13318
13319 * xfaces.c (try_font_list): Give higher priority to fontset's
13320 family than face's family.
13321
133222008-02-01 Kenichi Handa <handa@m17n.org>
13323
13324 * callproc.c (Fcall_process): Be sure to give the current buffer
13325 to decode_coding_c_string.
13326
13327 * xfaces.c (try_font_list): Give a family specified in a fontset
13328 higher priority than a family specified in a face.
13329
133302008-02-01 Kenichi Handa <handa@m17n.org>
13331
13332 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13333 Fix arguments to insert_from_buffer.
13334
13335 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13336
133372008-02-01 Kenichi Handa <handa@m17n.org>
13338
13339 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13340 (decode_coding_gap): Set coding->dst_multibyte correctly.
13341
133422008-02-01 Kenichi Handa <handa@m17n.org>
13343
13344 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13345 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13346 (encode_coding_utf_16): Substitute coding->default_char for
13347 non-Unicode characters.
13348 (decode_coding): Don't call record_insert here.
13349 (setup_coding_system): Initialize `surrogate' of
13350 coding->spec.utf_16 to 0.
13351 (EMIT_ONE_BYTE): Fix for multibyte case.
13352
13353 * insdel.c (insert_from_gap): Call record_insert.
13354
133552008-02-01 Kenichi Handa <handa@m17n.org>
13356
13357 * casefiddle.c (casify_region): Fix multibyte case.
13358
13359 * character.c (c_string_width): Add return type `int'.
13360 (char_string_with_unification): Delete arg ADVANCED.
13361
13362 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13363 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13364 (CHAR_STRING_ADVANCE): Make it do-while statement.
13365
13366 * chartab.c (sub_char_table_set_range): Optimize for the case
13367 DEPTH == 3. Add workaround code for a GCC optimization bug.
13368
13369 * charset.c (parse_charset_map): Remove an unused variable.
13370
13371 * coding.c: Delete unused variables.
13372
13373 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13374 earlier. If inserted is zero and the coding system doesn't
13375 require flushing, don't call decode_coding_gap.
13376
13377 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13378
133792008-02-01 Kenichi Handa <handa@m17n.org>
13380
13381 The following changes are for using Unicode as an internal
13382 character model, and use UTF-8 format for buffer/string
13383 representation.
13384
13385 * .gdbinit (xchartable): Adjust for the change of char table structure.
13386 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13387
13388 * Makefile.in (obj): Add character.o and chartab.o.
13389 (lisp, shortlisp): Remove utf-8.elc.
13390 (*.o): For many files, change dependency on charset.h to
13391 character.h, and add dependency on character.h.
13392 (character.o, chartab.o): New targets.
13393
13394 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13395 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13396 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13397 of "charset.h".
13398
13399 * dired.c, filelock.c: Include "character.h".
13400
13401 * alloc.c: Include "character.h" instead of "charset.h".
13402 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13403 (syms_of_alloc): Remove defsubr for Smake_char_table.
13404
13405 * buffer.c: Include "character.h" instead of "charset.h", don't
13406 include "coding.h".
13407 (Fset_buffer_multibyte): Adjust for UTF-8.
13408
13409 * buffer.h: EXFUN Fbuffer_live_p.
13410
13411 * callproc.c: Include "character.h" instead of "charset.h".
13412 (Fcall_process): Big change for the new code-conversion APIs.
13413
13414 * casetab.c: Include "character.h" instead of "charset.h".
13415 (set_canon, set_identity, shuffle): Adjust for the new
13416 map_char_table spec.
13417 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13418 accessing the char table structure.
13419
13420 * chartab.c: New file that implements char table.
13421
13422 * category.c: Include "character.h".
13423 (copy_category_entry): New function.
13424 (copy_category_table): Call map_char_table and copy_category_entry.
13425 (Fmake_category_table): Initialize all top-level slots.
13426 (char_category_set): New function.
13427 (modify_lower_category_set): Delete.
13428 (Fmodify_category_entry): Call char_table_ref_and_range.
13429
13430 * category.h (CATEGORY_SET): Just call char_category_set.
13431
13432 * ccl.c: Include "character.h".
13433 (Qccl, Qcclp): New variables.
13434 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13435 it's less than 256.
13436 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13437 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13438 and DST type.
13439 (ccl_driver): Change types of argument, adjust code accordingly.
13440 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13441 ccl_driver.
13442 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13443
13444 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13445 New members src_multibyte, dst_multibyte, consumed, and produced.
13446 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13447 (CODING_SPEC_CCL_PROGRAM): New macro.
13448 (ccl_driver): Update prototype.
13449 (Qccl, Qcclp, Fccl_program_p): Extern them.
13450 (CHECK_CCL_PROGRAM): New macro.
13451
13452 * character.c, character.h, chartab.c: New files.
13453
13454 * charset.c: Mostly re-written. Move character and multibyte sequence
13455 handling codes to character.c.
13456
13457 * charset.h: Mostly re-written. Move character and multibyte sequence
13458 handling codes to character.h.
13459
13460 * coding.c, coding.h: Mostly re-written.
13461
13462 * composite.c: Include "character.h" instead of "charset.h".
13463 (CHAR_WIDTH): Move to character.h.
13464 (HASH_KEY, HASH_VALUE): Delete.
13465
13466 * composite.h (enum composition_method): Change order of enumeration
13467 symbols.
13468
13469 * data.c: Include "character.h" instead of "charset.h".
13470 (Faref): Call CHAR_TABLE_REF for a char table.
13471 (Faset): Call CHAR_TABLE_SET for a char table.
13472
13473 * dispextern.h (free_realized_face, check_face_attribytes)
13474 (generate_ascii_font): Extern them.
13475 (free_realized_multibyte_face): Delete extern.
13476
13477 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13478 table structure.
13479
13480 * editfns.c: Include "character.h" instead of "charset.h".
13481 (Fchar_to_string): Always call CHAR_STRING.
13482
13483 * emacs.c (main): Call init_charset_once, init_charset,
13484 syms_of_chartab, and syms_of_character.
13485
13486 * fileio.c: Include "character.h" instead of "charset.h".
13487 (Finsert_file_contents): Big change for the new code-conversion API.
13488 (choose_write_coding_system, Fwrite_region): Likewise.
13489 (build_annotations_2): Delete.
13490 (e_write): Big change for the new code-conversion API.
13491
13492 * fns.c: Include "character.h" instead of "charset.h".
13493 (copy_sub_char_table): Move to chartab.c.
13494 (Fcopy_sequence): Call copy_char_table for a char table.
13495 (concat): Delete codes calling count_multibyte.
13496 (string_char_to_byte, string_byte_to_char): Adjust for the new
13497 multibyte form.
13498 (internal_equal): Adjust for the change of char table structure.
13499 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13500 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13501 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13502 (char_table_translate, optimize_sub_char_table)
13503 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13504 chartab.c.
13505 (char_table_ref_and_index): Delete.
13506 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13507 (Fmd5): Call preferred_coding_system instead of accessing
13508 Vcoding_category_list. Adjust for the new code-conversion API.
13509 (syms_of_fns): Move defsubr for char table related functions to
13510 chartab.c.
13511
13512 * fontset.c: Mostly re-written.
13513
13514 * fontset.h (struct font_info): Change type of the member encoding_type.
13515 (enum FONT_SPEC_INDEX): New enum.
13516 (fontset_font_pattern, fs_load_font): Update prototype.
13517 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13518
13519 * indent.c: Include "character.h" instead of "charset.h".
13520 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13521
13522 * insdel.c: Include "character.h" instead of "charset.h".
13523 (copy_text): Don't refer to Vnonascii_translation_table.
13524 (insert_from_gap): New function.
13525
13526 * keyboard.c: Include "character.h" instead of "charset.h".
13527 (command_loop_1): Never call direct_output_forward_char before
13528 a non-ASCII character.
13529 (read_char): If Vkeyboard_translate_table is a char table, always
13530 translate a character.
13531
13532 * keymap.c: Include "character.h".
13533 (store_in_keymap): Handle the case that IDX is a cons.
13534 (Fdefine_key): Handle the case that KEY is a cons and the car part
13535 is also a cons (range).
13536 (push_key_description): Adjust for the new character code.
13537 (describe_vector): Call describe_char_table for a char table.
13538 (describe_char_table): New function.
13539
13540 * keymap.h (describe_char_table): Extern it.
13541
13542 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13543 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13544 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13545 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13546 Delete.
13547 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13548 structure.
13549 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13550 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13551 (CHARTAB_SIZE_BITS_3): New macros.
13552 (chartab_size): Extern it.
13553 (struct Lisp_Char_Table): Re-design.
13554 (struct Lisp_Sub_Char_Table): New structure.
13555 (HASH_KEY, HASH_VALUE): Move from fns.c.
13556 (CHARACTERBITS): Define as 22.
13557 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13558 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13559 (GC_SUB_CHAR_TABLE_P): New macro.
13560 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13561 (code_convert_string_norecord): Deleted extern.
13562 (init_character_once, syms_of_character, init_charset)
13563 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13564
13565 * lread.c: Include "character.h".
13566 (read_multibyte): New arg NBYTES.
13567 (read_escape): Change the meaning of returned *BYTEREP.
13568 (to_multibyte): Delete.
13569 (read1): Adjust the handling of char table and string.
13570
13571 * print.c: Include "character.h" instead of "charset.h".
13572 (print_string): Convert 8-bit raw bytes to octal form by
13573 string_escape_byte8.
13574 (print_object): Adjust for the new multibyte form. Print 8-bit
13575 raw bytes always in octal form. Handle sub char table correctly.
13576
13577 * process.c: Include "character.h" instead of "charset.h".
13578 (read_process_output, send_process): Adjust for the new
13579 code-conversion API.
13580
13581 * puresize.h (BASE_PURESIZE): Increase.
13582
13583 * regex.c: Include "character.h" instead of "charset.h".
13584 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13585 (regex_compile): Accept a range whose starting and ending
13586 character have different leading bytes.
13587 (analyse_first): Adjust for the above change.
13588
13589 * search.c: Include "character.h" instead of "charset.h".
13590 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13591 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13592
13593 * syntax.c: Include "character.h" instead of "charset.h".
13594 (syntax_parent_lookup): Delete.
13595 (Fmodify_syntax_entry): Accept a cons as CHAR.
13596 (skip_chars): Adjust for the new multibyte form.
13597 (init_syntax_once): Call char_table_set_range instead of directly
13598 accessing the structure of a char table.
13599
13600 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13601 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13602 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13603 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13604
13605 * term.c: Include "buffer.h" and "character.h".
13606 (encode_terminal_code, write_glyphs): Adjust for the new
13607 code-conversion API.
13608 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13609
13610 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13611
13612 * xdisp.c: Include "character.h".
13613 (get_next_display_element): Adjust for the new multibyte form.
13614 (disp_char_vector): Adjust for the new char table structure.
13615 (decode_mode_spec_coding): Adjust for the new structure of
13616 coding system.
13617 (decode_mode_spec): Adjust for the new code-conversion API.
13618
13619 * xfaces.c: Include "character.h" instead of "charset.h".
13620 (load_face_font): Adjust for the change of choose_face_font and
13621 FS_LOAD_FONT.
13622 (generate_ascii_font): New function.
13623 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13624 (set_font_frame_param): Adjust for the change of choose_face_font.
13625 (free_realized_face): Make it public.
13626 (free_realized_faces_for_fontset): Rename from
13627 free_realized_multibyte_face. Free also faces realized for ASCII.
13628 (choose_face_font): Change arguments. Adjust for the change of
13629 fontset_font_pattern and FS_LOAD_FONT.
13630
13631 * xfns.c: Include "character.h".
13632 (x_encode_text): Adjust for the new code-conversion API.
13633
13634 * xselect.c: Don't include "charset.h".
13635 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13636
13637 * xterm.c: Include "character.h".
13638 (x_encode_char): New argument CHARSET. Change caller.
13639 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13640 Call ENCODE_CHAR instead of SPLIT_CHAR.
13641 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13642 CHAR_WIDTH instead of CHARSET_WIDTH.
13643 (XTread_socket): Adjust for the new code-conversion API.
13644 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13645 (x_load_font): Adjust for the change of struct font.
13646
136472008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13648
13649 * xfaces.c (face_at_buffer_position): Remove unused vars.
13650
136512008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13652
13653 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13654 Fix overflow checking.
13655
136562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13657
13658 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13659 Cancel previous change.
13660
136612008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13662
13663 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13664 ccl->eight_bit_control. Fix check for buffer overflow.
13665 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13666 (ccl_driver): Initialize extra_bytes to 0.
13667
136682008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13669
13670 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13671 return it ORed with ctrl_modifier.
13672
136732008-01-29 Miles Bader <miles@gnu.org>
13674
13675 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13676
136772008-01-28 Jason Rumney <jasonr@gnu.org>
13678
13679 * w32.c (stat): Don't double check for networked drive.
13680
136812008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13682
13683 * window.c (run_window_configuration_change_hook): New function.
13684 Code extracted from set_window_buffer. Set the selected frame.
13685 (set_window_buffer): Use it.
13686 * window.h (run_window_configuration_change_hook): Declare.
13687 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13688
13689 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13690
136912008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13692
13693 * Makefile.in: Remove references to unused macros.
13694
136952008-01-26 Eli Zaretskii <eliz@gnu.org>
13696
13697 * w32.c (g_b_init_get_sid_sub_authority)
13698 (g_b_init_get_sid_sub_authority_count): New static variables.
13699 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13700 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13701 (init_user_info): Use them to retrieve uid and gid.
13702 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13703 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13704 st_uid and st_gid of the file.
13705
137062008-01-26 Jason Rumney <jasonr@gnu.org>
13707
13708 * w32.c (logon_network_drive): New function.
13709 (stat): Use it.
13710
137112008-01-26 Chong Yidong <cyd@stupidchicken.com>
13712
13713 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13714 invisible text covered with an ellipsis.
13715
137162008-01-25 Richard Stallman <rms@gnu.org>
13717
13718 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13719 jump back to beginning. Move some other initializations after that.
13720 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13721 New variables.
13722 (syms_of_xdisp): Init them.
13723
13724 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13725
13726 * buffer.c (reset_buffer_local_variables):
13727 Implement `permanent-local-hook'.
13728 (Qpermanent_local_hook): New variable.
13729 (syms_of_buffer): Init and staticpro it.
13730
137312008-01-25 Michael Albinus <michael.albinus@gmx.de>
13732
13733 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13734
137352008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13736
13737 * fns.c (Fclrhash): Return TABLE.
13738
137392008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13740
13741 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13742 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13743 is set even without positional changes.
13744 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13745
13746 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13747
137482008-01-23 Jason Rumney <jasonr@gnu.org>
13749
13750 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13751
13752 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13753 the unicode range available in MULE by locale-coding-system.
13754 Improve dbcs lead byte detection. Set event timestamp and modifiers
13755 earlier.
13756
137572008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13758
13759 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13760 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13761 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13762 when used on child processes.
13763
137642008-01-21 Michael Albinus <michael.albinus@gmx.de>
13765
13766 * dbusbind.c (Fdbus_method_return_internal): Rename from
13767 Fdbus_method_return.
13768 (Fdbus_unregister_object): Move to dbus.el.
13769 (Fdbus_call_method, Fdbus_method_return_internal)
13770 (Fdbus_send_signal): Improve debug messages.
13771
137722008-01-20 Martin Rudalics <rudalics@gmx.at>
13773
13774 * undo.c (undo_inhibit_record_point): New variable.
13775 (syms_of_undo): Initialize it.
13776 (record_point): Don't record point when undo_inhibit_record_point
13777 is set.
13778
137792008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13780
13781 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13782
13783 * xdisp.c (Qauto_hscroll_mode): New var.
13784 (syms_of_xdisp): Initialize it.
13785 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13786 window's buffer.
13787 (hscroll_windows): Don't check automatic_hscrolling_p here.
13788
13789 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13790 vscroll if we're setting window-buffer to the value it already has.
13791
137922008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13793
13794 * m/intel386.h: Remove references to XENIX.
13795
137962008-01-17 Andreas Schwab <schwab@suse.de>
13797
13798 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13799 instead of HAVE_X86_64_LIB64_DIR.
13800 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13801
138022008-01-17 Glenn Morris <rgm@gnu.org>
13803
13804 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13805 to HAVE_X86_64_LIB64_DIR.
13806
138072008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13808
13809 * s/irix3-3.h:
13810 * s/irix4-0.h:
13811 * s/386-ix.h:
13812 * s/domain.h:
13813 * s/hpux9-x11r4.h:
13814 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13815
13816 * sysdep.c: Remove code containing references to symbols defined
13817 by unsupported systems.
13818
138192008-01-16 Glenn Morris <rgm@gnu.org>
13820
13821 * coding.c (select-safe-coding-system-function): Doc fix.
13822
138232008-01-15 Glenn Morris <rgm@gnu.org>
13824
13825 * config.in: Revert 2008-01-13 change: this is a generated file.
13826
138272008-01-13 Tom Tromey <tromey@redhat.com>
13828
13829 * lisp.h: Fix typo.
13830
138312008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13832
13833 * m/sequent-ptx.h:
13834 * m/sequent.h:
13835 * s/ptx.h:
13836 * s/ptx4-2.h:
13837 * s/ptx4.h: Remove files for systems no longer supported.
13838
13839 * callproc.c (Fcall_process): Fix previous change.
13840
138412008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13842
13843 * unexsunos4.c: Remove file, system not supported anymore.
13844
13845 * m/mips.h:
13846 * m/intel386.h:
13847 * callproc.c:
13848 * config.in:
13849 * ecrt0.c:
13850 * emacs.c:
13851 * fileio.c:
13852 * frame.c:
13853 * getpagesize.h:
13854 * keyboard.c:
13855 * lread.c:
13856 * process.c:
13857 * puresize.h:
13858 * sysdep.c:
13859 * systty.h:
13860 * syswait.h:
13861 * unexec.c:
13862 * xdisp.c:
13863 * alloc.c: Remove code containing references to symbols defined by
13864 unsupported systems.
13865
138662008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13867
13868 * coding.c (detect_coding_mask): Fix previous change.
13869
138702008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13871
13872 * coding.c (detect_coding_iso2022): New arg
13873 latin_extra_code_state. Allow Latin extra codes only
13874 when *latin_extra_code_state is nonzero.
13875 (detect_coding_mask): If there is a NULL byte, detect the encoding
13876 as UTF-16 or binary. If Latin extra codes exist, detect the
13877 encoding as ISO-2022 only when there's no other proper encoding is
13878 found.
13879
138802008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13881
13882 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13883 #ifdef MAC_OS.
13884
138852008-01-08 Richard Stallman <rms@gnu.org>
13886
13887 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13888
138892008-01-06 Nick Roberts <nickrob@snap.net.nz>
13890
13891 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13892 menu bar in parentheses.
13893
138942008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13895
13896 * m/7300.h:
13897 * m/acorn.h:
13898 * m/alliant-2800.h:
13899 * m/alliant.h:
13900 * m/alliant1.h:
13901 * m/alliant4.h:
13902 * m/altos.h:
13903 * m/amdahl.h:
13904 * m/apollo.h:
13905 * m/att3b.h:
13906 * m/aviion-intel.h:
13907 * m/aviion.h:
13908 * m/celerity.h:
13909 * m/clipper.h:
13910 * m/cnvrgnt.h:
13911 * m/convex.h:
13912 * m/cydra5.h:
13913 * m/delta88k.h:
13914 * m/dpx2.h:
13915 * m/dual.h:
13916 * m/elxsi.h:
13917 * m/f301.h:
13918 * m/gould-np1.h:
13919 * m/gould.h:
13920 * m/i860.h:
13921 * m/ibmps2-aix.h:
13922 * m/ibmrt-aix.h:
13923 * m/ibmrt.h:
13924 * m/irist.h:
13925 * m/is386.h:
13926 * m/isi-ov.h:
13927 * m/mega68.h:
13928 * m/mg1.h:
13929 * m/news-r6.h:
13930 * m/news-risc.h:
13931 * m/news.h:
13932 * m/nh3000.h:
13933 * m/nh4000.h:
13934 * m/ns16000.h:
13935 * m/ns32000.h:
13936 * m/nu.h:
13937 * m/orion.h:
13938 * m/orion105.h:
13939 * m/paragon.h:
13940 * m/pfa50.h:
13941 * m/plexus.h:
13942 * m/pyramid.h:
13943 * m/pyrmips.h:
13944 * m/sh3el.h:
13945 * m/sps7.h:
13946 * m/sr2k.h:
13947 * m/stride.h:
13948 * m/sun1.h:
13949 * m/sun2.h:
13950 * m/sun3-68881.h:
13951 * m/sun3-fpa.h:
13952 * m/sun3-soft.h:
13953 * m/sun3.h:
13954 * m/sun386.h:
13955 * m/symmetry.h:
13956 * m/tad68k.h:
13957 * m/tahoe.h:
13958 * m/targon31.h:
13959 * m/tek4300.h:
13960 * m/tekxd88.h:
13961 * m/tower32.h:
13962 * m/tower32v3.h:
13963 * m/ustation.h:
13964 * m/wicat.h:
13965 * m/xps100.h:
13966 * s/cxux.h:
13967 * s/cxux7.h:
13968 * s/dgux.h:
13969 * s/dgux4.h:
13970 * s/dgux5-4-3.h:
13971 * s/dgux5-4r2.h:
13972 * s/esix.h:
13973 * s/esix5r4.h:
13974 * s/hiuxmpp.h:
13975 * s/hiuxwe2.h:
13976 * s/iris3-5.h:
13977 * s/iris3-6.h:
13978 * s/isc2-2.h:
13979 * s/isc3-0.h:
13980 * s/isc4-0.h:
13981 * s/isc4-1.h:
13982 * s/newsos5.h:
13983 * s/newsos6.h:
13984 * s/osf1.h:
13985 * s/osf5-0.h:
13986 * s/riscix1-1.h:
13987 * s/riscix12.h:
13988 * s/sco4.h:
13989 * s/sco5.h:
13990 * s/sunos4-0.h:
13991 * s/sunos4-1.h:
13992 * s/sunos413.h:
13993 * s/sunos4shr.h:
13994 * s/umax.h:
13995 * s/unipl5-2.h:
13996 * s/xenix.h:
13997 * cxux-crt0.s:
13998 * unexapollo.c:
13999 * unexconvex.c:
14000 * unexenix.c:
14001 * unexsni.c: Remove files for systems no longer supported.
14002
14003 * m/intel386.h: Remove references to unsupported systems.
14004
14005 * w32.c (get_emacs_configuration): Remove reference to i860.
14006
14007 * sysdep.c: Remove dead code.
14008
140092008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
14010
14011 * s/rtu.h:
14012 * m/masscomp.h: Remove files. Platform is obsolete.
14013
140142008-01-04 Michael Albinus <michael.albinus@gmx.de>
14015
14016 * dbusbind.c (Fdbus_method_return): New function.
14017 (xd_read_message): Add the serial number to the event.
14018 (Fdbus_register_method): Activate the function.
14019
140202008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
14021
14022 * keyboard.c (read_key_sequence): Fix typo.
14023
140242008-01-03 Michael Albinus <michael.albinus@gmx.de>
14025
14026 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
14027 (xd_signature, xd_append_arg): Handle element type detection for
14028 empty arrays.
14029 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
14030 SDATA () calls; this must be solved more general.
14031 (Fdbus_register_signal): Use SBYTES instead of strlen.
14032
140332008-01-03 Magnus Henoch <magnus@zemdatav>
14034
14035 * dbusbind.c (xd_append_arg): Use unsigned char instead of
14036 unsigned int for byte values (necessary for big-endian platform).
14037 (Fdbus_call_method): Handle the case of no returned arguments.
14038
140392007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
14040
14041 * dbusbind.c (xd_read_message): Use non-static input_event struct.
14042
140432007-12-31 Magnus Henoch <mange@freemail.hu>
14044
14045 * dbusbind.c (xd_signature): Signature of variant is just "v".
14046
140472007-12-30 Michael Albinus <michael.albinus@gmx.de>
14048
14049 * dbusbind.c: Fix several errors and compiler warnings.
14050 Reported by Tom Tromey <tromey@redhat.com>.
14051 (XD_ERROR, XD_DEBUG_MESSAGE)
14052 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
14053 (xd_append_arg): Part for basic D-Bus types rewritten.
14054 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
14055 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
14056 appropriate.
14057 (xd_read_message): Return Qnil. Don't signal an error; it is not
14058 useful during event reading.
14059 (Fdbus_register_signal): Signal an error if the check for
14060 FUNCTIONP fails.
14061 (Fdbus_register_method): New function. The implementation is not
14062 complete, the call of the function signals an error therefore.
14063 (Fdbus_unregister_object): New function, renamed from
14064 Fdbus_unregister_signal. The initial check signals an error, if
14065 the object is not well formed.
14066
140672007-12-30 Richard Stallman <rms@gnu.org>
14068
14069 * textprop.c (get_char_property_and_overlay):
14070 Signal error if POSITION is out of range in a buffer.
14071
140722007-12-29 Martin Rudalics <rudalics@gmx.at>
14073
14074 * w32fns.c (Fx_create_frame): Make copy of frame parameters
14075 because the original parameters are in pure storage now.
14076
140772007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14078
14079 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
14080
140812007-12-22 Eli Zaretskii <eliz@gnu.org>
14082
14083 * callint.c (syms_of_callint) <command-history>: Add reference to
14084 history-length in the doc string.
14085
140862007-12-17 Jason Rumney <jasonr@gnu.org>
14087
14088 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
14089 before passing as wParam.
14090
140912007-12-22 Michael Albinus <michael.albinus@gmx.de>
14092
14093 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
14094 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
14095 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
14096 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14097 as number.
14098 (Fdbus_call_method): Fix docstring.
14099
141002007-12-21 Michael Albinus <michael.albinus@gmx.de>
14101
14102 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14103 New macros.
14104 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14105 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14106 Simplify.
14107 (xd_signature): New function.
14108 (xd_append_arg): Compute also signatures. Major rewrite.
14109 (xd_retrieve_arg): Make debug messages friendly.
14110 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14111 Check for signatures of arguments.
14112
141132007-12-19 Michael Albinus <michael.albinus@gmx.de>
14114
14115 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14116 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14117 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14118 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14119 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14120 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14121 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14122 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14123 (xd_retrieve_value): Remove. Functionality included in ...
14124 (xd_append_arg): New function.
14125 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14126
141272007-12-16 Michael Albinus <michael.albinus@gmx.de>
14128
14129 * dbusbind.c (top): Include <stdio.h>.
14130 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14131 dbus_message_new_method_call and dbus_message_new_signal.
14132 (Fdbus_register_signal): Rename unique_name to uname.
14133 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14134 non-existing unique name. Fix typos in matching rule. Return an
14135 object which is useful in Fdbus_unregister_signal.
14136 (Fdbus_unregister_signal): Reimplementation, in order to remove
14137 only the corresponding entry.
14138 (Vdbus_registered_functions_table): Change the order of entries.
14139 Apply these changes in xd_read_message and Fdbus_register_signal.
14140
141412007-12-16 Andreas Schwab <schwab@suse.de>
14142
14143 * fileio.c (Finsert_file_contents): Fix overflow check to not
14144 depend on undefined integer overflow.
14145
141462007-12-14 Jason Rumney <jasonr@gnu.org>
14147
14148 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14149 for characters above 127.
14150
141512007-12-13 Jason Rumney <jasonr@gnu.org>
14152
14153 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14154 before dereferencing array.
14155 (lookup_vk_code): Remove zero comparison.
14156
141572007-12-14 Michael Albinus <michael.albinus@gmx.de>
14158
14159 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14160 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14161 Use `unsigned int' instead of `uint'.
14162 (xd_read_message, Fdbus_register_signal): Split expressions into
14163 multiple lines before operators "&&" and "||", according to the
14164 GNU Coding Standards.
14165
141662007-12-14 Eli Zaretskii <eliz@gnu.org>
14167
14168 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14169
141702007-12-12 Juri Linkov <juri@jurta.org>
14171
14172 * buffer.c (Frename_buffer): In interactive spec replace
14173 `read-buffer' with `read-string' that uses `buffer-name-history'
14174 as history, and the current buffer's name as default.
14175
141762007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14177
14178 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14179 manipulating the backtrace manually.
14180 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14181 (struct backtrace, backtrace_list): Remove.
14182 (command_loop_1): Remove dead var `no_direct'.
14183
14184 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14185 preserve non-built-in buffer-local variables.
14186 (Fkill_all_local_variables): Don't re-create&re-set permanent
14187 buffer-local variables.
14188
141892007-12-09 Juri Linkov <juri@jurta.org>
14190
14191 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14192 Lisp code that uses `read-buffer' with current buffer as default.
14193
141942007-12-08 Michael Albinus <michael.albinus@gmx.de>
14195
14196 * dbusbind.c (xd_read_message): Generate an event for every
14197 registered handler. There might be several handlers registered
14198 for the same signal.
14199 (Fdbus_register_signal): Don't overwrite a registration for the
14200 same signal. Add a new registration if handlers are different.
14201 (Vdbus_registered_functions_table): Rework doc string.
14202
142032007-12-07 Michael Albinus <michael.albinus@gmx.de>
14204
14205 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14206 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14207 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14208 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14209 Unify argument lists.
14210 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14211 arguments and hash table keys. Use unique name for service.
14212 (Fdbus_unregister_signal): Remove checks.
14213 (Vdbus_registered_functions_table): Fix doc string.
14214
142152007-12-05 Magnus Henoch <mange@freemail.hu>
14216
14217 * process.c (make_process): Initialize pty_flag to 0.
14218
142192007-12-05 Jason Rumney <jasonr@gnu.org>
14220
14221 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14222 specified XBMs.
14223
142242007-12-05 Richard Stallman <rms@gnu.org>
14225
14226 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14227
142282007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14229
14230 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14231 New variable.
14232 (mac_try_close_socket) [MAC_OSX]: New function.
14233 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14234 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14235
14236 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14237 Use mac_try_close_socket.
14238
142392007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14240
14241 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14242 reloc_base.
14243 (copy_dysymtab): Compute relocation base here.
14244 (rebase_reloc_address) [__ppc64__]: New function.
14245 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14246 changed.
14247
142482007-12-05 Jason Rumney <jasonr@gnu.org>
14249
14250 * w32proc.c (sys_spawnve): Quote args with wildcards.
14251
142522007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14253
14254 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14255 __objc_* sections.
14256 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14257
142582007-12-05 Michael Albinus <michael.albinus@gmx.de>
14259
14260 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14261 Move check for Vdbus_registered_functions_table to
14262 xd_read_queued_messages.
14263 (xd_read_queued_messages): Protect xd_read_message calls by
14264 internal_condition_case_1.
14265
142662007-12-04 Michael Albinus <michael.albinus@gmx.de>
14267
14268 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14269 Qdbus_system_bus and Qdbus_session_bus, respectively.
14270 (Vdbus_intern_symbols): Remove.
14271 (Vdbus_registered_functions_table): New hash table.
14272 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14273 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14274 Rewrite in order to manage registered functions by hash table
14275 Vdbus_registered_functions_table.
14276
142772007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14278
14279 * xterm.c: Update URL to Window Manager Specification in comment.
14280
142812007-12-02 Michael Albinus <michael.albinus@gmx.de>
14282
14283 * config.in (HAVE_DBUS): Add.
14284
14285 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14286 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14287 (obj): Add $(DBUS_OBJ).
14288 (LIBES): Add $(DBUS_LIBS).
14289 (dbusbind.o): New target.
14290
14291 * dbusbind.c: New file.
14292
14293 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14294
14295 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14296 (Qdbus_event): New Lisp symbol.
14297 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14298 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14299 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14300
14301 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14302
143032007-12-01 Richard Stallman <rms@gnu.org>
14304
14305 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14306
143072007-11-30 Jason Rumney <jasonr@gnu.org>
14308
14309 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14310 (w32con_reset_terminal_modes): Clear screen buffer.
14311 (w32_face_attributes): Don't use color indexes that are out of range.
14312 Only reverse the default colors.
14313
14314 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14315 WINDOWSNT.
14316
14317 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14318
143192007-11-29 Jason Rumney <jasonr@gnu.org>
14320
14321 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14322 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14323 if the terminal colors are initialized.
14324 (unspecified_fg, unspecified_bg): Remove unused declarations.
14325
143262007-11-29 Andreas Schwab <schwab@suse.de>
14327
14328 * keyboard.c (apply_modifiers): Fix typo.
14329
143302007-11-29 Richard Stallman <rms@gnu.org>
14331
14332 * keymap.c (Fcurrent_local_map): Doc fix.
14333
143342007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14335
14336 * s/gnu-kfreebsd.h: New file.
14337
143382007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14339
14340 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14341 Don't cast redundantly.
14342
14343 * keyboard.c (KEY_TO_CHAR): New macro.
14344 (parse_modifiers, apply_modifiers): Accept integer arguments.
14345 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14346 for chars and symbol keys.
14347 After doing such remapping, apply function-key-map again.
14348
143492007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14350
14351 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14352 compiled anymore.
14353
143542007-11-26 Andreas Schwab <schwab@suse.de>
14355
14356 * process.c (list_processes_1): Fix indentation level of the
14357 command column.
14358
143592007-11-23 Andreas Schwab <schwab@suse.de>
14360
14361 * editfns.c (Fformat): Handle %c specially since it requires the
14362 argument to be of type int.
14363
143642007-11-23 Markus Triska <markus.triska@gmx.at>
14365
14366 * emacs.c (main): Call init_editfns before init_process, since
14367 init_process sets Vprocess_connection_type depending on OS release.
14368
143692007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14370
14371 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14372 (find_symbol_value): Use do_symval_forwarding.
14373
14374 * data.c (set_internal): Set the value in the `cons-cell' (for
14375 Buffer_Local_values) not only for frame-local variables.
14376
143772007-11-22 Andreas Schwab <schwab@suse.de>
14378
14379 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14380 values to sprintf.
14381 * keymap.c (Fsingle_key_description): Likewise.
14382 * print.c (print_object): Likewise.
14383
143842007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14385
14386 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14387 file for image is nil.
14388
143892007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14390
14391 * term.c: Include stdarg.h.
14392 (fatal): Implement using varargs.
14393 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14394
143952007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14396
14397 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14398 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14399 Update call to buffer_slot_type_mismatch.
14400 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14401 (buffer_slot_type_mismatch): Update.
14402 * buffer.c (buffer_local_types): Remove.
14403 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14404 (defvar_per_buffer): Set the type in the buffer_objfwd.
14405
144062007-11-21 Jason Rumney <jasonr@gnu.org>
14407
14408 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14409 CreateFileMapping returns NULL on failure.
14410
144112007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14412
14413 * search.c (Fset_match_data): Remove the `evaporate' feature.
14414 (unwind_set_match_data): Don't use the `evaporate' feature.
14415
144162007-11-21 Jason Rumney <jasonr@gnu.org>
14417
14418 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14419
14420 * w32console.c (w32con_write_glyphs): Remove unused variables.
14421
144222007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14423
14424 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14425
14426 * s/darwin.h (MULTI_KBOARD): Remove.
14427
14428 * macfns.c (x_create_tip_frame, Fx_create_frame)
14429 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14430
144312007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14432
14433 * buffer.c (Fbuffer_local_value): Remove redundant test.
14434 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14435 than in `current-buffer' to match the comment.
14436 Do the swap using swap_in_global_binding.
14437
14438 * data.c (store_symval_forwarding, set_internal):
14439 * eval.c (specbind): Remove dead code.
14440
14441 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14442 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14443 Since we do not want to see internal Lisp_*fwd objects here.
14444
144452007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14446
14447 * sysdep.c (init_system_name): Use getaddrinfo if available.
14448
14449 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14450 (x_scroll_bar_note_movement): start, end, with, height in struct
14451 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14452
144532007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14454
14455 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14456
144572007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14458
14459 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14460 This undoes Richard's change of 14-Oct-2002.
14461
14462 * alloc.c (allocate_other_vector):
14463 * lisp.h (allocate_other_vector): Remove.
14464
14465 * window.c (struct save_window_data): Move non-lisp data to the end
14466 and make it `int' rather than Lisp_Object.
14467 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14468 Done wrap/unwrap integer values.
14469 (Fset_window_configuration, compare_window_configurations):
14470 Update use of fields to their new types.
14471
14472 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14473 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14474 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14475 (SET_SCROLL_BAR_X_WINDOW): Remove.
14476 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14477 Access the new x_window field directly.
14478 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14479 Don't wrap/unwrap integers into Lisp_Objects.
14480 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14481 (x_scroll_bar_report_motion):
14482 Don't wrap/unwrap integers into Lisp_Objects.
14483 (x_term_init): Use SDATA.
14484 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14485 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14486 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14487 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14488 * xfns.c (x_set_background_color):
14489 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14490 Access the new x_window field directly.
14491
14492 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14493 (allocate_pseudovector): Make non-static.
14494
14495 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14496 (allocate_pseudovector): Declare.
14497 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14498
144992007-11-15 Andreas Schwab <schwab@suse.de>
14500
14501 * editfns.c (Fformat): Correctly format EMACS_INT values.
14502 Also take precision into account when formatting an integer.
14503
14504 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14505
145062007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14507
14508 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14509 (syms_of_keyboard): Defsubr it.
14510
14511 * data.c (swap_in_global_binding): Fix longstanding bug where
14512 store_symval_forwarding was not called with the right second argument,
14513 thus causing objfwd-ing from being dropped.
14514
145152007-11-14 Juanma Barranquero <lekktu@gmail.com>
14516
14517 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14518 (Fx_display_pixel_height, Fx_display_planes)
14519 (Fx_display_color_cells, Fx_server_max_request_size)
14520 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14521 (Fx_display_visual_class, Fx_display_save_under):
14522 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14523 (Fx_display_pixel_height, Fx_display_planes)
14524 (Fx_display_color_cells, Fx_server_max_request_size)
14525 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14526 (Fx_display_mm_height, Fx_display_mm_width)
14527 (Fx_display_backing_store, Fx_display_visual_class)
14528 (Fw32_select_font, Fx_display_save_under):
14529 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14530 (Fx_display_pixel_height, Fx_display_planes)
14531 (Fx_display_color_cells, Fx_server_max_request_size)
14532 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14533 (Fx_display_save_under): Fix typos in docstrings.
14534
145352007-11-14 Juanma Barranquero <lekktu@gmail.com>
14536
14537 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14538 corresponding to deleted entries; they are an implementation detail.
14539 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14540 Remove variables.
14541 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14542 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14543 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14544 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14545 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14546 (Fw32_define_rgb_color, Fw32_load_color_file)
14547 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14548 Fix typos in docstrings.
14549 (Fx_server_version): Reflow docstring.
14550 (Fw32_shell_execute): Doc fixes.
14551
145522007-11-13 Juanma Barranquero <lekktu@gmail.com>
14553
14554 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14555 if w32_parse_hot_key returned nil.
14556
145572007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14558
14559 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14560
145612007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14562
aac0c6e3
MR
14563 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14564
14565 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14566
14567 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14568 Remove W32_SCROLL_BAR_CLICK_EVENT.
14569
14570 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14571 Add MULTIMEDIA_KEY_EVENT.
14572
14573 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14574 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14575 (make_lispy_event) [WINDOWSNT]: Use it to translate
14576 MULTIMEDIA_KEY_EVENT.
14577
14578 * w32term.h (WM_APPCOMMAND): Define if not already.
14579 (GET_APPCOMMAND_LPARAM): Likewise.
14580
14581 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14582 WM_APPCOMMAND.
14583
14584 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14585 (syms_of_w32fns): Export and initialize it.
14586 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14587
145882007-11-09 Chong Yidong <cyd@stupidchicken.com>
14589
14590 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14591 twice.
14592
14593 * xdisp.c (handle_face_prop): Fix last change.
14594
145952007-11-09 Richard Stallman <rms@gnu.org>
14596
14597 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14598 not just for after-strings and before-strings.
14599 Call face_for_overlay_string and pass the overlay to it.
14600 (handle_display_prop): Determine whether property came from an overlay.
14601 Pass OVERLAY arg to handle_single_display_spec.
14602 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14603 (load_overlay_strings): Fill in it->string_overlays.
14604 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14605
14606 * xfaces.c (face_for_overlay_string): Function renamed from
14607 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14608
14609 * dispextern.h (struct it): New elt string_overlays.
14610 New elt from_overlay, also in stack.
14611 Rearrange a few elements.
14612 (face_for_overlay_string): Decl renamed from
14613 face_at_buffer_position_no_overlays, and add argument.
14614
146152007-11-09 Richard Stallman <rms@gnu.org>
14616
14617 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14618 to get the base face for an overlay string.
14619
14620 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14621
14622 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14623
14624 * xdisp.c (handle_stop): Move some code out of loop.
14625
146262007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14627
14628 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14629 Fix conversion from Lisp object to ATSUFontID.
14630
146312007-11-09 Jason Rumney <jasonr@gnu.org>
14632
14633 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14634
146352007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14636
14637 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14638 Don't assume regions are aligned to page boundary.
14639 (print_load_command_name): Add LC_UUID if defined.
14640
146412007-11-09 Richard Stallman <rms@gnu.org>
14642
14643 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14644
146452007-11-07 Jason Rumney <jasonr@gnu.org>
14646
14647 * s/windows95.h: Remove.
14648
146492007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14650
14651 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14652 abort with a message on unhandled store_type values.
14653
146542007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14655
14656 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14657 Remove HAVE_X11R5 and HAVE_X11R4.
14658
146592007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14660
14661 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14662
146632007-11-01 Johan Bockgård <bojohan@gnu.org>
14664
14665 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14666 Don't set s->stippled_p here, since it has already been set by
14667 x_set_glyph_string_gc from x_draw_glyph_string.
14668
146692007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14670
14671 * sunfns.c: Remove file.
14672
14673 * m/sun386.h:
14674 * m/sun2.h:
14675 * m/sparc.h: Remove Sun windows code.
14676
146772007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14678
14679 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14680 (init_keyboard): Set current_kboard's window-system to nil.
14681 (tty_read_avail_input): Typo.
14682 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14683
146842007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14685
14686 * s/usg5-4.h:
14687 * s/usg5-3.h:
14688 * s/ptx.h:
14689 * m/is386.h:
14690 * m/ibmps2-aix.h:
14691 * Makefile.in: Remove all mentions of X10.
14692
14693 * dispnew.c (syms_of_display): Don't mention version 10.
14694
146952007-10-28 Juanma Barranquero <lekktu@gmail.com>
14696
14697 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14698 ($(BLD)/abbrev.$(O)): Remove.
14699
147002007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14701
14702 Rewrite abbrev.c in Elisp.
14703 * image.c (Qcount): Don't declare as extern.
14704 (syms_of_image): Initialize and staticpro `Qcount'.
14705 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14706 * emacs.c (main): Don't call syms_of_abbrev.
14707 * Makefile.in (obj): Remove abbrev.o.
14708 (abbrev.o): Remove.
14709 * abbrev.c: Remove.
14710
147112007-10-26 Martin Rudalics <rudalics@gmx.at>
14712
14713 * window.c (window_min_size_2): Don't count header-line.
14714
147152007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14716
14717 * frame.h (struct frame): Move all bit fields after the first bit
14718 field to take advantage of the available space. Group all the
14719 chars together to reduce wasted space due to padding.
14720
147212007-10-26 Juanma Barranquero <lekktu@gmail.com>
14722
14723 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14724
14725 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14726 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14727 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14728 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14729 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14730 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14731 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14732 (last_marked, mark_object_loop_halt): Make static.
14733
14734 * frame.c (syms_of_frame) <delete-frame-functions>:
14735 Fix typo in docstring.
14736
147372007-10-25 Juanma Barranquero <lekktu@gmail.com>
14738
14739 * w32.c (init_environment): Fix tiny memory leak.
14740 (w32_get_resource): Remove unused variable `ok'.
14741
147422007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14743
14744 Make `window-system' into a keyboard-local variable (rather than
14745 frame-local as done originally by multi-tty).
14746
14747 * keyboard.h (struct kboard): Add Vwindow_system.
14748 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14749 (mark_kboards): Mark Vwindow_system.
14750
14751 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14752 (init_display): Don't set the obsolete `window-system' frame-param.
14753
14754 * xterm.c (x_term_init):
14755 * w32term.c (w32_create_terminal):
14756 * term.c (init_tty): Set Vwindow_system.
14757 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14758 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14759
14760 * xfns.c (Fx_create_frame, x_create_tip_frame):
14761 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14762 * macfns.c (Fx_create_frame):
14763 Don't set the obsolete `window-system' frame-param.
14764
14765 * frame.h (Qwindow_system): Remove.
14766 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14767 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14768
147692007-10-24 Richard Stallman <rms@gnu.org>
14770
14771 * frame.c (x_figure_window_size): For fullscreen case,
14772 set USPosition | PPosition without clobbering rest of window_prompting.
14773
14774 * keyboard.c (Fcurrent_idle_time): Doc fix.
14775
14776 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14777
147782007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14779
14780 * process.c (unwind_request_sigio): Only define if __ultrix__.
14781
14782 * callproc.c (child_setup): Remove spurious *.
14783
14784 * lisp.h (Fget_text_property): Declare.
14785 (have_menus_p): Declare it here rather than in sys-dep header files.
14786 * macterm.h (have_menus_p):
14787 * msdos.h (have_menus_p):
14788 * xterm.h (have_menus_p): Remove.
14789
14790 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14791 (Fmake_variable_frame_local): Just check the variable's const-ness
14792 rather than checking nil or t.
14793
147942007-10-22 Jason Rumney <jasonr@gnu.org>
14795
14796 * w32fns.c: Include math.h.
14797 (w32_abort): Declaration moved to nt/config.nt.
14798
14799 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14800 (abort): Redefinition moved to nt/config.nt.
14801
14802 * m/windowsnt.h: Remove.
14803
148042007-10-22 Juanma Barranquero <lekktu@gmail.com>
14805
14806 * emacs.c (Fdump_emacs): Fix typo in message.
14807 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14808 <installation-directory>: Reflow docstring.
14809
148102007-10-22 Juri Linkov <juri@jurta.org>
14811
14812 * minibuf.c: Allow minibuffer default to be a list of default values.
14813 With empty input use the first element of this list as returned default.
14814 (string_to_object)
14815 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14816 (read_minibuf): If defalt is cons, set histstring to its car.
14817 (Fread_string): If default_value is cons, set val to its car.
14818 (Fread_buffer): If def is cons, use its car.
14819 (Fcompleting_read): If defalt is cons, set val to its car.
14820
148212007-10-21 Michael Albinus <michael.albinus@gmx.de>
14822
14823 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14824
148252007-10-20 Juanma Barranquero <lekktu@gmail.com>
14826
14827 * doc.c (Fdocumentation): Check for advice in all cases.
14828
148292007-10-19 Chong Yidong <cyd@stupidchicken.com>
14830
14831 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14832
148332007-10-19 Richard Stallman <rms@gnu.org>
14834
14835 * doc.c (Fdocumentation): Check for and handle an advised function.
14836
148372007-10-19 Juanma Barranquero <lekktu@gmail.com>
14838
14839 * process.c (Fset_process_filter): Doc fix.
14840
148412007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14842
14843 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14844 which caused key-translation-map to applied repeatedly (thus breaking
14845 double-mode).
14846
148472007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14848
14849 * xselect.c (x_own_selection, x_handle_selection_clear)
14850 (x_clear_frame_selections):
14851 * w32menu.c (list_of_panes, list_of_items):
14852 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14853 * textprop.c (validate_plist, interval_has_all_properties)
14854 (interval_has_some_properties, interval_has_some_properties_list)
14855 (add_properties, text_property_list):
14856 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14857 * minibuf.c (Fassoc_string):
14858 * macselect.c (x_own_selection, x_clear_frame_selections)
14859 (Fx_disown_selection_internal):
14860 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14861 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14862
148632007-10-17 Chong Yidong <cyd@stupidchicken.com>
14864
14865 * process.c: Link to libs for calling res_init() if available.
14866 (Fmake_network_process): Call res_init() before getaddrinfo or
14867 gethostbyname, if possible.
14868
148692007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14870
14871 * lread.c (read1): Set pvectype for char_tables.
14872
14873 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14874 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14875 Add type checks.
14876 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14877
14878 * alloc.c (free_misc): Use XMISCTYPE.
14879 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14880
148812007-10-17 Glenn Morris <rgm@gnu.org>
14882
14883 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14884 (syms_of_minibuf): Add Qcompletion_ignore_case.
14885 * dired.c (Qcompletion_ignore_case): Change to external.
14886 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14887 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14888 (Fread_file_name): Use it rather than intern'ing.
14889
14890 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14891 (Fread_coding_system): Ignore case of user input.
14892
148932007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14894
14895 * xdisp.c (handle_display_prop): Ignore display specs after
14896 replacing one when string text is being replaced.
14897 (handle_single_display_spec): Pretend as if characters with display
14898 property haven't been consumed only when buffer text is being replaced.
14899
149002007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14901
14902 * xfns.c (Fx_create_frame, Fx_display_list):
14903 * window.c (window_fixed_size_p, enlarge_window)
14904 (shrink_window_lowest_first):
14905 * macterm.c (init_font_name_table):
14906 * macfns.c (Fx_create_frame, Fx_display_list):
14907 * lread.c (close_load_descs):
14908 * keyboard.c (read_char_x_menu_prompt):
14909 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14910 * coding.c (code_convert_region_unwind): Test the type of an object
14911 rather than just !NILP before extracting data from it.
14912
14913 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14914
14915 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14916 (XMISCANY): New macro.
14917 (XMISCTYPE): Use it.
14918 (struct Lisp_Misc_Any): New type.
14919 (union Lisp_Misc): Use it.
14920 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14921 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14922 (find_symbol_value, set_internal, default_value, Fset_default)
14923 (Fmake_variable_buffer_local, Fmake_local_variable)
14924 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14925 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14926 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14927 * alloc.c (allocate_buffer): Set the size and tag.
14928 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14929 Use XMISCANY.
14930 (die): Follow the GNU convention for error messages.
14931 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14932 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14933 tag any more.
14934 (set_buffer_internal_1):
14935 * frame.c (store_frame_param):
14936 * eval.c (specbind):
14937 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14938
14939 * doc.c (Fsnarf_documentation): Simplify.
14940
149412007-10-14 Juanma Barranquero <lekktu@gmail.com>
14942
14943 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14944 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14945
149462007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14947
14948 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14949
149502007-10-14 Juanma Barranquero <lekktu@gmail.com>
14951
14952 * eval.c (do_autoload): Don't save autoloads.
14953
14954 * data.c (Ffset): Save autoload of the function being set.
14955
149562007-10-07 John Paul Wallington <jpw@pobox.com>
14957
14958 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14959 parameter before setting up faces.
14960
149612007-10-13 Eli Zaretskii <eliz@gnu.org>
14962
14963 * ccl.c (Fregister_code_conversion_map):
14964 * keyboard.c (append_tool_bar_item): Reformat last change.
14965
14966 * lisp.h (eabs): Rename from `abs'. All callers changed.
14967
149682007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14969
14970 * buffer.c (add_overlay_mod_hooklist):
14971 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14972 * fontset.c (make_fontset):
14973 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14974 (append_tool_bar_item):
14975 * macmenu.c (grow_menu_items):
14976 * w32menu.c (grow_menu_items):
14977 * xmenu.c (grow_menu_items): Use larger_vector.
14978
149792007-10-13 Eli Zaretskii <eliz@gnu.org>
14980
14981 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14982 selected frame'' on MSDOS).
14983
149842007-10-12 Martin Rudalics <rudalics@gmx.at>
14985
14986 * frame.c (Qexplicit_name): New variable.
14987 (x_report_frame_params): Report it in parameter alist.
14988 (syms_of_frame): Intern and staticpro it.
14989
149902007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14991
14992 * macfns.c (x_create_tip_frame): Set terminal for frame.
14993
149942007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14995
14996 * frame.c (Qenvironment): Remove.
14997 (syms_of_frame) <Qenvironment>: Don't initialize.
14998 (Fdelete_frame): Don't treat the `environment' param specially.
14999 * frame.h (Qenvironment): Don't declare.
15000 * callproc.c (set_initial_environment): Don't set unused frame param.
15001
15002 * frame.c (Fframe_with_environment): Remove.
15003 (syms_of_frame) <Sframe_with_environment>: Don't declare.
15004
15005 * lisp.h (Fframe_with_environment): Don't declare.
15006
150072007-10-10 Juanma Barranquero <lekktu@gmail.com>
15008
15009 * indent.c (indent_tabs_mode, last_known_column)
15010 (last_known_column_modified): Make static.
15011 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
15012
150132007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
15014
15015 * puresize.h (BASE_PURESIZE): Increase to 1170000.
15016
150172007-10-09 Jason Rumney <jasonr@gnu.org>
15018
15019 * w32term.c (x_set_window_size): Disable code that attempts to tell
15020 Lisp code about a size change before it actually happens.
15021
150222007-10-09 Richard Stallman <rms@gnu.org>
15023
15024 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
15025 return HANDLED_RETURN.
15026
150272007-10-08 Martin Rudalics <rudalics@gmx.at>
15028
15029 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
15030 when there's an unread command event.
15031
15032 * frame.c (focus_follows_mouse): Move here from frame.el to allow
15033 window autoselection act appropriately when leaving selected frame.
15034 (syms_of_frame): Initialize focus_follows_mouse.
15035 * frame.h (focus_follows_mouse): Extern it.
15036 * macterm.c (XTread_socket): When focus_follows_mouse is nil
15037 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
15038 * msdos.c (dos_rawgetc): Likewise.
15039 * w32term.c (w32_read_socket): Likewise.
15040 * xterm.c (handle_one_xevent): Likewise.
15041 * xdisp.c (syms_of_xdisp): In doc-string of
15042 mouse-autoselect-window mention focus-follows-mouse.
15043
150442007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15045
15046 * macterm.c (mac_load_query_font): Fix missing return value.
15047 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
15048 Add BLOCK_INPUT.
15049
150502007-10-08 Richard Stallman <rms@gnu.org>
15051
15052 * xdisp.c (get_window_cursor_type): Implement documented behavior
15053 for cursor-in-non-selected-windows = t.
15054
150552007-10-08 Jason Rumney <jasonr@gnu.org>
15056
15057 * w32.c (w32_get_resource): Always close registry keys.
15058
150592007-10-08 Jason Rumney <jasonr@gnu.org>
15060
15061 * makefile.w32-in (LIBS): Add COMCTL32.
15062
15063 * w32fns.c (globals_of_w32fns): Init common controls.
15064
150652007-10-08 Richard Stallman <rms@gnu.org>
15066
15067 * image.c (our_memory_buffer): Rename from omfib_buffer.
15068
150692007-10-08 Richard Stallman <rms@gnu.org>
15070
15071 * buffer.c (Foverlays_at): Doc fix.
15072
150732007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
15074
15075 * fns.c (Fplist_put): Preserve uneven tail data.
15076
150772007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
15078
15079 * termhooks.h (enum event_kind): Remove trailing comma.
15080
15081 * frame.h (enum): Remove trailing comma.
15082
150832007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
15084
15085 * w32proc.c (delete_child): Don't terminate threads of zombies.
15086
150872007-10-08 Martin Rudalics <rudalics@gmx.at>
15088
15089 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
15090
15091 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
15092 last-repeatable-command.
15093 (init_kboard): Initialize Vlast_repeatable_command.
15094 (command_loop_1): Set it to real_this_command unless that was
15095 bound to an input event.
15096 (mark_kboards): Mark it.
15097
150982007-10-08 Richard Stallman <rms@gnu.org>
15099
15100 * eval.c (condition-case): Doc fix.
15101
151022007-10-08 Masatake YAMATO <jet@gyve.org>
15103
15104 * xfaces.c (tty_supports_face_attributes_p): Fix code
15105 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15106 was copied and not edited.
15107
151082007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15109
15110 Add new `input-decode-map' keymap and use it for terminal
15111 escape sequences.
15112 * keyboard.h (struct kboard): Add Vinput_decode_map.
15113 Remove Vlocal_key_translation_map.
15114 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15115 (init_kboard): Init input-decode-map.
15116 Replace local-key-translation-map back with key-translation-map.
15117 (syms_of_keyboard): Declare input-decode-map.
15118 Remove local-key-translation-map. Update docstrings.
15119 (mark_kboards): Mark Vinput_decode_map.
15120 Don't mark Vlocal_key_translation_map.
15121 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15122 Replace local-key-translation-map back with key-translation-map.
15123 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15124 Bind in input-decode-map rather than function-key-map.
15125
15126 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15127 This was made redundant by the previous introduction of XSETPVECTYPE.
15128
151292007-10-09 Richard Stallman <rms@gnu.org>
15130
15131 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15132
151332007-09-29 Richard Stallman <rms@gnu.org>
15134
15135 * eval.c (internal_condition_case_2, internal_condition_case_1)
15136 (internal_condition_case): Reenable abort if x_catching_errors ()
15137 to see if that really happens and why.
15138
151392007-10-06 Andreas Schwab <schwab@suse.de>
15140
15141 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15142
151432007-10-04 Juanma Barranquero <lekktu@gmail.com>
15144
15145 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15146
151472007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15148
15149 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15150
151512007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15152
15153 * window.h (struct window):
15154 * window.c (struct save_window_data, struct saved_window):
15155 * termhooks.h (struct terminal):
15156 * process.h (struct Lisp_Process):
15157 * frame.h (struct frame):
15158 * buffer.h (struct buffer):
15159 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15160 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15161 The size field of (pseudo)vectors is now unsigned.
15162 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15163
15164 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15165 Turn `count' into an integer.
15166
15167 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15168 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15169 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15170 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15171 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15172
15173 * alloc.c (allocate_pseudovector): New fun.
15174 (ALLOCATE_PSEUDOVECTOR): New macro.
15175 (allocate_window, allocate_terminal, allocate_frame)
15176 (allocate_process): Use it.
15177 (mark_vectorlike): New function.
15178 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15179 (mark_terminals): Use it.
15180 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15181 (Fmake_byte_code): Use XSETPVECTYPE.
15182
15183 * frame.c (Fframe_parameters): Minor simplification.
15184
15185 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15186
15187 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15188
15189 * buffer.c (Fget_buffer_create, init_buffer_once):
15190 * lread.c (defsubr):
15191 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15192
15193 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15194 defined differently in the m/*.h files.
15195 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15196 (XSETPVECTYPE): New macro.
15197 (XSETPSEUDOVECTOR): Use it.
15198
15199 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15200 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15201
15202 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15203 * lread.c (defvar_per_buffer):
15204 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15205
15206 * window.c (candidate_window_p): Only consider as visible frames that
15207 are on the same terminal.
15208
15209 * m/ibms390x.h (MARKBIT): Remove unused macro.
15210
152112007-10-01 Juanma Barranquero <lekktu@gmail.com>
15212
15213 * lread.c (Fload): Fix typo in docstring.
15214
152152007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15216
15217 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15218 of a non-zero value can't yield zero.
15219
152202007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15221
15222 * term.c (term_clear_mouse_face, term_mouse_highlight)
15223 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15224
15225 * print.c (safe_debug_print): Use XHASH.
15226
15227 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15228 Lisp elements such as tags.
15229 (XHASH): New macro.
15230 (EQ): Use it.
15231 (SREF, SSET, STRING_COPYIN): Use SDATA.
15232 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15233
15234 * alloc.c (mark_terminal): Remove left-over declaration.
15235 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15236 (allocate_vectorlike): Remove type argument. Adjust callers.
15237 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15238 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15239
15240 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15241 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15242 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15243 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15244 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15245 Use them.
15246
15247 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15248 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15249 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15250
152512007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15252
15253 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15254 loaded by default.
15255
152562007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15257
15258 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15259 on this tty.
15260 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15261
15262 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15263 Update all users.
15264 (handle_one_term_event): Use Gpm_DrawPointer.
15265 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15266 Signal errors instead of returning nil. Always return nil.
15267 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15268 Make it a noop if gpm-mouse was not activated.
15269 (syms_of_term): Update names.
15270
152712007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15272
15273 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15274 (init_sys_modes): Check that gpm_tty is the current tty.
15275
15276 * alloc.c (allocate_terminal): Set the vector size to only count the
15277 lisp fields. Initialize those to nil.
15278 (mark_object): Don't treat terminals specially.
15279 (mark_terminal): Remove.
15280 (mark_terminals): Use mark_object instead.
15281
15282 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15283 the GC to the beginning.
15284
15285 * indent.h:
15286 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15287
15288 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15289
152902007-09-25 Jason Rumney <jasonr@gnu.org>
15291
15292 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15293
15294 * w32console.c (create_w32cons_output): Remove.
15295
15296 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15297
15298 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15299 (reset_sys_modes): Use reset_terminal_modes_hook.
15300
153012007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15302
15303 * eval.c (do_autoload): Don't output any message.
15304
153052007-09-24 Juri Linkov <juri@jurta.org>
15306
15307 * emacs.c (standard_args): Change priority of "--no-splash"
15308 from 40 to 3. Add "--no-desktop" with the same priority.
15309
153102007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15311
15312 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15313 and optimize the case where they are all 1.
15314
153152007-09-23 Johannes Weiner <hannes@saeurebad.de>
15316
15317 * lisp.h (abs): Define if not defined.
15318 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15319 Don't define `abs', since it's defined in lisp.h.
15320
153212007-09-22 Eli Zaretskii <eliz@gnu.org>
15322
15323 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15324 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15325 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15326 (init_tty): Use DEV_TTY instead of "/dev/tty".
15327 [WINDOWSNT]: No need to protect from NAME arg being null.
15328
153292007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15330
15331 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15332 up the tty state.
15333
153342007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15335
15336 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15337 (gpm_tty): Change its type.
15338 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15339 (gpm_tty): Change its type and initialize it.
15340 (Fterm_open_connection): Check the frame is indeed a tty.
15341 Use the new gpm_tty.
15342 (Fterm_close_connection): Use the new gpm_tty.
15343 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15344 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15345
153462007-09-21 Juanma Barranquero <lekktu@gmail.com>
15347
15348 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15349 underline_color, to draw strike-through.
15350
153512007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15352
15353 * lisp.h (allocate_terminal): Declare.
15354
15355 * window.c (candidate_window_p): Consider frames that are being placed
15356 by the user as somewhere between visible and iconified.
15357 (window_loop): Prefer windows on the current frame.
15358 (Fselect_window): Move the use of select-frame to the beginning so we
15359 can just delegate all the work (it'll call us back anyway).
15360
15361 * frame.c (Qdisplay_environment_variable):
15362 * frame.h (Qdisplay_environment_variable): Delete.
15363
15364 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15365 of the first arg, since that value may be a union.
15366
15367 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15368 parameter rather than Qdisplay_environment_variable. If all else
15369 fails, look for DISPLAY in initial-environment.
15370
153712007-09-21 Glenn Morris <rgm@gnu.org>
15372
15373 * Makefile.in (emacstool): Remove target.
15374 (lisp, shortlisp): Remove termdev.elc.
15375
153762007-09-21 Markus Triska <markus.triska@gmx.at>
15377
15378 * xterm.c (x_delete_display): Compile session management conditionally.
15379
153802007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15381
15382 * callproc.c (getenv_internal_1): New function.
15383 (getenv_internal): Use it.
15384 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15385
15386 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15387 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15388 (Fset_terminal_parameter): Work with dead terminals as well.
15389 (Fmodify_terminal_parameters): Remove.
15390
15391 * terminal.c (get_terminal): Handle terminals.
15392 Make sure the terminal returned is live.
15393 (create_terminal): Use allocate_terminal.
15394 (mark_terminals): Move to alloc.c.
15395 (delete_terminal): Use terminal->name as liveness status.
15396 NULL out fields after freeing their contents.
15397 Don't deallocate the object.
15398 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15399 rather than an int.
15400 (Fterminal_live_p): Accept non-integer arguments.
15401 (Fterminal_list): Return terminal objects rather than an ints.
15402
15403 * alloc.c (enum mem_type): New member for `terminal' objects.
15404 (allocate_terminal): New function.
15405 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15406 Handle terminals.
15407 (mark_terminal): New fun.
15408 (mark_terminals): Move from terminal.c.
15409
15410 * term.c (get_tty_terminal): Don't treat output_initial specially.
15411 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15412 (delete_tty): Use terminal->name as liveness status.
15413
15414 * termhooks.h (struct terminal): Make it into a pseudovector.
15415 Remove `deleted' replaced by checking `name's nullness.
15416
15417 * print.c (print_object): Handle terminals.
15418
15419 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15420 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15421
15422 * frame.c (make_terminal_frame):
15423 * keyboard.c (tty_read_avail_input):
15424 * w32term.c (x_delete_terminal):
15425 * xfns.c (Fx_create_frame, x_create_tip_frame):
15426 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15427
154282007-09-20 Glenn Morris <rgm@gnu.org>
15429
15430 * process.c (Fmake_network_process): Doc fix.
15431
154322007-09-19 Jason Rumney <jasonr@gnu.org>
15433
15434 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15435
154362007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15437
15438 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15439 Fix a C warning regarding variable constness.
15440
15441 * xterm.c (handle_one_xevent): Fix a C warning.
15442
154432007-09-18 Jason Rumney <jasonr@gnu.org>
15444
15445 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15446
154472007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15448
15449 * gtkutil.c (gdpy_def): New variable.
15450 (xg_initialize): Initialize gdpy_def.
15451 (xg_display_close): If no other display exists, set gdpy_def to a
15452 new connection.
15453
154542007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15455
15456 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15457 when we have no file name for the icon.
15458 (xg_tool_bar_expose_callback): Remove.
15459 (xg_create_tool_bar): Don't connect expose signal to
15460 xg_tool_bar_expose_callback.
15461 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15462
154632007-09-16 Andreas Schwab <schwab@suse.de>
15464
15465 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15466 values instead of zapping them.
15467
154682007-09-14 Glenn Morris <rgm@gnu.org>
15469
15470 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15471 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15472 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15473 scope and rename to omfib_buffer for clarity.
15474 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15475
154762007-09-14 Kenichi Handa <handa@m17n.org>
15477
15478 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15479
154802007-09-13 Jason Rumney <jasonr@gnu.org>
15481
15482 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15483
15484 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15485
15486 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15487 (mac_term_init): Call here instead, passing rif.
15488
154892007-09-13 Glenn Morris <rgm@gnu.org>
15490
15491 * s/hpux.h: No longer define `static' as nothing.
15492
154932007-09-13 Johan Bockgård <bojohan@gnu.org>
15494
15495 * callint.c (Fcall_interactively): Remove unused var `fun'.
15496
154972007-09-12 Romain Francoise <romain@orebokech.com>
15498
15499 * window.c (prefer_window_split_horizontally, display_buffer):
15500 Revert 2007-09-08 change.
15501
155022007-09-12 Glenn Morris <rgm@gnu.org>
15503
15504 * alloca.c: Remove file.
15505 * Makefile.in (alloca): Do not undef.
15506 (allocaobj, alloca.o): Remove.
15507 (otherobj): Remove allocaobj.
15508 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15509 * regex.c (C_ALLOCA): Remove all references and code that was only
15510 used when this was defined.
15511 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15512 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15513 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15514
15515 * Makefile.in (SOURCES, unlock, relock): Delete.
15516
15517 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15518 (menu_grab_callback): All uses changed.
15519
15520 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15521 (x_reply_selection_request): All uses changed.
15522
155232007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15524
15525 * lread.c (load_warn_old_style_backquotes): Change message to look
15526 better when it appears in the middle of byte-compiler messages.
15527
155282007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15529
15530 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15531
15532 * xterm.c (x_create_terminal): Add comment.
15533
15534 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15535
155362007-09-10 Richard Stallman <rms@gnu.org>
15537
15538 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15539
155402007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15541
15542 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15543 (DEFUN): Document `intspec', use it instead of `prompt'.
15544
15545 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15546
15547 * data.c (Finteractive_form): If the interactive specification starts
15548 with a `(', use it as a Lisp form.
15549
15550 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15551 name and file modes.
15552
15553 * callint.c (Fcall_interactively): Comment fixes.
15554
155552007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15556
15557 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15558 and compiled functions.
15559
155602007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15561
15562 * window.c (prefer_window_split_horizontally): New variable.
15563 (display_buffer): Consider splitting window horizontally depending
15564 on prefer_window_split_horizontally.
15565
155662007-09-08 Eli Zaretskii <eliz@gnu.org>
15567
15568 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15569
155702007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15571
15572 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15573
15574 * frame.c (x_set_frame_parameters): Check number is positive before
15575 using XFASTINT.
15576
15577 * window.c (freeze_window_start): Don't presume selected_window holds
15578 a window object.
15579 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15580
155812007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15582
15583 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15584
155852007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15586
15587 * window.c (Vsplit_window_preferred_function): New var.
15588 (Fdisplay_buffer): Use it.
15589 (syms_of_window): Export, and initialize it.
15590
155912007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15592
15593 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15594
155952007-09-06 Glenn Morris <rgm@gnu.org>
15596
15597 * gtkutil.c (menu_grab_callback) <cnt>:
15598 * xselect.c (x_reply_selection_request) <cnt>: Move static
15599 variable to file scope.
15600
156012007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15602
15603 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15604 consistent values of selected_frame and selected_window.
15605
156062007-09-04 Jason Rumney <jasonr@gnu.org>
15607
15608 * w32console.c (initialize_w32_display): Zero unused hooks.
15609
156102007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15611
15612 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15613 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15614
156152007-09-04 Jason Rumney <jasonr@gnu.org>
15616
15617 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15618 in w32console.c. Set up input. Remove XXX comments that have been
15619 confirmed as correct.
15620
15621 * s/ms-w32.h (MULTI_KBOARD): Define.
15622
15623 * w32console.c (one_and_only_w32cons): Remove.
15624 (initialize_w32_display): Take terminal argument.
15625
15626 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15627 initialize_w32_display.
15628 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15629
15630 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15631
15632 * keyboard.c (discard_mouse_events): Discard it.
15633 (make_lispy_event): Translate it to a lisp event.
15634 (lispy_wheel_names): Add wheel-left and right events.
15635 (syms_of_keyboard): Enlarge wheel_syms.
15636
15637 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15638 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15639
15640 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15641
15642 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15643 from WM_MOUSEHWHEEL.
15644 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15645
15646 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15647 terminal.
15648
15649 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15650 keyboard for the terminal.
15651
156522007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15653
15654 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15655 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15656 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15657 and resume-tty-function to resume-tty-hook.
15658 (Fsuspend_tty, Fresume_tty): Use new names.
15659
156602007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15661
15662 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15663 if it starts with "n:".
15664
156652007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15666
15667 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15668
156692007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15670
15671 * frame.h:
15672 * frame.c (Qterm_environment_variable): Remove.
15673 (syms_of_frame): Don't init and staticpro it.
15674
15675 * callproc.c (getenv_internal): Remove special case for $TERM.
15676
15677 * callproc.c (Vinitial_environment): New variable.
15678 (set_initial_environment): Initialize it.
15679 (syms_of_callproc): Declare it.
15680 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15681 TERM under which a process runs is never related to the TERM in which
15682 Emacs is running.
15683
156842007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15685
15686 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15687 * s/darwin.h: ... do it here.
15688
156892007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15690
15691 * lisp.h (set_initial_environment): Rename from set_global_environment.
15692
15693 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15694 removed by mistake on the multi-tty branch.
15695
15696 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15697 (Fmodify_frame_parameters): Return a value.
15698
15699 * image.c (png_load): Comment-out var only used in commented-out code.
15700
15701 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15702 before passing it to mark_object.
15703
15704 * xfaces.c (internal_resolve_face_name): Return a value.
15705 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15706
15707 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15708 (x_icon): Comment-out var only used in commented-out code.
15709
157102007-08-29 Romain Francoise <romain@orebokech.com>
15711
15712 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15713 QUIT hasn't been provided.
15714
157152007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15716
15717 * callproc.c (child_setup, getenv_internal): Use the
15718 display-environment-variable and term-environment-variable frame params.
15719 (set_initial_environment): Initialise Vprocess_environment.
15720
15721 * config.in: Disable multi-keyboard support on a mac.
15722
15723 * frame.c (Qterm_environment_variable)
15724 (Qdisplay_environment_variable): New variables.
15725 (syms_of_frame): Intern and staticpro them.
15726 (Fmake_terminal_frame): Disable output method test.
15727
15728 * frame.h: Declare them here.
15729
15730 * macfns.c (x_set_mouse_color): Get rif from the frame.
15731 (x_set_tool_bar_lines): Don't use updating_frame.
15732 (mac_window): Add 2 new parameters for consistency with other systems.
15733 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15734 frame parameters following what is done in X11 and w32. Don't use
15735 FRAME_MAC_DISPLAY_INFO.
15736 (Fx_open_connection, start_hourglass): Remove window-system check.
15737 (x_create_tip_frame): Get the keyboard from the terminal.
15738
15739 * macmenu.c: Reorder includes.
15740 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15741
15742 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15743 terminal parameter.
15744 (x_clear_frame): Add a frame parameter.
15745 (note_mouse_movement): Get rif from the frame.
15746 (mac_term_init): Initialize the terminal.
15747 (mac_initialize): Make static and move terminal initialization ...
15748 (mac_create_terminal): ... to this new function.
15749
15750 * macterm.h (struct mac_display_info): Add terminal.
15751 (mac_initialize): Delete declaration.
15752
15753 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15754
15755 * sysdep.c: Comment out text after #endif.
15756
15757 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15758 is defined. Better initialize ttys in windows. Use terminal
15759 specific mouse_position_hook.
15760
15761 * termhooks.h (union display_info): Add mac_display_info.
15762
15763 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15764 Set the default minibuffer frame, window_system and the rest of the
15765 frame parameters following what is done in X11.
15766
15767 * w32term.c (w32_initialize): Make static.
15768
15769 * xselect.c (x_handle_selection_clear): Only access
15770 terminal->kboard when MULTI_KBOARD is defined.
15771
15772 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15773 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15774
157752007-08-29 Jason Rumney <jasonr@gnu.org>
15776
15777 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15778 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15779
15780 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15781 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15782
15783 * keyboard.c (restore_kboard_configuration): Only define when
15784 MULTI_KBOARD defined.
15785
15786 * makefile.w32-in: Update dependancies from Makefile.in.
15787 (OBJ1): Add terminal.$(O)
15788
15789 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15790 Don't define function body.
15791 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15792
15793 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15794
15795 * w32.c (request_sigio, unrequest_sigio): Remove.
15796
15797 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15798 (w32con_clear_frame, w32con_clear_end_of_line)
15799 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15800 (w32con_delete_glyphs, w32con_set_terminal_window)
15801 (scroll_line, w32_sys_ring_bell): Add frame arg.
15802 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15803 Add terminal arg.
15804 (PICK_FRAME): Remove.
15805 (w32con_write_glyphs): Use frame specific terminal coding.
15806 (one_and_only_w32cons): New global variable.
15807 (initialize_w32_display): Use it for storing hooks.
15808 (create_w32cons_output): New function.
15809
15810 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15811 arg a frame.
15812
15813 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15814 Set window_system.
15815 (x_set_tool_bar_lines): Don't use updating_frame.
15816 (Fx_create_frame): Set terminal and ref count.
15817 (Fx_open_connection): Remove window-system check.
15818
15819 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15820
15821 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15822 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15823 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15824 Add frame arg.
15825 (x_delete_terminal, w32_create_terminal): New functions.
15826 (w32_term_init): Create a terminal.
15827 (w32_initialize): Move terminal specific initialization to
15828 w32_create_terminal.
15829
15830 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15831 (w32_clear_rect, w32_clear_area): Use background from frame.
15832 (w32_display_info): Add terminal.
15833 (w32_sys_ring_bell, x_delete_display): Declare here.
15834
15835 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15836
15837 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15838
158392007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15840
15841 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15842 Fix get_named_tty calls for the controlling tty.
15843
158442007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15845
15846 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15847
158482007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15849
15850 * term.c (tty_insert_glyphs): Add missing first parameter.
15851
158522007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15853
15854 * buffer.c (Fbuffer_list, Fbury_buffer):
15855 Take frame->buried_buffer_list into account.
15856
15857 * cm.c (current_tty): New variable, for cmputc().
15858 (cmputc): Use it.
15859 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15860 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15861 (cmgoto): Add tty parameter. Pass it on to calccost().
15862 Use emacs_tputs() instead of tputs().
15863
15864 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15865 tputs().
15866 (current_tty): New variable, for cmputc().
15867 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15868
15869 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15870 (internal_condition_case, internal_condition_case_1)
15871 (internal_condition_case_2): Don't abort when x_catching_errors.
15872
15873 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15874 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15875 prevent crashes caused by bogus longjmps in read_char.
15876
15877 * keymap.h (Fset_keymap_parent): Add EXFUN.
15878
15879 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15880 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15881 Remove redundant definition.
15882
15883 * macfns.c (x_set_mouse_color, x_make_gc):
15884 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15885
15886 * w32term.c (x_free_frame_resources):
15887 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15888 (w32_initialize): Use the accessor macros for terminal characteristics.
15889
15890 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15891 Use the accessor macros for terminal characteristics.
15892 * msdos.c (internal_terminal_init): Use the accessor macros for
15893 terminal characteristics.
15894 (ScreenVisualBell, internal_terminal_init):
15895 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15896
15897 * termopts.h (no_redraw_on_reenter): Declare.
15898
15899 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15900 (mark_terminals, mark_ttys): Declare.
15901 (Fgarbage_collect): Call them.
15902 (mark_object): Mark buried_buffer_list.
15903
15904 * prefix-args.c: Include stdlib.h for exit.
15905
15906 * syssignal.h: Add comment.
15907
15908 * indent.c: Include stdio.h.
15909
15910 * window.h (Vinitial_window_system): Declare.
15911 (Vwindow_system): Delete declaration.
15912
15913 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15914
15915 * image.c (lookup_image): Don't initialize `c' until the xasserts
15916 have been run.
15917
15918 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15919 FRAME_FOREGROUND_PIXEL.
15920
15921 * print.c (print_preprocess): Don't lose print_depth levels while
15922 iterating.
15923
15924 * widget.c (update_from_various_frame_slots):
15925 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15926
15927 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15928 frames.
15929 (window_internal_height): Remove bogus make_number call.
15930 (init_window_once): Call make_terminal_frame with two zero parameters.
15931
15932 * fileio.c (Fread_file_name): Update comment.
15933
15934 * callint.c (Fcall_interactively):
15935 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15936 Make sure it is correctly unwound.
15937
15938 * xsmfns.c (x_session_close): New function.
15939
15940 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15941 Delete declarations.
15942
15943 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15944 (x_output): Remove background_pixel and foreground_pixel fields.
15945 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15946 (x_delete_device, x_session_close): Declare.
15947
15948 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15949 (read_filtered_event): Call `read_char' with a local
15950 `wrong_kboard_jmpbuf'.
15951
15952 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15953 Don't call single_kboard_state. Use FRAME_RIF.
15954
15955 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15956 systems.
15957
15958 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15959 (Fframe_with_environment, Fset_input_meta_mode)
15960 (Fset_quit_char): EXFUN.
15961 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15962 (init_sys_modes, reset_sys_modes): Update prototypes.
15963 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15964
15965 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15966 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15967 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15968 Delete declarations.
15969 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15970 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15971 New declarations.
15972
15973 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15974 already does that during init_display(). Call syms_of_keymap
15975 before syms_of_keyboard. Call `syms_of_terminal'.
15976 Call set_initial_environment, not set_process_environment.
15977 (shut_down_emacs): Call reset_all_sys_modes() instead of
15978 reset_sys_modes().
15979
15980 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15981 (internal_resolve_face_name, resolve_face_name_error): New functions.
15982 (resolve_face_name): Protect against loops and errors thrown by Fget.
15983 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15984 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15985
15986 * scroll.c: Replace CURTTY() with local variables throughout the
15987 file (where applicable).
15988 (calculate_scrolling, calculate_direct_scrolling)
15989 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15990 characteristics.
15991
15992 * keymap.c (Vfunction_key_map): Remove.
15993 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15994 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15995 (Vkey_translation_map): Remove.
15996 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15997 (Fdescribe_buffer_bindings)
15998 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15999 Update for terminal-local key-translation-map.
16000
16001 * Makefile.in (callproc.o): Update dependencies.
16002 (lisp, shortlisp): Add termdev.elc.
16003 (obj): Add terminal.o.
16004 (terminal.o): Add dependencies.
16005 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
16006 (data.o, fns.o): Add termhooks.h dependency.
16007 (SOME_MACHINE_LISP): Add dnd.elc.
16008 (minibuf.o): Fix typo.
16009 Update dependencies.
16010
16011 * data.c (do_symval_forwarding, store_symval_forwarding)
16012 (find_symbol_value): Use the selected frame's keyboard, not
16013 current_kboard.
16014
16015 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
16016 Vwindow_system.
16017
16018 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
16019 Fmenu_bar_open.
16020 (syms_of_xmenu): Update defsubr.
16021 (mouse_position_for_popup, Fx_popup_menu)
16022 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
16023 (set_frame_menubar, free_frame_menubar)
b97439ce 16024 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
16025 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
16026 an X frame.
16027
16028 * xselect.c (x_own_selection): Abort if not an X frame.
16029 (some_frame_on_display): Check if it is an X frame.
16030 (x_handle_selection_clear): Deal with MULTI_KBOARD.
16031
16032 * coding.c: Include frame.h and termhooks.h.
16033 (terminal_coding, keyboard_coding): Delete.
16034 (Fset_terminal_coding_system_internal)
16035 (Fset_keyboard_coding_system_internal)
16036 (Fkeyboard_coding_system)
16037 (Fterminal_coding_system): Add a terminal parameter.
16038 Get terminal_coding from the terminal.
16039 (init_coding_once): Don't call setup_coding_system here.
16040
16041 * dispextern.h (set_scroll_region, turn_off_insert)
16042 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
16043 (tty_clear_end_of_line, tty_setup_colors)
16044 (delete_tty, updating_frame)
16045 (produce_special_glyphs, produce_glyphs, write_glyphs)
16046 (insert_glyphs): Remove.
16047 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
16048 (tty_turn_off_highlight, get_tty_size): Add declaration.
16049 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
16050
16051 * frame.h (enum output_method): Add output_initial.
16052 (struct x_output): Delete.
16053 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16054 Access foreground_pixel and background_pixel directly from the frame.
16055 (tty_display): Delete.
16056 (struct frame): Add buried_buffer_list, foreground_pixel,
16057 background_pixel and terminal. Delete kboard.
16058 (union output_data): Add tty.
16059 (FRAME_KBOARD): Get the kboard from the terminal.
16060 (FRAME_INITIAL_P): New macro.
16061 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
16062 (Qterm_environment_variable, Qdisplay_environment_variable)
16063 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
16064 New declarations.
16065
16066 * termchar.h (tty_output, tty_display_info): New structures.
16067 (tty_list): Declare.
16068 (FRAME_TTY, CURTTY): New macros.
16069 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
16070 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
16071 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
16072 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
16073
16074 * callproc.c: Include frame.h and termhooks.h, for terminal
16075 parameters.
16076 (add_env): New function.
16077 (child_setup): Use it.
16078 (child_setup, getenv_internal): Handle the new Vprocess_environment.
16079 (getenv_internal): Fix get_terminal_param call.
16080 (Fgetenv_internal, egetenv): Update doc.
16081 (syms_of_callproc): Initialize Vprocess_environment to nil.
16082 Register and initialize them. Remove obsolete defvars. Update doc
16083 strings.
16084 (child_setup): Handle Vlocal_environment_variables.
16085 (getenv_internal): Add terminal parameter.
16086 Handle Vlocal_environment_variables.
16087 (Fgetenv_internal): Add terminal parameter.
16088 (child_setup, getenv_internal, Fgetenv_internal): Store the local
16089 environment in a frame (not terminal) parameter. Update doc strings.
16090 (set_initial_environment): Rename from set_global_environment.
16091 Store Emacs environment in initial frame parameter.
16092
16093 * xdisp.c (redisplay_internal): Update references to
16094 `previous_terminal_frame'.
16095 (display_mode_line, Fformat_mode_line): Replace calls to
16096 `push_frame_kboard' with `push_kboard'.
16097 (get_glyph_string_clip_rects): Add extra parentheses and
16098 braces to prevent compiler warnings.
16099 (calc_pixel_width_or_height): Add xassert to check that the
16100 frame is alive. Don't call `lookup_image' on a termcap frame.
16101 (message2_nolog, message3_nolog, redisplay_internal)
16102 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16103 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16104 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16105 (Fx_display_pixel_width, Fx_display_pixel_height)
16106 (Fx_display_planes, Fx_display_color_cells)
16107 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16108 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16109 (Fx_display_backing_store, Fx_display_visual_class)
16110 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16111 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16112
16113 * xfns.c (x_set_foreground_color x_set_background_color)
16114 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16115 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16116 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16117 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16118 terminal that is being deleted.
16119 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16120 frame parameter, and make sure it overrides any user-supplied setting.
16121 (Fx_close_connection, Fx_synchronize): Unify argument names with
16122 the rest of the DEFUNs.
16123
16124 * dispnew.c (Fsend_string_to_terminal): Update call to
16125 `get_tty_terminal'.
16126 (Fredraw_frame, Fsend_string_to_terminal)
16127 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16128 FRAME_TERMCAP_P and FRAME_TTY.
16129 (window_change_signal): Don't believe width/height values that are
16130 impossibly small.
16131 (Vinitial_window_system): Rename from Vwindow_system.
16132 (termscript, Wcm, rif): Delete.
16133
16134 * termhooks.h (struct terminal): New struct containing the
16135 previously global text display hooks and new members NAME,
16136 DELETED and PARAM_ALIST.
16137 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16138 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16139 (FRAME_RIF): New macros.
16140 (get_terminal_param, get_device): New declarations.
16141 (termscript): Delete declaration.
16142
16143 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16144 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16145 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16146 FRAME_FOREGROUND_PIXEL.
16147 (x_fully_uncatch_errors): Disable definition.
16148 (x_scroll_bar_expose): Fix reference to foreground pixel.
16149 (XTread_socket): Disable loop on all X displays.
16150 (x_delete_terminal): Don't set terminal->deleted and let
16151 delete_terminal delete the frames on the terminal.
16152 (x_delete_display): Doc update to reflect changes in
16153 delete_terminal.
16154 (x_display_info) <terminal>: Move member earlier in the struct.
16155 (deleting_tty): Remove old variable.
16156 (Fsuspend_tty): Call clear_tty_hooks.
16157 (Fresume_tty, init_tty): Call set_tty_hooks.
16158 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16159 errors on X frames.
16160 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16161 (handle_one_xevent): Initialize `f' to NULL.
16162 (x_delete_terminal, x_create_terminal): New functions.
16163 (XTset_terminal_modes, XTreset_terminal_modes)
16164 (XTread_socket, x_connection_closed, x_term_init)
16165 (x_term_init, x_delete_display): Add terminal parameter.
16166 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16167 X connections.
16168
16169 * frame.c: Include termchar.h.
16170 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16171 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16172 (Qdisplay_environment_variable): New vars.
16173 (Fframep): Deal with output_initial.
16174 (Fframe-live-p): Doc fix.
16175 (Fwindow-system): New function.
16176 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16177 (make_terminal_frame): Don't create frames on a terminal that is
16178 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16179 (store_frame_param): Check for found_for_frame before calling XFRAME.
16180 (Fmake_terminal_frame): Handle NULL tty names correctly.
16181 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16182 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16183 frames to refer to a deleted frame in their 'environment parameter.
16184 (Fframe_with_environment): New function.
16185 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16186 (get_future_frame_param): New function.
16187 (Fmake_terminal_frame): Use it.
16188 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16189
16190 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16191 * sysdep.c (reset_sys_modes): Update for renames.
16192
16193 * keyboard.c (tty_read_avail_input): New function.
16194 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16195 (syms_of_keyboard): Defsubr them.
16196 (Fset_input_meta_mode, Fset_quit_char): New functions.
16197 (Fset_input_mode): Split to above functions.
16198 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16199 parameter. Use it in call to `read_char'.
16200 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16201 Set wrong_kboard_jmpbuf correctly in recursive calls.
16202 Use current_kboard to access Vkeyboard_translate_table.
16203 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16204 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16205 Update longjmp invocations. Remember the original current_kboard,
16206 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16207 changes it. Comment out unnecessary calls to
16208 `record_single_kboard_state' and `any_kboard_state'.
16209 Update recursive calls.
16210 (wrong_kboard_jmpbuf): Remove global variable.
16211 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16212 Handle deleted interrupted_kboards correctly; that is a legal
16213 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16214 and read_char calls. Abort if interrupted_kboard died in read_char.
16215 (any_kboard_state, single_kboard_state)
16216 (push_frame_kboard): Remove function.
16217 (pop_kboard): Switch out of single_kboard mode if the kboard has
16218 been deleted. Remove unused variable. Help debugging by not
16219 changing current_kboard unnecessarily. Set current_kboard to the
16220 kboard of the selected frame when the stored kboard object has
16221 been deleted before pop_kboard.
16222 (temporarily_switch_to_single_kboard): Change first parameter to a
16223 frame pointer. Throw an error when caller wants to change kboards
16224 while in single_kboard mode. Don't push_kboard if we weren't in
16225 single kboard state. Don't pop_kboard if we popped into any
16226 kboard state.
16227 (restore_kboard_configuration): Abort if pop_kboard changed the
16228 kboard in single_kboard mode. Call pop_kboard only after setting
16229 up single_kboard mode.
16230 (Frecursive_edit): Switch to single_kboard mode only in nested
16231 command loops.
16232 (cmd_error, command_loop, command_loop_1, timer_check):
16233 Comment out unnecessary call to `any_kboard_state' and
16234 `record_single_kboard_state'.
16235 (delete_kboard): Exit single_kboard mode if we have just deleted
16236 that kboard. Use FRAME_KBOARD.
16237 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16238 `fatal_error_signal'.
16239 (record_single_kboard_state): Don't push_kboard if we weren't in
16240 single kboard state. Don't pop_kboard if we popped into any
16241 kboard state.
16242 (push_frame_kboard): Rename to push_kboard.
16243 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16244 (read_avail_input): Read input from all terminals.
16245 (mark_kboards): Also mark Vkeyboard_translate_table.
16246 (kbd_buffer_store_event_hold): Simplify condition.
16247 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16248 (Vkeyboard_translate_table): Move to struct kboard.
16249 (init_kboard): Initialize Vkeyboard_translate_table.
16250 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16251 Vkeyboard_translate_table. Update doc strings. Update docs of
16252 local-function-key-map and function-key-map.
16253
16254 * terminal.c: New file.
16255
16256 * term.c: Include errno.h.
16257 (Vring_bell_function, device_list, initial_device)
16258 (next_device_id, ring_bell, update_begin, update_end)
16259 (set_terminal_window, cursor_to, raw_cursor_to)
16260 (clear_to_end, clear_frame, clear_end_of_line)
16261 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16262 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16263 (syms_of_term): Move their initialization to terminal.c.
16264 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16265 (Ftty_display_color_cells)
16266 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16267 (clear_tty_hooks, set_tty_hooks)
16268 (init_tty, maybe_fatal): New functions.
16269 (Ftty_type): Return nil if terminal is not on a tty instead of
16270 throwing an error. Doc update.
16271 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16272 Doc update. Initialize new subrs and variables.
16273 (delete_tty): Use terminal->deleted.
16274 (tty_set_terminal_modes): Rename from set_terminal_modes.
16275 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16276 (set_scroll_region): Rename to `tty_set_scroll_region'.
16277 (turn_on_insert): Rename to `tty_turn_on_insert'.
16278 (turn_off_insert): Rename to `tty_turn_off_insert'.
16279 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16280 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16281 (toggle_highligh): Rename to `tty_toggle_highlight'.
16282 (background_highlight): Rename to `tty_background_highlight'.
16283 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16284 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16285 (tty_set_scroll_region, tty_background_highlight)
16286 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16287 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16288 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16289 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16290 Add static modifier.
16291 (tty_reset_terminal_modes, tty_set_terminal_window)
16292 (tty_set_scroll_region, tty_background_highlight)
16293 (tty_highlight_if_desired, tty_cursor_to)
16294 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16295 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16296 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16297 renames.
16298
162992007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16300
16301 * keyboard.c: Qrtl is new.
16302 (parse_tool_bar_item): Handle :rtl keyword.
16303 (syms_of_keyboard): Intern :rtl keyword.
16304
16305 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16306
16307 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16308 so no Lisp code is executed.
16309 (file_for_image, find_rtl_image): New functions.
16310 (xg_get_image_for_pixmap): Use file_for_image.
16311 (update_frame_tool_bar): If direction is RTL, use RTL image if
16312 defined. Use Gtk stock images if defined.
16313
163142007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16315
16316 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16317 for nonexistent or zero-width glyph in composition glyph.
16318
163192007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16320
16321 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16322
16323 * xdisp.c (Finvisible_p): New function.
16324 (syms_of_xdisp): defsubr it.
16325
163262007-08-24 Juanma Barranquero <lekktu@gmail.com>
16327
16328 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16329 Doc fixes.
16330
163312007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16332
16333 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16334
163352007-08-24 Martin Rudalics <rudalics@gmx.at>
16336
16337 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16338 whether decoding has modified buffer contents.
16339
163402007-08-24 Jason Rumney <jasonr@gnu.org>
16341
16342 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16343 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16344 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16345 (init_svg_functions) [HAVE_NTGUI]: New function.
16346 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16347 (svg_load_image): Use them.
16348 (svg_load_image) [HAVE_NTGUI]: Implement background.
16349
163502007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16351
16352 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16353 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16354 (LIBX): Remove @RSVG_LIBS@.
16355 (LIBES): Add $(RSVG_LIBS).
16356
16357 * image.c (svg_load_image): Blend with specified background if exists.
16358 Use IMAGE_BACKGROUND. Add Mac OS Support.
16359
16360 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16361 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16362 Remove macros.
16363 [MAC_OSX] (socket_callback): Do nothing.
16364 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16365 ReceiveNextEvent.
16366 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16367 socket_callback.
16368 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16369
163702007-08-22 Glenn Morris <rgm@gnu.org>
16371
16372 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16373
163742007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16375
16376 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16377
16378 * image.c: Add support for SVG images. Some additional comments
16379 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16380 (svg_image_p): New function to test for SVG image.
16381 (svg_load): New function to load SVG image.
16382 (svg_load_image): New function, helper for svg_load.
16383 (Qsvg): New Lisp_object.
16384 (svg_keyword_index): New enum.
16385 (svg_format): New static `image_keyword' struct.
16386 (svg_type): New static `image_type' struct.
16387 (librsvg/rsvg.h): Include it.
16388
163892007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16390
16391 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16392
163932007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16394
16395 * lread.c (Qold_style_backquotes): New var.
16396 (syms_of_lread): Init and staticpro it.
16397 (load_warn_old_style_backquotes): New fun.
16398 (Fload): Use them to warn about old style backquotes.
16399 (end_of_file_error, Fload): Remove unused vars.
16400
16401 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16402
16403 * lread.c (Vold_style_backquotes): New var.
16404 (syms_of_lread): Init and export it to Elisp.
16405 (read1): Set it when we find an old-style (back)quote.
16406
164072007-08-22 Jason Rumney <jasonr@gnu.org>
16408
16409 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16410
164112007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16412
16413 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16414
164152007-08-19 Richard Stallman <rms@gnu.org>
16416
16417 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16418
164192007-08-19 Andreas Schwab <schwab@suse.de>
16420
16421 * alloc.c (pure): Round PURESIZE up.
16422
164232007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16424
16425 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16426 active frame.
16427
164282007-08-16 Richard Stallman <rms@gnu.org>
16429
16430 * eval.c (Fcommandp): Add parens to clarify.
16431
16432 * minibuf.c (Fall_completions): Use enum for type of table.
16433
16434 * emacs.c (USAGE2): Improve text.
16435
164362007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16437
16438 * term.c (tty_default_color_capabilities): Declare static
16439 variables in file scope, to avoid HPUX compiler problem.
16440
164412007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16442
16443 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16444 to gtk_toolbar_insert.
16445
164462007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16447
16448 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16449
16450 * insdel.c (reset_var_on_error): New fun.
16451 (signal_before_change, signal_after_change):
16452 Use it to reset (after|before)-change-functions to nil in case of error.
16453 Bind inhibit-modification-hooks to t.
16454 Don't bind (after|before)-change-functions to nil while they run.
16455
164562007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16457
16458 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16459 filling pixmap with stippled background.
16460
164612007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16462
16463 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16464 Don't use invisible frame as parent window for repositioning.
16465
164662007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16467
16468 * print.c (new_backquote_output): Rename from old_backquote_output.
16469 (print): Inverse its logic (according to its name) so as to match the
16470 behavior of new_backquote_flag in lread.c.
16471
164722007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16473
16474 * gmalloc.c (posix_memalign): New function.
16475
16476 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16477 ActivateControl/DeactivateControl here.
16478 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16479 frame-notice-user-settings is non-nil.
16480 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16481 for kEventParamFMFontStyle.
16482 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16483 mac_pass_command_to_system and mac_pass_control_to_system here.
16484 (XTread_socket): Call ActivateControl/DeactivateControl here.
16485 (XTread_socket) [TARGET_API_MAC_CARBON]:
16486 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16487 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16488 for window repositioning.
16489
164902007-08-08 Glenn Morris <rgm@gnu.org>
16491
16492 * Replace `iff' in doc-strings and comments.
16493
164942007-08-07 Chong Yidong <cyd@stupidchicken.com>
16495
16496 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16497
164982007-08-07 Martin Rudalics <rudalics@gmx.at>
16499
16500 * fileio.c (Finsert_file_contents): Run format-decode and
16501 after_insert_file_functions on entire buffer when REPLACE is
16502 non-nil and inhibit modification_hooks and point_motion_hooks.
16503 For consistency, run after_insert_file_functions iff something
16504 got inserted. Move signal_after_change and update_compositions
16505 after code running after_insert_file_functions. Make sure that
16506 undo_list doesn't record intermediate steps of the decoding process.
16507
165082007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16509
16510 * emacs.c (main)
16511 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16512 Call malloc_enable_thread on interactive startup.
16513
16514 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16515 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16516 [USE_PTHREAD]: Conditionalize with it.
16517 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16518 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16519 New functions.
16520
165212007-08-06 Chong Yidong <cyd@stupidchicken.com>
16522
16523 * xdisp.c (redisplay_window): When restoring original buffer
16524 position, make sure it is still valid.
16525
16526 * image.c (png_load): Ignore png-supplied background color.
16527
165282007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16529
16530 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16531 Use kCFAbsoluteTimeIntervalSince1970.
16532
16533 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16534 New variable.
16535 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16536 event loop should be quit.
16537 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16538 Quit dialog event loop if quit_dialog_event_loop is set.
16539
16540 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16541 (Selection): New typedef. Use instead of ScrapRef.
16542 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16543 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16544 (mac_clear_selection): Rename from clear_scrap.
16545 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16546 scrap_has_target_type. All uses changed.
16547 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16548 (mac_selection_has_target_p): New functions.
16549 (mac_put_selection_value): Rename from put_scrap_string.
16550 (mac_get_selection_value): Rename from get_scrap_string.
16551 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16552 (put_scrap_private_timestamp, scrap_has_target_type)
16553 (get_scrap_private_timestamp): Remove functions.
16554 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16555 (x_own_selection, x_get_local_selection):
16556 Use mac_valid_selection_value_p.
16557 (x_own_selection): Don't use put_scrap_private_timestamp.
16558 Record OWNERSHIP-INFO into Vselection_alist instead.
16559 (x_get_local_selection): Don't check type if request is local.
16560 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16561 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16562
165632007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16564
16565 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16566 add comment explaining why.
16567
165682007-08-03 Richard Stallman <rms@gnu.org>
16569
16570 * fileio.c (Fvisited_file_modtime): Use make_time.
16571
165722007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16573
16574 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16575 build.
16576
165772007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16578
16579 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16580
165812007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16582
16583 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16584
165852007-07-30 Richard Stallman <rms@gnu.org>
16586
16587 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16588
165892007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16590
16591 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16592
165932007-07-28 Nick Roberts <nickrob@snap.net.nz>
16594
16595 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16596 remote default-directory.
16597
16598 * buffer.c (mode-line-format): Update doc string.
16599
166002007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16601
16602 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16603 scroll bar gap.
16604 (x_scroll_bar_create): Set bar->fringe_extended_p.
16605 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16606 on frame edge. Check fringe background extension. Don't clear
16607 extended fringe background area.
16608
16609 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16610 (w32_fill_area): Enclose multiple statements with do ... while (0).
16611
16612 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16613 Extend fringe background to scroll bar gap.
16614 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16615 Set bar->fringe_extended_p.
16616 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16617 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16618 background extension. Don't clear extended fringe background area.
16619
16620 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16621 New member fringe_extended_p.
16622
166232007-07-25 Glenn Morris <rgm@gnu.org>
16624
16625 * Relicense all FSF files to GPLv3 or later.
16626
16627 * COPYING: Switch to GPLv3.
16628
166292007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16630
16631 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16632
16633 * data.c (Finteractive_form): Check for the presence of an
16634 `interactive-form' symbol property more thoroughly.
16635
16636 * data.c (Finteractive_form): Use an `interactive-form' property if
16637 present, analogous to the function-documentation property.
16638
166392007-07-24 Jason Rumney <jasonr@gnu.org>
16640
16641 * w32fns.c (x_real_positions): Get real position from OS instead of
16642 calculating it.
16643
166442007-07-23 Jason Rumney <jasonr@gnu.org>
16645
16646 * filelock.c (current_lock_owner): Allow for @ sign in username.
16647
166482007-07-22 Nick Roberts <nickrob@snap.net.nz>
16649
16650 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16651 remote default-directory.
16652
16653 * buffer.c (mode-line-format): Describe above case in doc string.
16654
166552007-07-20 Eli Zaretskii <eliz@gnu.org>
16656
16657 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16658 Define if not defined.
16659
166602007-07-18 Jason Rumney <jasonr@gnu.org>
16661
16662 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16663
166642007-07-18 Richard Stallman <rms@gnu.org>
16665
16666 * data.c (Fsetq_default): Doc fix.
16667
16668 * eval.c (Fsetq): Doc fix.
16669
166702007-07-18 Juanma Barranquero <lekktu@gmail.com>
16671
16672 * coding.c (Ffind_operation_coding_system):
16673 * eval.c (For, Fand): Doc fixes.
16674 Reported by Johan Bockgård.
16675
166762007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16677
16678 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16679
16680 * xterm.h: Declare x_ewmh_activate_frame.
16681
16682 * xterm.c (x_ewmh_activate_frame): New function.
16683 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16684
166852007-07-17 Martin Rudalics <rudalics@gmx.at>
16686
16687 * window.c (Fdisplay_buffer): If largest or LRU window is the
16688 only window, split it even if it is not eligible for splitting.
16689 This restores the original behavior broken by the 2007-07-15
16690 change.
16691
166922007-07-17 Glenn Morris <rgm@gnu.org>
16693
16694 * abbrev.c (abbrev_check_chars): New function.
16695 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16696 Call abbrev_check_chars to check abbrev characters are word
16697 constituents. Doc fix.
16698
166992007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16700
16701 * process.c (Fstart_process, Fmake_network_process)
16702 (read_process_output): Fix up last changes.
16703
167042007-07-16 Eli Zaretskii <eliz@gnu.org>
16705
16706 * makefile.w32-in (clean): Don't delete *~.
16707
167082007-07-16 Andreas Schwab <schwab@suse.de>
16709
16710 * window.c (Fdisplay_buffer): Use NILP.
16711 (Fset_window_scroll_bars): Likewise.
16712
167132007-07-15 Martin Rudalics <rudalics@gmx.at>
16714
16715 * window.c (window_min_size_2): New function.
16716 (window_min_size_1, size_window, Fdisplay_buffer)
16717 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16718 windows without mode- or header-lines when window-min-height is
16719 too small.
16720 (size_window): Reset nodelete_p after testing it, following an
16721 earlier note by Kim F. Storm.
16722 (display_buffer): Do not set split_height_threshold to twice the
16723 value of window_min_height to avoid changing the value of a
16724 customizable variable. Rather explicitly check whether the
16725 height of the window that shall be splitted is at least as large
16726 as split_height_threshold.
16727 (Fwindow_full_width_p): New defun.
16728 (syms_of_window): Defsubr it.
16729
16730 * window.h: Add EXFUN for Fwindow_full_width_p.
16731
167322007-07-14 Jason Rumney <jasonr@gnu.org>
16733
16734 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16735
167362007-07-14 Richard Stallman <rms@gnu.org>
16737
16738 * eval.c (maybe_call_debugger): New function.
16739 (find_handler_clause): Use maybe_call_debugger.
16740 Call it when the handler says `debug'.
16741 Eliminate DEBUGGER_VALUE_PTR.
16742 (Fsignal): Eliminate debugger_value.
16743 (Qdebug): New variable.
16744 (syms_of_eval): Initialize it.
16745
167462007-07-14 Juanma Barranquero <lekktu@gmail.com>
16747
16748 * eval.c (Fprogn):
16749 * keyboard.c (Ftrack_mouse):
16750 * print.c (Fwith_output_to_temp_buffer):
16751 * window.c (Fsave_window_excursion): Doc fix.
16752
167532007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16754
16755 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16756
167572007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16758
16759 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16760 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16761 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16762 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16763 Remove unused encoding_carryover.
16764 * process.c: Adjust all functions accordingly.
16765
167662007-07-12 Richard Stallman <rms@gnu.org>
16767
16768 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16769
167702007-07-11 Jason Rumney <jasonr@gnu.org>
16771
16772 * makefile.w32-in (LIBS): Include OLE32.
16773
16774 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16775 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16776
167772007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16778
16779 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16780 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16781 from a Lisp_Object into a bare pointer.
16782 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16783 Adjust the code correspondingly.
16784
16785 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16786
16787 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16788 (term_show_mouse_face): Remove unused var `j'.
16789 (handle_one_term_event): Remove unused vars `i' and `j'.
16790 Don't cast return value of ttyname since it's not necessary.
16791
167922007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16793
16794 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16795 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16796
16797 * fns.c (map_char_table): Use an array of int for `indices' rather than
16798 an array of Lisp_Objects (which are only ever integers anyway).
16799 (Fmap_char_table): Update caller.
16800 * lisp.h: Update prototype.
16801 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16802 * fontset.c (Ffontset_info):
16803 * casetab.c (set_case_table): Update callers.
16804
16805 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16806
16807 * keymap.c (struct accessible_keymaps_data)
16808 (struct where_is_internal_data): New structures.
16809 (accessible_keymaps_1, where_is_internal_1): Use them to change
16810 interface to adhere to the one used by map_keymap.
16811 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16812 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16813
16814 * keymap.h (map_keymap_function_t): More informative prototype.
16815
168162007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16817
16818 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16819 (looking_at_1): Don't change search_regs and last_thing_searched
16820 if `inhibit-changing-match-data' is non-nil.
16821 (string_match_1, search_buffer, set_search_regs): Likewise.
16822 (syms_of_search): Add Lisp level definition for
16823 `inhibit-changing-match-data' and set it to nil.
16824 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16825 start and end of the match, instead of using values in search_regs.
16826
168272007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16828
16829 * minibuf.c (Fcompleting_read): New value `confirm-only'
16830 for `require-match'.
16831
168322007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16833
16834 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16835 part of the 2007-06-27 change to syms_of_fileio.
16836
168372007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16838
16839 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16840 Check WINDOWP before using XWINDOW. Consolidate return statements.
16841
168422007-06-27 Richard Stallman <rms@gnu.org>
16843
16844 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16845
168462007-06-27 Juanma Barranquero <lekktu@gmail.com>
16847
16848 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16849
168502007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16851
16852 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16853 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16854 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16855 (_free_internal, memalign): Use them.
16856 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16857 Initialize to PTHREAD_MUTEX_INITIALIZER.
16858 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16859 (morecore_nolock): Rename from morecore. All uses changed.
16860 Use only nolock versions of internal allocation functions.
16861 (_malloc_internal_nolock, _realloc_internal_nolock)
16862 (_free_internal_nolock): New functions created from
16863 _malloc_internal, _realloc_internal, and _free_internal.
16864 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16865 Copy hook value to automatic variable before its use.
16866 (memalign): Copy hook value to automatic variable before its use.
16867
168682007-06-26 Kenichi Handa <handa@m17n.org>
16869
16870 * coding.c (Ffind_operation_coding_system): Docstring improved.
16871 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16872
168732007-06-25 David Kastrup <dak@gnu.org>
16874
16875 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16876 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16877 cater for additional parameter.
16878
16879 * keymap.h: Adjust number of parameters to `current-active-maps'.
16880
16881 * doc.c (Fsubstitute_command_keys): Adjust call of
16882 `current-active-maps'.
16883
168842007-06-25 David Kastrup <dak@gnu.org>
16885
16886 * callint.c (Fcall_interactively): Make the parsing of interactive
16887 specs somewhat more readable.
16888
168892007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16890
16891 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16892 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16893 if extended background has already been filled.
16894
168952007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16896
16897 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16898 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16899
16900 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16901 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16902 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16903 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16904 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16905 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16906 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16907 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16908 Run timers during dialog popup.
16909 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16910
169112007-06-21 Jason Rumney <jasonr@gnu.org>
16912
16913 * image.c (convert_mono_to_color_image): Swap fore and background.
16914
169152007-06-20 Jason Rumney <jasonr@gnu.org>
16916
16917 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16918 (w32_free_bdf_font): Unmap memory not handle.
16919
169202007-06-20 Sam Steingold <sds@gnu.org>
16921
16922 * gmalloc.c (__morecore): Fix the declaration to comply with the
16923 definition.
16924
169252007-06-20 Juanma Barranquero <lekktu@gmail.com>
16926
16927 * w32term.c (w32_delete_display): Remove leftover declaration.
16928 (w32_define_cursor, w32_initialize): Make static.
16929
16930 * w32.c (_wsa_errlist): Fix typo in error message.
16931 (init_environment): Ignore any environment variable from the
16932 registry having a null value.
16933
169342007-06-20 Glenn Morris <rgm@gnu.org>
16935
16936 * Makefile.in (LIBGIF): Default to -lgif.
16937
169382007-06-17 Jason Rumney <jasonr@gnu.org>
16939
16940 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16941 unicode strings.
16942
169432007-06-16 Juanma Barranquero <lekktu@gmail.com>
16944
16945 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16946 Fix typo in docstring.
16947
169482007-06-16 Eli Zaretskii <eliz@gnu.org>
16949
16950 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16951 and their keybindings.
16952
169532007-06-15 Chong Yidong <cyd@stupidchicken.com>
16954
16955 * composite.c (update_compositions): Fix last fix.
16956
169572007-06-14 Jason Rumney <jasonr@gnu.org>
16958
16959 * w32.c (get_process_times_fn): New function pointer.
16960 (globals_of_w32): Intialize it if present in kernel32.dll.
16961 (w32_get_internal_run_time): New function.
16962
16963 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16964
169652007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16966
16967 * composite.c (update_compositions): Check the validness of
16968 compositions.
16969
169702007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16971
16972 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16973 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16974
16975 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16976 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16977
16978 * macgui.h (USE_MAC_TOOLBAR): New define.
16979
16980 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16981 Return immediately unless popup is activated.
16982
16983 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16984 background to scroll bar gap.
16985 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16986 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16987 scroll bars on frame edge. Check fringe background extension.
16988 Don't clear extended fringe background area.
16989 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16990 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16991 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16992 [USE_MAC_TOOLBAR]: New macros.
16993 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16994 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16995 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16996 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16997 [USE_MAC_TOOLBAR]: New functions.
16998 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16999 manually if previous repositioning has failed.
17000 (mac_handle_keyboard_event): Use precomputed event kind.
17001 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
17002 as tool bar item click. Handle mouse movement over tool bar items.
17003
17004 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
17005 toolbar_win_gravity.
17006 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
17007 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
17008 Add externs.
17009
17010 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
17011 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
17012
170132007-06-14 Chong Yidong <cyd@stupidchicken.com>
17014
17015 * image.c (search_image_cache): Remove unused variable.
17016
170172007-06-13 Chong Yidong <cyd@stupidchicken.com>
17018
17019 * xfns.c, xmenu.c: Link to xaw3d if available.
17020
170212007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17022
17023 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
17024 frame_foreground and frame_background.
17025
17026 * image.c (lookup_image): Save frame foreground and background colors.
17027 (search_image_cache): Check if saved and current frame colors match.
17028
170292007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
17030
17031 * regex.c (regex_compile): Remove the `regnum' counter.
17032 Use bufp->re_nsub instead. Add support for \(?N:RE\).
17033
170342007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
17035
17036 * term.c: Include intervals.h to declare Fget_text_property.
17037
170382007-06-10 Jason Rumney <jasonr@gnu.org>
17039
17040 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
17041
170422007-06-08 Juanma Barranquero <lekktu@gmail.com>
17043
17044 * callint.c (Fcall_interactively):
17045 * editfns.c (Fdelete_and_extract_region):
17046 * fileio.c (Fread_file_name):
17047 * fns.c (Fmapconcat):
17048 * keyboard.c (cmd_error_internal):
17049 * keymap.c (Fkey_description):
17050 * lread.c (openp):
17051 * minibuf.c (read_minibuf):
17052 * search.c (wordify):
17053 * sunfns.c (sel_read):
17054 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
17055 * xfns.c (x_default_scroll_bar_color_parameter):
17056 * xmenu.c (menu_help_callback):
17057 * xselect.c (Fx_get_atom_name):
17058 * xterm.c (x_term_init): Use empty_unibyte_string.
17059
170602007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
17061
17062 * alloc.c (init_strings): Initialize canonical empty strings.
17063 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
17064 canonical empty string when the requested size is 0.
17065
17066 * emacs.c (empty_unibyte_string): Rename from empty_string.
17067 (empty_multibyte_string): New canonical empty string.
17068 (syms_of_emacs): Don't initialize empty_string.
17069
17070 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
17071 string, if appropriate.
17072 (empty_unibyte_string, empty_multibyte_string): New externs.
17073 (empty_string): Remove extern.
17074
17075 * lread.c (syms_of_lread): Use empty_unibyte_string.
17076
170772007-06-07 Jason Rumney <jasonr@gnu.org>
17078
17079 * s/ms-w32.h: Don't define HAVE_TZNAME.
17080
17081 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
17082
170832007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17084
17085 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
17086
17087 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
17088 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
17089
17090 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17091 Don't call next handler.
17092 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
17093 Remove argument. Install handler to application.
17094 (set_frame_menubar): Don't change deep_p.
17095 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
17096 FRAME_OUTER_TO_INNER_DIFF_Y.
17097 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17098 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17099 [HAVE_DIALOGS]: New macros.
17100 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17101 Use them.
17102 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17103
17104 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17105 init_service_handler. All callers changed. Return OSStatus value.
17106
17107 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17108 All callers changed so as not to call SetPortWindowPort.
17109 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17110 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17111 mac_draw_string_common.
17112 (mac_draw_image_string_qd): Likewise.
17113 (mac_draw_string_common): Use them. Add INLINE.
17114 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17115 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17116 GetGlobalMouse.
17117 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17118 and FRAME_OUTER_TO_INNER_DIFF_Y.
17119 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17120 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17121 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17122 repositioning window to mac_handle_window_event.
17123 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17124 saving window location to mac_handle_window_event
17125 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17126 (install_menu_target_item_handler): Remove argument in extern.
17127 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17128 Also accept command events.
17129 (do_keystroke): New function created from XTread_socket.
17130 (init_command_handler): Remove functions.
17131 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17132 and save window location by kEventWindowShowing and kEventWindowHiding
17133 handlers here. Don't call next handler for window state change and
17134 focus events.
17135 (mac_handle_application_event, mac_handle_keyboard_event)
17136 [TARGET_API_MAC_CARBON]: New functions.
17137 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17138 kEventWindowShowing and kEventWindowHiding events. Move installation
17139 of mouse, font, text input and menu target item handlers to
17140 install_application_handler.
17141 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17142 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17143 New function.
17144 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17145 Register it.
17146 (XTread_socket) [TARGET_API_MAC_CARBON]:
17147 Consolidate SendEventToEventTarget calls.
17148 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17149 Move application activation handler to mac_handle_application_event.
17150 Move keyboard handler to mac_handle_keyboard_event.
17151 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17152 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17153 init_command_handler. Call install_application_handler.
17154
17155 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17156 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17157
171582007-06-07 Glenn Morris <rgm@gnu.org>
17159
17160 * emacs.c (main): Use `emacs-copyright' in --version output.
17161
171622007-06-06 Chong Yidong <cyd@stupidchicken.com>
17163
17164 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17165
171662007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17167
17168 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17169
17170 * macgui.h: Replace WindowPtr with WindowRef.
17171
17172 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17173 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17174 Replace ControlHandle with ControlRef.
17175 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17176
17177 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17178 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17179 Replace ControlHandle with ControlRef.
17180 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17181 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17182
17183 * macterm.h (struct scroll_bar): Rename member control_handle_low
17184 and control_handle_high to control_ref_low and control_ref_high.
17185 All uses changed.
17186 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17187 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17188 respectively. All uses changed.
17189 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17190 (install_window_handler, remove_window_handler): Replace WindowPtr
17191 with WindowRef in externs.
17192
171932007-06-05 Juanma Barranquero <lekktu@gmail.com>
17194
17195 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17196
171972007-06-03 Nick Roberts <nickrob@snap.net.nz>
17198
17199 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17200
17201 * frame.c (Fmouse_position, Fmouse_pixel_position):
17202 Condition on HAVE_GPM too.
17203
17204 * term.c (term_mouse_highlight): Remove unused variables.
17205 (Fterm_open_connection): Set gpm_zerobased to 1.
17206 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17207 Use zero based co-ordinates.
17208 (handle_one_term_event): Report a drag as mouse movement too.
17209
17210 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17211
172122007-06-03 Chong Yidong <cyd@stupidchicken.com>
17213
17214 * image.c (search_image_cache): New function. Require background
17215 color match if background color is unspecified in the image spec.
17216 (uncache_image, lookup_image): Use it.
17217
172182007-06-01 Juanma Barranquero <lekktu@gmail.com>
17219
17220 * window.c (Fshrink_window): Reflow docstring.
17221
172222007-06-02 Chong Yidong <cyd@stupidchicken.com>
17223
17224 * Version 22.1 released.
17225
172262007-06-01 Richard Stallman <rms@gnu.org>
17227
17228 * xfns.c (x_encode_text): Add GCPRO.
17229
172302007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17231
17232 * xfns.c (x_set_name_internal): Save encoded name before
17233 x_encode_text in case string data is relocated.
17234
172352007-05-31 Richard Stallman <rms@gnu.org>
17236
17237 * buffer.c (syms_of_buffer): Doc fix.
17238
172392007-05-30 Nick Roberts <nickrob@snap.net.nz>
17240
17241 * sysdep.c (init_sys_modes): Add rather than replace with
17242 O_NONBLOCK.
17243
17244 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17245 term_mouse_moveto.
17246
17247 * termhooks.h (term_mouse_moveto): New extern.
17248
17249 * term.c (mouse_face_window): Rename...
17250 (Qmouse_face_window): ...to this.
17251 (term_show_mouse_face, term_clear_mouse_face)
17252 (term_mouse_highlight): Use Qmouse_face_window.
17253 (term_mouse_moveto): New function.
17254 (term_mouse_position): Make it work.
17255 (syms_of_term): Uncomment assignment to mouse_position_hook.
17256 Staticpro Qmouse_face_window.
17257
172582007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17259
17260 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17261 around current_column call.
17262
172632007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17264
17265 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17266 * xdisp.c (next_element_from_buffer):
17267 * window.c (delete_window):
17268 * term.c (term_mouse_highlight):
17269 * msdos.c (getdefdir):
17270 * macterm.c (mac_create_bitmap_from_bitmap_data)
17271 (init_font_name_table):
17272 * fns.c (Fsxhash):
17273 * data.c (Fmake_local_variable):
17274 * ccl.c (ccl_driver): Likewise.
17275
172762007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17277
17278 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17279 Call mac_wakeup_from_rne on window size change.
17280
172812007-05-25 Chong Yidong <cyd@stupidchicken.com>
17282
17283 * image.c (uncache_image): Fix typo.
17284
172852007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17286
17287 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17288
172892007-05-22 Richard Stallman <rms@gnu.org>
17290
17291 * xterm.c (x_connection_closed): Remove NO_RETURN.
17292
172932007-05-22 Martin Rudalics <rudalics@gmx.at>
17294
17295 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17296
172972007-05-21 Chong Yidong <cyd@stupidchicken.com>
17298
17299 * image.c (uncache_image): New function.
17300 (Fimage_refresh): New function.
17301
173022007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17303
17304 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17305
173062007-05-20 Nick Roberts <nickrob@snap.net.nz>
17307
17308 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17309 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17310
173112007-05-20 Nick Roberts <nickrob@snap.net.nz>
17312
17313 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17314 conditional on [HAVE_GPM_H].
17315
173162007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17317
17318 * syntax.c (skip_chars): Update syntax-table only after we checked that
17319 the new location is valid.
17320
173212007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17322
17323 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17324 mac_get_window_bounds.
17325
173262007-05-20 Nick Roberts <nickrob@snap.net.nz>
17327
17328 * Makefile.in (LIBGPM): Allow it to be set from configure.
17329 If set then link Emacs with it.
17330
17331 * config.in: Regenerate.
17332
17333 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17334 New externs.
17335
17336 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17337 Include gpm.h.
17338 (handle_one_term_event, term_gpm): New externs.
17339
17340 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17341 and allow it to be interrupted by SIGIO.
17342
17343 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17344 (wait_reading_process_output): Wait on gpm_fd too.
17345 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17346 (add_gpm_wait_descriptor_called_flag): New variable.
17347 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17348
17349 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17350 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17351 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17352 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17353 (make_lispy_event): Add case GPM_CLICK_EVENT.
17354 (read_avail_input): Handle mouse input.
17355
17356 * term.c (write_glyphs_with_face): New function.
17357 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17358 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17359 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17360 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17361 (last_mouse_x, last_mouse_y): New variables.
17362 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17363 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17364 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17365 (Fterm_close_connection): New functions.
17366 (term_init): Initialise mouse_face_window.
17367
173682007-05-19 Chong Yidong <cyd@stupidchicken.com>
17369
17370 * xdisp.c (redisplay_window): If first window line is a
17371 continuation line, recompute the new window start instead of
17372 recentering.
17373
173742007-05-18 Glenn Morris <rgm@gnu.org>
17375
17376 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17377 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17378
173792007-05-17 Glenn Morris <rgm@gnu.org>
17380
17381 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17382
173832007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17384
17385 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17386 dead key repeat and up events.
17387
173882007-05-14 Chong Yidong <cyd@stupidchicken.com>
17389
17390 * image.c (pbm_load): Check image size for monochrome pbm.
17391
173922007-05-13 Chong Yidong <cyd@stupidchicken.com>
17393
17394 * xterm.c (XTread_socket): Revert last change.
17395
173962007-05-12 Chong Yidong <cyd@stupidchicken.com>
17397
17398 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17399
17400 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17401
174022007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17403
17404 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17405 mixup (YAILOM).
17406
174072007-05-07 Andreas Schwab <schwab@suse.de>
17408
17409 * keymap.c (Flookup_key): Fix typo in last change.
17410
174112007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17412
17413 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17414 mapping for unibyte strings.
17415
174162007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17417
17418 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17419 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17420
174212007-04-29 Richard Stallman <rms@gnu.org>
17422
17423 * insdel.c (replace_range): For undo, record insertion first.
17424
174252007-04-29 Andreas Schwab <schwab@suse.de>
17426
17427 * lisp.h (VECSIZE): Use OFFSETOF.
17428
174292007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17430
17431 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17432 disabled lines.
17433
174342007-04-28 Richard Stallman <rms@gnu.org>
17435
17436 * lread.c (read_escape): In a string, \s is always space.
17437
174382007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17439
17440 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17441
17442 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17443 submenu for menu bar items.
17444
17445See ChangeLog.10 for earlier changes.
17446
17447;; Local Variables:
17448;; coding: utf-8
17449;; add-log-time-zone-rule: t
17450;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17451;; End:
17452
76b6f707 17453 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17454
17455 This file is part of GNU Emacs.
17456
17457 GNU Emacs is free software: you can redistribute it and/or modify
17458 it under the terms of the GNU General Public License as published by
17459 the Free Software Foundation, either version 3 of the License, or
17460 (at your option) any later version.
17461
17462 GNU Emacs is distributed in the hope that it will be useful,
17463 but WITHOUT ANY WARRANTY; without even the implied warranty of
17464 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17465 GNU General Public License for more details.
17466
17467 You should have received a copy of the GNU General Public License
17468 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17469
17470;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40