* nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog. \n \n* nsmenu.m...
[bpt/emacs.git] / src / ChangeLog
CommitLineData
ba301db3
AR
12009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
2
3 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
4
5 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
6 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
7 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
8
9 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
10 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
11
51d861de
SM
122009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
13
14 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
15 invisible areas.
16
7fed8996
JR
172009-02-12 Jason Rumney <jasonr@gnu.org>
18
631ea4fb
JR
19 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
20 (add_font_entity_to_list): Call check_face_name even when family
21 is unspecified.
22
cb4a3e42
JR
23 * w32term.c (x_display_pixel_height, x_display_pixel_width):
24 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 25 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 26
7fed8996 27 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 28 raster fonts. (Bug#2219)
7fed8996 29
895416e3
KH
302009-02-12 Kenichi Handa <handa@m17n.org>
31
32 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
33 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
34 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 35 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
36 (find_automatic_composition): While looking forward and backward,
37 check static composition. Fix where to stop looking forward.
38 (composition_adjust_point): Fix checking of static composition.
39 (Fcomposition_get_gstring): Pay attention to
1dacf998 40 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
41
42 * lisp.h (fast_looking_at): Extern it.
43
44 * search.c (fast_looking_at): New function.
45
51d861de 46 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
47 <struct glyph>.u.cmp.to.
48 (append_composite_glyph): Likewise.
49
51d861de 50 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
51 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
52 composition.
51d861de 53 (append_composite_glyph): Adjust for the change of
895416e3
KH
54 <strcut glyph>.u.cmp.to.
55
8510724d
JB
562009-02-11 Juanma Barranquero <lekktu@gmail.com>
57
58 * casetab.c (init_casetab_once):
59 * coding.c (ALLOC_CONVERSION_WORK_AREA):
60 * font.c (font_update_lface):
61 * fontset.c (Fnew_fontset):
62 * ftfont.c (ftfont_drive_otf):
63 * xfont.c (xfont_open):
64 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
65
294fa707
SM
662009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
67
68 * fileio.c (Fwrite_region): !NILP -> CONSP.
69
b5bfebec
AS
702009-02-10 Andreas Schwab <schwab@suse.de>
71
72 * process.c (send_process): Properly relocate pointer into data
adab88bd 73 when using encoded data. (Bug#2272)
b5bfebec 74
cb84a2be
KH
752009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
76
77 * coding.c (detect_coding_charset): Fix previous change.
78
89e09428
JR
792009-02-08 Jason Rumney <jasonr@gnu.org>
80
81 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 82 disappeared while hourglass was displayed. (Bug #2193)
89e09428 83
4470a277
AS
842009-02-07 Andreas Schwab <schwab@suse.de>
85
86 * unexelf.c (unexec): Fix error message.
87
3175b12a
AR
882009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
89
90 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 91 when modal window is active. (Bug #2152)
3175b12a
AR
92 (applicationShouldTerminate:): Remove now-unneeded while loop
93 around NSRunAlertPanel.
94
95 * nsmenu.m (popupSession): New file-global variable.
96 (pop_down_menu): End the popupSession before closing dialog.
97 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
98 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
99 don't query NSApp for events (just sleep instead).
100
8434d0b8
EZ
1012009-02-07 Eli Zaretskii <eliz@gnu.org>
102
51d861de
SM
103 * coding.c (syms_of_coding) <translation-table-for-input>:
104 Modify doc string to discourage use for character code unification.
8434d0b8 105
aa82edfd
CY
1062009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
107
108 * atimer.c (run_timers): Update pending_atimers.
109
2d283c7c
CY
1102009-02-06 Chong Yidong <cyd@stupidchicken.com>
111
eb306cab
CY
112 * image.c (svg_load_image): Fix last change.
113
2d283c7c
CY
114 * xfns.c (Fx_create_frame): Signal an error if no font is
115 found (Bug#2147).
116
4d8e170e
JB
1172009-02-05 Juanma Barranquero <lekktu@gmail.com>
118
119 * character.c (syms_of_character) <script-representative-chars>:
120 Fix typo in docstring.
121
c96169a0
AR
1222009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
123
124 * nsmenu.m (pop_down_menu): New function.
125 (ns_popup_dialog): Call it on unwind.
126 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
127 call timer_check() (Bug#2154).
128 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
129 handling_signal is set.
130 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
131
132 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
133
134 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
135
136 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
137
51d861de
SM
138 * keyboard.c (poll_for_input_1, handle_async_input):
139 Set handling_signal under HAVE_NS.
c96169a0 140
aacd8ba1
GM
1412009-02-04 Glenn Morris <rgm@gnu.org>
142
143 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
144
4cb75c4b
KH
1452009-02-04 Kenichi Handa <handa@m17n.org>
146
147 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
148
149 * charset.c (Fchar_charset): New optional arg restriction.
150
151 * coding.h (coding_system_charset_list): Extern it.
152
153 * coding.c (coding_system_charset_list): New function.
154
155 * composite.c: Include coding.h and termhooks.h.
156 (composition_gstring_p): Fix for the terminal case.
157 (composition_gstring_width): Likewise.
158 (fill_gstring_body): Likewise.
159 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
160 the frame.
161 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
162 is within a composition.
163 (Fcomposition_get_gstring): Fix the the terminal case.
164
165 * term.c (encode_terminal_code): Fix handling of composition.
166 (produce_composite_glyph): For static composition, get pixel_width
167 from struct composition.
168
826ba17e
AS
1692009-02-02 Andreas Schwab <schwab@suse.de>
170
171 * unexelf.c (unexec): Handle unaligned bss offset.
172
8ad093db
AR
1732009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
174
175 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
176 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 177
8ad093db
AR
178 * keyboard.c (handle_interrupt): Don't call
179 quit_throw_to_read_char() under NS.
d0a76a6e 180
8ad093db
AR
181 * blockinput.h: Remove NS-specific code.
182
4d18a7a2
DN
1832009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
184
db878925
DN
185 * dispnew.c (window_change_signal): Don't try to get the size of a
186 suspended tty frame.
187 * term.c (Fresume_tty): Resize if the size has changed while the
188 tty was suspended.
189
4d18a7a2
DN
190 * alloc.c (mark_stack): Properly conditionalize previous change.
191
8984df7c
JB
1922009-01-30 Juanma Barranquero <lekktu@gmail.com>
193
194 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
195 * w32term.c (w32_read_socket) [SYNC_INPUT]:
196 Remove; this code is not used on Windows.
197
75f4f1ac
EZ
1982009-01-30 Eli Zaretskii <eliz@gnu.org>
199
200 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
201 EOLs that also has stray ^M characters.
202
07a1e794
JB
2032009-01-30 Juanma Barranquero <lekktu@gmail.com>
204
205 * atimer.c (run_timers, alarm_signal_handler):
206 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
207 * w32inevt.c (w32_console_read_socket):
208 * w32term.c (w32_read_socket):
209 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
210
a8b11cc9
CY
2112009-01-30 Chong Yidong <cyd@stupidchicken.com>
212
213 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
214 Initialize it as a relative filename pattern.
215 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
216 (Fcall_process_region): Simplify temp file creation using
217 temporary-file-directory.
218
c279587b
EZ
2192009-01-29 Eli Zaretskii <eliz@gnu.org>
220
221 * msdos.c: Rename pending_signals to msdos_pending_signals.
222 (sig_suspender, sigprocmask): Adjust.
223
a8fe3242
CY
2242009-01-29 Chong Yidong <cyd@stupidchicken.com>
225
226 * keyboard.c (pending_signals): New var.
227 (poll_for_input, input_available_signal, init_keyboard): Set it.
228 (process_pending_signals): New function.
229
230 * lisp.h (QUIT): Check pending_signals instead of
231 interrupt_input_pending. Use process_pending_signals.
232
51d861de 233 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 234
51d861de 235 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
236
237 * sysdep.c (emacs_write): Use process_pending_signals.
238
239 * xterm.c (XTread_socket): Update pending_signals.
240
241 * w32term.c (w32_read_socket): Update pending_signals.
242
243 * w32inevt.c (w32_console_read_socket): Update pending_signals.
244
6570a1c4
KH
2452009-01-29 Kenichi Handa <handa@m17n.org>
246
247 * xftfont.c (xftfont_has_char): New function.
248 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
249
d72a4afa
AR
2502009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
251
252 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
253 under GNUstep.
254 (ns_query_color): New declaration.
255
256 * nsterm.m (ns_confirm_quit): New variable.
257 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
258 (EmacsApp-applicationShouldTerminate:): Use it.
259 (EmacsPrefsController): Let user set it.
260 (ns_query_color): New function.
261 (ns_defined_color): Use it.
262 (ns_initialize): Drop.
263 (ns_term_init): Add two lines from ns_initialize(), and set
264 input_interrupt_mode to nil.
265
266 * image.c (svg_load_image): Don't right-shift background RGB when
267 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
268
9fe78804
KH
2692009-01-28 Kenichi Handa <handa@m17n.org>
270
271 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
272 (fontset_get_font_group): Remember that no font-group is specified
273 for C.
9fe78804 274
fa57de36
CY
2752009-01-27 Chong Yidong <cyd@stupidchicken.com>
276
930600e9
CY
277 * fns.c (concat): Check for string overflow (bug#1787).
278
fa57de36
CY
279 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
280 Quadruple undo limits (bug#1501).
281
7179ce7b
KH
2822009-01-27 Kenichi Handa <handa@m17n.org>
283
284 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
285 directly use GT_Get_Char_index.
286
287 * xftfont.c (struct xftfont_info): New member `index'.
288
289 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 290 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 291
5be8fcc0
CY
2922009-01-26 Kenichi Handa <handa@m17n.org>
293
294 * fontset.c (fontset_find_font): Fix handling of non-cons return
295 value of fontset_get_font_group.
296 (fontset_font): Revert last change.
297
19ae3e61
JR
2982009-01-26 Jason Rumney <jasonr@gnu.org>
299
300 * w32font.c (w32font_list_internal): Return quickly if registry is
301 unknown. Simplify final return.
302 (add_font_entity_to_list): Break complex logic down into more
303 manageable chunks. Move unknown registry check to
304 w32font_list_internal.
305
8612b71a
AR
3062009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
307
308 Changes to remove Feval calls from GUI under NS.
309
d8038940
JB
310 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
311 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
312 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
313
314 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
315 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
316 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
317 instead of NON_ASCII_KEYSTROKE_EVENT.
318 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
319 (EmacsApp-applicationShouldTerminate:): Query user.
320 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
321 instead of Feval.
322
323 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
324
325 * keyboard.c (kbd_buffer_get_event): Check for it.
326 (keys_of_keyboard): Define lispy keys for
327 ns-put/unput-working-text.
328
329 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
330 versions.
331 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
332
6288ae55
CY
3332009-01-25 Chong Yidong <cyd@stupidchicken.com>
334
335 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 336 setting current_buffer directly. (Bug#2044)
6288ae55 337
289e7f8f
CY
3382009-01-24 Chong Yidong <cyd@stupidchicken.com>
339
5ce87308 340 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 341 any work. (Bug#1952, bug#1990).
5ce87308 342
64cc3cf6 343 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 344
b3243e6f
AR
3452009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
346
347 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
348 (ns_no_defaults): New declaration.
349 (main): Use it.
e0d2e69a 350
d900b2af 351 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 352
d900b2af 353 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 354
d900b2af
AR
355 * nsterm.m (ns_no_defaults): New variable.
356 (ns_initialize): Don't read defaults when ns_no_defaults.
357 (EmacsView-readSelectionFromPasteboard:)
358 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 359 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
360 (ns_dumpglyphs_stretch): New function.
361 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 362 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 363
e0d2e69a
AR
364 * nsimage.m (setPixmapData:): Set to ignore image DPI.
365
3ac71f5d
CY
3662009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
367
368 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
369 call for Sparc64.
370
3fe53a83
AR
3712009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
372
373 * nsfns.m:
374 * nsgui.h:
375 * nsmenu.m:
376 * nsselect.m:
377 * nsterm.h:
378 * nsterm.m: Remove '23' comments that indicated code added during
379 update from emacs-20 -> emacs-23.
380
10f87c6f 3812009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
382
383 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 384 ns_alternate_modifier. (Bug#1217)
a3b53a85 385
c7cef62d
AR
386 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
387 Display all shortcuts, including those w/o super modifier.
388
575fb8bd
AR
389 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
390
918b848b
CY
3912009-01-22 Chong Yidong <cyd@stupidchicken.com>
392
393 * fileio.c (Vwrite_region_post_annotation_function)
394 (Vwrite_region_annotation_buffers): New vars.
395 (build_annotations_unwind): Just reset
396 Vwrite_region_annotation_buffers.
397 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
398 Call write-region-post-annotation-function.
399 (build_annotations): Add to Vwrite_region_annotation_buffers if
400 buffer changes.
401
a39e2539
AR
4022009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
403
404 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
405 Tiger.
51d861de
SM
406 * nsfns.m (ns_do_applescript):
407 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 408
35ed44db
AR
4092009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
410
411 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
412
cbe0b5bf
AR
4132009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
414
415 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 416
6049d3a0
AR
417 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
418
419 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
420 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
421 handle Ctrl-tab. (Bug#1841)
422 (ns_get_color): Use unsigned long long for scanned hex string value.
423 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 424 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 425 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 426 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 427 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 428 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 429 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 430
d3810c21 431 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 432 DPI. (Bug#1316)
d3810c21
AR
433 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
434 values in onTiger section.
4c7077c3 435
e301e634
CY
4362009-01-19 Chong Yidong <cyd@stupidchicken.com>
437
7f82490b
CY
438 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
439 Check return value of font_spec_from_name.
64cc3cf6 440 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
441
442 * font.c (font_spec_from_name): Return Qnil if font name could not
443 be parsed.
444 (font_parse_name): Treat a `?' character as part of an XLFD.
445
e301e634
CY
446 * fns.c (Fsubstring): Doc fix.
447
1c0db158
KH
4482009-01-19 Kenichi Handa <handa@m17n.org>
449
51d861de 450 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
451 (ftfont_list): Likewise.
452
acf20901
JB
4532009-01-18 Juanma Barranquero <lekktu@gmail.com>
454
fff4e459
JB
455 * dbusbind.c (Fdbus_register_signal):
456 * process.c (conv_sockaddr_to_lisp):
457 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
458
acf20901
JB
459 * callproc.c (Fgetenv_internal): Doc fix.
460
e7abcdfb
CY
4612009-01-16 Chong Yidong <cyd@stupidchicken.com>
462
463 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
464 it is not even used.
465
b60861e6
GM
4662009-01-16 Glenn Morris <rgm@gnu.org>
467
468 * font.c (Ffont_variation_glyphs): Silence compiler.
469
8db52afe
JB
4702009-01-15 Juanma Barranquero <lekktu@gmail.com>
471
472 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
473 Reported by David Robinow <drobinow@gmail.com>.
474
4cddb209
KH
4752009-01-15 Kenichi Handa <handa@m17n.org>
476
51d861de 477 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 478
f247f67b
JR
4792009-01-14 Jason Rumney <jasonr@gnu.org>
480
481 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 482 never a fontset. (Bug#1562)
f247f67b 483
f56a4450
KH
4842009-01-14 Kenichi Handa <handa@m17n.org>
485
486 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 487 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 488
4e99855e
CY
4892009-01-13 Chong Yidong <cyd@stupidchicken.com>
490
491 * font.c (font_clear_prop): If clearing the family, clear the font
492 width index too.
493
fff4e459 494 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 495
24f01470
JB
4962009-01-12 Juanma Barranquero <lekktu@gmail.com>
497
498 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
499 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
500 functions, use sizeof.
501
a41240a3
MR
5022009-01-12 Martin Rudalics <rudalics@gmx.at>
503
504 * keyboard.c (read_char): Fix case where last_nonmenu_event
505 returned a bad value with submenus. (Bug#447)
506
944636b8
CY
5072009-01-12 Chong Yidong <cyd@stupidchicken.com>
508
509 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
510 family, clear the font width index too.
511
0dad7c6f
JR
5122009-01-11 Jason Rumney <jasonr@gnu.org>
513
514 * keyboard.c (cmd_error_internal): Exit when errors occur before
515 frame creation and not in daemon mode. (Bug#1836)
516
7c2363af
CY
5172009-01-10 Chong Yidong <cyd@stupidchicken.com>
518
519 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
520 of a display vector, backtrack.
521 (try_window_reusing_current_matrix): Check glyph type before
522 referencing charpos member.
523
97b1b294
EZ
5242009-01-10 Eli Zaretskii <eliz@gnu.org>
525
526 Fix Bug #876:
527
528 * coding.c (inhibit_null_byte_detection): New variable.
529 (detect_coding, detect_coding_system): Don't pay attention to null
530 bytes if inhibit_null_byte_detection is non-zero.
51d861de 531 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
532 <inhibit-iso-escape-detection>: Doc fix.
533
4624b6e3
JR
5342009-01-09 Jason Rumney <jasonr@gnu.org>
535
536 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 537 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
538 Only report Unicode Plane 2 fonts as unicode-sip.
539
323b840c
CY
5402009-01-09 Chong Yidong <cyd@stupidchicken.com>
541
51d861de
SM
542 * xfaces.c (Fx_font_family_list): Delete function.
543 Move compatibility version to faces.el.
323b840c 544
51d861de 545 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 546
eba7400d
MR
5472009-01-09 Martin Rudalics <rudalics@gmx.at>
548
549 * frame.c (x_set_frame_parameters): Remember requested value for
550 fullscreen before it's reset by the parameter handler.
551
4b09796d
GM
5522009-01-09 Glenn Morris <rgm@gnu.org>
553
554 * keyboard.c (last_command_char): For clarity, rename to...
555 (last_command-event): ... and update all users.
556 (last_input_char): For clarity, rename to...
557 (last_input_event): ... and update all users.
558 (last-command-char, last-input-char): Move to subr.el as aliases.
559 * cmds.c, commands.h: Update for last_command_char rename.
560
14ccea62
CY
5612009-01-08 Chong Yidong <cyd@stupidchicken.com>
562
51d861de 563 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 564
5f004711
JR
5652009-01-08 Jason Rumney <jasonr@gnu.org>
566
567 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
568 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
569 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
570 Don't declare.
fff4e459 571 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
572 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
573
b71f6f73
KH
5742009-01-07 Kenichi Handa <handa@m17n.org>
575
50b06221 576 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 577 remember the coding system used for decoding in
50b06221
KH
578 coding_system (Bug#1039).
579
b71f6f73 580 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 581 breaking the loop. (Bug#870)
b71f6f73
KH
582 (decode_coding_utf_16, decode_coding_emacs_mule)
583 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
584 (decode_coding_charset): Likewise.
585
56f668f7
MR
5862009-01-05 Martin Rudalics <rudalics@gmx.at>
587
588 * frame.c (x_set_frame_parameters): Make sure height (width) get
589 applied when fullwidth (fullheight) is set. (Bug#1522)
590
5da9424d
JB
5912009-01-04 Juanma Barranquero <lekktu@gmail.com>
592
593 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
594 (utc_base): Declare as ULONGLONG, not long double.
595 (convert_time_raw): Delete.
596 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
597 (initialize_utc_base): New function.
598 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
599 (convert_from_time_t): Use initialize_utc_base; compute result with
600 64-bit arithmetic.
601 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
602
c4605e09
EZ
6032009-01-03 Eli Zaretskii <eliz@gnu.org>
604
9acef61c 605 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
606 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
607 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
608 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
609 [!subprocesses]: Define.
610 (syms_of_process) [!subprocesses]: Intern and staticpro them.
611 (Flist_system_processes, Fsystem_process_attributes)
612 [!subprocesses]: Call list_system_processes and
613 system_process_attributes instead of returning Qnil.
614
9acef61c
JB
615 * dosfns.c (system_process_attributes, list_system_processes):
616 New functions.
c4605e09
EZ
617
618 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
619
620 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
621 Don't use the default (no-op) implementation.
622
8b7d0a16
JR
6232009-01-03 Jason Rumney <jasonr@gnu.org>
624
a6d46bc1
JR
625 * keyboard.c (parse_modifiers_uncached): Wheel events are
626 clicks (bug#687).
627
8b7d0a16
JR
628 * w32term.c (x_query_colors, x_query_color): New functions.
629
630 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
631 (svg_load_image): Cast returned pointers from dynamically loaded
632 functions. Eliminate W32 specific code.
633
bfe11752
DN
6342009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
635
89e2438a
DN
636 * nsfns.m (x_set_foreground_color, x_set_background_color)
637 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
638 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
639 x_ prefix instead of ns_. Update references.
640 (syms_of_nsfns): Add a FIXME comment.
641
642 * nsterm.m (x_set_cursor_type): New prototype.
643 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
644
bfe11752
DN
645 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
646 for Solaris instead of incorrectly providing Qutime and Qcutime.
647
031da700
EZ
6482009-01-02 Eli Zaretskii <eliz@gnu.org>
649
650 * w32.c (process_times): Compute sum of utime and stime.
651 (system_process_attributes): Add Qtime to the alist.
652
653 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
654 and add them to the alist.
655
656 * process.c (top level) <Qtime, Qctime>: New variables.
657 (syms_of_process): staticpro them.
658 (Fsystem_process_attributes): Add their documentation to the doc
659 string.
660
661 * process.h: Declare Qtime and Qctime.
662
df23bf08
JR
6632009-01-02 Jason Rumney <jasonr@gnu.org>
664
9acef61c 665 * image.c (Qgobject): New symbol.
df23bf08
JR
666 (syms_of_image): Initialize it.
667 (init_svg_functions): Load some functions from gobject library.
668
5bbdf7aa
DN
6692009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
670
671 * frame.c (make_terminal_frame): Remove redundant code and useless
672 block.
673
63136da6
AS
6742009-01-01 Andreas Schwab <schwab@suse.de>
675
676 * process.c (conv_sockaddr_to_lisp): Add workaround for
677 getsockname bug on BSD.
678
9ef69046
CY
6792009-01-01 Chong Yidong <cyd@stupidchicken.com>
680
d6fafbe0
CY
681 * xfns.c (x_create_tip_frame): Set border width of the X window.
682
51d861de 683 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 684
f9c34147
JR
6852009-01-01 Jason Rumney <jasonr@gnu.org>
686
9acef61c 687 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
688 Don't block input, as per earlier xterm.c changes.
689
f5497e45
AR
6902008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
691
692 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
693 (ns_appkit_version_int): New function.
694 (x-server-version): Use ns_appkit_version_int and follow 21+
695 convention of returning 3 integers.
696
c19cab20
KH
6972008-12-30 Kenichi Handa <handa@m17n.org>
698
699 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
700 (CHAR_SURROGATE_PAIR_P): New macro.
701
702 * font.h (struct font_driver): New member get_variation_glyphs.
703
9acef61c 704 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
705 (Ffont_variation_glyphs): New function.
706 (syms_of_font): Defsubr it.
707
708 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
709 ftfont_variation_glyphs.
710 (setup_otf_gstring): New function.
711 (ftfont_drive_otf): Use it.
712 (ftfont_shape_by_flt): Handle variation selector.
713 (ftfont_variation_glyphs): New function.
714
28cd591f
MR
7152008-12-30 Martin Rudalics <rudalics@gmx.at>
716
717 * frame.c (Vemacs_iconified): Remove.
718
7f714baf
JR
7192008-12-30 Jason Rumney <jasonr@gnu.org>
720
721 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 722 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 723
9d2d22ab
CY
7242008-12-30 Chong Yidong <cyd@stupidchicken.com>
725
726 * indent.c (Fvertical_motion): Don't advance iterator if we have
727 reseated to the desired position.
728
729 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
730 checking for pos match.
731
545312c2
KH
7322008-12-30 Kenichi Handa <handa@m17n.org>
733
1ede3eb6
KH
734 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
735 just get the low 8-bit of the code.
736
545312c2
KH
737 * font.c (font_intern_prop): Validate str as multibyte.
738
bd7bbf29
DN
7392008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
740
31e0750e
DN
741 * dispextern.h (struct face): Move lface and hash from the middle
742 of bitfields.
743
bd7bbf29
DN
744 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
745
b5672e7c
DN
7462008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
747
748 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
749 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
750 instead of intervals.h.
751
d704470f
AS
7522008-12-26 Andreas Schwab <schwab@suse.de>
753
754 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
755 cons.
756
54b33868
MR
7572008-12-26 Martin Rudalics <rudalics@gmx.at>
758
759 * textprop.c (Qminibuffer_prompt): New variable.
760 (syms_of_textprop): Initialize it.
761 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
762 in minibuffer-prompt face. (Bug#1662)
763
40b615d6
JR
7642008-12-25 Jason Rumney <jasonr@gnu.org>
765
766 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
767
baae5c2d
JR
7682008-12-24 Jason Rumney <jasonr@gnu.org>
769
770 * ralloc.c (r_alloc_reset_variable): New function.
771
772 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 773 record of what points where. (Bug#716)
baae5c2d 774
a9051c88
DN
7752008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
776
777 * minibuf.c (read_minibuf): Follow the non-interactive case when
778 running as a daemon, before detaching.
779
8b146312
AS
7802008-12-22 Andreas Schwab <schwab@suse.de>
781
782 * buffer.c (init_buffer): Use realloc instead of xrealloc.
783 * gtkutil.c (free_widget_value): Use xfree instead of free.
784
56f2de10
MR
7852008-12-22 Martin Rudalics <rudalics@gmx.at>
786
787 * frame.c (delete_frame): New function derived from
788 Fdelete_frame to handle Qnoelisp value for FORCE argument.
789 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
790 (Fdelete_frame): Call delete_frame. Remove line from doc-string
791 saying that FORCE non-nil doesn't run `delete-frame-functions'.
792 * frame.h: Extern delete_frame.
793 * window.c (window_loop):
794 * terminal.c (delete_terminal):
795 * xterm.c (x_connection_closed):
796 * xfns.c (Fx_hide_tip):
9acef61c 797 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 798
1fc200d6
JR
7992008-12-21 Jason Rumney <jasonr@gnu.org>
800
801 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
802 when character maps to .notdef character.
803
5e252df2
SM
8042008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
805
806 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
807
99b72cc4
JR
8082008-12-20 Jason Rumney <jasonr@gnu.org>
809
810 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 811 a graphical frame on Windows. (Bug#1325)
99b72cc4 812
acc49a52
JD
8132008-12-20 Jan Djärv <jan.h.d@swipnet.se>
814
815 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
816
6ea15123
CY
8172008-12-20 Chong Yidong <cyd@stupidchicken.com>
818
819 * minibuf.c (Fread_buffer): Doc fix.
820
b2dab6c8
JR
8212008-12-20 Jason Rumney <jasonr@gnu.org>
822
54ea0c87 823 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 824 server name in UNC paths. (Bug#719)
54ea0c87 825
b2dab6c8 826 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 827 charbuf. (Bug#1035)
b2dab6c8 828
6d1921be
DN
8292008-12-19 Daniel Engeler <engeler@gmail.com>
830
831 * sysdep.c (serial_configure): Fix typo.
832
53934c98
DN
8332008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
834
835 * sysdep.c: Include alloca.h.
f4f634e8
DN
836 (system_process_attributes): Add implementation for Solaris.
837
838 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 839
06e111a6
DN
8402008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
841
842 Reorganize implementation of Flist_system_processes and
843 Fsystem_process_attributes. No functional changes.
844 * process.c: Don't #include pwd.h, grp.h and limits.h.
845 (Flist_system_processes): Just call list_system_processes.
846 (Fsystem_process_attributes): Just call system_process_attributes.
847 (procfs_list_system_processes, time_from_jiffies)
848 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
849 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
850
851 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
852 (list_system_processes): Rename from
853 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
854 Provide a do nothing implementation.
855 (system_process_attributes): Rename from
856 procfs_list_system_processes.
857 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 858 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
859
860 * w32.c (list_system_processes): Rename from
861 w32_list_system_processes.
862 (system_process_attributes): Rename from
863 w32_system_process_attributes.
864
865 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
866
867 * process.h (w32_list_system_processes)
868 (w32_system_process_attributes): Remove.
869 (list_system_processes, system_process_attributes): New
870 prototypes.
871
6a705b23
KH
8722008-12-19 Kenichi Handa <handa@m17n.org>
873
874 * xfont.c (xfont_decode_coding_xlfd): New function.
875 (xfont_encode_coding_xlfd): New function.
876 (xfont_list_pattern): Decode XLFD by iso-8859-1.
877 (xfont_list): Decode and encode XLFD by iso-8859-1.
878 (xfont_match): Likewise.
879 (xfont_list_family): Likewise.
880 (xfont_open): Likewise.
881
d66c0241 882 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
883 names are utf-8.
884
d66c0241 885 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
886 names are utf-8.
887
5a130941
JD
8882008-12-18 Jan Djärv <jan.h.d@swipnet.se>
889
890 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
891 changed.
bfd20325
JD
892 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
893 clicked on a detached tool bar button.
5a130941 894
fd95644b
DN
8952008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
896
897 * emacs.c (main): Print and error and exit when no data is read
898 from the pipe.
899
e6eee6ae
JR
9002008-12-17 Jason Rumney <jasonr@gnu.org>
901
902 * w32font.c (w32font_has_char): Always return -1.
903
a35dd56b
KH
9042008-12-16 Kenichi Handa <handa@m17n.org>
905
906 * font.c (font_open_entity): Fix previous change.
907
0e3635c2
DN
9082008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
909
910 * process.c: Include <limits.h>.
911
d4835507 9122008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
913
914 * font.c (font_update_drivers): Fix mistake in reconstructing the
915 driver list.
916
9172008-12-16 Chong Yidong <cyd@stupidchicken.com>
918
919 * font.c (font_clear_cache): Fix format of font cache data.
920
e2cbc401
CY
9212008-12-15 Chong Yidong <cyd@stupidchicken.com>
922
923 * xftfont.c (xftfont_open): Free Xft font pattern if
924 XftFontOpenPattern fails.
925
926 * xterm.c (x_free_frame_resources): Remove extraneous call to
927 free_frame_faces.
928
b131d535
CY
9292008-12-13 Chong Yidong <cyd@stupidchicken.com>
930
931 * xterm.c (x_delete_display): Move xim_close_dpy call to
932 x_delete_terminal.
933 (x_delete_terminal): Call xim_close_dpy.
934
e6df5336
JR
9352008-12-13 Jason Rumney <jasonr@gnu.org>
936
937 * w32font.c (intern_font_name): New function.
938 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
939 (w32font_open_internal, Fx_select_font): Decode font name.
940 (fill_in_logfont, list_all_matching_fonts): Encode font name.
941
942 * w32font.h (intern_font_name): Declare new function.
943
944 * w32uniscribe.c (add_opentype_font_name_to_list):
945 Use intern_font_name.
946
20d68145
CY
9472008-12-13 Chong Yidong <cyd@stupidchicken.com>
948
9f2554de
CY
949 * frame.c (Fdelete_frame): Call free_font_driver_list.
950
3d9bec9a
CY
951 * font.c (free_font_driver_list): Implement missing function.
952
20d68145
CY
953 * w32term.c (w32_term_init): Don't initialize the image cache
954 here; it will be done in init_frame_faces.
955
956 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
957 (struct x_display_info): Remove unused member null_pixel. New
958 member xim_callback_data.
959
960 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
961 (xim_initialize): Save pointer to callback function data.
962 (xim_close_dpy): Free callback function data. Call XCloseIM,
963 reverting 2008-11-04 change by David Smith.
964 (x_term_init): Don't initialize the image cache here; it will be
965 done in init_frame_faces. Remove ancient "null_pixel" cruft.
966 (x_delete_display): Free x_dnd_atoms member.
967
96f9306b
KH
9682008-12-13 Kenichi Handa <handa@m17n.org>
969
6dec9044
JB
970 * font.c (font_rescale_ratio): Moved from xfaces.c.
971 Argument type changed. Handle a font-spec too.
96f9306b 972 (font_score): Check Vface_font_rescale_alist.
6dec9044 973 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
974
975 * xfaces.c (font_rescale_ratio): Moved to font.c.
976
8d5b4964
CY
9772008-12-13 Chong Yidong <cyd@stupidchicken.com>
978
979 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
980
e6df5336
JR
9812008-12-12 Jason Rumney <jasonr@gnu.org>
982
983 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
984 Vwindow_system_version to the real w32 major version.
985
97c6058a
DN
9862008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
987
988 * term.c (init_tty): Move setting the terminal name before the
989 potential user: maybe_fatal.
990
ec4e88d7
CY
9912008-12-11 Chong Yidong <cyd@stupidchicken.com>
992
d4835507
JB
993 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
994 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 995
b4233ec9
JR
9962008-12-11 Jason Rumney <jasonr@gnu.org>
997
8ec71e23 998 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 999 SYMBOL_CHARSET. (Bug#547)
8ec71e23 1000
b4233ec9 1001 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 1002 size for surrogates. (Bug#1096, bug#872)
b4233ec9 1003
011a0143
JB
10042008-12-11 Juanma Barranquero <lekktu@gmail.com>
1005
1006 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
1007
3c309f34
JB
10082008-12-11 Juanma Barranquero <lekktu@gmail.com>
1009
1010 * process.c (Fsystem_process_attributes, syms_of_process):
1011 Fix typo in name of Ssystem_process_attributes.
1012 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
1013
fedc6ab5
JB
10142008-12-11 Juanma Barranquero <lekktu@gmail.com>
1015
1016 * syntax.c (Fmodify_syntax_entry): Doc fix.
1017
ba3de0e8
JB
10182008-12-10 Juanma Barranquero <lekktu@gmail.com>
1019
1020 * font.c (Ffont_spec): Move usage to end of docstring.
1021
174f1c74
JR
10222008-12-10 Jason Rumney <jasonr@gnu.org>
1023
1024 * w32font.c (Qcham): New symbol.
1025 (font_supported_scripts): Add cham, and comments for other new
1026 scripts in bitfield from OpenType spec.
9d32f818
JR
1027 (add_font_entity_to_list): Limit unicode-sip fonts to those that
1028 contain characters beyond the bmp.
174f1c74 1029
7b649478
KH
10302008-12-10 Kenichi Handa <handa@m17n.org>
1031
1032 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 1033 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
1034 Qunicode_sip.
1035
2133e2d1
JB
10362008-12-10 Juanma Barranquero <lekktu@gmail.com>
1037
1038 * coding.c (QCdefault_char): Rename from QCdefalut_char.
1039 (Fcoding_system_put): Use QCdefault_char.
1040 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
1041
9af886ee
CY
10422008-12-09 Chong Yidong <cyd@stupidchicken.com>
1043
74d819eb
CY
1044 * xftfont.c (syms_of_xftfont): Fix typo.
1045
4ccfa1c0 1046 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 1047
7c19d3ae
DN
10482008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
1049
1050 * emacs.c (main): Close daemon_pipe on exec.
1051
567826bb
CY
10522008-12-08 Chong Yidong <cyd@stupidchicken.com>
1053
1054 * termchar.h (struct tty): New members termcap_term_buffer and
1055 termcap_strings_buffer.
1056
1057 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 1058 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
1059 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
1060 All callers changed.
1061 (init_tty): Store termcap data and string buffers in new struct
1062 tty members termcap_term_buffer and termcap_strings_buffer.
1063 (delete_tty): Free them.
4ccfa1c0 1064 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 1065
aa96c42b
SZ
10662008-12-07 Seiji Zenitani <zenitani@mac.com>
1067
1068 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 1069 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 1070
b7e1d896
CY
10712008-12-06 Chong Yidong <cyd@stupidchicken.com>
1072
1073 * coding.c (make_conversion_work_buffer): Disable buffer
1074 modification hooks in the work buffer.
1075
b5ec91a5
EZ
10762008-12-05 Eli Zaretskii <eliz@gnu.org>
1077
1078 * process.c (procfs_system_process_attributes): If `nread' has a
1079 negative value, assign zero to it.
1080
a5d2a52b
CY
10812008-12-05 Chong Yidong <cyd@stupidchicken.com>
1082
68c5540b 1083 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 1084
7bf1bb21
KH
10852008-12-05 Kenichi Handa <handa@m17n.org>
1086
1087 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
1088 second character is a combining character.
1089
2fdc7d00
EZ
10902008-12-05 Eli Zaretskii <eliz@gnu.org>
1091
1092 * process.c (procfs_system_process_attributes): Don't use cmd,
1093 cmdsize, and q without initializing them first.
1094
bf6bfba8
JR
10952008-12-04 Jason Rumney <jasonr@gnu.org>
1096
1097 * w32font.c (w32font_draw): Initialize orig_clip before getting
1098 it, and delete it when finished.
1099
a3b1a468
DN
11002008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
1101
1102 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
1103 case when running as a daemon before detaching.
1104
8b8be8eb
JB
11052008-12-03 Juanma Barranquero <lekktu@gmail.com>
1106
805f2638 1107 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 1108
b1bde622
KH
11092008-12-03 Kenichi Handa <handa@m17n.org>
1110
e500c47d
KH
1111 * font.c (font_at): Set `multibyte' at first.
1112
ca516334
KH
1113 * coding.c (decode_coding_charset): Check type of an element of
1114 vector VALIDS.
7bf1bb21 1115 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 1116
4ccfa1c0 1117 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
1118 (font_for_char): Likewise.
1119
1e5ecd37
CY
11202008-12-03 Chong Yidong <cyd@stupidchicken.com>
1121
d5b01609 1122 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
1123 (font_update_lface): Handle fonts with corrupted size specs,
1124 i.e. non-int and non-float.
d5b01609 1125
11e3a6e4 1126 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 1127 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 1128 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 1129
ab06788b
CY
1130 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
1131
1e5ecd37 1132 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 1133 underline_minimum_offset for underline position.
1e5ecd37 1134
63c125ab
DN
11352008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
1136
1137 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
1138
1139 * character.c (c_string_width): Specify the type for LEN.
1140
3a8406e1
KH
11412008-12-03 Kenichi Handa <handa@m17n.org>
1142
4ccfa1c0 1143 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 1144 (decode_coding_utf_8): Likewise.
4ccfa1c0 1145 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 1146 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 1147
651df7d9
CY
11482008-12-02 Chong Yidong <cyd@stupidchicken.com>
1149
1150 * keyboard.c (make_lispy_position): Only use PT if the selected
1151 window is current.
1152
1f625c6c
AS
11532008-12-02 Andreas Schwab <schwab@suse.de>
1154
f7741ce9
AS
1155 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
1156
1f625c6c
AS
1157 * doprnt.c (doprnt1): Fix size of charbuf.
1158
92bc2678
CY
11592008-12-02 Chong Yidong <cyd@stupidchicken.com>
1160
1161 * keyboard.c (timer_check): Revert last change.
1162
93b9e8cc
JB
11632008-12-02 Juanma Barranquero <lekktu@gmail.com>
1164
1165 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
1166
fd7a37d5
JB
11672008-12-01 Juanma Barranquero <lekktu@gmail.com>
1168
1169 * makefile.w32-in: Update dependencies.
1170 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
1171
c115043b
AS
11722008-12-01 Andreas Schwab <schwab@suse.de>
1173
1174 * font.c (register_font_driver): Use xmalloc.
1175 (font_put_frame_data): Likewise.
1176
f5668d2a
CY
11772008-12-01 Chong Yidong <cyd@stupidchicken.com>
1178
860d96be
CY
1179 * xfaces.c (realize_x_face): Make abort condition clearer.
1180
f5668d2a
CY
1181 * gtkutil.c (update_frame_tool_bar): Initialize variable.
1182
379c17e7
CY
11832008-11-30 Chong Yidong <cyd@stupidchicken.com>
1184
1185 * keyboard.c (timer_check): After a timer runs, ensure that the
1186 selected window's buffer is current.
1187
35f36d65
JB
11882008-11-30 Juanma Barranquero <lekktu@gmail.com>
1189
f952c61c
JB
1190 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1191 It was accidentally restored by the Unicode merge.
1192
35f36d65
JB
1193 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1194
b23077df
JB
11952008-11-29 Juanma Barranquero <lekktu@gmail.com>
1196
1197 * w32proc.c: Include "coding.h".
1198 (Fw32_short_file_name): Encode filename passed to Windows API.
1199 (Fw32_long_file_name): Encode filename passed to Windows API and
1200 decode back the result. (Bug#1433)
1201
b8ebe9dd
KH
12022008-11-29 Kenichi Handa <handa@m17n.org>
1203
8cc53f96
KH
1204 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1205 not before accessing it.
1206
b8ebe9dd
KH
1207 * charset.c (Fdefine_charset_internal): After calculating
1208 min_char, max_char, and fastmap, copy the charset structure again.
1209 (encode_char): Fix the previous change.
1210
59bc82c0
SZ
12112008-11-28 Seiji Zenitani <zenitani@mac.com>
1212
1213 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1214
1215 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1216
1217 * nsterm.m (x_set_frame_alpha): New function.
1218
32247e3d
EZ
12192008-11-27 Eli Zaretskii <eliz@gnu.org>
1220
1221 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1222
b003e5ff
JB
12232008-11-27 Juanma Barranquero <lekktu@gmail.com>
1224
1225 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1226 pointer to check_face_name.
1227
708550f5
KH
12282008-11-27 Kenichi Handa <handa@m17n.org>
1229
1230 * category.h (SET_CATEGORY_SET): Call set_category_set.
1231 (set_category_set): Extern it.
1232
1233 * category.c (hash_get_category_set): New function.
1234 (Fmodify_category_entry): Adjusted for the change of
1235 char_table_ref_and_range. Call hash_get_category_set to get a
1236 category set to store in the table.
1237
1238 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1239 Funify_charset.
1240
2ae37cf0 1241 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
1242 (DECODE_CHAR): Check if the decoder vector is ready.
1243 (ENCODE_CHAR): Check if the encoder char-table is ready.
1244 (maybe_unify_char): Extern it.
1245
1246 * charset.c (Vchar_unified_charset_table): Delete it.
1247 (inhibit_load_charset_map): New variable.
1248 (temp_charset_work): New variable.
1249 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1250 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1251 New macros.
1252 (load_charset_map): Meaning of control_flag changed. If
1253 inhibit_load_charset_map is nonzero, setup a table in
1254 temp_charset_work.
1255 (load_charset): New argument control_flag.
1256 (map_charset_for_dump): New function.
1257 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1258 map_charset_for_dump.
1259 (Fdefine_charset_internal): If the charset method is MAP, load
1260 mapping tables by calling load_charset.
1261 (Funify_charset): Don't load a mapping table but directly set
1262 Vchar_unify_table.
1263 (maybe_unify_char): New function.
1264 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1265 Handle the case of inhibit_load_charset_map being nonzero.
1266 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1267 Handle the case of inhibit_load_charset_map being nonzero.
1268 (Fclear_charset_maps): Just free temp_charset_work.
1269 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1270 variable.
1271
1272 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1273 change of char_table_ref_and_range.
1274 (char_table_ref_and_range): Change the meaning of argument FROM
1275 and TO. Now the caller must provide initial values for *FROM
1276 and *TO.
1277
1278 * fontset.c (fontset_add): Adjusted for the change of
1279 char_table_ref_and_range.
1280 (fontset_get_font_group): Likewise.
1281 (Ffontset_info): Likewise.
1282
1283 * keymap.c (describe_vector): Adjusted for the change of
1284 char_table_ref_and_range. For char-table, put boundary between
1285 non-ASCII and 8-bit characters.
1286
1287 * print.c (print_object): For bool-vector, delete unnecessary
1288 check of ASCII_BYTE_P.
1289
9196133b
JR
12902008-11-26 Jason Rumney <jasonr@gnu.org>
1291
1292 * w32font.c (w32font_open_internal): Don't include external
9acef61c 1293 leading in font height. (Bug#879)
9196133b 1294
9f688acf
GM
12952008-11-26 Glenn Morris <rgm@gnu.org>
1296
1297 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1298 redefinition with ifdef. (Bug#1383)
1299
90d19aff
AR
13002008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1301
1302 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1303
4ccfa1c0 13042008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
1305
1306 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1307 New EmacsView methods.
1308 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1309 Fixes bug #1048,1357,1414.
1310
13112008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1312
1313 Fix bug #1362.
1314 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1315 is not an indexed color.
1316 * nsterm.m (free_indexed_color): Add argument checking.
1317 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1318
e7d5ecb3
CY
13192008-11-24 Chong Yidong <cyd@stupidchicken.com>
1320
1321 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1322 Document confirm-after-completion value for
1323 minibuffer-completion-confirm.
1324
c285743c
JR
13252008-11-24 Jason Rumney <jasonr@gnu.org>
1326
1327 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1328 warning.
1329
b0857706
JR
13302008-11-23 Jason Rumney <jasonr@gnu.org>
1331
1332 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1333 restored before returning.
1334
1335 * w32font.c (check_face_name): New function.
1336 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1337 fonts. (Bug#642)
b0857706 1338
ee50ff07
MR
13392008-11-22 Martin Rudalics <rudalics@gmx.at>
1340
1341 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1342 confirm-nonexistent-file-or-buffer in doc-string.
1343
b8ff72fa
SM
13442008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1345
1346 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1347 Fix copy/paste typo. Add checks.
1348
cee53ed4
KH
13492008-11-21 Kenichi Handa <handa@m17n.org>
1350
1351 * coding.c (detect_coding_iso_2022): Reject invalid composition
1352 sequence.
1353 (DECODE_COMPOSITION_START): If the current source is the last
1354 block, and the current composition doesn't end, regard this
1355 sequence as invalid.
1356 (decode_coding_iso_2022): Handle invalid composition sequence.
1357
f6ef1e65
MR
13582008-11-20 Martin Rudalics <rudalics@gmx.at>
1359
1360 * window.c (coordinates_in_window): Don't return
1361 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1362 line when the window is not the rightmost one. (Bug#1372)
1363
e08b1705
MR
13642008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1365
1366 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1367
ad98e89f
EZ
13682008-11-15 Eli Zaretskii <eliz@gnu.org>
1369
1370 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1371 and bright_bg if noninteractive is non-zero.
1372
fb098a4b
CY
13732008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1374
1375 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1376 x_draw_glyph_string_background.
1377
1378 * w32term.c (x_draw_glyph_string): Likewise.
1379
ce952b6e
CY
13802008-11-15 Chong Yidong <cyd@stupidchicken.com>
1381
1382 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1383 the next glyph string once past the overhang width.
1384
1385 * nsterm.m (ns_draw_glyph_string): Likewise.
1386
1387 * w32term.c (x_draw_glyph_string): Likewise.
1388
26ea7079
CY
13892008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1390
1391 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1392 double file close.
1393
1c33c906
MR
13942008-11-14 Martin Rudalics <rudalics@gmx.at>
1395
1396 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1397 dedicated status of window before attempting to display another
1398 buffer in it.
1399
8fc29035
JB
14002008-11-14 Juanma Barranquero <lekktu@gmail.com>
1401
1402 * msdos.c (Fmsdos_long_file_names):
1403 (syms_of_msdos) <dos-unsupported-char-glyph>:
1404 * dosfns.c (Fint86): Fix typos in docstrings.
1405
55fb4286
EZ
14062008-11-14 Eli Zaretskii <eliz@gnu.org>
1407
1408 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1409
3fda0315
KY
14102008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1411
1412 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1413
7e849c17
CY
14142008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1415
1416 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1417
1418 * frame.h: Negative alpha means "don't touch".
1419
1420 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1421
1422 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1423
b9fd67bd
DN
14242008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1425
1426 * hftctl.c:
1427 * chpdef.h:
1428 * acldef.h: Remove files used only for systems no longer supported.
1429
1430 * Makefile.in: Fix .o alphabetical ordering.
1431 (hftctl.o): Remove dependency, file removed.
1432 (keymap.o, print.o): Depend on charset.h.
1433
d5998e03
KH
14342008-11-10 Kenichi Handa <handa@m17n.org>
1435
2ae37cf0 1436 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1437
be70e183
CY
14382008-11-08 Chong Yidong <cyd@stupidchicken.com>
1439
1440 * dired.c (file_name_completion): If completion_ignore_case is
1441 enabled, ignore case when checking completion-regexp-list.
1442
7cf94eac
EZ
14432008-11-08 Eli Zaretskii <eliz@gnu.org>
1444
1445 * vm-limit.c (get_lim_data): Fix last change.
1446
ee107a89
KH
14472008-11-08 Kenichi Handa <handa@m17n.org>
1448
1449 * character.c (Fget_byte): New function.
1450 (syms_of_character): Defsubr Fget_byte.
1451
5fd15622
CY
14522008-11-07 Chong Yidong <cyd@stupidchicken.com>
1453
1454 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1455 cursor position is valid after scrolling.
1456
13d62fad
JB
14572008-11-06 Juanma Barranquero <lekktu@gmail.com>
1458
1459 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1460
a1dd2936
GM
14612008-11-06 Glenn Morris <rgm@gnu.org>
1462
1463 * xterm.c (handle_one_xevent): Don't let popup menus cause
1464 mouse-autoselect-window related window switching. (Bug#1261)
1465
860cd236
CY
14662008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1467
1468 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1469
653a3150
AS
14702008-11-04 Andreas Schwab <schwab@suse.de>
1471
1472 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1473
870f5cac
CY
14742008-11-03 Chong Yidong <cyd@stupidchicken.com>
1475
1476 * xfns.c (Fx_wm_set_size_hint): New function.
1477
1e02f3cb
MR
14782008-11-03 Martin Rudalics <rudalics@gmx.at>
1479
1480 * textprop.c (Fprevious_single_char_property_change): Return 0
1481 when there's no change in a string. (Bug#1301)
1482
e630dfc6
MR
14832008-11-02 Martin Rudalics <rudalics@gmx.at>
1484
1485 * frame.c (do_switch_frame): New argument NORECORD passed to
1486 Fselect_window.
1487 (Fselect_frame): New argument NORECORD passed to
1488 do_switch_frame.
1489 (Fset_frame_selected_window): New argument NORECORD passed to
1490 Fselect_frame.
1491 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1492 in call of do_switch_frame.
1493 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1494 Handle NORECORD argument in call of Fselect_frame.
1495 * lisp.h (do_switch_frame, Fselect_frame)
1496 (Fset_frame_selected_window): Adjust declarations.
1497 * window.c (select_frame_norecord): New function.
1498 (run_window_configuration_change_hook): Use it and call
1499 Fselect_frame with NORECORD set.
1500 (Fselect_window): Pass NORECORD to Fselect_frame.
1501 (Fset_window_configuration): Handle NORECORD argument in call of
1502 do_switch_frame.
1503 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1504 Fset_frame_selected_window.
1505 * keyboard.c (command_loop_1): Handle NORECORD in call of
1506 Fselect_frame (currently ifdefd).
1507
9020b223
GM
15082008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1509
1510 * emacs.c (USAGE2): Untabify.
1511
793ffee8
SM
15122008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1513
1514 * composite.c (fill_gstring_header): Fix copy/paste typo.
1515
ab6d1131
MR
15162008-10-31 Martin Rudalics <rudalics@gmx.at>
1517
1518 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1519 (Fother_window): Rename argument and rewrite doc-string.
1520 (select_window_norecord): Fix return value. (Bug#1276)
1521
601a9cf1
JB
15222008-10-30 Juanma Barranquero <lekktu@gmail.com>
1523
1524 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1525 new frames overriding foreground for tooltips. Based on similar patch
1526 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1527
813b0652
CY
15282008-10-29 Chong Yidong <cyd@stupidchicken.com>
1529
1530 * emacs.c (Fdaemon_initialized): Initialize nfd.
1531
4414f58f
MR
15322008-10-29 Martin Rudalics <rudalics@gmx.at>
1533
1534 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1535 (Fwindow_text_height): Clarify doc-strings.
1536 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1537 doc-string of window-scroll-functions.
1538
ecdcaa09
RS
15392008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1540
1541 * category.c (syms_of_category): Fix typo in docstring.
1542
23fe745a
JB
15432008-10-28 Juanma Barranquero <lekktu@gmail.com>
1544
1545 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1546 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1547 Fix typos in docstrings.
1548
ff808935
DN
15492008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1550
1551 * emacs.c (daemon_pipe): Make non-static.
1552 (IS_DAEMON): Move definition ...
1553 * lisp.h (IS_DAEMON): ... here.
1554 (daemon_pipe): Declare.
1555 (is_daemon): Remove.
1556 * dispnew.c (init_display): Use IS_DAEMON.
1557
fc012771
SM
15582008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1559
1560 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1561 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1562
1563 * emacs.c (is_daemon): Remove.
1564 (main): Don't set is_daemon.
1565 (IS_DAEMON): New macro.
1566 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1567 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1568 parent exits.
1569 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1570
d8bdbe6f
CY
15712008-10-27 Chong Yidong <cyd@stupidchicken.com>
1572
d1a072bf
CY
1573 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1574 over-sized glyph, draw it with the default glyph width.
1575
e2e325aa
CY
1576 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1577 glyph, draw it with the default glyph width.
1578
1579 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1580 glyph, draw it with the default glyph width.
1581
d8bdbe6f
CY
1582 * xdisp.c (try_scrolling): When computing the distance from the
1583 scroll margin to PT, try moving some distance past the window
1584 bottom before giving up.
1585
7bfac547
MR
15862008-10-27 Martin Rudalics <rudalics@gmx.at>
1587
1588 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1589 (Fset_window_buffer): Explain in doc-string that a window can be
1590 "strongly" dedicated to its buffer.
1591
4ff029f6
DN
15922008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1593
1594 * emacs.c (daemon_name): New variable.
1595 (main): Deal with --daemon=SERVER_NAME.
1596 (Fdaemonp): Return a name if one was passed to --daemon.
1597
5790ef40
DN
15982008-10-26 Romain Francoise <romain@orebokech.com>
1599
f9bd0df9 1600 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1601 (main): Create a pipe before forking, make the parent exit only after
1602 the child has closed its end of the pipe. Move closing the
1603 descriptors ...
1604 (Fdaemon_initialized): ... here. New function.
1605
f5385255
SM
16062008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1607
4d632321
SM
1608 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1609 the previous unoptimized table.
1610
f5385255
SM
1611 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1612 the distinction between non-nil and non-t value of `dedicated'.
1613
6c56a0f3
CY
16142008-10-25 Chong Yidong <cyd@stupidchicken.com>
1615
1616 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1617 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1618
fec89261
MR
16192008-10-25 Martin Rudalics <rudalics@gmx.at>
1620
1621 * window.c (Fget_buffer_window, Fdelete_windows_on)
1622 (Freplace_buffer_in_windows): Make buffer argument optional and
1623 rename to buffer_or_name.
1624
34fcddd0
CY
16252008-10-24 Chong Yidong <cyd@stupidchicken.com>
1626
f5385255
SM
1627 * xdisp.c (handle_single_display_spec, handle_display_prop):
1628 Undo 2005-05-16 change.
34fcddd0
CY
1629 (handle_stop): Pop iterator if it's loaded with an empty string.
1630 (get_overlay_strings_1): Don't save iterator if it's loaded with
1631 an empty string (bug#1201).
1632
064766f2
KH
16332008-10-24 Kenichi Handa <handa@m17n.org>
1634
1635 * ftfont.c (ftfont_otf_features): Fix previous change.
1636 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1637 calling ftfont_otf_features.
1638
f9bd0df9 16392008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1640
1641 * font.c (font_match_p): Fix for the case that a vector of
1642 characters is in script-representative-chars.
1643
1dae9197
MA
16442008-10-24 Michael Albinus <michael.albinus@gmx.de>
1645
1646 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1647 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1648 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1649 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1650 macro. (Bug#1186).
1651
f9bd0df9 16522008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1653
1654 * s/sol2-10.h: New file.
1655
878a4584
JB
16562008-10-23 Juanma Barranquero <lekktu@gmail.com>
1657
1658 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1659 poor beast has survived 9+ years and the jump from xterm.c!).
1660
cd265ca6
MR
16612008-10-23 Martin Rudalics <rudalics@gmx.at>
1662
1663 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1664 Reword doc-string.
f5385255 1665 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1666
472a4dc9
JB
16672008-10-23 Juanma Barranquero <lekktu@gmail.com>
1668
1669 * character.c (syms_of_character) <script-representative-chars>:
1670 <unicode-category-table>: Doc fixes.
1671
159bd5a2
NF
16722008-10-23 Noah Friedman <friedman@splode.com>
1673
1674 * coding.c (make_conversion_work_buffer): Check that
1675 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1676 Fget_buffer_create.
1677
49f9c344
KH
16782008-10-23 Kenichi Handa <handa@m17n.org>
1679
1680 * font.c (font_add_log): Check the values of extra properties.
1681
12bb3111
MR
16822008-10-22 Martin Rudalics <rudalics@gmx.at>
1683
1684 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1685 Reword doc-string.
1686 (Fset_window_parameter): Use NILP.
1687 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1688 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1689
bbeb4e99
JB
16902008-10-22 Juanma Barranquero <lekktu@gmail.com>
1691
1692 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1693
16942008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1695
1696 * nsfns.m (ns_appkit_version): New function.
1697 (x-server-version): Use it.
1698 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1699 (x-server-vendor): Don't check_ns().
1700
1701 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1702
a9b555d3
JB
17032008-10-22 Juanma Barranquero <lekktu@gmail.com>
1704
1705 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1706 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1707
4626499f
KH
17082008-10-22 Kenichi Handa <handa@m17n.org>
1709
e3681952
KH
1710 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1711 scripts.
1712
4626499f
KH
1713 * category.c (word_boundary_p): Check scripts instead of charset.
1714 Handle nil value in word-separating-categories and
1715 word-combining-categories.
1716 (syms_of_category): Fix docstrings of word-separating-categories
1717 and word-combining-categories.
1718
1560f91a
EZ
17192008-10-21 Eli Zaretskii <eliz@gnu.org>
1720
1721 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1722 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1723
f4668441
MR
17242008-10-21 Martin Rudalics <rudalics@gmx.at>
1725
1726 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1727 Rename arg "buffer" to "buffer_or_name".
1728 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1729 it optional.
1730 (no_switch_window): Remove since the return value is not used.
a9b555d3 1731 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1732 Consider window as dedicated when Fwindow_dedicated_p returns a
1733 non-nil value.
1734 * lisp.h: Remove prototype for no_switch_window.
1735
fd75ddb2
JD
17362008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1737
1738 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1739 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1740
07295713
KH
17412008-10-21 Kenichi Handa <handa@m17n.org>
1742
1743 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1744 check Vlatin_extra_code_table.
1745
712adc82
EZ
17462008-10-20 Eli Zaretskii <eliz@gnu.org>
1747
1748 * fileio.c (Fset_file_modes): Doc fix.
1749
f549eb0b
MA
17502008-10-19 Michael Albinus <michael.albinus@gmx.de>
1751
1752 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1753 in arrays.
1754
aac0c6e3
MR
17552008-10-19 Martin Rudalics <rudalics@gmx.at>
1756
1757 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1758 Mention kill-buffer in doc-string.
1759 (Fset_window_buffer): Reinsert tem check removed in last commit.
1760 (Fenlarge_window, Fshrink_window): Have argument names and
1761 doc-string follow Elisp manual more closely.
1762
17632008-10-18 Eli Zaretskii <eliz@gnu.org>
1764
1765 * fileio.c (Fset_file_modes): Doc fix.
1766
17672008-10-18 Martin Rudalics <rudalics@gmx.at>
1768
1769 * window.c (Fwindow_width, Fset_window_start)
1770 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1771 (Fdelete_windows_on, Freplace_buffer_in_windows):
1772 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1773 (Fwindow_dedicated_p): Make window argument optional.
1774 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1775 (Fset_window_buffer): Respect any non-nil dedicated value for
1776 window. Rename "buffer" argument to "buffer_or_name".
1777
17782008-10-18 Ulrich Mueller <ulm@gentoo.org>
1779
1780 * m/sh3.h: New file, machine description for SuperH.
1781
17822008-10-17 Martin Rudalics <rudalics@gmx.at>
1783
1784 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1785
17862008-10-17 Kenichi Handa <handa@m17n.org>
1787
1788 * ftfont.c (ftfont_otf_features): Fix indexing
1789 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1790
17912008-10-16 Magnus Henoch <mange@freemail.hu>
1792
1793 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1794 (Fdbus_call_method_asynchronously): Ditto.
1795 This change makes C-h f display the argument list.
1796
17972008-10-16 Chong Yidong <cyd@stupidchicken.com>
1798
1799 * fileio.c (Fexpand_file_name): Doc fix.
1800
1801 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1802 of :foreground and :background equivalent to unspecified (20.x
1803 compatibility).
1804
18052008-10-15 Eli Zaretskii <eliz@gnu.org>
1806
1807 * buffer.c (syms_of_buffer): Doc fix.
1808
18092008-10-14 Kenichi Handa <handa@m17n.org>
1810
1811 * font.c (font_clear_prop): When clearing font width, clear the
1812 average width field too.
1813
18142008-10-12 Andreas Schwab <schwab@suse.de>
1815
1816 * ftfont.c (ftfont_shape_by_flt): Make static.
1817 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1818
1819 * font.c: Don't include <m17n-flt.h>.
1820
18212008-10-10 Eli Zaretskii <eliz@gnu.org>
1822
1823 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1824
18252008-10-09 Eli Zaretskii <eliz@gnu.org>
1826
1827 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1828 away code.
1829
18302008-10-09 Chong Yidong <cyd@stupidchicken.com>
1831
1832 * dispnew.c (update_text_area): Avoid looping due to large glyph
1833 overhangs (bug#1070).
1834
18352008-10-09 Kenichi Handa <handa@m17n.org>
1836
1837 * fontset.c (face_for_char): If face->fontset is negative, just
1838 return ascii_face.
1839
f5385255
SM
1840 * font.c (font_delete_unmatched): Fix previous change.
1841 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1842
18432008-10-09 Martin Rudalics <rudalics@gmx.at>
1844
1845 * frame.c (Fraise_frame): On text-only terminals select frame in
1846 order to make it visible. (Bug#1061)
1847
18482008-10-08 Chong Yidong <cyd@stupidchicken.com>
1849
1850 * fontset.c (fontset_find_font): Check frame validity.
1851
18522008-10-07 Chong Yidong <cyd@stupidchicken.com>
1853
a9b555d3 1854 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1855 (xg_display_close): Allow Emacs to close all displays (bug#985).
1856
18572008-10-06 Andreas Schwab <schwab@suse.de>
1858
f5385255 1859 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1860
18612008-10-06 Chong Yidong <cyd@stupidchicken.com>
1862
f5385255 1863 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1864
a9b555d3 1865 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1866
1867 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1868 during initialization.
1869
18702008-10-04 Eli Zaretskii <eliz@gnu.org>
1871
1872 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1873 whole thing on MSDOS frames as well as on a TTY.
1874
1875 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1876 well as for TTY.
1877 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1878 well as on a TTY.
1879
1880 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1881 as well as for TTY.
1882
1883 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1884
1885 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1886 MSDOS frames as well.
1887
18882008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1889
1890 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1891 correct arguments.
1892 * menu.c (find_and_return_menu_selection) Add cast.
1893
18942008-10-03 Glenn Morris <rgm@gnu.org>
1895
1896 * emacs.c (USAGE1): Add --daemon.
1897
18982008-10-02 Eli Zaretskii <eliz@gnu.org>
1899
1900 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1901 100, so it's in percents as advertised.
1902
19032008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1904
1905 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1906 (ns_output.current_cursor, ns_output.desired_cursor)
1907 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1908 (FRAME_NEW_CURSOR_COLOR): Remove.
1909
1910 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1911 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1912 enumeration (HOLLOW_BOX_CURSOR, etc.).
1913
1914 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1915 (draw_window_cursor): Simplify code.
f5385255
SM
1916 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1917 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1918 updates manually.
a9b555d3
JB
1919 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1920 Use core Emacs cursor types.
aac0c6e3 1921
b8ff72fa 1922 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1923
19242008-10-02 Martin Rudalics <rudalics@gmx.at>
1925
1926 * process.c (Faccept_process_output): Fix doc-string.
1927
19282008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1929
1930 * gmalloc.c (__sbrk): Also define for uClibc.
1931
1932 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1933 for uClibc.
1934
19352008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1936
1937 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1938 styles.
1939 (nsfont_open): Reenable the cache.
1940
19412008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1942
1943 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1944 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1945
19462008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1947
1948 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1949 a suspended terminal.
1950
19512008-09-30 Michael Albinus <michael.albinus@gmx.de>
1952
1953 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1954
19552008-09-30 Eli Zaretskii <eliz@gnu.org>
1956
1957 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1958
19592008-09-30 Chong Yidong <cyd@stupidchicken.com>
1960
1961 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1962 in a continued line coincides with a line beginning.
1963
19642008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1965
1966 * nsfont.m (nsfont_trait_distance): Fix bug.
1967 (nsfont_list): Return a list rather than a vector (syncs with Handa
1968 changes of 2008-05-14).
1969 (nsfont_open): Improve logging.
1970
19712008-09-29 Andreas Schwab <schwab@suse.de>
1972
1973 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1974
19752008-09-28 Martin Rudalics <rudalics@gmx.at>
1976
1977 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1978 name as char-resolve-modifiers.
1979 Reported by: Markus Triska <markus.triska@gmx.at>
1980
19812008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1982
1983 * dispnew.c (init_display): Return earlier when running as a daemon.
1984
19852008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1986
1987 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1988
19892008-09-27 Eli Zaretskii <eliz@gnu.org>
1990
1991 * composite.c (Fcomposition_get_gstring)
1992 (Fcompose_region_internal, Fcompose_string_internal)
1993 (Ffind_composition_internal): Doc fix.
1994 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1995 (syms_of_composite) <auto-composition-function>: Doc fix.
1996 (syms_of_composite) <composition-function-table>: Doc fix.
1997
19982008-09-25 Chong Yidong <cyd@stupidchicken.com>
1999
2000 * search.c (wordify): New argument for lax word-ends.
2001 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
2002
20032008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
2004
2005 * lisp.h (is_daemon): Declare.
2006 * dispnew.c (init_display): Do not try to initialize the terminal
2007 when running as a daemon.
2008
20092008-09-22 Chong Yidong <cyd@stupidchicken.com>
2010
2011 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
2012 x_display_pixel_height.
2013
20142008-09-22 Martin Rudalics <rudalics@gmx.at>
2015
2016 * undo.c (record_point): Don't call Fundo_boundary for first
2017 change. (Bug#731)
2018
20192008-09-22 Juanma Barranquero <lekktu@gmail.com>
2020
2021 * emacs.c (Fdaemonp): Doc fix.
2022
20232008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
2024
2025 * emacs.c (main): Place #ifdef in the proper place.
2026
20272008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
2028
2029 * emacs.c (standard_args): Add --daemon.
2030 (main): Disconnect from the terminal when --daemon is passed.
2031 (is_daemon): New variable.
2032 (Fdaemonp): New function.
2033 (syms_of_emacs): Defsubr it.
2034
20352008-09-20 Chong Yidong <cyd@stupidchicken.com>
2036
2037 * xdisp.c (get_next_display_element): Handle string display
2038 correctly when checking for the end of a box run.
2039
20402008-09-20 Glenn Morris <rgm@gnu.org>
2041
2042 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
2043 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
2044 (Frename_file): Avoid copying to trash if a rename involves
2045 a delete. (Bug#964).
2046
20472008-09-20 Eli Zaretskii <eliz@gnu.org>
2048
2049 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
2050 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
2051 frames as well as termcap frames.
2052 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
2053 get_named_tty.
2054
20552008-09-19 Eli Zaretskii <eliz@gnu.org>
2056
2057 * process.c (procfs_system_process_attributes): Fix cmdline in
2058 case /proc/PID/cmdline is empty.
2059
2060 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
2061 x_display_pixel_height.
2062
20632008-09-19 Juanma Barranquero <lekktu@gmail.com>
2064
2065 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
2066
2067 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
2068 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
2069
20702008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
2071
2072 * dispextern.h (struct it): Move line_wrap away from the middle of
2073 bitfields. Move voffset in struct iterator_stack_entry after the
2074 bitfields. Move tab_width near after another short.
2075
20762008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
2077
2078 * frame.h (struct frame): Move alpha from the middle of bitfields.
2079
2080 * window.h (struct window): Move frozen_window_start_p after the
2081 rest of the bitfields to reduce padding.
2082
20832008-09-18 Chong Yidong <cyd@stupidchicken.com>
2084
2085 * xterm.h (x_display_info): Remove `height' and `width' members.
2086
2087 * nsterm.h (ns_display_info): Remove `height' and `width' members.
2088
2089 * w32term.h (w32_display_info): Remove `height', `width',
2090 `height_in', and `width_in' members.
2091
b8ff72fa
SM
2092 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2093 New functions.
aac0c6e3
MR
2094 (x_calc_absolute_position): Use them.
2095 (x_term_init): Omit removed `height' and `width' members.
2096
b8ff72fa
SM
2097 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2098 New functions.
aac0c6e3
MR
2099 (w32_read_socket, x_calc_absolute_position): Use them.
2100 (w32_initialize_display_info, w32_term_init): Omit removed members
2101 of w32_display_info.
2102
b8ff72fa
SM
2103 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
2104 New functions.
2105 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 2106
b8ff72fa
SM
2107 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2108 New functions.
aac0c6e3
MR
2109 (x_calc_absolute_position): Use them.
2110 (x_term_init): Omit removed `height' and `width' members.
2111
2112 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
2113 (compute_tip_xy):
2114 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
2115 * xmenu.c (menu_position_func): Use x_display_pixel_height and
2116 x_display_pixel_width.
2117
21182008-09-18 Kenichi Handa <handa@m17n.org>
2119
2120 * composite.c (fill_gstring_header): Don't check FROM and TO here.
2121 (composition_compute_stop_pos): Fix handling of static composition.
2122 (Fcomposition_get_gstring): Check FROM and TO at first.
2123
21242008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
2125
2126 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
2127 mixup (YAILOM).
2128
21292008-09-17 Chong Yidong <cyd@stupidchicken.com>
2130
2131 * indent.c (Fvertical_motion): Use position reported by iterator
2132 instead of PT for determining screen motion (bug#943).
2133
21342008-09-17 Romain Francoise <romain@orebokech.com>
2135
2136 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
2137
21382008-09-17 Kenichi Handa <handa@m17n.org>
2139
2140 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
2141
2142 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
2143 if necessary.
2144
21452008-09-16 Kenichi Handa <handa@m17n.org>
2146
2147 * coding.c (make_conversion_work_buffer): Avoid calling
2148 Fget_buffer_create if it is not necessary.
2149
21502008-09-15 Martin Rudalics <rudalics@gmx.at>
2151
2152 * window.c (Fselect_window): Don't update window_select_count and
2153 use_time when norecord is not nil.
2154
21552008-09-14 Kenichi Handa <handa@m17n.org>
2156
2157 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
2158 specpdl_ptr.
2159
21602008-09-12 Kenichi Handa <handa@m17n.org>
2161
2162 * indent.c (scan_for_column): Don't handle automatic composition
2163 if the current buffer is not associated with a window.
2164
2165 * composite.c (composition_reseat_it): If the current buffer is
2166 not associated with a window, ignore the automatic composition.
2167 (find_automatic_composition): Likewise.
2168
21692008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2170
2171 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
2172 (Fgpm_mouse_stop): Use it.
2173 * termhooks.h (close_gpm): Declare.
2174 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
2175 connection if Gpm_GetEvent fails.
2176
2177 * window.c (set_window_buffer): Always preserve current-buffer.
2178
21792008-09-12 Glenn Morris <rgm@gnu.org>
2180
2181 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
2182
21832008-09-11 Glenn Morris <rgm@gnu.org>
2184
2185 * charset.c (charset-map-path): Doc fix.
2186
21872008-09-10 Kenichi Handa <handa@m17n.org>
2188
2189 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2190
2191 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2192 compose a grapheme cluster with the preceding base glyph.
2193
2194 * composite.c (composition_compute_stop_pos): Fix previous change.
2195 Reset cmp_it->id to -1 at first.
2196
21972008-09-10 Glenn Morris <rgm@gnu.org>
2198
2199 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2200
22012008-09-09 Chong Yidong <cyd@stupidchicken.com>
2202
2203 * keyboard.c (read_key_sequence): Reapply translation maps when
2204 switching keyboards.
2205
22062008-09-09 Kenichi Handa <handa@m17n.org>
2207
2208 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2209 characters.
2210
2211 * composite.c (FORWARD_CHAR): Fix calculation
2212 of (POSITION).pos_byte.
2213 (composition_compute_stop_pos): Limit the search of composition to
2214 at most 500 characters ahead. If we reach the limit or find a
2215 newline, set cmp_it->ch to -2 and return 0.
2216 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2217
22182008-09-08 Kenichi Handa <handa@m17n.org>
2219
2220 * indent.c (Fvertical_motion): Be sure to set
2221 it_overshoot_expected if it.cmp_it.id is non-negative.
2222
22232008-09-07 Andreas Schwab <schwab@suse.de>
2224
2225 * callproc.c (Fcall_process): Don't hold references to string data
2226 across garbage collection. Move initialisation of new_argv down
2227 to avoid compiler bug.
2228
22292008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2230
2231 * process.c (Fsystem_process_attributes): Doc fix.
2232
22332008-09-07 Chong Yidong <cyd@stupidchicken.com>
2234
2235 * callproc.c (Fcall_process): Canonicalize current directory name.
2236
2237 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2238 iterator advances to the next line if the current line ends in a
2239 continued tab.
2240
22412008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2242
2243 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2244 member to point to cmp_from.
2245
2246 * xdisp.c: Doc fix for references to gidx data member.
2247
22482008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2249
2250 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2251
22522008-09-07 Kenichi Handa <handa@m17n.org>
2253
2254 * composite.c (FORWARD_CHAR): Check STOP after
2255 incrementing (POSITION).pos.
2256
22572008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2258
2259 * process.c (Fsystem_process_attributes): Doc fix.
2260
22612008-09-06 Chong Yidong <cyd@stupidchicken.com>
2262
2263 * keyboard.c (Ftop_level): Doc fix.
2264
22652008-09-06 Eli Zaretskii <eliz@gnu.org>
2266
2267 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2268 minibuffer, don't let lower part of menu invade the echo area.
2269
2270 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2271 "char *q" to access menu text and advance through it. Revert the
2272 change that displayed ">" instead of ASCII character 0x10.
2273
22742008-09-05 Eli Zaretskii <eliz@gnu.org>
2275
2276 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2277 toggle boxes and radio buttons on MS-DOS as well.
2278
22792008-09-05 Kenichi Handa <handa@m17n.org>
2280
2281 * composite.c (autocmp_chars): Check lookback count.
2282 (composition_compute_stop_pos): Set cmp_it->lookback.
2283 (composition_reseat_it): Check lookback count.
2284 (struct position_record): New struct.
2285 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2286 (find_automatic_composition): New function.
2287 (composition_adjust_point): Use find_automatic_composition.
2288
2289 * dispextern.h (struct composition_it): New member lookback.
2290
22912008-09-02 Chong Yidong <cyd@stupidchicken.com>
2292
2293 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2294 if moving by a single line.
2295
22962008-09-02 Andreas Schwab <schwab@suse.de>
2297
2298 * xterm.c (x_delete_display): Fix merge error.
2299
2300 * fileio.c (Fexpand_file_name): Remove unused variables.
2301
23022008-09-02 Eli Zaretskii <eliz@gnu.org>
2303
2304 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2305 storage on all platforms, not just on DOS_NT.
2306
23072008-09-02 Jason Rumney <jasonr@gnu.org>
2308
b8ff72fa
SM
2309 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2310 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
2311
23122008-09-01 Chong Yidong <cyd@stupidchicken.com>
2313
2314 * xfaces.c (Finternal_set_alternative_font_family_alist)
2315 (Finternal_set_alternative_font_registry_alist): Properly copy
2316 entire alist structure.
2317
23182008-09-01 Kenichi Handa <handa@m17n.org>
2319
d66c0241 2320 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 2321 representative chars of the script is a vector.
d66c0241
JB
2322 (ftfont_list): Handle the case where the representative chars of
2323 the script is a vector.
aac0c6e3
MR
2324
2325 * character.c (syms_of_character): Docstring of
2326 script-representative-chars fixed.
2327
23282008-08-31 Eli Zaretskii <eliz@gnu.org>
2329
2330 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2331 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2332 the menu. Allocate larger buffer for `text', to account for
2333 possible ^C characters.
2334
23352008-08-31 Martin Rudalics <rudalics@gmx.at>
2336
2337 * xdisp.c (prepare_menu_bars): Don't call
2338 Vwindow_size_change_functions with arg Qt.
2339
23402008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2341
2342 * font.h (font_range):
2343 * fileio.c (report_file_error):
2344 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2345
23462008-08-30 Glenn Morris <rgm@gnu.org>
2347
2348 * data.c (Fmake_variable_frame_local): Doc fix.
2349
2350 * frame.c (Fmodify_frame_parameters): Doc fix.
2351
23522008-08-30 Eli Zaretskii <eliz@gnu.org>
2353
2354 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2355 needed by GetTokenInformation.
2356 (w32_system_process_attributes): Check return values of all system
2357 APIs.
2358
2359 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2360 only when the state changes.
2361 (IT_update_begin, IT_update_end): Add termscript trace.
2362
2363 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2364 clipboard is unavailable. Set dst to NULL if it doesn't point to
2365 malloc'ed data.
2366 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2367 passing random values to xfree.
2368
2369 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2370 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2371
23722008-08-29 Jason Rumney <jasonr@gnu.org>
2373
2374 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2375
23762008-08-29 Eli Zaretskii <eliz@gnu.org>
2377
2378 * composite.c (fill_gstring_body): Avoid compiler warnings.
2379
2380 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2381 LGLYPH_SET_CODE to avoid compiler warnings.
2382
2ae37cf0 2383 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2384
2385 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2386
2387 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2388 LGLYPH_SET_CODE.
2389
23902008-08-29 Kenichi Handa <handa@m17n.org>
2391
2392 * fileio.c (report_file_error): Don't downcase the first character
2393 of errstring if it is still unibyte.
2394
23952008-08-29 Kenichi Handa <handa@m17n.org>
2396
2397 These changes are to re-implement the automatic composition so
2398 that it doesn't use text properties.
2399
2400 * Makefile.in (ftfont.o): Depend on composite.h.
2401 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2402
2403 * character.h (Vunicode_category_table): Extern it.
2404
2405 * character.c (Vunicode_category_table): New variable.
2406 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2407
2408 * chartab.c (optimize_sub_char_table): Perform more greedy
2409 optimization.
2410
b8ff72fa
SM
2411 * composite.h (enum composition_method):
2412 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2413 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2414 (Vcomposition_function_table): Extern it.
2415 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2416 (composition_gstring_put_cache, composition_gstring_from_id)
2417 (composition_gstring_p, composition_gstring_width)
2418 (composition_compute_stop_pos, composition_reseat_it)
2419 (composition_update_it, composition_adjust_point): Extern them.
2420 (Fcomposition_get_gstring): EXFUN it.
2421
d66c0241 2422 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2423 (Vcomposition_function_table)
2424 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2425 (gstring_hash_table, gstring_work, gstring_work_headers):
2426 New variables.
aac0c6e3
MR
2427 (gstring_lookup_cache, composition_gstring_put_cache)
2428 (composition_gstring_from_id, composition_gstring_p)
2429 (composition_gstring_width, fill_gstring_header)
2430 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2431 (composition_reseat_it, composition_update_it)
b8ff72fa 2432 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2433 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2434 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2435 Defsubr compostion_get_gstring.
2436
2437 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2438 cmp_id.
2439 (struct glyph_string): Delete the member gidx. New members
2440 cmp_id, cmp_from, and cmp_to.
2441 (enum it_method): Delete GET_FROM_COMPOSITION.
2442 (struct composition_it): New struct.
2443 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2444 Delete c, len, cmp_id, cmp_len in u.comp.
2445
2446 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2447 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2448 (enum lglyph_indices): Likewise.
b8ff72fa 2449 (font_range): Adjust extern.
aac0c6e3
MR
2450 (font_fill_lglyph_metrics): Extern it.
2451
2452 * font.c (QCf): New variable.
2453 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2454 (font_prepare_composition): Delete this function.
2455 (font_range): Type and arguments changed.
2456 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2457 (font_fill_lglyph_metrics): New function.
b8ff72fa 2458 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2459 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2460 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2461 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2462
2463 * fontset.h (font_for_char): Extern it.
2464
2465 * fontset.c (font_for_char): New function.
2466
2467 * ftfont.c: Include composite.h.
2468 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2469 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2470
2471 * indent.c: Include composite.h and dispextern.h.
2472 (check_composition): Delete this function.
2473 (scan_for_column): Handle composition by
2474 composition_compute_stop_pos, composition_reseat_it, and
2475 composition_update_it.
2476 (compute_motion): Likewise.
2477 (Fvertical_motion): Fix checking of composition.
2478
2479 * keyboard.c (adjust_point_for_property): Check composition by
2480 composition_adjust_point.
2481
b8ff72fa 2482 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2483 struct glyph_string.
2484
b8ff72fa
SM
2485 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2486 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2487 struct glyph.
2488 (produce_composite_glyph): Likewise.
2489
b8ff72fa
SM
2490 * w32term.c (x_draw_composite_glyph_string_foreground):
2491 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2492 (x_draw_glyph_string): Likewise.
2493
2494 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2495 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2496
2497 * xdisp.c: Include font.h.
2498 (it_props): Delete the entry for Qauto_composed.
2499 (init_iterator): Initialize it->cmp_it.id to -1.
2500 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2501 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2502 (handle_auto_composed_prop): Delete it.
2503 (handle_composition_prop): Handle only static composition.
2504 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2505 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2506 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2507 (pop_it): Likewise.
2508 (get_next_element): Delete next_element_from_composition.
2509 (CHAR_COMPOSED_P): New macro.
2510 (get_next_display_element): For automatic composition, get a face
2511 from the font in the glyph-string.
2512 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2513 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2514 (next_element_from_string): Check if the character at the current
2515 position is composed by CHAR_COMPOSED_P.
2516 (next_element_from_buffer): Likewise.
d66c0241
JB
2517 (next_element_from_composition): Adjust for the change of struct it.
2518 Update it->cmp_it.
b8ff72fa
SM
2519 (dump_glyph): Adjust for the change of struct glyph.
2520 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2521 it and struct glyph. Don't handle automatic composition here.
2522 (fill_gstring_glyph_string): New function.
2523 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2524 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2525 (BUILD_GSTRING_GLYPH_STRING): New macro.
2526 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2527 automatic composition.
b8ff72fa 2528 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2529 struct glyph.
b8ff72fa 2530 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2531
b8ff72fa 2532 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2533 the change of struct glyph_string.
2534 (x_draw_glyph_string): Likewise.
2535
25362008-08-29 Glenn Morris <rgm@gnu.org>
2537
2538 * buffer.c (word-wrap): Doc fix.
2539 * xdisp.c (truncate-partial-width-windows): Doc fix.
2540 Increase default to 50.
2541
25422008-08-29 Chong Yidong <cyd@stupidchicken.com>
2543
2544 * xdisp.c (update_tool_bar_unwind): New function.
2545 (update_tool_bar): Temporarily set selected frame before building
2546 tool-bar items.
2547
25482008-08-28 Michael Albinus <michael.albinus@gmx.de>
2549
2550 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2551 snprintf, respectively.
2552 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2553
25542008-08-28 Chong Yidong <cyd@stupidchicken.com>
2555
2556 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2557 LDFLAGS to GNUstep CC invocation.
2558
25592008-08-27 Chong Yidong <cyd@stupidchicken.com>
2560
2561 * indent.c (Fvertical_motion): Revert last change. Handle the
2562 general case where we are moving forward, and PT spans multiple
2563 screen lines.
2564
2565 * eval.c (find_handler_clause): Temporarily increase
2566 max-lisp-eval-depth while printing the backtrace buffer, to
2567 guarantee that help-mode code can run.
2568
25692008-08-27 Eli Zaretskii <eliz@gnu.org>
2570
2571 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2572 colors under -rv.
2573 (IT_set_frame_parameters): Don't swap foreground and background
2574 colors if `(reverse . t)' is present in the frame properties.
2575 (internal_terminal_init): Call init_frame_faces only for the
2576 initial frame.
2577
25782008-08-27 Andreas Schwab <schwab@suse.de>
2579
2580 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2581
25822008-08-27 Andreas Schwab <schwab@suse.de>
2583
2584 * search.c (search_buffer): Set char_base to zero only at the end.
2585
25862008-08-27 Kenichi Handa <handa@m17n.org>
2587
b8ff72fa 2588 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2589
25902008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2591
2592 * xterm.c (x_term_init): Temporarily hide the partially
2593 initialized terminal while calling vendor-specific-keysyms.
2594
25952008-08-26 Eli Zaretskii <eliz@gnu.org>
2596
2597 * msdos.c (internal_terminal_init): Most initializations done only
2598 once, especially initial_screen_colors[] and termscript open.
2599
26002008-08-26 Chong Yidong <cyd@stupidchicken.com>
2601
2602 * eval.c (Fcondition_case): Doc fix.
2603
2604 * widgetprv.h (EmacsFramePart): Change font member to the new font
2605 struct.
2606
2607 * widget.c: Include character.h and font.h for XSETFONT.
2608 (setup_frame_gcs): Compute X font id from font struct, just once.
2609
26102008-08-26 Eli Zaretskii <eliz@gnu.org>
2611
2612 * term.c (get_named_tty): Fix last change.
2613
26142008-08-26 Chong Yidong <cyd@stupidchicken.com>
2615
2616 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2617 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2618
26192008-08-25 Eli Zaretskii <eliz@gnu.org>
2620
2621 * frame.c (do_switch_frame): Mark previously displayed frame as
2622 obscured for FRAME_MSDOS_P frames as well.
2623
26242008-08-24 Eli Zaretskii <eliz@gnu.org>
2625
2626 * frame.c (make_terminal_frame): Initialize f->terminal,
2627 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2628 Set the top frame to newly created frame.
2629 (Fmake_terminal_frame): Reuse the_only_display_info.
2630
2631 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2632 estimating available memory.
2633
b97439ce 26342008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2635
2636 * nsterm.m (ns_draw_window_cursor): Don't call
2637 NSDisableScreenUpdates and NSEnableScreenUpdates on
2638 non-NS_IMPL_COCOA systems.
2639
26402008-08-23 Andreas Schwab <schwab@suse.de>
2641
2642 * process.c (procfs_system_process_attributes): Fix use of
2643 uninitialized variables.
2644
26452008-08-23 Eli Zaretskii <eliz@gnu.org>
2646
2647 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2648
2649 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2650 calling tty-set-up-initial-frame-faces.
2651
b8ff72fa
SM
2652 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2653 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2654
2655 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2656 addition to output_termcap.
2657
2658 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2659
2660 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2661 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2662 highlight.
2663
2664 * process.c [!subprocesses]: Define QCname.
2665 (syms_of_process): Intern and staticpro it.
2666
2667 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2668 Adjust for changes in encoding/decoding routines.
2669 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2670 encode_coding and decode_coding.
2671
b8ff72fa 2672 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2673
2674 * dosfns.c: Include frame.h before termhooks.h.
2675 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2676 variable termscript.
2677
2678 * s/msdos.h (USER_FULL_NAME): Define.
2679 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2680
2681 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2682 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2683 pw->pw_gecos.
2684
2685 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2686 SELECTED_FRAME as additional (1st) argument.
2687 (tty_read_avail_input): Handle output_msdos_raw in
2688 addition to output_termcap.
2689
2690 * msdos.c: Include frame.h before termhooks.h.
2691 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2692 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2693 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2694 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2695 (IT_set_terminal_modes, IT_reset_terminal_modes)
2696 (IT_set_frame_parameters): Use tty->termscript instead of a global
2697 variable termscript.
2698 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2699 global variable terminal_coding. Don't refer to
2700 Vnonascii_translation_table.
2701 (internal_terminal_init): Set Vwindow_system in current_kboard.
2702 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2703 Announce date and time of session start, if termscript is open.
2704 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2705 term.c:init_tty). Open termscript only of not already open.
2706 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2707 here instead of dos_ttraw. Don't initialize display if this is an
2708 initial tty. Don't set FRAME_FONT.
2709 (Vwindow_system_version): Bump to 23.
2710 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2711 is available, set up mouse_position_hook.
2712 (dos_ttraw, IT_set_terminal_modes): If called with initial
2713 terminal, do nothing.
2714 (IT_set_frame_parameters): Handle the Qtty_type frame
2715 parameter by calling internal_terminal_init.
2716 (dos_set_window_size, show_mouse_face)
2717 (clear_mouse_face, IT_note_mode_line_highlight)
2718 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2719 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2720 (initialize_msdos_display): New function.
2721 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2722 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2723 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2724 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2725 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2726 (request_sigio, unrequest_sigio): Don't define, now defined on
2727 sysdep.c.
2728 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2729
2730 * term.c [MSDOS]: Include msdos.h.
2731 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2732 conditional to DOS_NT. Allow only one call to this function in a
2733 session. Don't allocate a new struct tty_display_info; instead,
2734 reuse the_only_display_info. Call get_tty_size to get screen
2735 dimensions. Call init_baud_rate to set bad_rate.
2736 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2737 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2738 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2739 (get_tty_terminal, get_named_tty, Ftty_type)
2740 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2741 output_termcap.
b8ff72fa
SM
2742 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2743 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2744 only when subprocesses are supported.
aac0c6e3
MR
2745
2746 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2747 f->output_data.x.
2748 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2749 terminal devices.
2750
5582fbc7 2751 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2752 x_output.
2753 (FRAME_FONT): Use output_data.tty.
2754 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2755 (struct x_display_info): Rename from display_info. Update all users in
2756 msdos.c.
aac0c6e3 2757 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2758 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2759 (dos_ttraw): Update prototype.
2760
2761 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2762 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2763
27642008-08-23 Jason Rumney <jasonr@gnu.org>
2765
2766 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2767 (fn_TIFFSetDirectory): New library function used.
2768 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2769 (tiff_load): Use :index to select among multiple images. Set count
2770 property when multiple images exist.
2771 (gif_format): Use :index, not :image.
2772
27732008-08-23 Chong Yidong <cyd@stupidchicken.com>
2774
2775 * xdisp.c (try_scrolling): Check INT_MAX instead of
2776 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2777 to obtain INT_MAX.
2778
27792008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2780
2781 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2782
27832008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2784
2785 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2786 GNUstep library location.
2787
27882008-08-21 Chong Yidong <cyd@stupidchicken.com>
2789
2790 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2791 before using it.
2792
2793 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2794
27952008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2796
2797 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2798 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2799 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2800 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2801 (EmacsApp-cursor_blink_handler): Remove declaration.
2802 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2803 match 01 Feb 2008 changes in xterm.c.
2804 (ns_read_socket): Add cast to avoid warning.
2805 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2806 GNUstep.
2807
28082008-08-20 Chong Yidong <cyd@stupidchicken.com>
2809
2810 * xselect.c (x_get_foreign_selection): Return nil if desired
2811 selection could not be obtained, instead of signalling an error.
2812
28132008-08-20 David Reitter <david.reitter@gmail.com>
2814
2815 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2816 * nsterm.m: Remove ns-specific code for cursor blinking.
2817 (ns_draw_window_cursor): Clear cursor properly rather than
2818 redrawing the area. Respect width of bar cursors.
2819 These changes enable the use of generic blink-cursor-mode and
2820 generic cursor types in NS and support smooth cursor movements (do
2821 not blink off after command).
2822 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2823 Nextstep, too.
2824
28252008-08-19 Kenichi Handa <handa@m17n.org>
2826
2827 * font.c (Vfont_log_deferred): New variable.
2828 (font_add_log): Check Vfont_log_deferred.
2829 (font_deferred_log): New function.
2830
2831 * font.h (font_deferred_log): Extern it.
2832
2833 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2834 for sorting.
2835 (face_for_char): Use deferred log.
2836
28372008-08-18 Kenichi Handa <handa@m17n.org>
2838
2839 * fontset.c (face_for_char): Add font log.
2840
2841 * font.c (font_add_log): Add the font properties :script, :lang,
2842 and :otf in the log.
2843
28442008-08-17 Chong Yidong <cyd@stupidchicken.com>
2845
2846 * xdisp.c: Remove dead code.
2847 (handle_invisible_prop, next_overlay_string): Defer call to
2848 setup_for_ellipsis.
2849 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2850
28512008-08-15 Chong Yidong <cyd@stupidchicken.com>
2852
2853 * xfaces.c (lookup_derived_face): Properly handle possible zero
2854 return value of get_lface_attributes.
2855 (merge_faces): Don't tell lookup_derived_face to signal an error
2856 if face is not found.
2857
2858 * dired.c (Fdirectory_files): Doc fix.
2859
2860 * process.c (make_process): Initialize kill_without_query struct
2861 member.
2862
28632008-08-15 Eli Zaretskii <eliz@gnu.org>
2864
2865 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2866 Alternative calculation of totphys for Visual Studio 6.
2867
2868 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2869
2870 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2871 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2872 All users changed.
2873 (stat): Only root directory passed to GetDriveType. Allow RAM
2874 disk as well as local fixed disk when w32-get-true-file-attributes
2875 is set to `local'.
2876 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2877 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2878 (w32_cached_id, w32_add_to_cache): New functions.
2879 (get_name_and_id): Look account names in the cache before calling
2880 lookup_account_sid.
2881 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2882 New initialization flags.
2883 (globals_of_w32): Initialize them to zero.
2884 (w32_system_process_attributes): Use w32_cached_id and
2885 w32_add_to_cache.
2886
28872008-08-14 Lawrence Mitchell <wence@gmx.li>
2888
2889 * lread.c (Fread_char, Fread_char_exclusive): If no character
2890 event is read before timeout is reached, return nil, rather than
2891 converting to a number.
2892
28932008-08-14 Chong Yidong <cyd@stupidchicken.com>
2894
2895 * fns.c (use_dialog_box): Doc fix.
2896
2897 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2898 on OS X.
2899
29002008-08-13 Chong Yidong <cyd@stupidchicken.com>
2901
2902 * frame.c (Qns_parse_geometry): New var.
2903 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2904
29052008-08-11 Chong Yidong <cyd@stupidchicken.com>
2906
2907 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2908 space character in calculating tabs.
2909
29102008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2911
2912 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2913
29142008-08-10 Glenn Morris <rgm@gnu.org>
2915
2916 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2917 silence gcc "limited range of data type" warnings in some
2918 make_fixnum_or_float calls.
2919
29202008-08-09 Eli Zaretskii <eliz@gnu.org>
2921
2922 * w32.c (w32_system_process_attributes): If the process does not
2923 exist, return nil.
2924
2925 * w32.c: Include thelp32.h, psapi.h and coding.h.
2926 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2927 declarations.
2928 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2929 (Process32Next_Proc): New typedefs.
2930 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2931 (g_b_init_process32_next, g_b_init_open_thread_token)
2932 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2933 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2934 (g_b_init_get_process_working_set_size)
2935 (g_b_init_global_memory_status_ex): New static variables.
2936 (globals_of_w32): Initialize them.
2937 (create_toolhelp32_snapshot, process32_first, process32_next)
2938 (open_thread_token, impersonate_self, revert_to_self)
2939 (get_process_memory_info, get_process_working_set_size)
2940 (global_memory_status, global_memory_status_ex): New wrapper
2941 functions.
2942 (w32_list_system_processes, w32_system_process_attributes)
2943 (enable_privilege, restore_privilege, ltime, process_times):
2944 New functions.
2945 (convert_time_raw): New function.
2946 (convert_time): Remove conversion of FILETIME into time in 100
2947 nsec units, call convert_time_raw instead.
2948
2949 * process.h (w32_list_system_processes, w32_system_process_attributes):
2950 Add prototypes.
2951 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2952 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2953 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2954 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2955
2956 * process.c (Fsystem_process_attributes): Doc fix.
2957
29582008-08-08 Chong Yidong <cyd@stupidchicken.com>
2959
2960 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2961 a continued multi-char glyph; if so, advance to the actual glyph.
2962
29632008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2964
2965 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2966
2967 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2968 (.m.o): Use it.
2969 * config.in: Regenerate.
2970
29712008-08-07 Chong Yidong <cyd@stupidchicken.com>
2972
2973 * xdisp.c (redisplay_window): Revert last change.
2974 (try_window): Check bottom scroll margin too.
2975
29762008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2977
2978 * config.in: Regenerate.
2979
2980 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2981 -list-load-path-shadows'.
2982 (nsgui.h): Reduce number of things depending on it.
2983
29842008-08-06 Chong Yidong <cyd@stupidchicken.com>
2985
2986 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2987 instead of window-end which does the wrong thing at eob.
2988 (try_cursor_movement): Minor optimization.
2989 (redisplay_window): If scroll margin is defined, don't assume
2990 window doesn't need scrolling.
2991
29922008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2993
2994 * config.in: Regenerate.
2995
2996 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2997 (mostlyclean): Don't delete *.d under NS.
2998
2999 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
3000
30012008-08-06 Kenichi Handa <handa@m17n.org>
3002
3003 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
3004
30052008-08-06 Andreas Schwab <schwab@suse.de>
3006
3007 * config.in: Regenerate.
3008
30092008-08-05 Chong Yidong <cyd@stupidchicken.com>
3010
3011 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
3012 forcing a window start.
3013
3014 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
3015 (auto_save_1): Update modtime when auto-save-list-file-name is on.
3016
30172008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3018
3019 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
3020 argument.
3021
30222008-08-05 Juanma Barranquero <lekktu@gmail.com>
3023
3024 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
3025 <scroll-down-aggressively, before-change-functions>:
3026 <after-change-functions>: Reflow docstrings.
3027
30282008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3029 Ken Raeburn <raeburn@gnu.org>
3030
3031 Dock menu customization, based on a patch by Ken Raeburn, plus some
3032 other fixes.
3033 * nsmenu.m (dockMenu): New variable.
3034 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
3035
3036 * nsterm.h (dockMenu): Declare.
3037
3038 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
3039 (ns_term_init): Initialize dockMenu.
3040 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
3041 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
3042 left.
3043
3044 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
3045
30462008-08-04 Chong Yidong <cyd@stupidchicken.com>
3047
3048 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
3049
3050 * config.in: Regenerate.
3051
30522008-08-04 Seiji Zenitani <zenitani@mac.com>
3053
3054 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
3055
30562008-08-04 Chong Yidong <cyd@stupidchicken.com>
3057
3058 * nsterm.h (find_and_call_menu_selection): Fix prototype.
3059
30602008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3061
3062 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
3063
3064 * keyboard.h: Comment an #endif.
3065
3066 * lisp.h (have_menus_p): Adjust comment.
3067
3068 * menu.c (find_and_return_menu_selection): Fix comparison with
3069 client_data.
3070
3071 * nsmenu.m (popup_activated_flag): New variable.
3072 (popup_activated): New function.
3073 (menu-or-popup-active-p): New exported lisp definition.
3074 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
3075 when popup done.
3076 (ns_popup_dialog): Set popup_activated_flag.
3077
3078 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
3079 version for GNUstep (handled by conditional typedef in nsterm.m).
3080 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
3081 in rgb.txt).
3082
3083 * process.c (init_process): Use DARWIN_OS, not DARWIN.
3084
3085 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
3086
3087 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
3088
3089 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
3090 shortcircuit if popup_activated like GTK and X toolkit.
3091
3092 * m/inter386.h: Change DARWIN to DARWIN_OS.
3093
3094 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
3095 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
3096 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
3097 comment on NO_SOCK_SIGIO.
3098
30992008-08-03 Chong Yidong <cyd@stupidchicken.com>
3100
3101 * nsterm.m (windowDidResize): Remove stopModal call.
3102
31032008-08-03 Andreas Schwab <schwab@suse.de>
3104
3105 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
3106 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
3107
31082008-08-02 Chong Yidong <cyd@stupidchicken.com>
3109
3110 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
3111 Don't use uninitialized pointer variable when using getrlimit.
3112
31132008-08-02 Jason Rumney <jasonr@gnu.org>
3114
3115 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
3116
31172008-08-02 Eli Zaretskii <eliz@gnu.org>
3118
3119 * alloc.c (NSTATICS): Bump to 0x640.
3120
3121 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
3122
3123 * lisp.h: Add prototype for directory_files_internal.
3124
3125 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
3126 New functions.
3127 (syms_of_process): Defsubr them. Add initializations for various
3128 Q* symbols used in procfs_system_process_attributes.
3129 (procfs_list_system_processes, procfs_system_process_attributes)
3130 [HAVE_PROCFS]: New functions.
3131 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
3132 (procfs_get_total_memory): New functions.
3133
31342008-08-01 Juanma Barranquero <lekktu@gmail.com>
3135
3136 * xfaces.c (Fx_load_color_file): Fix previous change;
3137 it is #ifdef WINDOWSNT, not WINDOWS_NT.
3138
31392008-08-01 Michael Albinus <michael.albinus@gmx.de>
3140
3141 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
3142
31432008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3144
3145 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
3146
31472008-08-01 Chong Yidong <cyd@stupidchicken.com>
3148
3149 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
3150
3151 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
3152 define NSApplicationDelegateReplySuccess.
3153 (EmacsView -converstationIdentifier): Use long instead of
3154 NSInteger for GNUstep, since it doesn't have NSInteger.
3155
3156 * xmenu.c: Revert last change.
3157
3158 * keyboard.h: Fix last change.
3159
31602008-08-01 Juanma Barranquero <lekktu@gmail.com>
3161
3162 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
3163 on Windows.
3164
31652008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3166
3167 Warning clearing and clean-up in NS port.
3168 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3169 Add prototypes.
3170 * nsgui.h (FACE_DEFAULT): Remove, unused.
3171 (XGCValues): Change colors to unsigned long.
3172 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
3173 nsterm.m.
3174 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
3175 (ns_list_fonts): Remove, unused.
3176 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
3177 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
3178 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
3179 (nsfont_draw): Compare face colors to 0, not nil.
3180 * nsmenu.m (struct widget_value): Drop unneeded declaration.
3181 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
3182 (-addSubmenuWithTitle:): Use NSMenuItem class.
3183 (ns_popup_menu): Use NO, not NULL, for enabled setting.
3184 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
3185 (ns_clip_to_row): Make gc arg a BOOL.
3186 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
3187 ns_clip_to_row() call.
3188 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3189 used). Cast FRAME_FONT assignments.
3190 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3191 (ns_string_to_lispmod): Change arg to const char.
3192 (ns_term_init): Use NSMenuItem class.
3193 (EmacsApp -openFile:): Move to different section of file.
3194 (EmacsApp -application:openFiles:): Don't return a value, call
3195 -replyToOpenOrPrint:.
3196 (EmacsView -keyDown:): Fix up cast.
3197 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3198 (EmacsView -menuDown:): Cast tag in call to
3199 find_and_call_menu_selection().
3200 (ns_list_fonts): Remove, unused.
3201 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3202 (ns_fontname_to_xlfd): Make static.
3203 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3204 Remove prototypes (now in keyboard.h).
3205 (next_menubar_widget_id): Remove, unused.
3206 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3207 Remove prototypes (now in keyboard.h).
3208 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3209
32102008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3211
3212 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3213 (floatfns.o): Depend on syssignal.h.
3214 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3215
3216 * systty.h: Fix previous change that removed BSD_TERMIOS.
3217 Add comments to #ifdefs.
3218
32192008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3220
3221 * w32fns.c (w32-load-color-file): Remove.
3222 (x-open-connection): Use renamed Fx_load_color_file.
3223 * xfaces.c (x-load-color-file): Add.
3224 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3225 Emacs.clr.
3226 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3227
32282008-07-31 Michael Albinus <michael.albinus@gmx.de>
3229
3230 * dbusbind.c (Fdbus_call_method_asynchronously)
3231 (Fdbus_method_error_internal): New defuns.
3232 (xd_read_message): Handle also reply messages.
3233 (Vdbus_registered_functions_table): Extend docstring.
3234
32352008-07-31 Juanma Barranquero <lekktu@gmail.com>
3236
3237 * keyboard.c (gobble_input): Fix previous change.
3238
32392008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3240
3241 * bitmaps/README:
3242 * xfns.c:
3243 * termcap.c:
3244 * term.c:
3245 * syswait.h:
3246 * systty.h:
3247 * systime.h:
3248 * syssignal.h:
3249 * sysdep.c:
3250 * process.h:
3251 * process.c:
3252 * print.c:
3253 * ndir.h:
3254 * lread.c:
3255 * keyboard.c:
3256 * getpagesize.h:
3257 * floatfns.c:
3258 * fileio.c:
3259 * emacs.c:
3260 * doc.c:
3261 * dispnew.c:
3262 * dired.c:
3263 * data.c:
3264 * callproc.c:
3265 * buffer.c:
3266 * README:
3267 * Makefile.in:
3268 * s/template.h:
3269 * s/msdos.h:
3270 * m/vax.h: Remove VMS support.
3271 * s/vms.h:
3272 * vlimit.h:
3273 * uaf.h:
3274 * temacs.opt:
3275 * param.h:
3276 * ioctl.h: Remove file.
3277
32782008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3279
3280 * s/ms-w32.h (MULTI_KBOARD): Remove.
3281 * xterm.c:
3282 * xselect.c:
3283 * xfns.c:
3284 * window.c:
3285 * w32term.c:
3286 * w32fns.c:
3287 * terminal.c:
3288 * termhooks.h:
3289 * term.c:
3290 * sysdep.c:
3291 * keyboard.h:
3292 * keyboard.c:
3293 * frame.h:
3294 * frame.c:
3295 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3296 * config.in: Regenerate.
3297
32982008-07-30 Jason Rumney <jasonr@gnu.org>
3299
3300 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3301
3302 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3303 (w32font_open_internal): Get unicode version of textmetrics.
3304 Don't enable or disable glyph indices here.
3305 (w32font_open): Disable use of glyph indices.
3306
3307 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3308
33092008-07-30 Chong Yidong <cyd@stupidchicken.com>
3310
3311 * minibuf.c (Vread_buffer_function): Doc fix.
3312
33132008-07-30 John Paul Wallington <jpw@pobox.com>
3314
3315 * minibuf.c (read_buffer_completion_ignore_case): New var.
3316 (Fread_buffer): Use it.
3317
33182008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3319
3320 * systty.h (sensemode): Remove empty #if. Remove reference to
3321 BSD_TERMIOS, unused.
3322
3323 * sysdep.c: Remove reference to DGUX.
3324 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3325
3326 * config.in: Regenerate.
3327
33282008-07-30 Jason Rumney <jasonr@gnu.org>
3329
3330 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3331
33322008-07-29 Jason Rumney <jasonr@gnu.org>
3333
3334 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3335 is populated.
3336 (uniscribe_encode_char): Always use uniscribe.
3337 Avoid using context if cache is populated.
3338
33392008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3340
3341 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3342 open menu.
3343
3344 * gtkutil.c (menu_nav_ended): Remove.
3345 (create_menus): Remove signal connect for menu_nav_ended.
3346
33472008-07-28 Chong Yidong <cyd@stupidchicken.com>
3348
3349 * xdisp.c (redisplay_window): Check return value of
3350 compute_window_start_on_continuation_line before forcing a window
3351 start.
3352
33532008-07-28 Jason Rumney <jasonr@gnu.org>
3354
3355 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3356
3357 * w32term.c (w32_enable_unicode_output, cleartype_active):
3358 Remove obsolete display options.
3359 (x_draw_glyph_string_background): Don't use old cleartype_active
3360 workaround.
3361 (w32_initialize): Remove cleartype_active initialization.
3362 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3363
33642008-07-28 Andreas Schwab <schwab@suse.de>
3365
3366 * lisp.h (init_weak_hash_tables, syms_of_font)
3367 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3368 (remove_hash_entry): Don't declare.
3369 * eval.c (maybe_call_debugger): Make static and move before use.
3370 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3371 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3372 * xterm.h (x_set_frame_alpha): Declare.
3373
33742008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3375
3376 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3377 (create_menus): Connect selection-done to menu_nav_ended.
3378
33792008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3380
3381 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3382 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3383 parameter with read of 'alpha' one.
3384 (Qns_frame_parameter): Remove.
5582fbc7 3385 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3386 (next-selection-coding-system, Vselection_coding_system)
3387 (Vnext_selection_coding_system): Drop.
3388
33892008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3390
3391 * nsfns.m (do-applescript, do_applescript): Rename to
3392 ns-do-applescript, ns_do_applescript, and move within file.
3393
33942008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3395
3396 Remove support for Mac Carbon.
3397 * mactoolbox.c:
3398 * macterm.h:
3399 * macterm.c:
3400 * macselect.c:
3401 * macmenu.c:
3402 * macgui.h:
3403 * macfns.c:
3404 * mac.c: Remove file.
3405 * s/darwin.h:
3406 * m/intel386.h:
3407 * xfaces.c:
3408 * xdisp.c:
3409 * window.c:
3410 * tparam.c:
3411 * termhooks.h:
3412 * termcap.c:
3413 * term.c:
3414 * syssignal.h:
3415 * sysselect.h:
3416 * sysdep.c:
3417 * process.c:
3418 * lread.c:
3419 * lisp.h:
3420 * keyboard.c:
3421 * image.c:
3422 * fringe.c:
3423 * frame.h:
3424 * frame.c:
3425 * fontset.c:
3426 * font.h:
3427 * font.c:
3428 * fns.c:
3429 * fileio.c:
3430 * emacs.c:
3431 * dispnew.c:
3432 * dispextern.h:
3433 * config.in:
3434 * atimer.c:
2ae37cf0 3435 * Makefile.in: Remove code for Carbon.
aac0c6e3 3436
f0131492 34372008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3438
3439 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3440
34412008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3442
3443 * macterm.h (kCGBitmapByteOrder32Host): New define for
3444 non-universal SDKs.
3445
3446 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3447 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3448
3449 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3450 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3451
34522008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3453
3454 * w32inevt.c: Include dispextern.h.
3455
34562008-07-26 Andreas Schwab <schwab@suse.de>
3457
3458 * print.c (print_object): Fix off-by-one in last change.
3459
34602008-07-25 Juanma Barranquero <lekktu@gmail.com>
3461
3462 * term.c (syms_of_term): Don't initialize default_orig_pair,
3463 default_set_foreground and default_set_background on Windows.
3464
34652008-07-25 Jason Rumney <jasonr@gnu.org>
3466
3467 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3468 ScriptItemize. Clean up return value checking. Remove unused
3469 variables.
3470 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3471 shaping engine.
3472
3473 * w32font.c (w32font_has_char): Handle the case where we can't
3474 determine the script for a character.
3475
34762008-07-25 Chong Yidong <cyd@stupidchicken.com>
3477
3478 * term.c (syms_of_term): Initialize default_orig_pair,
3479 default_set_foreground, and default_set_background.
3480
3481 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3482 clash (bug#86).
3483 (getloadavg): Callers changed.
3484
3485 * image.c (svg_load_image): Fix last change.
3486 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3487 image size is valid. Use g_object_unref instead of deprecated
3488 rsvg_handle_free to free rsvg handle.
3489 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3490
34912008-07-25 Jason Rumney <jasonr@gnu.org>
3492
3493 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3494 surrogates before looking up glyph index.
3495 (w32font_text_extents): Encode as surrogates if falling back to
3496 functions that need UTF-16 wide chars.
3497
3498 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3499 BMP as surrogates before looking up glyph index.
3500
35012008-07-25 Chong Yidong <cyd@stupidchicken.com>
3502
3503 * image.c (svg_load_image): Check for failure in return value of
3504 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3505
35062008-07-25 Jason Rumney <jasonr@gnu.org>
3507
3508 * w32font.c (Fx_select_font): Reverse sense of second arg.
3509
35102008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3511
3512 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3513 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3514
3515 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3516 (PURESIZE): Use it.
3517
35182008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3519
3520 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3521 * m/alpha.h (TEXT_END):
3522 * m/ibmrs6000.h (TEXT_END):
3523 * m/macppc.h (TEXT_END):
3524 * s/darwin.h (TEXT_END):
3525 * s/msdos.h (TEXT_END): Remove, unused.
3526 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3527 * s/cygwin.h: Remove comment.
3528
3529 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3530 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3531 * m/intel386.h (DOT_GLOBAL_START):
3532 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3533 (USG): Remove, file not used on USG platforms.
3534
3535 * Makefile.in (HAVE_X11): Remove empty #else.
3536
35372008-07-24 Andreas Schwab <schwab@suse.de>
3538
3539 * fileio.c (Finsert_file_contents): Properly adjust undo list
3540 after format conversion.
3541
35422008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3543
3544 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3545 (menu_nav_ended): Remove.
3546 (create_menus): Remove signal connect for menu_nav_ended.
3547 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3548 create_menus.
3549 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3550
35512008-07-23 Jason Rumney <jasonr@gnu.org>
3552
3553 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3554 with opened font.
3555 (w32font_open): Set font type to gdi.
3556
3557 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3558
35592008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3560
3561 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3562 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3563 defines it.
3564 * unexec.c (ADDR_CORRECT): Define unconditionally.
3565
3566 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3567
3568 * unexec.c: Remove code depending on !COFF and USG, the file is
3569 not used for such systems.
3570
3571 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3572 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3573 (LD_SWITCH_SYSTEM_1): Remove, update users.
3574
3575 * s/darwin.h (DATA_END):
3576 * m/intel386.h (DATA_END):
3577 * m/ibmrs6000.h (DATA_END):
3578 * m/alpha.h (DATA_END): Remove, unused.
3579
3580 * config.in: Regenerate.
3581 * s/ms-w32.h (subprocesses): Define unconditionally.
3582 * s/template.h (subprocesses): Update comment.
3583 * s/vms.h (subprocesses):
3584 * s/usg5-4.h (subprocesses):
3585 * s/hpux10-20.h (subprocesses):
3586 * s/gnu-linux.h (subprocesses):
3587 * s/cygwin.h (subprocesses):
3588 * s/bsd-common.h (subprocesses):
3589 * s/aix4-2.h (subprocesses):
3590 * s/darwin.h (subprocesses): Do not define, defined by default now.
3591
3592 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3593 Remove all references.
3594 (temacs): Add GNUstep specific ld flags.
3595
3596 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3597 similarly to what X does.
3598
35992008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3600
3601 * nsfns.m (x-list-fonts): Remove.
3602 (syms_of_nsfns): Drop the x-list-fonts declaration.
3603 * nsterm.m: Get rid of remaining "//" comments.
3604
36052008-07-22 Chong Yidong <cyd@stupidchicken.com>
3606
3607 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3608
3609 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3610 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3611 (Fns_own_selection_internal, Fx_disown_selection_internal)
3612 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3613
3614 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3615 ... */' style of docstrings. Doc fixes.
3616
36172008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3618
3619 * terminfo.c (UP, BC, PC): Undo previous change.
3620
3621 * nsfns.m: Rename ns prefixed functions/variables to the
3622 corresponding x versions. Update references.
3623
36242008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3625
3626 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3627
36282008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3629
3630 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3631 Remove forwarding functions.
3632 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3633 non-static.
3634 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3635 non-static.
3636 (ns_frame_parm_handlers): Use the new names.
3637 (syms_of_nsfns): Move to the end of file.
3638
3639 * nsterm.m (syms_of_nsterm): Move to the end of file.
3640
3641 * dispnew.c (init_display): Remove code for X10.
3642
36432008-07-22 Jason Rumney <jasonr@gnu.org>
3644
3645 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3646 bare drive.
3647
36482008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3649
3650 * nsterm.m (syms_of_nsterm): Remove debugging println.
3651
36522008-07-22 David Reitter <david.reitter@gmail.com>
3653
3654 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3655 Carbon implementation of the same functionality: execute arbitrary
3656 AppleScript code.
3657
36582008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3659
3660 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3661 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3662 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3663 (Fx_display_mm_height, Fx_display_mm_width)
3664 (Fx_display_backing_store, Fx_display_visual_class)
3665 (Fx_display_save_under, Fx_open_connection)
3666 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3667 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3668 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3669 (Fx_display_pixel_width, Fx_display_pixel_height)
3670 (Fx_display_usable_bounds, Fx_display_planes)
3671 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3672 ... */' style of docstrings.
3673
36742008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3675
3676 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3677 on this platform.
3678 (mips):
3679 * m/iris4d.h (mips): Do not define.
3680 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3681
3682 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3683
3684 * image.c:
3685 * nsfns.m:
3686 * nsselect.m:
3687 * nsterm.h:
3688 * nsterm.m: Rename ns prefixed functions/variables to the
3689 corresponding x versions. Update references.
3690
3691 * m/ibms390x.h (NO_REMAP): Do not undefine.
3692
3693 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3694
36952008-07-21 Chong Yidong <cyd@stupidchicken.com>
3696
3697 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3698 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3699 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3700 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3701 (Fns_display_mm_height, Fns_display_mm_width)
3702 (Fns_display_backing_store, Fns_display_visual_class)
3703 (Fns_display_save_under, Fns_open_connection)
3704 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3705 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3706 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3707 (Fns_display_pixel_width, Fns_display_pixel_height)
3708 (Fns_display_usable_bounds, Fx_display_planes)
3709 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3710
37112008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3712
3713 * print.c (print_object): Check print_depth before searching for
3714 circularities.
3715
37162008-07-21 Michael Albinus <michael.albinus@gmx.de>
3717
3718 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3719 only sprintf.
3720
37212008-07-21 Kenichi Handa <handa@m17n.org>
3722
3723 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3724
37252008-07-20 Andreas Schwab <schwab@suse.de>
3726
3727 * syntax.c (find_start_pos, find_start_value)
3728 (find_start_value_byte, find_start_begv, find_defun_start)
3729 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3730
37312008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3732
3733 * s/sol2-3.h: Insert contents of s/sol2.h.
3734 (LD_SWITCH_SYSTEM): Remove redundant definition.
3735 * s/sol2.h: Remove, unused.
3736
37372008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3738
3739 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3740
37412008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3742
3743 * Makefile.in (ns_appdir): Fix typo in find command.
3744
37452008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3746
3747 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3748
3749 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3750 added not supported anymore.
3751
3752 * s/usg5-4-2.h (LIBS_SYSTEM):
3753 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3754
3755 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3756 * s/lynxos.h (GETPGRP_NO_ARG):
3757 * s/hpux10-20.h (NO_SIOCTL_H):
3758 * s/gnu.h (GETPGRP_NO_ARG):
3759 * s/gnu-linux.h (NO_SIOCTL_H):
3760 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3761 * s/cygwin.h (GETPGRP_NO_ARG):
3762 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3763 (C_DEBUG_SWITCH): Remove duplicate definition.
3764
3765 * m/ibms390.h: Remove boilerplate comments.
3766
3767 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3768
3769 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3770 (wait_reading_process_output): Remove code for SunOS, platform not
3771 supported anymore. Use SOLARIS2 instead of sun.
3772
37732008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3774
3775 * font.c (font_open_by_name): Under NS, default lface height to zero.
3776 (font_open_for_lface): Under NS, set size based on frame fontsize.
3777 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3778 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3779
37802008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3781
3782 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3783 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3784 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3785 YES/NO.
3786 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3787 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3788 * Makefile.in (clean): Clear out build destination dir.
3789
37902008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3791
3792 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3793 xterm, xselect.
3794 * lisp.h: Remove declaration of hash_remove.
3795 * nsgui.h: Remove redefinitions of hash_remove.
3796 * fns.c (hash_remove): Rename to hash_remove_from_table.
3797
37982008-07-19 Seiji Zenitani <zenitani@mac.com>
3799
3800 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3801 strdup() the family UTF8String before modifying it.
3802
38032008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3804
3805 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3806 NS_FACE_BACKGROUND with 0 instead of nil.
3807 * nsfont.m (nsfont_draw): Same.
3808
38092008-07-19 Chong Yidong <cyd@stupidchicken.com>
3810
3811 * nsfns.m (ns_set_background_color): Fix crash.
3812
38132008-07-18 Chong Yidong <cyd@stupidchicken.com>
3814
3815 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3816
38172008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3818
3819 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3820
38212008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3822
3823 * gtkutil.c: Include <config.h> instead of "config.h".
3824
3825 * lisp.h (Foverlay_buffer): Add EXFUN.
3826
3827 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3828 child process to complete child_setup. Undo 2005-09-21 change.
3829
3830 * s/darwin.h: Mention setsid after vfork.
3831
38322008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3833
3834 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3835 Depend on macgui.h.
3836
3837 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3838 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3839
3840 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3841 and f19.
3842 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3843
3844 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3845 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3846 Remove enumerators.
3847
3848 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3849 Check if FACE_FROM_ID returns NULL.
3850
38512008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3852
3853 * w32inevt.c (change_frame_size): Remove extern declaration.
3854 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3855 change_frame_size.
3856
38572008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3858
3859 * getloadavg.c: Revert last change (2008-07-15).
3860
38612008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3862
3863 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3864 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3865 from configure.
3866
38672008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3868
3869 * s/sol2.h:
3870 * s/sol2-4.h: Reorganize conditionals.
3871
3872 * ecrt0.c: Remove code depending on m68000, not used anymore.
3873
3874 * fns.c (hash_remove): Make static.
3875 * lisp.h (hash_remove): Don't prototype.
3876
3877 * m/ibmrs6000.h:
3878 * m/ibms390x.h:
3879 * m/macppc.h: Remove boilerplate comments.
3880
3881 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3882 Solaris, which does not need them.
3883
3884 * m/vax.h: Remove comments about unsupported systems.
3885
3886 * s/darwin.h: Reorganize ifdefs.
3887
38882008-07-17 Andreas Schwab <schwab@suse.de>
3889
3890 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3891
38922008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3893
3894 Use SDATA. Follow coding convention of placing operators at
3895 beginning of next line rather than end of previous line, and placing
3896 spaces around infix operators.
3897
3898 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3899 in case it was defined already.
3900 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3901 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3902 ns_default.
3903 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3904 Lisp_Objects.
3905 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3906 (ns_defined_color, ns_color_to_lisp): Declare.
3907 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3908 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3909 it's accepted even with USE_LISP_UNION_TYPE.
3910 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3911 (update_frame_tool_bar): Remove apparently obsolete tests for
3912 non-integerness of f->tool_bar_lines.
3913 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3914 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3915 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3916 (nsfont_open): Don't confuse NULL for Qnil.
3917 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3918 * menu.h (find_and_call_menu_selection):
3919 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3920 (find_and_return_menu_selection): Always return something.
3921 * frame.h: Include dispextern.h for Display_Info.
3922 (display_x_get_resource): Declare.
3923
39242008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3925
3926 * syntax.c: Remove stdio.h include accidentally introduced in
3927 Emacs.app commit.
3928 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3929 NS_IMPL_COCOA.
3930 * keyboard.c (handle_async_input, input_available_signal): Remove
3931 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3932
39332008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3934
3935 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3936 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3937 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3938 Use SDATA.
3939
3940 * keymap.c: Remove all NS-specific code.
3941 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3942 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3943 where_is_preferred_modifier, return a different value depending on how
3944 preferred is the binding.
3945 (where_is_internal): Adjust accordingly.
3946 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3947 Adjust to new preferred_sequence_p.
3948 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3949 * keyboard.c (parse_solitary_modifier): Not static any more.
3950 * keyboard.h (parse_solitary_modifier): Declare.
3951
39522008-07-16 Andreas Schwab <schwab@suse.de>
3953
3954 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3955 of easymenu.
3956
39572008-07-16 Chong Yidong <cyd@stupidchicken.com>
3958
3959 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3960 that we don't move off the line.
3961
39622008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3963
3964 * keyboard.c (Qsuper): Remove.
3965 (parse_menu_item): Don't call where_is_internal specially for NS.
3966
39672008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3968
3969 * s/gnu-linux.h: Remove boilerplate comments.
3970
3971 * m/alpha.h (__ELF__): Consolidate conditions.
3972
3973 * m/m68k.h (linux): Use GNU_LINUX instead.
3974 Remove boilerplate comments.
3975
3976 * m/intel386.h: Undo refactoring from previous change.
3977 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3978 too, remove dead code.
3979 (linux): Use GNU_LINUX instead.
3980
39812008-07-16 Jason Rumney <jasonr@gnu.org>
3982
3983 * w32gui.h: Repeat 26 June changes lost by last change.
3984
39852008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3986
3987 * systty.h: Remove code for Aix on 386, unsupported platform.
3988
3989 * s/ms-w32.h: Remove boilerplate comments.
3990 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3991
3992 * s/gnu-linux.h (TERM): Remove support.
3993 (HAVE_SYSVIPC): Remove, unused.
3994 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3995 for this system.
3996
3997 * process.c: Remove support for IRIS, unused.
3998 Remove support for TERM, not relevant anymore.
3999
4000 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
4001 used with the definition.
4002
4003 * s/aix4-2.h (static): Do not undef.
4004
4005 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
4006 only used on Aix.
4007 (HAVE_SYSVIPC): Remove, unused.
4008
4009 * m/hp800.h (CANNOT_DUMP): Do not undef.
4010
4011 * m/alpha.h: Fix comment.
4012
4013 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
4014 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
4015 used by this configuration.
4016 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
4017 * unexec.c: Remove code depending on HPUX and
4018 USG_SHARED_LIBRARIES, not used with this file. Remove code
4019 depending on IRIS, unused. Remove if 0-ed code.
4020
4021 * s/template.h: Remove comments about static.
4022
4023 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
4024 Remove if 0-ed code.
4025 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
4026 were the same as the default.
4027 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
4028 Remove boilerplate comments.
4029 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
4030 (HAVE_SYSVIPC): Remove, unused.
4031 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
4032
4033 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4034 Remove boilerplate comments.
4035 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4036 Remove boilerplate comments.
4037 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4038 Remove boilerplate comments.
4039 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
4040
4041 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
4042 USG systems which do not use DATA_SEG_BITS.
4043 Refactor code. Remove boilerplate comments.
4044
4045 * m/ibms390.h:
4046 * m/m68k.h:
4047 * s/bsd-common.h:
4048 * s/cygwin.h:
4049 * s/darwin.h:
4050 * s/freebsd.h:
4051 * s/gnu.h:
4052 * s/msdos.h: Remove boilerplate comments.
4053
4054 * m/iris4d.h: Remove boilerplate comments and code for systems that
4055 do not use this file.
4056 (IRIS_4D): Remove, unused.
4057
4058 * m/mips.h: Remove boilerplate comments and code for systems that
4059 do not use this file.
4060 (SIGN_EXTEND_CHAR):
4061 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
4062 * unexmips.c: Remove file, unused.
4063
4064 * editfns.c (Fuser_full_name): Replace the only use of
4065 USER_FULL_NAME with its value.
4066 * config.in: Regenerate.
4067
40682008-07-16 David Reitter <david.reitter@gmail.com>
4069
4070 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
4071 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
4072
40732008-07-16 Glenn Morris <rgm@gnu.org>
4074
4075 * emacs.c (system-type): Doc fix.
4076
40772008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
4078
4079 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
4080 If the cache doesn't work, let's fix it, rather than work around it.
4081
40822008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4083
4084 * Makefile.in: Correct additions for nsfont.o in last commit.
4085 * nsfont.m: New file (forgot last commit).
4086
40872008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4088
4089 * callproc.c (set_initial_environment): Initialize
4090 Vprocess_environment under CANNOT_DUMP (fixes crash when
4091 batch-compiling for bootstrap).
4092
40932008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4094 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4095
4096 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
4097 fix crash due to different init order.
4098
40992008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4100
4101 Changes and additions for NeXTstep windowing system (Cocoa and
4102 GNUstep) support.
4103
4104 * Makefile.in:
4105 * config.in: Support defines and build commands for NS port.
4106 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
4107 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
4108 * dispextern.h: Include nsgui.h and add needed typedefs under NS
4109 windowing.
4110 (struct face): Add synth_ital field.
4111 * dispnew.c: Include nsterm.h when compiling under NS windowing.
4112 (init_display): Initialize Vinitial_window_system to "ns" when so
4113 compiled.
4114 * emacs.c: Include GSConfig.h when compiling under GNUstep.
4115 (display_arg): Use under NS.
4116 (main): Under NS, allocate autorelease pool and handle command line
4117 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
4118 (standard_args): Add NS-specific args.
4119 (shut_down_emacs): Shut down NS terminal if compiled under NS.
4120 * font.c (DEFAULT_ENCODING): New variable.
4121 (font_find_for_lface): Use it.
4122 (syms_of_font): Load syms_of_nsfont under NS.
4123 * font.h: Declare nsfont_driver when compiled under NS.
4124 * fontset.c: When compiling under NS, include nsterm.h.
4125 (fontset_from_font): Autoconstruct fontset under NS.
4126 * frame.c (various): Under NS, include nsterm.h, add Qns window system
4127 symbol, document and use it.
4128 (do_switch_frame): When for_deletion under Cocoa, add
4129 Fraise_frame(Qnil).
4130 (x_set_frame_parameters): Ensure font attribute changes are picked up.
4131 (x_get_arg): Allow "yes" and "no" as boolean values.
4132 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
4133 Qright under Cocoa.
4134 (focus-follows-mouse): Default to 0 under NS.
4135 * frame.h (enum output_method): Add output_ns.
4136 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
4137 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
4138 (FRAME_WINDOW_P): NS-specific definition.
4139 * fringe.c (max_used_fringe_bitmap): Make public.
4140 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
4141 (getloadavg): Use NeXT code under descendant OS's.
4142 * image.c (includes and header section, x_create_bitmap_from_data)
4143 (x_create_bitmap_from_file, free_bitmap_record, image_background)
4144 (image_background_transparent, x_clear_image_1)
4145 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4146 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
4147 (x_to_xcolors, x_from_xcolors, x_disable_image)
4148 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
4149 other GUIs, including XPM support using code originally written for
4150 Carbon GUI.
4151 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
4152 using NS API.
4153 (image_ascent): Use font metrics macros instead of direct struct field
4154 access.
4155 * keyboard.c (includes): Add nsterm.h when compiling under NS.
4156 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
4157 Also, handle NS as GTK for menu bar purposes.
4158 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
4159 toolkit where they differ.
4160 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
4161 use cachelist, still needed under NS.
4162 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
4163 (struct widget_value): Define it here for menu.c.
4164 * keymap.c (includes): Include modifier internals.
4165 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
4166 NS.
4167 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
4168 support for preferring sequences using certain modifiers, specified by
4169 the FIRSTONLY argument.
4170 * lisp.h (hash_remove): Rename to avoid name clash when compiling
4171 under NS GNUstep implementation.
4172 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
4173 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
4174 * menu.c: Include nsterm.h under NS.
4175 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
4176 (free_menubar_widget_tree_value, update_submenu_strings)
4177 (find_and_call_menu_selection): Treat NS as X and NT.
4178 (find_and_return_menu_selection): New function, used for popup menus.
4179 * nsgui.h:
4180 * nsterm.h:
4181 * nsfns.m:
4182 * nsimage.m:
4183 * nsmenu.m:
4184 * nsselect.m:
4185 * nsterm.m: New files.
4186 * process.c (wait_reading_process_output): Under NS, call ns_select()
4187 instead of plain select().
4188 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4189 beginning of buffer.
4190 * sysselect.h (init_process): Rename when compiling under Cocoa to
4191 avoid name conflict.
4192 * termhooks.h (display_info): Add ns_display_info to union.
4193 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4194 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4195 COCOA environment.
4196 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4197 unexec() signature. (Note, this will dump, but the resulting file
4198 crashes; unexosx is used instead; keeping around for reference and
4199 possible aid in getting dump working under GNUstep.)
4200 * w32gui.h (button_type, widget_value): Remove definitions (now in
4201 keyboard.h).
4202 * window.c: Include nsterm.h when compiling under NS.
4203 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4204 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4205 other GUI windowing systems.
4206 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4207 GTK.
4208 (x_consider_frame_title): Under NS, set icon type and frame
4209 modified-state indicator; use ns_set_name_as_filename() when using
4210 formatted title.
4211 (update_window_cursor): Make public when compiling under NS.
4212 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4213 (hourglass_atimer, Vhourglass_delay
4214 * xfaces.c (header section, init_frame_faces, clear_font_table)
4215 (defined_color, unload_color, x_face_list_fonts)
4216 (prepare_face_for_display): Add NS support parallel to other GUIs.
4217 Emulate GCs like other non-X GUIs.
4218 (split_font_name): Don't lowercase font name under NS.
4219 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4220 under NS.
4221 * s/darwin.h: Add support for compilation under NS.
4222
42232008-07-15 Jason Rumney <jasonr@gnu.org>
4224
4225 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4226 (w32_show_hourglass): Rename from show_hourglass.
4227 (w32_hide_hourglass): Rename from hide_hourglass.
4228 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4229 (Vhourglass_delay): Declare extern.
4230 (hourglass_started): Remove.
4231
4232 * xdisp.c (Vhourglass_delay): Remove static.
4233 (hourglass_started, start_hourglass, cancel_hourglass):
4234 Don't include these versions on WINDOWSNT.
4235
42362008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4237
4238 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4239 variables (formerly in xfns.c).
4240 (show_hourglass, hide_hourglass): New prototypes (same).
4241 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4242 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4243 in xfns.c).
4244 (syms_of_xdisp): Declare/initialize display-hourglass,
4245 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4246 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4247 formerly in xfns.c.
4248 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4249 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4250 (start_hourglass, cancel_hourglass): Remove.
4251 (show_hourglass, hide_hourglass): Remove prototypes and static
4252 modifiers.
4253 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4254 hourglass_atimer, hourglass_shown_p declaration/initialization.
4255 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4256 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4257 (start_hourglass, cancel_hourglass): Remove.
4258 (show_hourglass, hide_hourglass): Remove prototypes and static
4259 modifiers.
4260 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4261 hourglass_atimer, hourglass_shown_p declaration/initialization.
4262 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4263 (DEFAULT_HOURGLASS_DELAY): Remove.
4264 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4265 hourglass_shown_p declaration/initialization.
4266
42672008-07-14 Jason Rumney <jasonr@gnu.org>
4268
4269 * w32fns.c (w32_get_arg): Remove wrapper function.
4270 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4271 directly.
4272 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4273
42742008-07-14 Kenichi Handa <handa@m17n.org>
4275
4276 * xfont.c (xfont_open): Add workaround for X's bug.
4277
42782008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4279
4280 * fontset.c: Include <stdio.h> unconditionally.
4281
42822008-07-13 Michael Albinus <michael.albinus@gmx.de>
4283
4284 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4285 for filtering.
4286
42872008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4288
4289 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4290
4291 * m/macppc.h:
4292 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4293
4294 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4295 (SPECIAL_EMACS_INT):
4296 * m/ia64.h (SPECIAL_EMACS_INT):
4297 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4298 * s/gnu.h (NLIST_STRUCT):
4299 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4300 * s/gnu-linux.h (LINUX):
4301 * s/msdos.h (HAVE_FACES):
4302 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4303
4304 * systty.h:
4305 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4306 anymore.
4307
43082008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4309
4310 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4311 always defined as int.
4312
4313 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4314 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4315 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4316 * s/freebsd.h (HAVE_WAIT_HEADER):
4317 * s/bsd-common.h (HAVE_UNION_WAIT):
4318 * s/aix4-2.h (HAVE_WAIT_HEADER):
4319 * m/mips.h (HAVE_UNION_WAIT):
4320 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4321 (COFF, static): Do not define, they are undefined later in the file.
4322
4323 * process.c (update_status): Don't use a union.
4324 (status_convert):
4325 (sigchld_handler): Use int instead of WAITTYPE.
4326
43272008-07-12 Chong Yidong <cyd@stupidchicken.com>
4328
4329 * indent.c (Fvertical_motion): Restore hscroll before moving to
4330 goal column.
4331
43322008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4333
4334 * lisp.h: Remove left over code.
4335
43362008-07-11 Andreas Schwab <schwab@suse.de>
4337
4338 * lisp.h: Fix logic in last change.
4339
4340 * menu.h: New file.
4341 * menu.c: Include it.
4342 * xmenu.c: Likewise.
4343 * Makefile.in: Update dependencies.
4344
43452008-07-11 Kenichi Handa <handa@m17n.org>
4346
4347 * fontset.c (fontset_from_font): Cancel the previous change.
4348
43492008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4350
4351 * lisp.h:
4352 * w32heap.c:
4353 * emacs.c:
4354 * alloc.c: Replace all references of NO_UNION_TYPE with
4355 USE_LISP_UNION_TYPE.
4356
4357 * m/xtensa.h (NO_UNION_TYPE):
4358 * m/vax.h (NO_UNION_TYPE):
4359 * m/template.h (NO_UNION_TYPE):
4360 * m/sparc.h (NO_UNION_TYPE):
4361 * m/mips.h (NO_UNION_TYPE):
4362 * m/macppc.h (NO_UNION_TYPE):
4363 * m/m68k.h (NO_UNION_TYPE):
4364 * m/iris4d.h (NO_UNION_TYPE):
4365 * m/intel386.h (NO_UNION_TYPE):
4366 * m/ibms390x.h (NO_UNION_TYPE):
4367 * m/ibms390.h (NO_UNION_TYPE):
4368 * m/ibmrs6000.h (NO_UNION_TYPE):
4369 * m/ia64.h (NO_UNION_TYPE):
4370 * m/hp800.h (NO_UNION_TYPE):
4371 * m/arm.h (NO_UNION_TYPE):
4372 * m/amdx86-64.h (NO_UNION_TYPE):
4373 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4374 defining it the same.
4375
43762008-07-10 Chong Yidong <cyd@stupidchicken.com>
4377
4378 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4379
43802008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4381
4382 * fileio.c:
4383 * sysdep.c
4384 * systty.h:
4385 * m/ibmrs6000.h:
4386 * m/iris4d.h:
4387 * s/aix4-2.h:
4388 * s/freebsd.h:
4389 * s/gnu-linux.h:
4390 * s/hpux10-20.h:
4391 * s/hpux11.h:
4392 * s/netbsd.h:
4393 * s/sol2-3.h:
4394 * s/sol2-4.h:
4395 * s/sol2.h:
4396 * s/usg5-4.h:
4397 * s/vms.h: Remove references to unused variables.
4398
43992008-07-10 Andreas Schwab <schwab@suse.de>
4400
4401 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4402 pattern before matching the generic family.
4403
44042008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4405
4406 * unexec.c:
4407 * s/vms.h:
4408 * s/usg5-4-2.h:
4409 * s/sol2-5.h:
4410 * s/freebsd.h:
4411 * s/darwin.h: Remove dead code.
4412
4413 * m/template.h:
4414 * m/sparc.h:
4415 * m/mips.h:
4416 * m/m68k.h:
4417 * m/iris4d.h:
4418 * m/intel386.h:
4419 * m/ibms390x.h:
4420 * m/ibms390.h:
4421 * m/ia64.h:
4422 * m/hp800.h:
4423 * m/arm.h:
4424 * m/amdx86-64.h: Remove dead code and references to unused
4425 and compiler defined symbols.
4426
4427 * unexmips.c:
4428 * unexelf.c: Remove references to desupported systems.
4429
4430 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4431
4432 * m/powermac.h: Remove boilerplate comments.
4433 (NO_REMAP): Remove unused definition.
4434
4435 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4436 define them.
4437
44382008-07-10 Kenichi Handa <handa@m17n.org>
4439
4440 * xfont.c (xfont_open): Log the reason of failure.
4441
44422008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4443
4444 * fontset.c (fontset_get_font_group):
4445 * font.c (font_check_otf): Specify argument types.
4446
44472008-07-09 Kenichi Handa <handa@m17n.org>
4448
4449 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4450 non-ASCII char is found.
4451
4452 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4453 (reorder_font_vector): Change the arg preferred_family to font.
4454 Prefer the spec matching with font.
4455 (fontset_get_font_group): New function.
4456 (fontset_find_font): Change the format of an element of a realized
4457 fontset. Use fontset_get_font_group.
4458 (fontset_font): Try the current fontset, the default fontset, the
4459 fallbacks of the current fontset, and the fallbacks of the default
4460 fontset in this order.
4461 (face_for_char): Delete the shortcut to use the current font.
4462 (fontset_from_font): Don't set fonts for Latin in the fontset.
4463
4464 * font.h (font_make_object, font_match_p): Adjust prototypes.
4465
4466 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4467
4468 * font.c (font_make_object): New arg entity and pixelsize.
4469 (font_check_otf_features, font_check_otf): New functions.
4470 (font_match_p): Check :lang, :script, and :otf properties.
4471
4472 * xfont.c (xfont_open): Adjust it for the change of
4473 font_make_object.
4474 (xfont_text_extents): Fix initial setting of metrics.
4475
4476 * ftfont.c (struct ftfont_info): New member index, delete member
4477 fc_charset_idx. Make the member order compatible with struct
4478 xftfont_info.
4479 (fc_charset_table): Change charset names to registry names.
4480 (ftfont_pattern_entity): Delete the args registry and
4481 fc_charset_idx. Change the value of :font-entity property
4482 to (FONTNAME . INDEX). Always set :registry property to
4483 `iso10646-1'.
4484 (struct ftfont_cache_data): New struct.
4485 (ftfont_lookup_cache): New arg for_face.
4486 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4487 (ftfont_driver): Set the member otf_capability.
4488 (ftfont_get_charset): Adjust it for the change of
4489 fc_charset_table.
4490 (OTF_TAG_SYM): New macro.
4491 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4492 for the change of fc_charset_table.
4493 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4494 ftfont_pattern_entity. Add FC_INDEX to objset.
4495 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4496 and ftfont_pattern_entity.
4497 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4498 font_make_object, struct ftfont_info.
4499 (ftfont_has_char): Use ftfont_get_fc_charset.
4500 (ftfont_otf_features, ftfont_otf_capability): New functions.
4501 (ftfont_shape): Use ftfont_get_otf.
4502 (ftfont_text_extents): Fix initial setting of metrics.
4503
4504 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4505 member order compatible with struct ftfont_info.
4506 (xftfont_open): Add FC_CHARSET to the pattern. Set
4507 xftfont_info->ft_size. Don't unlock the face. Check BDF
4508 properties if appropriate.
4509 (xftfont_close): Unlock the face.
4510 (xftfont_anchor_point, xftfont_shape): Deleted.
4511 (syms_of_xftfont): Don't set members anchor_point and shape of
4512 xftfont_driver.
4513
4514 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4515 font_make_object.
4516
4517 * w32font.c (w32font_open): Adjust it for the change of
4518 font_make_object.
4519 (w32font_open_internal): Don't set properties of font_object here.
4520
45212008-07-08 Chong Yidong <cyd@stupidchicken.com>
4522
4523 * macfns.c (x_create_tip_frame):
4524 * w32fns.c (x_create_tip_frame):
4525 * xfns.c (x_create_tip_frame): Pass parameter argument to
4526 face-set-after-frame-default.
4527
4528 * xfaces.c (Finternal_merge_in_global_face): Save merged
4529 attributes for the default face back into the face vector.
4530
45312008-07-08 Andreas Schwab <schwab@suse.de>
4532
4533 * fontset.h: Declare fontset_from_font. Don't declare
4534 new_fontset_from_font and fontset_from_font_name.
4535 * xterm.c: Include "fontset.h".
4536 * Makefile.in (xterm.o): Update dependencies.
4537
45382008-07-08 Glenn Morris <rgm@gnu.org>
4539
4540 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4541 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4542
45432008-07-07 Chong Yidong <cyd@stupidchicken.com>
4544
4545 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4546 (x_set_frame_parameters): Don't bind it.
4547
45482008-07-07 Juanma Barranquero <lekktu@gmail.com>
4549
4550 * w32fns.c (map_w32_filename): Declare extern.
4551
45522008-07-07 Jason Rumney <jasonr@gnu.org>
4553
4554 * w32term.c (WS_EX_LAYERED): Define if not already.
4555
45562008-07-06 Chong Yidong <cyd@stupidchicken.com>
4557
4558 * xfaces.c (set_font_frame_param): Don't try to set the font
4559 parameter if it is still unspecified in the lface.
4560
45612008-07-05 Chong Yidong <cyd@stupidchicken.com>
4562
4563 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4564 face if it didn't already exist.
4565
4566 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4567
45682008-07-05 Andreas Schwab <schwab@suse.de>
4569
4570 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4571
45722008-07-05 Chong Yidong <cyd@stupidchicken.com>
4573
4574 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4575 word-wrapping.
4576 (IT_DISPLAYING_WHITESPACE): New macro.
4577 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4578 when word-wrapping. Simplify word-wrapping logic. Use correct
4579 pixel positions when saving copies of the iterator.
4580 (display_line): Use proper wrap point if the last character on a
4581 line was preceded by whitespace.
4582
45832008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4584
4585 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4586
45872008-07-04 Kenichi Handa <handa@m17n.org>
4588
4589 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4590
4591 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4592
45932008-07-02 Jason Rumney <jasonr@gnu.org>
4594
4595 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4596 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4597
4598 * xdisp.c (next_element_from_display_vector): Move assignment out
4599 of if statement.
4600
46012008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4602
4603 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4604
4605 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4606 (syms_of_fileio): Initialize and export them.
4607 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4608
4609 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4610 (Fsystem_move_file_to_trash): New function.
4611 (syms_of_w32fns): Export it to lisp.
4612
46132008-07-01 Jason Rumney <jasonr@gnu.org>
4614
4615 * w32font.c (w32font_text_extents): Don't count overhang as part
4616 of width.
4617
46182008-06-30 Miles Bader <miles@gnu.org>
4619
4620 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4621 Add `avoid_cursor_p' field.
4622
4623 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4624 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4625 (append_glyph, append_composite_glyph, produce_image_glyph)
4626 (append_stretch_glyph): Initialize avoid_cursor_p.
4627 (get_it_property): Rename from `get_line_height_property'.
4628 (x_produce_glyphs): Use get_it_property.
4629 (handle_line_prefix, push_display_prop): New functions.
4630 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4631 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4632 New variables.
4633 (syms_of_xdisp): Initialize them.
4634
46352008-06-30 Kenichi Handa <handa@m17n.org>
4636
4637 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4638 XftDefaultSubstitute (they are called in XftFontMatch).
4639 (xftfont_open): Fix args to ftfont_font_format.
4640
4641 * ftfont.c (fc_charset_table): New member lang.
4642 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4643 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4644 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4645 (ftfont_open): Fix args to ftfont_font_format.
4646 (ftfont_font_format): New arg filename.
4647
46482008-06-30 Chong Yidong <cyd@stupidchicken.com>
4649
4650 * xfaces.c (Finternal_merge_in_global_face): If default face was
4651 modified, realize it again. Update the font face attribute.
4652
46532008-06-29 Jason Rumney <jasonr@gnu.org>
4654
4655 * w32term.c (x_set_frame_alpha): Fix logic.
4656
46572008-06-29 Kenichi Handa <handa@m17n.org>
4658
4659 * fontset.c (Finternal_char_font): Return font-object instead of
4660 font-name.
4661
4662 * composite.c (get_composition_id): Fix the width calculation for TAB.
4663
46642008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4665
4666 * indent.c (Fvertical_motion): Properly handle float column arg.
4667
46682008-06-28 Jason Rumney <jasonr@gnu.org>
4669
4670 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4671 (pfnSetLayeredWindowAttributes): New function pointer.
4672 (w32_initialize): Initialize it when supported.
4673 (x_set_frame_alpha): New function.
4674
4675 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4676 (w32_frame_parm_handlers): Set alpha handler.
4677
4678 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4679
46802008-06-27 Jason Rumney <jasonr@gnu.org>
4681
4682 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4683 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4684 (w32_to_x_charset, x_to_w32_charset)
4685 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4686 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4687 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4688 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4689 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4690 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4691 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4692 (Qw32_charset_unicode): Remove.
4693 (syms_of_w32fns): Update for above changes.
4694
4695 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4696 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4697 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4698 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4699 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4700 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4701 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4702 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4703 (syms_of_w32font): Update for above changes.
4704
47052008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4706
4707 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4708 removed #if.
4709 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4710
47112008-06-26 Juanma Barranquero <lekktu@gmail.com>
4712 Eli Zaretskii <eliz@gnu.org>
4713
4714 * makefile.w32-in (LOCAL_FLAGS):
4715 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4716
4717 * sysdep.c (_spawnlp, _getpid):
4718 Declare with explicit _cdecl instead of _CRTAPI1.
4719
4720 * editfns.c (Fget_internal_run_time):
4721 Check for WINDOWSNT with #ifdef, not #if.
4722
47232008-06-26 Jason Rumney <jasonr@gnu.org>
4724
4725 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4726
4727 * w32term.c (x_draw_glyph_string_foreground)
4728 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4729 Use FONT_HANDLE macro.
4730 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4731
4732 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4733 (uniscribe_encode_char): Use FONT_HANDLE macro.
4734
4735 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4736 (w32font_text_extents): Use precast w32_font.
4737 (w32font_close): Free cached metrics.
4738 (w32font_open_internal): Allocate space for name on stack.
4739
47402008-06-26 Chong Yidong <cyd@stupidchicken.com>
4741
4742 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4743
47442008-06-26 Jason Rumney <jasonr@gnu.org>
4745
4746 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4747 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4748
47492008-06-26 Juanma Barranquero <lekktu@gmail.com>
4750
4751 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4752
47532008-06-26 Jason Rumney <jasonr@gnu.org>
4754
4755 * w32bdf.c, w32bdf.h: Remove obsolete files.
4756
4757 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4758
4759 * w32gui.h: Don't include w32bdf.h.
4760 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4761 Remove obsolete font support.
4762
4763 * w32font.h (struct w32font_info): Remove compat_w32_font.
4764 Add hfont member.
4765 (FONT_COMPAT): Remove obsolete macro.
4766
4767 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4768 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4769 (w32font_open_internal): Remove compat code. Set new hfont member.
4770 (Fx_select_font): Use new hfont member.
4771
4772 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4773 (uniscribe_encode_char): Use new hfont member.
4774
4775 * w32term.c (x_draw_glyph_string_foreground)
4776 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4777 (x_draw_glyph_string): Use metrics in w32font_info.
4778
47792008-06-26 Kenichi Handa <handa@m17n.org>
4780
4781 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4782
47832008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4784
4785 * unexnext.c:
4786 * m/ews4800.h:
4787 * m/hp9000s300.h:
4788 * m/ibm370aix.h:
4789 * m/mips-siemens.h:
4790 * m/ncr386.h:
4791 * m/next.h:
4792 * m/pmax.h:
4793 * m/powerpcle.h:
4794 * m/tandem-s2.h:
4795 * s/386bsd.h:
4796 * s/bsd386.h:
4797 * s/bsd4-1.h:
4798 * s/bsd4-2.h:
4799 * s/bsdos2-1.h:
4800 * s/bsdos2.h:
4801 * s/bsdos3.h:
4802 * s/bsdos4.h:
4803 * s/nextstep.h:
4804 * s/ultrix4-3.h:
4805 * s/usg5-0.h:
4806 * s/usg5-2-2.h:
4807 * s/usg5-2.h:
4808 * s/usg5-4-3.h:
4809 * s/ux4800.h:
4810 * s/uxpds.h:
4811 * s/uxpv.h: Remove support for obsolete systems.
4812 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4813 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4814 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4815 Remove, insert contents in s/aix4-2.h.
4816 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4817 * s/bsd4-3.h: Rename to ...
4818 * s/bsd-common.h: ... this.
4819 * data.c:
4820 * doc.c:
4821 * ecrt0.c:
4822 * emacs.c:
4823 * fileio.c:
4824 * floatfns.c:
4825 * keyboard.c:
4826 * mem-limits.h:
4827 * print.c:
4828 * process.c:
4829 * sysdep.c:
4830 * syssignal.h:
4831 * systty.h:
4832 * syswait.h:
4833 * term.c:
4834 * unexec.c:
4835 * unexelf.c:
4836 * unexhp9k800.c:
4837 * m/hp800.h:
4838 * m/ibmrs6000.h:
4839 * m/mips.h:
4840 * m/vax.h:
4841 * s/darwin.h:
4842 * s/freebsd.h:
4843 * s/gnu.h:
4844 * s/ms-w32.h:
4845 * s/msdos.h:
4846 * s/netbsd.h:
4847 * s/template.h: Remove references to obsolete variables.
4848
4849 * Makefile.in: Add dependencies for all unexec files.
4850 (admindir): Remove unused variable.
4851 (UNEXEC_SRC): Remove references.
4852
48532008-06-25 Chong Yidong <cyd@stupidchicken.com>
4854
4855 * xfns.c (x_default_font_parameter): If Xft is available, first
4856 try Monospace-12 for the default font.
4857
48582008-06-25 Jason Rumney <jasonr@gnu.org>
4859
4860 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4861
48622008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4863
4864 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4865
4866 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4867
48682008-06-25 Juanma Barranquero <lekktu@gmail.com>
4869
4870 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4871 <scroll-conservatively>: Fix typo in docstring.
4872
4873 * xselect.c (Fx_send_client_event): Doc fix.
4874
48752008-06-25 Kenichi Handa <handa@m17n.org>
4876
4877 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4878
4879 * font.c (font_parse_fcname): Remove unused variables.
4880 (font_sort_entites): Delete the arg SPEC. Caller changed.
4881 Fix for the case of ! best_only.
4882 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4883
4884 * lisp.h (Fstring_to_unibyte): EXFUN it.
4885
4886 * character.h (str_to_unibyte): Extern it.
4887
4888 * character.c (str_to_unibyte): New function.
4889
4890 * fns.c (Fstring_to_unibyte): New function.
4891 (syms_of_fns): Defsubr it.
4892
48932008-06-24 Kenichi Handa <handa@m17n.org>
4894
4895 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4896 DPI too.
4897 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4898
48992008-06-24 Andreas Schwab <schwab@suse.de>
4900
4901 * Makefile.in (${lispsource}loaddefs.el): Rename from
4902 ../lisp/loaddefs.el.
4903 (bootstrap-clean): Do what distclean does but don't remove
4904 Makefile.
4905 (distclean): Depend on bootstrap-clean and remove Makefile.
4906
49072008-06-24 Chong Yidong <cyd@stupidchicken.com>
4908
4909 * buffer.h (struct buffer): New member word_wrap.
4910
4911 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4912 word-wrap.
4913 (init_buffer_once): Initialize them.
4914
4915 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4916 line_wrap enum possessing three possible values.
4917
4918 * termopts.h: Replace truncate_partial_width_windows with
4919 Vtruncate_partial_width_windows.
4920
4921 * dispnew.c (direct_output_for_insert): Avoid direct output when
4922 inserting a space with word wrap on.
4923
4924 * indent.c (compute_motion): Obey integer values of
4925 truncate-partial-width-windows.
4926
4927 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4928 replacing truncate_partial_width_windows.
4929 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4930 truncate only if the window width is below that integer.
4931 (start_display, resize_mini_window, produce_stretch_glyph)
4932 (display_string, move_it_in_display_line_to): Use line_wrap.
4933 (back_to_previous_visible_line_start, reseat_1): Reset
4934 string_from_display_prop_p.
4935 (display_line): Extend default face to end of line when wrapping.
4936
49372008-06-24 Kim F. Storm <storm@cua.dk>
4938
4939 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4940 to wrap continued lines at word boundaries.
4941
49422008-06-24 Jason Rumney <jasonr@gnu.org>
4943
4944 * font.c (Ffont_face_attributes): Multiply pixel size before point
4945 conversion to avoid multiplying rounding error.
4946
49472008-06-23 Jason Rumney <jasonr@gnu.org>
4948
4949 * w32term.c (x_draw_glyph_string_background)
4950 (x_draw_glyph_string): Remove old bdf font code.
4951
4952 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4953
49542008-06-22 Kenichi Handa <handa@m17n.org>
4955
4956 * font.c (font_find_for_lface): Try the adstyle specified in
4957 the property of LFACE_FONT of LFACE (if any).
4958
49592008-06-21 Seiji Zenitani <zenitani@mac.com>
4960 Ryo Yoshitake <ryo@shiftmode.net>
4961
4962 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4963
49642008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4965
4966 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4967 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4968 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4969 (witness-emacs): Remove.
4970 (lisp, shortlisp): Move loaddefs.el earlier.
4971 (mostlyclean): Forget about witness-emacs.
4972
49732008-06-22 Glenn Morris <rgm@gnu.org>
4974
4975 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4976 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4977
49782008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4979
4980 * Makefile.in (PRECOMP): Remove.
4981 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4982 (witness-emacs): Run `compile-first'.
4983 (.el.elc): Use the new compile-onefile target.
4984
49852008-06-21 Kenichi Handa <handa@m17n.org>
4986
4987 * xftfont.c (xftfont_open): Handle QCembolden only when
4988 FC_EMBOLDEN is defined.
4989
49902008-06-21 Andreas Schwab <schwab@suse.de>
4991
4992 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4993 (.el.elc): Likewise.
4994
49952008-06-21 Miles Bader <miles@gnu.org>
4996
4997 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4998 build dir, not the lisp source dir.
4999
50002008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5001
5002 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
5003 (bootstrapclean): Remove.
5004 (.el.elc): New rule.
5005 (PRECOMP): New var.
5006 (../lisp/subdirs.el): Remove.
5007 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
5008 (witness-emacs): New target.
5009 (mostlyclean): Remove witness-emacs as well.
5010 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
5011 Add witness-emacs dependency.
5012
50132008-06-20 Chong Yidong <cyd@stupidchicken.com>
5014
5015 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
5016 defined by the font.
5017
50182008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5019
5020 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
5021 (bootstrap-clean): New target that keeps TAGS around.
5022 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
5023 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
5024
50252008-06-20 Jason Rumney <jasonr@gnu.org>
5026
5027 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
5028 Remove obsolete font code.
5029
5030 * w32font.c (font_matches_spec): Use csb bitfield from font signature
5031 to determine language support.
5032
50332008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5034
5035 * sysdep.c (cfsetspeed): New fun extracted from the code.
5036 (cfmakeraw): Move before first use.
5037
50382008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
5039
5040 * sysdep.c (cfmakeraw): Provide fallback implementation.
5041 (serial_configure): Provide fallback implementation of cfsetspeed.
5042
50432008-06-20 Kenichi Handa <handa@m17n.org>
5044
5045 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
5046 the pattern.
5047
5048 * fontset.c (fontset_from_font): Copy font_spec before changing
5049 the elements.
5050
5051 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
5052
50532008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5054
5055 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
5056 for explicit `font' parameters.
5057
5058 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
5059
50602008-06-19 Kenichi Handa <handa@m17n.org>
5061
5062 * frame.c: Include <ctype.h>.
5063 (x_set_font_backend): Allow spacing characters in the X resource
5064 for FontBackend.
5065
50662008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
5067
5068 * w32fns.c, xfns.c (Qfont_param): New var.
5069 (syms_of_w32fns): Initialize it.
5070 (x_default_font_parameter): Record explicit `font' into
5071 `font-parameter'.
5072
50732008-06-18 Kenichi Handa <handa@m17n.org>
5074
5075 * font.c (font_parse_xlfd): Fix previous change.
5076 (font_parse_fcname): Don't use :fc-unknown-spec.
5077 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
5078 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
5079 (font_add_log): Prepend the driver name to the resulting fonts.
5080
5081 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
5082 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
5083 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
5084
5085 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
5086 (QCembolden): New variables.
5087 (syms_of_xftfont): DEFSYM them.
5088 (xftfont_open): Call XftFontMatch. Don't trust the result of
5089 XftTextExtents8 if the pixel_size is less than 5.
5090
50912008-06-18 Andreas Schwab <schwab@suse.de>
5092
5093 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
5094 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
5095
50962008-06-18 Jason Rumney <jasonr@gnu.org>
5097
5098 * w32font.c (w32font_list, w32font_match): Add logging.
5099
5100 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
5101
51022008-06-17 Chong Yidong <cyd@stupidchicken.com>
5103
5104 * font.c (font_parse_fcname): Store divider characters for
5105 unknown-spec list. For known key symbols, intern using correct
5106 symbol name.
5107
51082008-06-17 Kenichi Handa <handa@m17n.org>
5109
5110 * xfaces.c (realize_default_face): If the frame is not on window
5111 system, set the fontset of face to nil.
5112
51132008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5114
5115 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
5116
51172008-06-16 Juanma Barranquero <lekktu@gmail.com>
5118
5119 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
5120 (build_font_name_from_vector): Delete externs.
5121
5122 * xfaces.c (struct font_name): Don't declare.
5123
51242008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
5125
5126 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
5127
51282008-06-16 Chong Yidong <cyd@stupidchicken.com>
5129
5130 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
5131
51322008-06-16 Juanma Barranquero <lekktu@gmail.com>
5133
5134 * font.c (Ffont_spec): Fix usage in docstring.
5135 (Ffont_face_attributes): Doc fix.
5136
51372008-06-16 Andreas Schwab <schwab@suse.de>
5138
5139 * font.c (Ffont_face_attributes): Fix definition.
5140
51412008-06-16 Jason Rumney <jasonr@gnu.org>
5142
5143 * font.h (font_style_symbolic_from_value): Remove.
5144
5145 * font.c (font_style_symbolic_from_value): Remove.
5146 (font_style_symbolic): Revert to pre 2008-06-13 version.
5147
5148 * w32font.c (w32_to_fc_weight): New function.
5149 (w32font_full_name, logfont_to_fcname): Use it.
5150
51512008-06-16 Kenichi Handa <handa@m17n.org>
5152
5153 * font.c (font_check_object): Delete it.
5154 (font_clear_cache): Check if a font-object is alive.
5155 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
5156 font-object to nil.
5157 (font_close_object): Don't check FONT_CLOSE_OBJECT.
5158 (font_at): Don't call font_check_object.
5159 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5160
51612008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
5162
5163 * puresize.h (BASE_PURESIZE): Increase to 1230000.
5164
51652008-06-16 Chong Yidong <cyd@stupidchicken.com>
5166
5167 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
5168
51692008-06-15 Chong Yidong <cyd@stupidchicken.com>
5170
5171 * font.c (font_parse_fcname): Only one decimal point.
5172 (font_unparse_fcname): Handle data in family and foundry indices
5173 as symbols, not strings.
5174 (font_unparse_gtkname, Ffont_face_attributes): New functions.
5175
5176 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
5177
5178 * font.h (font_unparse_gtkname): Add prototype.
5179
51802008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5181
5182 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
5183
51842008-06-15 Andreas Schwab <schwab@suse.de>
5185
5186 * font.c (font_update_drivers): Fix crash when no drivers match.
5187
51882008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5189
5190 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5191 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5192
51932008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5194
5195 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5196
51972008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5198
5199 * process.c (Fserial_process_configure, Fprocess_send_eof):
5200 Use EQ to compare Lisp_Objects.
5201
52022008-06-13 Jason Rumney <jasonr@gnu.org>
5203
5204 * w32fns.c (Fw32_select_font): Remove old font API function.
5205
5206 * w32font.c (logfont_to_fcname): New function.
5207 (Fx_select_font): New font dialog function compatible with
5208 GTK/fontconfig version.
5209
5210 * font.c (font_style_symbolic_from_value): New function.
5211 (font_style_symbolic): Use it.
5212
5213 * font.h (font_style_symbolic_from_value): Declare new function.
5214
52152008-06-13 Juanma Barranquero <lekktu@gmail.com>
5216
5217 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5218 <font-width-table>: Fix typos in docstrings.
5219
52202008-06-13 Daniel Engeler <engeler@gmail.com>
5221
5222 These changes add serial port access.
5223 * process.c: Add HAVE_SERIAL.
5224 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5225 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5226 (list_processes_1, select_wrapper, Fstop_process)
5227 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5228 (status_notify): Modify to handle serial processes.
5229 [HAVE_SERIAL] (Fserial_process_configure)
5230 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5231 New functions.
5232 * process.h (struct Lisp_Process): Add `type'.
5233 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5234 New functions.
5235 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5236 serial ports.
5237 (serial_open, serial_configure) New functions.
5238 * w32.h: Add FILE_SERIAL.
5239 (struct _child_process): Add ovl_read, ovl_write.
5240
52412008-06-13 Kenichi Handa <handa@m17n.org>
5242
5243 * dispextern.h (enum lface_attribute_index): New member
5244 LFACE_FOUNDRY_INDEX.
5245
5246 * font.c (font_score): Delete arg alternate_families. Check only
5247 weight, slant, width, and size. Ignore the difference of alias
5248 style symbols.
5249 (font_sort_entites): Adjust for the above change. Reflect the
5250 order of font-driver to scores.
5251 (font_list_entities): Don't check alternate_familes here.
5252 (font_clear_prop): Handle foundry.
5253 (font_update_lface): Don't parse "foundry-family" form here.
5254 Handle FONT_FOUNDRY_INDEX.
5255 (font_find_for_lface): Likewise. Handle alternate families here.
5256 If registry is nil, try iso8859-1 and ascii-0.
5257 (font_open_for_lface): Pay attention to size in ENTITY.
5258 (font_open_by_name): Simplify by calling font_load_for_lface.
5259 (free_font_driver_list): Delete it.
5260 (font_update_drivers): Preserve the order of backends.
5261 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5262 of font_score and font_sort_entites.
5263 (font_update_sort_order): Likewise.
5264
5265 * xfaces.c (LFACE_FOUNDRY): New macro.
5266 (check_lface_attrs): Check foundry.
5267 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5268 (merge_face_vectors): Check foundry.
5269 (merge_face_ref): Likewise.
5270 (Finternal_set_lisp_face_attribute): Likewise.
5271 (x_update_menu_appearance): Likewise.
5272 (Finternal_get_lisp_face_attribute): Likewise.
5273 (lface_hash): Likewise.
5274 (lface_same_font_attributes_p): Likewise.
5275 (x_supports_face_attributes_p): Likewise.
5276 (tty_supports_face_attributes_p): Likewise.
5277 (Finternal_set_alternative_font_family_alist): Intern strings.
5278 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5279 (realize_default_face): Set LFACE_FOUNDRY (lface).
5280
5281 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5282 font-driver at first.
5283
5284 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5285
52862008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5287
5288 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5289
52902008-06-12 Jim Meyering <meyering@redhat.com>
5291
5292 Make unexec_free handle NULL the same way free does.
5293 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5294
52952008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5296
5297 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5298 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5299 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5300 (WEAK_ALIAS): Simplify.
5301 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5302 when searching a unibyte buffer.
5303
53042008-06-12 Chong Yidong <cyd@stupidchicken.com>
5305
5306 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5307
53082008-06-12 Juanma Barranquero <lekktu@gmail.com>
5309
5310 * w32font.c: Include ctype.h.
5311
53122008-06-11 Jason Rumney <jasonr@gnu.org>
5313
5314 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5315 misreported as space.
5316 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5317 as aliases for registry iso10646-1.
5318
53192008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5320
5321 * buffer.c (clone_per_buffer_values): Skip `name'.
5322
53232008-06-11 Chong Yidong <cyd@stupidchicken.com>
5324
5325 * font.c (font_parse_fcname): Fix last change; accept decimal
5326 points in font size.
5327
53282008-06-10 Jason Rumney <jasonr@gnu.org>
5329
5330 * w32uniscribe.c (add_opentype_font_name_to_list):
5331 Skip non unicode fonts.
5332
53332008-06-10 Chong Yidong <cyd@stupidchicken.com>
5334
5335 * xfns.c (Fx_font_dialog): New function.
5336
5337 * gtkutil.c (xg_dialog_response_cb): Rename from
5338 xg_file_response_callback.
5339 (pop_down_dialog): Rename from pop_down_file_dialog.
5340 (xg_get_file_name): Callers changed.
5341 (xg_get_font_name): New function.
5342
5343 * gtkutil.h (xg_get_font_name): Insert prototype.
5344
53452008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5346
5347 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5348 x_underline_minimum_display_offset.
5349 (syms_of_xdisp): Declare it here rather than in xterm.c.
5350 * dispextern.h (underline_minimum_offset): Declare it.
5351 * w32term.c (x_draw_glyph_string): Use it.
5352 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5353 (syms_of_xterm): Don't declare it any more.
5354 (x_draw_glyph_string): Adjust to the new name.
5355
53562008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5357
5358 * xterm.c (x_underline_minimum_display_offset): New var.
5359 (x_draw_glyph_string): Use it.
5360 (syms_of_xterm): Declare it.
5361
53622008-06-10 Chong Yidong <cyd@stupidchicken.com>
5363
5364 * font.c (font_parse_fcname): Accept GTK-style font names too.
5365
53662008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5367
5368 * dired.c (file_name_completion): Don't return t if the match is exact
5369 but with different capitalization.
5370 * minibuf.c (Ftry_completion): Simplify.
5371
5372 * window.c (Vwindow_point_insertion_type): New var.
5373 (set_window_buffer): Use it.
5374 (syms_of_window): Init and export it to Lisp.
5375
53762008-06-10 Kenichi Handa <handa@m17n.org>
5377
5378 * font.h (font_intern_prop): Prototype adjusted.
5379
5380 * font.c (font_intern_prop): New arg force_symbol.
5381 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5382 Adjust for the change of font_intern_prop.
5383
5384 * ftfont.c (ftfont_pattern_entity):
5385 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5386 (w32_registry):
5387 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5388 the change of font_intern_prop.
5389
53902008-06-09 Juanma Barranquero <lekktu@gmail.com>
5391
5392 * w32menu.c (digest_single_submenu): Declare extern.
5393
53942008-06-09 Jason Rumney <jasonr@gnu.org>
5395
5396 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5397
5398 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5399 (parse_single_submenu): Remove.
5400 (digest_single_submenu): Remove.
5401 (syms_of_w32menu): Don't initialise variables that have moved
5402 to menu.c.
5403 (set_frame_menubar): Sync with version in xmenu.c.
5404 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5405
5406 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5407 Make static again.
5408
54092008-06-09 Jason Rumney <jasonr@gnu.org>
5410
5411 Changes to w32 files related to the move of common menu code
5412 to menu.c on 2008-06-08 by Chong Yidong.
5413
5414 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5415 defs to w32gui.h.
5416 (single_keymap_panes, push_menu_item, push_menu_pane):
5417 Make globally visible.
5418
5419 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5420 (local_free, malloc_widget_value, free_widget_value)
5421 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5422 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5423 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5424 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5425 (menu_items, menu_items_allocated, menu_items_used)
5426 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5427 (init_menu_items, finish_menu_items, discard_menu_items)
5428 (grow_menu_items, push_submenu_start, push_submenu_end)
5429 (push_left_right_boundary, push_menu_pane, push_menu_item)
5430 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5431 (free_menubar_widget_tree_value, parse_single_submenu)
5432 (update_submenu_strings): Remove functions.
5433 (xmalloc_widget_value): Remove and declare extern.
5434
5435 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5436 (OBJ1): Build it.
5437
5438 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5439 (local_heap, local_alloc, local_free, malloc_widget_value)
5440 (free_widget_value): Define here.
5441
54422008-06-09 Kenichi Handa <handa@m17n.org>
5443
5444 * font.h (Qascii_0): Extern it.
5445
5446 * font.c (Qascii_0): New variable.
5447 (syms_of_font): DEFSYM it.
5448 (font_open_by_name): If the registry "iso8859-1" fails, try also
5449 "ascii-0".
5450
5451 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5452
54532008-06-08 Kenichi Handa <handa@m17n.org>
5454
5455 * .gdbinit (xfont): New command.
5456
54572008-06-08 Andreas Schwab <schwab@suse.de>
5458
5459 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5460 * Makefile.in (menu.o): Update dependencies.
5461
5462 * Makefile.in (obj): Always add menu.o.
5463 * emacs.c (main): Always call syms_of_menu.
5464 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5465
54662008-06-08 Chong Yidong <cyd@stupidchicken.com>
5467
5468 * Makefile.in: Compile menu.c.
5469
5470 * lisp.h: Declare syms_of_menu.
5471
5472 * emacs.c (main): Call syms_of_menu.
5473
5474 * keyboard.h: Relocate platform-independent menu definitions from
5475 xmenu.c.
5476
5477 * menu.c: New file. Relocate platform-independent menu
5478 definitions from xmenu.c. Suggested by Adrian Robert.
5479
5480 * xmenu.c: Remove platform-independent menu definitions.
5481 (menu_items menu_items_inuse, menu_items_allocated)
5482 (menu_items_used, menu_items_n_panes)
5483 (menu_items_submenu_depth): Move to keyboard.h.
5484 (init_menu_items, finish_menu_items, unuse_menu_items)
5485 (discard_menu_items, restore_menu_items, save_menu_items)
5486 (grow_menu_items, push_submenu_start, push_submenu_end)
5487 (push_left_right_boundary, push_menu_pane, push_menu_item)
5488 (keymap_panes, single_keymap_panes, single_menu_item)
5489 (list_of_panes, list_of_items, find_and_call_menu_selection)
5490 (xmalloc_widget_value, free_menubar_widget_value_tree)
5491 (parse_single_submenu, digest_single_submenu)
5492 (update_submenu_strings): Move to menu.c.
5493
54942008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5495
5496 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5497
54982008-06-06 Miles Bader <miles@gnu.org>
5499
5500 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5501 face, not frame default.
5502
55032008-06-05 Martin Rudalics <rudalics@gmx.at>
5504
5505 * window.c (pop_up_windows, pop_up_frames)
5506 (display_buffer_reuse_frames, Vpop_up_frame_function)
5507 (Vdisplay_buffer_function, Veven_window_heights)
5508 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5509 (Vspecial_display_function, Vsame_window_buffer_names)
5510 (Vsame_window_regexps, split_height_threshold)
5511 (Vsplit_window_preferred_function): Move those vars to window.el.
5512 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5513 (Fdisplay_buffer): Move those functions to window.el.
5514 (syms_of_window): Remove corresponding declarations.
5515 (display_buffer): New function.
5516 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5517 * dispnew.c (Flast_nonminibuf_frame): New function.
5518 * buffer.c (Fpop_to_buffer): Move to window.el.
5519
55202008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5521
5522 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5523
55242008-06-05 Kenichi Handa <handa@m17n.org>
5525
5526 * coding.c (detect_coding): Fix previous change.
5527 (detect_coding_system): Likewise.
5528
55292008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5530
5531 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5532
5533 * keymap.c (Vminibuffer_local_filename_must_match_map):
5534 Rename from Vminibuffer_local_must_match_filename_map.
5535 (syms_of_keymap):
5536 * minibuf.c (Fcompleting_read): Adjust accordingly.
5537 * commands.h: Rename declaration as well.
5538
55392008-06-05 Kenichi Handa <handa@m17n.org>
5540
5541 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5542 family name.
5543 (Ffont_put): Likewise.
5544
5545 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5546 current font-spec.
5547
5548 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5549 is unspecified.
5550
5551 * xfaces.c (realize_x_face): If the font-related face attributes
5552 are the same as those of default face, realize a new fontset from
5553 default->fontset.
5554 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5555
55562008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5557
5558 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5559 (move_it_in_display_line): New wrapper.
5560
5561 * window.c (window_scroll_pixel_based_preserve_x)
5562 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5563 (window_scroll_pixel_based, window_scroll_line_based):
5564 Use them to preserve column positions.
5565 (syms_of_window): Initialize them.
5566
5567 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5568 (HPOS . VPOS) pair.
5569
5570 * dispextern.h (move_it_in_display_line): Declare.
5571
55722008-06-05 Juanma Barranquero <lekktu@gmail.com>
5573
5574 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5575 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5576 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5577
55782008-06-04 Juanma Barranquero <lekktu@gmail.com>
5579
5580 * window.c (Fset_window_parameter): Doc fix.
5581 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5582
55832008-06-04 Joakim Verona <joakim@verona.se>
5584
5585 * window.h (struct window): Add new member window_parameters.
5586
5587 * window.c (Fwindow_parameters, Fwindow_parameter)
5588 (Fset_window_parameter): New defuns.
5589 (syms_of_window): Defsubr the new defuns.
5590 (make_window): Initialize window_parameters to nil.
5591
55922008-06-04 John Paul Wallington <jpw@pobox.com>
5593
5594 * eval.c (Fdefmacro): Doc fix.
5595
55962008-06-04 Kenichi Handa <handa@m17n.org>
5597
5598 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5599 Be sure to call setup_coding_system when we find a proper coding system.
5600 (detect_coding_system): Fix handling of coding->head_ascii.
5601
56022008-06-03 Andreas Schwab <schwab@suse.de>
5603
5604 * font.c (font_prop_validate_spacing): Fix last change.
5605
56062008-06-03 Kenichi Handa <handa@m17n.org>
5607
5608 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5609 (font_parse_fcname): Fix handling of unknown key.
5610
5611 * xfont.c (xfont_list): Try an alias.
5612
5613 * charset.c (char_charset): Return NULL if the arg charset_list is
5614 specified and C doesn't belong to any of them.
5615
56162008-06-02 Chip Coldwell <coldwell@redhat.com>
5617
5618 * font.c (font_pixel_size): Don't take cdr of an integer.
5619
56202008-06-02 Jim Meyering <meyering@redhat.com>
5621
5622 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5623 * alloc.c (xfree): Return right away for a NULL arg.
5624 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5625 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5626 * mac.c (create_apple_event_from_event_ref): Likewise.
5627 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5628 Likewise.
5629 * doprnt.c (doprnt1): Likewise.
5630 * frame.c (frame): Likewise.
5631 * keyboard.c (wipe_kboard): Likewise.
5632 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5633 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5634 * term.c (tty_default_color_capabilities, maybe_fatal)
5635 (delete_tty): Likewise.
5636 * w16select.c (string): Likewise.
5637 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5638 * w32bdf.c (w32_free_bdf_font): Likewise.
5639 * w32fns.c (w32_unload_font): Likewise.
5640 * w32font.c (w32font_close): Likewise.
5641 * window.c (size_window): Likewise.
5642 * xselect.c (receive_incremental_selection): Likewise.
5643 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5644 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5645 * w32.c (stat): Likewise.
5646
5647 Remove useless if-before-free tests.
5648 * editfns.c (Fset_time_zone_rule): Likewise.
5649 * lread.c (nosuffix): Likewise.
5650 * ralloc.c (get_bloc): Likewise.
5651 * regex.c (reg_free): Likewise.
5652 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5653 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5654 * xsmfns.c (smc_save_yourself_CB): Likewise.
5655
56562008-06-02 Kenichi Handa <handa@m17n.org>
5657
5658 * font.c (font_find_for_lface): Handle float font size.
5659 (font_open_for_lface): Likewise.
5660
5661 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5662 comparing the properties.
5663
56642008-06-01 Jason Rumney <jasonr@gnu.org>
5665
5666 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5667 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5668 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5669 Don't add empty script list.
5670 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5671
56722008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5673
5674 * Makefile.in (dot, dotdot): Remove, update users.
5675 ".." has been used elsewhere in the file for a long time.
5676 (LIBXT_STATIC): Remove conditional based on unused variable.
5677
56782008-06-01 Miles Bader <miles@gnu.org>
5679
5680 * xfaces.c (Vface_remapping_alist): New variable.
5681 (syms_of_xfaces): Initialize it.
5682 (enum named_merge_point_kind): New type.
5683 (struct named_merge_point): Add `named_merge_point_kind' field.
5684 (push_named_merge_point): Make cycle detection respect different
5685 named-merge-point kinds.
5686 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5687 Remove face-name alias resolution.
5688 (lface_from_face_name): New definition using
5689 `lface_from_face_name_no_resolve'.
5690 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5691 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5692 (get_lface_attributes): New definition that layers face-remapping on
5693 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5694 (lookup_basic_face): New function.
5695 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5696 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5697 `get_lface_attributes'.
5698 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5699 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5700 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5701
5702 * xdisp.c (init_iterator): Pass base_face_id through
5703 `lookup_basic_face' when we actually use it as a face-id.
5704 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5705 DEFAULT_FACE_ID.
5706
5707 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5708 lookup the initial face-id.
5709
5710 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5711
57122008-06-01 Juanma Barranquero <lekktu@gmail.com>
5713
5714 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5715 (Fremove_text_properties): Fix typos in docstrings.
5716
57172008-05-31 Kenichi Handa <handa@m17n.org>
5718
5719 * font.c (font_list_entities): Fix the car part of data to be
5720 stored in the cache.
5721
5722 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5723
57242008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5725
5726 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5727 Add a `test' argument so another predicate than `equal' can be used.
5728 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5729 (map_char_table): Remove unused vars `c' and `i'.
5730 * lisp.h (Foptimize_char_table): Adjust declaration.
5731 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5732
57332008-05-30 Kenichi Handa <handa@m17n.org>
5734
5735 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5736 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5737 defined.
5738
57392008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5740
5741 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5742 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5743 frame-local settings for the same variable.
5744
57452008-05-30 Kenichi Handa <handa@m17n.org>
5746
5747 * fontset.c (Ffont_info): Move to font.c.
5748 (syms_of_fontset): Delete defsubr of Sfont_info.
5749
5750 * font.c (font_style_to_value, font_score): Delete casting of the
5751 args to xstcasecmp.
5752 (register_font_driver): Increment num_font_drivers only when
5753 registering the driver globally.
5754 (Ffont_info): Move from fontset.c. Handle a font object too.
5755 (syms_of_font): Defsubr Sfont_info.
5756
57572008-05-29 Kenichi Handa <handa@m17n.org>
5758
5759 * coding.h (enum define_coding_utf8_arg_index): New enum.
5760 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5761 coding_attr_utf_bom.
5762 (enum utf_bom_type): Rename from utf_16_bom_type.
5763 (struct utf_16_spec): Adjust for the above change.
5764 (struct coding_system): Add utf_8_bom in `spec' union.
5765
5766 * coding.c (CODING_UTF_8_BOM): New macro.
5767 (enum coding_category): Delete coding_category_utf_8, add
5768 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5769 coding_category_utf_8_sig.
5770 (CATEGORY_MASK_UTF_8): Delete it.
5771 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5772 (CATEGORY_MASK_UTF_8_SIG): New macros.
5773 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5774 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5775 CATEGORY_MASK_UTF_8_SIG.
5776 (CATEGORY_MASK_UTF_8): New macro.
5777 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5778 (detect_coding_utf_8): Check BOM.
5779 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5780 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5781 (encode_coding_utf_16): Likewise.
5782 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5783 (detect_coding, detect_coding_system): Handle utf-8-auto.
5784 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5785 (syms_of_coding): Fix setting up of Vcoding_category_table.
5786
57872008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5788
5789 * process.c (Faccept_process_output): If `millisec' is non-nil,
5790 `seconds' default to 0.
5791 (wait_reading_process_output): Also return non-nil if we read output
5792 from a non-running process.
5793
57942008-05-29 Jason Rumney <jasonr@gnu.org>
5795
5796 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5797 `raster' specified.
5798 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5799 in the uniscribe backend, but disallow any font that has no
5800 unicode subrange support.
5801
58022008-05-29 Juanma Barranquero <lekktu@gmail.com>
5803
5804 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5805 Fix typos in docstrings.
5806
58072008-05-29 Kenichi Handa <handa@m17n.org>
5808
5809 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5810 (Fx_family_fonts): Set frame correctly.
5811
58122008-05-28 Jason Rumney <jasonr@gnu.org>
5813
5814 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5815
58162008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5817
5818 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5819 calling build_annotations.
5820
58212008-05-28 Juanma Barranquero <lekktu@gmail.com>
5822
5823 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5824 (Fencode_coding_string):
5825 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5826 <latin-extra-code-table>: Fix typos in docstrings.
5827 (syms_of_coding) <coding-system-alist>: Doc fix.
5828 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5829
58302008-05-28 Kenichi Handa <handa@m17n.org>
5831
5832 * fontset.c (Ffont_info): Don't call font_close_object.
5833
5834 * font.c (font_parse_family_registry): Use Ffont_put to validate
5835 foundry and family.
5836 (font_delete_unmatched): Don't check spacing.
5837 (font_list_entities): Add spacing to the spec to list fonts.
5838
5839 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5840 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5841
5842 * coding.c (encode_coding_raw_text): Fix previous change.
5843 (encode_coding_object): When the dst_object is a buffer and is
5844 different from src_object, move gap to PT.
5845
58462008-05-27 Chong Yidong <cyd@stupidchicken.com>
5847
5848 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5849
58502008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5851
5852 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5853 all branches. Compute it differently.
5854
5855 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5856
58572008-05-27 Juanma Barranquero <lekktu@gmail.com>
5858
5859 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5860 into "else if () ... else ...".
5861
58622008-05-27 Jason Rumney <jasonr@gnu.org>
5863
5864 * w32font.c (w32font_open_internal): Determine if glyph indices
5865 are likely to work here.
5866
58672008-05-27 Chong Yidong <cyd@stupidchicken.com>
5868
5869 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5870 draw overlap glyphs with appropriate highlighting.
5871
58722008-05-27 Kenichi Handa <handa@m17n.org>
5873
5874 * xfont.c (xfont_open): Fix calculation of font->average_width.
5875
58762008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5877
5878 * casefiddle.c (casify_object): Try to guess better whether the
5879 argument is a byte or a char.
5880
58812008-05-26 Andreas Schwab <schwab@suse.de>
5882
5883 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5884 Always send multiples of format size.
5885
5886 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5887
58882008-05-26 Jason Rumney <jasonr@gnu.org>
5889
5890 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5891 (compute_metrics): Don't set failure if we just cleared the cache.
5892 (w32_weight_table): Remove unused variable.
5893 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5894 backwards compatibility.
5895
58962008-05-25 Kenichi Handa <handa@m17n.org>
5897
5898 * w32term.c (x_draw_glyph_string):
5899 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5900
5901 * xfaces.c: Delete unused function prototypes.
5902 (xstrlwr, font_frame): Delete them.
5903 (clear_face_cache): Delete unused variable.
5904
5905 * xftfont.c (xftfont_open): Delete unused variable.
5906 If underline_thickness is not 1, adjust underline_position.
5907
5908 * ftxfont.c (ftxfont_open): Delete unused variable.
5909
5910 * fontset.c (face_for_char): Optimize for the case of no charset
5911 property.
5912
5913 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5914 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5915 (otf_open, font_otf_capability, generate_otf_features)
5916 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5917 Comment out by surrounding "#if 0" and "#endif" for the moment.
5918 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5919 (syms_of_font): Codes for accessing above commented out.
5920
59212008-05-24 Eli Zaretskii <eliz@gnu.org>
5922
5923 * w32proc.c: Include dispextern.h.
5924
5925 * w32.c: Include dispextern.h.
5926
59272008-05-23 Juanma Barranquero <lekktu@gmail.com>
5928
5929 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5930 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5931 Fix typos in docstrings.
5932
59332008-05-23 Jason Rumney <jasonr@gnu.org>
5934
5935 * xsmfns.c: Remove includes that are already included by config.h.
5936
59372008-05-23 Kenichi Handa <handa@m17n.org>
5938
5939 * charset.c (Qemacs, charset_emacs): New variables.
5940 (char_charset): Fix for non-Unicode characters.
5941 (syms_of_charset): Define charset_emacs.
5942
5943 * w32term.c (x_draw_glyph_string): Be sure to update
5944 s->underline_thickness and s->underline_position. Be sure to draw
5945 underline within the current line area.
5946
5947 * xterm.c (x_draw_glyph_string): Be sure to update
5948 s->underline_thickness and s->underline_position. Be sure to draw
5949 underline within the current line area.
5950
5951 * fontset.c: Delete unused variables and add casting for char *
5952 throughout the file.
5953 (fontset_font): Try the fallback fonts of the current fontset
5954 before consulting the default fontset.
5955
5956 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5957
5958 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5959
59602008-05-22 Jason Rumney <jasonr@gnu.org>
5961
5962 * font.c: Don't include strings.h.
5963
5964 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5965
5966 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5967 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5968 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5969 to call xstrcasecmp.
5970
5971 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5972
5973 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5974
5975 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5976
5977 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5978
59792008-05-22 Kenichi Handa <handa@m17n.org>
5980
5981 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5982
5983 * font.c (font_prop_validate_style): Adjust for the format
5984 change of font_style_table.
5985
5986 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5987 two args.
5988
5989 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5990 two args.
5991
59922008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5993
5994 * minibuf.c (keys_of_minibuf): Delete.
5995 * lisp.h (keys_of_minibuf): Delete.
5996 * emacs.c (main): Don't call keys_of_minibuf.
5997
59982008-05-22 Kenichi Handa <handa@m17n.org>
5999
6000 * ftfont.c (ftfont_resolve_generic_family): Rename from
6001 ftfont_list_generic_family. Return a single family for each
6002 generic family.
6003 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
6004 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
6005 Call font_add_log.
6006 (ftfont_match): Call font_add_log.
6007
6008 * font.h (Ffont_xlfd_name): EXFUN adjusted.
6009 (FONT_DEBUG): Define it.
6010 (font_add_log): Extern it.
6011 (font_assert): Rename from xassert.
6012
6013 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
6014 (xfont_list_family): Call font_add_log.
6015 (xfont_match): Likewise.
6016 (memq_no_quit): Delete.
6017
6018 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
6019 call of Ffont_xlfd_name.
6020
6021 * xfaces.c (struct table_entry, slant_table, weight_table)
6022 (swidth_table): Move to font.c.
6023
6024 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
6025 xassert are changed to font_assert. Delete many unused variables.
6026 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
6027 New variables.
6028 (struct table_entry): Move from xfaces.c and modified.
6029 (weight_table, slant_table, width_table): Move from xfaces.c and
6030 contents adjusted for the change of struct table_entry.
6031 (font_style_to_value, font_style_symbolic): Adjust for the
6032 format change of font_style_table.
6033 (font_parse_family_registry): Don't overwrite existing foundry and
6034 family of font_spec.
6035 (font_score): Fix calculation of diff for sizes.
6036 (font_sort_entites): Call font_add_log.
6037 (font_delete_unmatched): Return a newly created list.
6038 (font_list_entities): Fix previous change. Call font_add_log.
6039 (font_matching_entity, font_open_entity, font_close_entity):
6040 Call font_add_log.
6041 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
6042 (Finternal_set_font_style_table): Delete.
6043 (BUILD_STYLE_TABLE): New macro.
6044 (build_style_table): New function.
6045 (Vfont_log, font_log_env_checked): New variables.
6046 (font_add_log): New function.
6047 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
6048 Declare Lisp variables "font-weight-table", "font-slant-table",
6049 "font-width-table", and "font-log". Initialize font_style_table.
6050
60512008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
6052
6053 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6054
60552008-05-21 Seiji Zenitani <zenitani@mac.com>
6056 Ryo Yoshitake <ryo@shiftmode.net>
6057
6058 * frame.c (Qalpha): Add a new frame parameter `alpha'.
6059 (Vframe_alpha_lower_limit): New variable.
6060 (x_set_alpha): New function.
6061
6062 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
6063
6064 * xfns.c (x-create-frame, Qalpha):
6065 Initialize the frame parameter `alpha'.
6066 * xterm.c (OPAQUE, OPACITY): New.
6067 (x_set_frame_alpha): New function.
6068 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
6069
6070 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
6071 * w32fns.c (w32_frame_parm_handlers): Likewise.
6072
60732008-05-20 Jason Rumney <jasonr@gnu.org>
6074
6075 * w32font.c (add_font_entity_to_list): Don't add non-opentype
6076 truetype fonts to opentype list.
6077
60782008-05-20 Juanma Barranquero <lekktu@gmail.com>
6079
6080 * fontset.c (Ffontset_info): Doc fix.
6081 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
6082 <ignore-relative-composition>: Fix typos in docstrings.
6083
6084 * font.c (syms-of-font) <font-encoding-alist>:
6085 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
6086 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
6087 (Ffont_otf_alternates): Doc fixes.
6088
60892008-05-20 Kenichi Handa <handa@m17n.org>
6090
6091 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
6092 font.h through out the file.
6093 (FONT_DRIVERS): Rename from FONTOBJ.
6094 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
6095 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
6096
6097 * emacs.c (main): Call syms_of_font unconditionally.
6098
6099 * font.h (find_font_encoding): Extern it.
6100
6101 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
6102 fontset.c.
6103 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
6104 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
6105 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
6106 only when HAVE_WINDOW_SYSTEM is defined.
6107 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
6108 when HAVE_WINDOW_SYSTEM is defined.
6109
6110 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
6111 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
6112
6113 * xfaces.c: Include font.h unconditionally.
6114 (merge_face_ref, merge_face_vectors)
6115 (Finternal_set_lisp_face_attribute): Cancel the previous change.
6116
61172008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
6118
6119 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
6120 indirect_variable.
6121 * eval.c (lisp_indirect_variable): New fun.
6122 (Fuser_variable_p): Use it.
6123
61242008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
6125
6126 * lisp.h (indirect_variable):
6127 * data.c (indirect_variable, let_shadows_buffer_binding_p):
6128 Use Lisp_Symbol pointers rather than Lisp_Object.
6129 Adjust callers.
6130 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
6131 To this end, change calling-convention.
6132
6133 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
6134 if some non-hidden buffers are selected by string&pred.
6135
61362008-05-19 Chong Yidong <cyd@stupidchicken.com>
6137
6138 * process.c (wait_reading_process_output): Always check status
6139 when in batch mode.
6140
61412008-05-19 Kenichi Handa <handa@m17n.org>
6142
6143 * font.c (font_list_entities): Fix handling of cache.
6144 (font_matching_entity): Likewise.
6145
6146 * ftfont.c (cs_iso8859_1): Delete.
6147 (ft_face_cache): New variable.
6148 (struct ftfont_info): New member fc_charset_idx.
6149 (ftfont_build_basic_charsets): Delete.
6150 (fc_charset_table): New variable.
6151 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
6152 . FC_CHARSET_IDX) as :font-entity property in the font entity.
6153 Callers changed.
6154 (ftfont_lookup_cache, ftfont_get_charset): New functions.
6155 (ftfont_spec_pattern): New argument fc_charset_idx.
6156 Check registry more rigidly. Change callers.
6157 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
6158 change of :font-entity property of the font.
6159
6160 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
6161 property of the font.
6162
61632008-05-18 Juanma Barranquero <lekktu@gmail.com>
6164
6165 * coding.c (Fcoding_system_p): Rename argument to match docstring.
6166 (Funencodable_char_position, Fcheck_coding_systems_region)
6167 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
6168 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
6169 (Ffind_operation_coding_system, Fset_coding_system_priority)
6170 (Fcoding_system_eol_type): Doc fixes.
6171
61722008-05-17 Glenn Morris <rgm@gnu.org>
6173
6174 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
6175
61762008-05-16 Eli Zaretskii <eliz@gnu.org>
6177
6178 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
6179 and st_gid.
6180
6181 * frame.c (Fdelete_frame): Don't call font_update_drivers if
6182 HAVE_WINDOW_SYSTEM is not defined.
6183
6184 * xfaces.c (merge_face_ref, merge_face_vectors)
6185 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
6186 HAVE_WINDOW_SYSTEM is defined.
6187 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
6188
61892008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6190
6191 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6192
61932008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6194
6195 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6196
61972008-05-15 Kenichi Handa <handa@m17n.org>
6198
6199 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6200 preference.
6201
62022008-05-15 Glenn Morris <rgm@gnu.org>
6203
6204 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6205
62062008-05-15 Chong Yidong <cyd@stupidchicken.com>
6207
6208 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6209 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6210
6211 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6212
62132008-05-15 Kenichi Handa <handa@m17n.org>
6214
6215 * ftfont.c (ftfont_list): Downcase family name to check generic
6216 families.
6217
6218 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6219 font-spec for QCfont value.
6220
6221 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6222 buffer. Check the return value of it.
6223
62242008-05-14 Jason Rumney <jasonr@gnu.org>
6225
6226 * w32term.c (w32_get_glyph_overhangs): Remove.
6227 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6228
62292008-05-14 Kenichi Handa <handa@m17n.org>
6230
6231 * font.c (font_prop_validate): Make nil a valid value.
6232 (font_clear_cache): Check if the cached vector of entities is nil
6233 or not.
6234
62352008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6236
6237 * emacs.c (main_thread): Conditionalize on
6238 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6239 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6240
6241 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6242 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6243 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6244
62452008-05-14 Kenichi Handa <handa@m17n.org>
6246
6247 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6248 has no corresponding coding system.
6249
62502008-05-14 Jason Rumney <jasonr@gnu.org>
6251
6252 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6253
6254 * w32font.h (w32font_open_internal): Update declaration.
6255
6256 * w32font.c (w32font_open_internal): Change last argument from
6257 w32font_info struct to font object. Fill in font object from
6258 font_entity. Get Outline metrics if possible. Use them to
6259 calculate underline position and thickness. Use xlfd name as name
6260 property. Don't set codepage.
6261 (w32font_open): Pass font_object to w32font_open_internal. Don't
6262 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6263 (w32font_draw): Use s->font.
6264 (clear_cached_metrics): Don't clear non-existent blocks.
6265
6266 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6267 font was not found.
6268 (x_draw_glyph_string): Use underline position and thickness from font.
6269
6270 * w32uniscribe.c (uniscribe_open): Pass font_object to
6271 w32font_open_internal.
6272
62732008-05-14 Kenichi Handa <handa@m17n.org>
6274
6275 These changes are to delete all legacy font-handling codes, and
6276 make Emacs use only font-backends.
6277
6278 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6279 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6280
6281 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6282
6283 * charset.h (Vcharset_non_preferred_head)
6284 (Vcurrent_iso639_language): Extern them.
6285
6286 * charset.c (Vcharset_non_preferred_head): New variable.
6287 (Vcurrent_iso639_language): New variable.
6288 (syms_of_charset): Declare it as a Lisp variable.
6289 (char_charset): Don't check non preferred charsets. As a last
6290 resort, return charset_unicode.
6291 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6292
6293 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6294 conditionals. Don't check enable_font_backend. Delete all codes
6295 used only when USE_FONT_BACKEND is not defined.
6296
6297 * dispextern.h (struct glyph_string): Change type of `font' to
6298 `struct font *'.
6299 (struct glyph_string): New member underline_position and
6300 underline_thickness.
6301 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6302 (struct face): Change type of `font' to `struct font *'. Remove
6303 members `font_name', `font_info_id'.
6304 (per_char_metric, encode_char): Delete externs.
6305 (calc_pixel_width_or_height): Adjust the prototype.
6306
6307 * emacs.c (enable_font_backend): Delete extern.
6308 (main): Don't set enable_font_backend. Don't check the command
6309 line argument "-disable-font-backend".
6310
6311 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6312 (enum font_property_index): New members FONT_DPI_INDEX,
6313 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6314 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6315 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6316 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6317 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6318 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6319 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6320 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6321 (struct font_spec, struct font_entity): New structs.
6322 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6323 (struct font): Many members from old "struct font_info" moved to
6324 here. Members font and entity deleted.
6325 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6326 the new font-related objects.
6327 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6328 (CHECK_FONT_GET_OBJECT): Likewise.
6329 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6330 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6331 (struct font_driver): New members case_sensitive anc check. Type
6332 of the member list and open changed.
6333 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6334 (font_symbolic_width, font_find_object, font_get_spec)
6335 (font_set_lface_from_name): Delete extern.
6336 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6337
6338 * font.c: Include <strings.h>.
6339 (enable_font_backend): Delete it.
6340 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6341 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6342 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6343 (null_string): Delete it.
6344 (null_vector): Make it static.
6345 (font_family_alist): Delete it.
6346 (Qnormal): Extern it.
6347 (QCextra, QClanguage): Delete it.
6348 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6349 (font_make_spec, font_make_entity, font_make_object)
6350 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6351 the string. Callers changed.
6352 (font_pixel_size): Adjusted for the format change of font-related
6353 objects.
6354 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6355 (font_style_to_value, font_style_symbolic): New function.
6356 (build_font_family_alist): Delete it.
6357 (font_registry_charsets): Use Fassoc_string instead of
6358 assq_no_quit.
6359 (font_prop_validate_symbol): Don't return null_string.
6360 (font_prop_validate_style): Adjusted for the change of
6361 style-related values in a font vector.
6362 (font_property_table): Delete entries for QClanguage and
6363 QCantialias, add entries for QCavgwidth.
6364 (get_font_prop_index): Delete the 2nd argument FROM.
6365 (font_prop_validate): Arguments changed.
6366 (font_put_extra): Adjusted for the change of font-related objects.
6367 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6368 (font_parse_fcname, font_unparse_fcname)
6369 (font_prepare_composition): Likewise.
6370 (font_parse_family_registry): Renamed from font_merge_old_spec.
6371 (otf_open): Delete the 1st arg entity.
6372 (font_otf_capability): Adjusted for the above change.
6373 (font_score): New arg alternate_families. Adjusted for the change
6374 of font-related objects.
6375 (font_sort_entites): New arg best_only.
6376 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6377 Delete them.
6378 (font_match_p): Check alternate families.
6379 (font_find_object): Delete it.
6380 (font_check_object): New function.
6381 (font_clear_cache): Adjusted for the change of font-related objects.
6382 (font_delete_unmatched): New arg.
6383 (font_list_entities): Call font_driver->list with a spec that
6384 doesn't specify style-related properties.
6385 (font_matching_entity): Arguments changed. Caller changed.
6386 (font_open_entity): Adjusted for the change of font-related objects.
6387 (font_close_object, font_has_char, font_encode_char)
6388 (font_get_name, font_get_spec): Likewise.
6389 (font_spec_from_name, font_clear_prop, font_update_lface):
6390 New functions.
6391 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6392 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6393 (font_at): Adjusted for the change of font-related objects.
6394 (font_range): New function.
6395 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6396 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6397 (Fcopy_font_spec, Fmerge_font_spec): New function.
6398 (Ffont_family_list): Renamed from list-families.
6399 (Finternal_set_font_style_table): Arguments changed.
6400 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6401 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6402 change of font-related objects.
6403 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6404
6405 * fontset.h (struct font_info): Delete it. Most members go to
6406 struct font.
6407 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6408 (enum FONT_SPEC_INDEX): Delete it.
6409 (font_info, list_fonts_func, load_font_func, query_font_func)
6410 (set_frame_fontset_func, find_ccl_program_func)
6411 (get_font_repertory_func, new_fontset_from_font_name): Delete
6412 externs.
6413 (fontset_from_font_name): Extern it.
6414 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6415 (FONT_INFO_FROM_FACE): Deleted.
6416 (face_for_font): Adjust prototype.
6417
6418 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6419 conditionals. Don't check enable_font_backend. Delete all codes
6420 used only when USE_FONT_BACKEND is not defined.
6421 (get_font_info_func, list_font_func, load_font_func)
6422 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6423 (get_font_repertory_func): Delete them.
6424 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6425 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6426 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6427 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6428 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6429 (fontset_compare_rfontdef): New function.
6430 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6431 rfont-defs by qsort. Adjusted for the change of font-group vector.
6432 (load_font_get_repertory): Deleted.
6433 (fontset_find_font): Use new macros to ref/set elements of
6434 font-def and rfont-def.
6435 (fontset_font): Fix the timing of remembering that no font for C.
6436 (free_face_fontset): Do nothing if the face has no fontset.
6437 (face_suitable_for_char_p): Use new macros to ref/set elements of
6438 rfont-def.
6439 (face_for_char): Likewise. Call face_for_char with font_object.
6440 (fs_load_font): Delete. Delete #pragma surrounding it.
6441 (fs_query_fontset): Use strcasecmp instead of strcmp.
6442 (generate_ascii_font_name): Adjusted for the format change of
6443 font-spec.
6444 (Fset_fontset_font): Likewise. Use new macros to set elements of
6445 font-def.
6446 (Fnew_fontset): Use font_unparse_xlfd to generate
6447 FONTSET_ASCII (fontset).
6448 (new_fontset_from_font_name): Deleted.
6449 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6450 a fontset is already created for the font. FIx updating of
6451 Vfontset_alias_alist.
6452 (fontset_ascii_font): Deleted.
6453 (Ffont_info): Adjusted for the format change of font-spec.
6454 (Finternal_char_font): Likewise.
6455 (Ffontset_info): Likewise.
6456 (syms_of_fontset): Don't check load_font_func.
6457
6458 * fns.c (internal_equal): Handle PREV_FONT.
6459
6460 * frame.h: Delete USE_FONT_BACKEND conditional.
6461
6462 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6463 conditionals. Don't check enable_font_backend. Delete all codes
6464 used only when USE_FONT_BACKEND is not defined.
6465 (x_set_font): Call x_new_font, not x_new_fontset2.
6466 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6467 already set for the frame.
6468
6469 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6470 a font-entity by font_make_entity. Use font_intern_prop instead
6471 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6472 font property. If a font is scalable, set avgwidth property to 0.
6473 Set font-entity property by font_put_extra.
6474 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6475 (ffont_driver): Adjusted for the change of struct font_driver.
6476 (ftfont_spec_pattern): New function.
6477 (ftfont_list): Return a list, not vector.
6478 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6479 (ftfont_list_family): Don't downcase names.
6480 (ftfont_free_entity): Deleted.
6481 (ftfont_open): Return a font-object. Adjusted for the change of
6482 struct font. Get underline_thickness and underline_position from
6483 font property. Don't update dpyinfo->smallest_font_height and
6484 dpyinfo->smallest_char_width.
6485 (ftfont_close): Don't free `struct font'.
6486 (ftfont_has_char): Adjusted for the format change of font-entity.
6487 (ftfont_encode_char, ftfont_text_extents): Likewise.
6488
6489 * ftxfont.c (ftxfont_list): Return a list, not vector.
6490 (ftxfont_open): Return a font-object. Adjusted for the change of
6491 struct font. Get underline_thickness and underline_position from
6492 font property. Don't update dpyinfo->smallest_font_height and
6493 dpyinfo->smallest_char_width.
6494 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6495 (ftxfont_draw): Adjusted for the change of struct font.
6496
6497 * image.c (image_ascent): Don't include "charset.h". Include
6498 "character.h" and "font.h".
6499
6500 * lisp.h (enum pvec_type): New member PREV_FONT.
6501 (Fassoc_string): EXFUN it.
6502
6503 * print.c: Include font.h.
6504 (print_object): Handle font-related objects.
6505
6506 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6507 conditionals. Don't check enable_font_backend. Delete all codes
6508 used only when USE_FONT_BACKEND is not defined.
6509 (handle_auto_composed_prop): Do nothing if it->f is not on a
6510 window system. Check how many following characters can be
6511 displayed by the same font.
6512 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6513 'struct font *'.
6514 (get_char_face_and_encoding): Assign the whole encoding task to
6515 the `encode-char' method of a font driver.
6516 (fill_composite_glyph_string): Adjusted for the change of `struct
6517 face' and `struct glyph_string'.
6518 (fill_glyph_string): Likewise.
6519 (get_per_char_metric): Arguments changed.
6520 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6521 and `struct glyph_string'.
6522 (produce_stretch_glyph, calc_line_height_property)
6523 (x_produce_glyphs): Likewise.
6524
6525 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6526 conditionals. Don't check enable_font_backend. Delete all codes
6527 used only when USE_FONT_BACKEND is not defined. Use
6528 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6529 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6530 (Qp): Extern them.
6531 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6532 Deleted.
6533 (struct font_name): Deleted.
6534 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6535 (compare_fonts_by_sort_order): New function.
6536 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6537 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6538 Deleted.
6539 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6540 compare_fonts_by_sort_order.
6541 (Fx_font_family_list): Call Ffont_family_list.
6542 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6543 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6544 (face_symbolic_slant, face_symbolic_swidth)
6545 (split_font_name_into_vector, build_font_name_from_vector)
6546 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6547 (font_rescale_ratio, split_font_name, build_font_name)
6548 (free_font_names, sort_fonts, x_face_list_fonts)
6549 (face_font_available_p, sorted_font_list, cmp_font_names)
6550 (font_list_1, concat_font_list, font_list, remove_duplicates):
6551 Deleted.
6552 (Fx_list_fonts): Use Ffont_list.
6553 (LFACE_AVGWIDTH): Deleted.
6554 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6555 by FONTP.
6556 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6557 (set_lface_from_font_name): Delete it.
6558 (set_lface_from_font): Renamed from
6559 set_lface_from_font_and_fontset. Caller changed. Don't set
6560 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6561 for face.
6562 (merge_face_vectors): Copy font-spec if necessary.
6563 Clear properties of the font-spec if necessary.
6564 (merge_face_ref): Clear properties of the font-spec if necessary.
6565 (Finternal_set_lisp_face_attribute): Likewise.
6566 (set_font_frame_param): Use font_load_for_lface to load a
6567 font-object, and call Fmodify_frame_parameters with it.
6568 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6569 font name by Ffont_xlfd_name.
6570 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6571 QCslant, and QCwidth.
6572 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6573 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6574 Compare fonts by EQ.
6575 (lookup_non_ascii_face): Deleted.
6576 (face_for_font): The 2nd argument changed.
6577 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6578 Check atomic font properties by case insensitive.
6579 (realize_non_ascii_face): Set face->overstrike correctly.
6580 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6581 (dump_realized_face): Get font name from
6582 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6583
6584 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6585 conditionals. Don't check enable_font_backend. Delete all codes
6586 used only when USE_FONT_BACKEND is not defined.
6587 (xic_create_xfontset): Original code deleted and renamed from
6588 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6589 (x_make_gc): Don't set GCFont in GCs.
6590 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6591 opened by "fixed".
6592 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6593 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6594 get_font_repertory_func.
6595
6596 * xfont.c: Include <stdlib.h> and "ccl.h".
6597 (struct xfont_info): New structure.
6598 (xfont_query_font): Deleted.
6599 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6600 moved from xterm.c.
6601 (xfont_driver): Adjusted for the change of struct font_driver.
6602 (compare_font_names): New function.
6603 (xfont_list_pattern): Sort font names case insensitively. Make
6604 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6605 (xfont_list): Return a list, not vector.
6606 (xfont_match): If the font doesn't have QCname property, generate
6607 a name from the other font properties.
6608 (xfont_open): Return a font-object. Adjusted for the change of
6609 struct font. Get underline_thickness and underline_position from
6610 font property. Don't update dpyinfo->smallest_font_height and
6611 dpyinfo->smallest_char_width.
6612 (xfont_close): Don't free struct font.
6613 (xfont_prepare_face): Adjusted for the change of struct font.
6614 (xfont_done_face): Deleted.
6615 (xfont_has_char): Adjusted for the change of struct font.
6616 (xfont_encode_char, xfont_draw): Likewise.
6617 (xfont_check): New function.
6618
6619 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6620 callback function.
6621 (xftfont_match): Adjusted for the format change of font-entity.
6622 (xftfont_open): Adjusted for the format change of font-entity and
6623 font-object. Adjusted for the change of struct font. Return a
6624 font-object. Don't update dpyinfo->smallest_font_height and
6625 dpyinfo->smallest_char_width.
6626 (xftfont_close): Block input while calling XftFontClose.
6627 (xftfont_prepare_face): Don't block input while calling
6628 xftfont_get_colors. Adjusted for the change of struct font.
6629 (xftfont_shape): Return value of error case fixed.
6630
6631 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6632
6633 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6634 conditionals.
6635 (FONT_WIDTH): Return (f)->max_width.
6636 (struct x_display_info): Delete member `font'.
6637 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6638 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6639 (struct x_output): Change type of `font' to `struct font *'.
6640
6641 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6642 conditionals. Don't check enable_font_backend. Delete all codes
6643 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6644 (x_per_char_metric, x_encode_char): Deleted.
6645 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6646 (x_compute_glyph_string_overhangs): Adjusted for the change of
6647 `struct face'.
6648 (x_draw_glyph_string_foreground)
6649 (x_draw_composite_glyph_string_foreground): Likewise.
6650 (x_draw_glyph_string): Likewise. Use font->underline_position and
6651 font->underline_thickness.
6652 (x_new_font): Renamed from x_new_fontset2.
6653 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6654 (x_check_font): Call `check' method of a font driver.
6655 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6656 (x_query_font, x_get_font_repertory): Deleted.
6657 (x_find_ccl_program): Renamed and moved to xfont.c.
6658 (x_redisplay_interface): Adjusted for the change of `struct
6659 redisplay_interface'.
6660
6661 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6662 conditionals. Don't check enable_font_backend. Delete all codes
6663 used only when USE_FONT_BACKEND is not defined. Surround non-used
6664 code by "#ifdef OLD_FONT" and "endif".
6665 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6666
6667 * w32font.h (struct w32font_info): New member.
6668 (FONT_COMPAT): New macro.
6669 (w32font_open_internal): Prototype adjusted.
6670
6671 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6672 OLD_FONT" and "endif".
6673
6674 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6675 conditionals. Don't check enable_font_backend. Delete all codes
6676 used only when USE_FONT_BACKEND is not defined.
6677 (w32font_open): Return a font-object. Make a font-object by
6678 font_make_object. Adjusted for the change of struct w32font_info.
6679 (w32font_close): Don't free struct font. Adjusted for the change
6680 of struct w32font_info.
6681 (w32font_encode_char, w32font_text_extents, w32font_draw):
6682 Adjusted for the change of struct w32font_info.
6683 (w32font_draw): Likewise.
6684 (w32font_list_internal): Return a list, not vector.
6685 (w32font_open_internal): Change the 4th arg to font-object.
6686 Adjusted for the change of struct w32font_info and font-object format.
6687 (add_font_name_to_list): Don't downcase names.
6688 (w32_enumfont_pattern_entity): Make a font-entity by
6689 font_make_entity. Adjusted for the format change of font-entity.
6690 Use FONT_SET_STYLE to set a style-related font property. If a
6691 font is scalable, set avgwidth property to 0. Set font-entity
6692 property by font_put_extra.
6693 (font_matches_spec): Adjusted for the format change of font-entity.
6694 (w32_weight_table, w32_decode_weight): New variables.
6695 (w32_encode_weight): New function.
6696 (fill_in_logfont): Adjusted for the format change of font-spec.
6697 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6698 weight value.
6699 (w32font_driver): Adjusted for the change of struct font_driver.
6700
6701 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6702 conditionals. Don't check enable_font_backend. Surround non-used
6703 code by "#ifdef OLD_FONT" and "endif".
6704 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6705 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6706
6707 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6708 conditionals. Don't check enable_font_backend. Delete all codes
6709 used only when USE_FONT_BACKEND is not defined. Surround non-used
6710 code by "#ifdef OLD_FONT" and "endif".
6711
6712 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6713 (uniscribe_open): Return value changed to font-object.
6714 Adjusted for the format change of font-object.
6715 (uniscribe_otf_capability): Adjusted for the change of struct font.
6716 (add_opentype_font_name_to_list): Don't downcase names.
6717 (uniscribe_font_driver): Adjusted for the change of struct
6718 font_driver.
6719
67202008-05-13 Chong Yidong <cyd@stupidchicken.com>
6721
6722 * dispnew.c (update_frame_1): Check if tty output is still valid
6723 before flushing it.
6724
67252008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6726
6727 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6728 to Gtk+ menus.
6729
67302008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6731
6732 * dired.c (file_name_completion): Tweak the code so as to always do it
6733 in a single pass. Tighten the scope of some variables.
6734
6735 * dired.c (Qdefault_directory): New var.
6736 (file_name_completion): Use it instead of Fexpand_file_name.
6737 (syms_of_dired): Initialize it.
6738
67392008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6740
6741 * fileio.c (double_dollars): Remove dead code.
6742
67432008-05-10 Eli Zaretskii <eliz@gnu.org>
6744
6745 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6746 Mention w32-get-true-file-attributes in doc string.
6747
6748 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6749
67502008-05-09 Glenn Morris <rgm@gnu.org>
6751
6752 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6753 2008-04-23.
6754
67552008-05-09 Eli Zaretskii <eliz@gnu.org>
6756
6757 Support for reporting owner and group of each file on MS-Windows:
6758 * dired.c (stat_uname, stat_gname): New functions, with special
6759 implementation for w32.
6760 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6761
6762 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6763 (dflt_group_name): New static variable.
6764 (dflt_group): Rename from the_group.
6765 (init_user_info): Init dflt_group fields. Get user's group name
6766 from LookupAccountSid.
6767 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6768 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6769 New initialization states.
6770 (globals_of_w32): Initialize them to zero. Initialize the default
6771 group name to "None".
6772 (GetFileSecurity_Name): New global var, the name of the function
6773 to call for GetFileSecurity.
6774 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6775 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6776 (get_file_security, get_security_descriptor_owner)
6777 (get_security_descriptor_group, is_valid_sid)
6778 (get_file_security_desc, get_rid, get_name_and_id)
6779 (get_file_owner_and_group): New functions.
6780 (stat): Use get_file_security_desc and get_file_owner_and_group to
6781 report the owner and primary group of each file. Don't ignore the
6782 high 32 bits of file's size, now that st_size is 64-bit wide.
6783 Fix test when to get true file attributes.
6784 (init_user_info): Use get_rid instead of equivalent inline code.
6785 (fstat): Don't ignore the high 32 bits of file's size.
6786
67872008-05-09 Chong Yidong <cyd@stupidchicken.com>
6788
6789 * image.c (png_load): Use correct bit-depth for setting background
6790 color.
6791
67922008-05-08 Eli Zaretskii <eliz@gnu.org>
6793
6794 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6795 epa-hook.elc.
6796
67972008-05-08 Juanma Barranquero <lekktu@gmail.com>
6798
6799 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6800
68012008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6802
6803 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6804 because the original parameters are in pure storage now.
6805 (mac_window): Remove unused params. Update callers.
6806
68072008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6808
6809 * lread.c (substitute_object_recurse): Use lower-level primitives.
6810 Don't signal errors when traversing sub-char-tables.
6811 Don't loop over all the possible characters when traversing char-tables.
6812
6813 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6814 just like we do in print.c.
6815
68162008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6817
6818 * minibuf.c (Ftry_completion): Remove code left over from when we used
6819 scmp instead of Fcompare_strings.
6820
68212008-05-04 Juanma Barranquero <lekktu@gmail.com>
6822
6823 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6824
68252008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6826
6827 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6828 Create bitmap context in native byte order.
6829
6830 * macterm.c (XDrawLine)
6831 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6832 context in native byte order.
6833
68342008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6835
6836 * config.in: Regenerate.
6837
6838 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6839 New definitions for Image I/O support.
6840 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6841 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6842 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6843 (mac_data_provider_release_data, image_load_image_io)
6844 [USE_MAC_IMAGE_IO]: New functions.
6845 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6846 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6847 (init_image_func_pointer) [MAC_OSX]: Remove function.
6848 (image_load_quartz2d) [MAC_OSX]: Check availability of
6849 CGImageCreateWithPNGDataProvider at compile time.
6850 Use lowercase `false' for boolean constant.
6851 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6852 Use image_load_image_io.
6853 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6854 Don't check MyCGImageCreateWithPNGDataProvider.
6855 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6856 Don't call init_image_func_pointer.
6857
6858 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6859
6860 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6861 Make variable non-static.
6862 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6863 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6864
6865 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6866 (RED_FROM_ULONG): Mask off higher bits.
6867 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6868
6869 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6870 Include AvailabilityMacros.h.
6871 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6872 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6873
68742008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6875
6876 * chartab.c (Fset_char_table_range): If range is t, really set all
6877 chars to that value.
6878
68792008-05-03 Eli Zaretskii <eliz@gnu.org>
6880
6881 * dired.c (Ffile_attributes): Don't allow the device number become
6882 negative.
6883
68842008-05-02 Daiki Ueno <ueno@unixuser.org>
6885
6886 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6887
68882008-05-02 Juri Linkov <juri@jurta.org>
6889
6890 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6891 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6892 DEFAULT argument as a list of default values in docstrings.
6893
68942008-05-01 Chong Yidong <cyd@stupidchicken.com>
6895
6896 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6897
68982008-05-01 Martin Rudalics <rudalics@gmx.at>
6899
6900 * dispnew.c (change_frame_size_1): Preserve small windows when
6901 shrinking frames by calling set_window_height|width with third
6902 arg 2.
6903
6904 * window.h (struct window): Replace field too_small_ok by field
6905 resize_proportionally.
6906
6907 * window.c (make_window): Initialize resize_proportionally.
6908 (enlarge_window): Temporarily set resize_proportionally to make
6909 sure that shrink_windows does scale the window proportionally.
6910 (shrink_windows): When window has resize_proportionally set try
6911 to shrink it proportionally by stealing from other windows.
6912 (struct saved_window, Fset_window_configuration)
6913 (compare_window_configurations): Handle resize_proportionally.
6914 (WINDOW_TOTAL_SIZE): New macro.
6915 (window_min_size, shrink_windows, size_window): Use it.
6916 (check_min_window_sizes): Remove. Invalid values of
6917 window-min-height|width are handled by window_min_size_2 now.
6918 (size_window, Fsplit_window, enlarge_window)
6919 (adjust_window_trailing_edge, grow_mini_window): Don't call
6920 check_min_window_sizes.
6921 (window_min_size_2, window_min_size_1, window_min_size):
6922 New argument safe_p for retrieving "safe" minimum sizes.
6923 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6924 (adjust_window_trailing_edge, grow_mini_window):
6925 Adjust arguments of window_min_size... functions.
6926 (shrink_windows): Argument min_size removed. New argument
6927 safe_p allows shrinking windows to their safe minimum sizes.
6928 Calculate minimum size and decide whether a window shall be
6929 deleted for each window individually.
6930 (size_window): When nodelete_p equals 2, tell shrink_windows to
6931 delete windows only if their new minimum size is no more safe.
6932 (shrink_window_lowest_first): Call window_min_size_1 to make
6933 sure to preserve modeline of bottom-most window when resizing
6934 the minibuffer.
6935 (Fset_window_configuration, Fcurrent_window_configuration)
6936 (compare_window_configurations): Do not handle
6937 window-min-height|width any more.
6938 (syms_of_window): Clarify window-min-height|width doc-strings.
6939
69402008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6941
6942 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6943 some more. Copy some of the code from Ftry_completions.
6944 Remove special case code that dates back to initial revision when the
6945 slash was only added when necessary and that can't trigger nowadays.
6946
69472008-04-27 Kenichi Handa <handa@m17n.org>
6948
6949 * font.c (font_prop_validate): Signal `error' instead of `font'.
6950
69512008-04-29 Jason Rumney <jasonr@gnu.org>
6952
6953 * w32fns.c (Fw32_battery_status): New defun.
6954 (syms_of_w32fns): Defsubr it.
6955
69562008-04-28 Andreas Schwab <schwab@suse.de>
6957
6958 * dired.c (file_name_completion): Fix another mixing of encoded
6959 and decoded names.
6960
69612008-04-28 Juanma Barranquero <lekktu@gmail.com>
6962
6963 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6964
69652008-04-27 Juanma Barranquero <lekktu@gmail.com>
6966
6967 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6968
69692008-04-27 Andreas Schwab <schwab@suse.de>
6970
6971 * dired.c (file_name_completion): Fix inappropriate mixing of
6972 encoded and decoded names.
6973
6974 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6975
6976 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6977
69782008-04-26 Eli Zaretskii <eliz@gnu.org>
6979
6980 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6981 2008-03-31, it's not needed anymore with `struct stat' definition
6982 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6983 for the same reasons.
6984
69852008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6986
6987 * m/sparc.h: Additional redefinitions for GNU/Linux.
6988
69892008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6990
6991 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6992 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6993 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6994 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6995 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6996 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6997 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6998 Likewise.
6999
7000 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
7001 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
7002 (mac_ax_number_of_characters): Add externs.
7003 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7004 [USE_MAC_TSM]: Likewise.
7005 (mac_handle_text_input_event) [MAC_OSX]:
7006 Handle kEventTextInputOffsetToPos for no active input area case.
7007 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7008 (mac_handle_document_access_event)
7009 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
7010 (install_application_handler) [MAC_OSX]: Register handlers for
7011 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7012 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7013 Register mac_handle_document_access_event.
7014
7015 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
7016 Make functions non-static.
7017
70182008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
7019
7020 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
7021 (read_file_name_completion_ignore_case, insert_default_directory)
7022 (Qdefault_directory): Move to minibuffer.el.
7023 (Fread_file_name): Call the new `read-file-name' instead.
7024
70252008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7026
7027 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
7028 Make function non-static.
7029 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
7030 Remove function.
7031 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7032 Move to mactoolbox.c.
7033 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
7034
7035 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
7036 (mac_rect_make): New macro.
7037
7038 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
7039 instead of float.
7040 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7041 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
7042 (XSetBackground) [USE_CG_DRAWING]: Likewise.
7043 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
7044 CGRectMake.
7045 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7046 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
7047 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
7048 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7049 instead of WindowRef in argument type.
7050 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
7051 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
7052 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
7053 instead of DISPLAY. All uses changed.
7054 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
7055 (x_calc_absolute_position): Simplify so as not to use
7056 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
7057
7058 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7059 instead of WindowRef in argument type.
7060 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
7061 [TARGET_API_MAC_CARBON]: Remove externs.
7062 (create_apple_event, mac_event_parameters_to_lisp)
7063 [TARGET_API_MAC_CARBON]: Add externs.
7064
7065 * mactoolbox.c (Vmac_ts_script_language_on_focus)
7066 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
7067 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
7068 is clicked.
7069 (x_activate_menubar): Remove extern for saved_menu_event_location.
7070 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7071 Move from mac.c.
7072
70732008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7074
7075 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
7076 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
7077
70782008-04-23 Jason Rumney <jasonr@gnu.org>
7079
7080 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
7081 attributes only for local files.
7082
7083 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
7084 default to Qlocal.
7085
70862008-04-22 Juri Linkov <juri@jurta.org>
7087
7088 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
7089 read-buffer-to-switch instead of using the letter "B".
7090
70912008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
7092
7093 * fileio.c (Qdefault_directory): New variable.
7094 (Fread_file_name): Use it to pass `dir' to the completion functions.
7095
70962008-04-20 Chong Yidong <cyd@stupidchicken.com>
7097
7098 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
7099
71002008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
7101
7102 * keyboard.c (Vpre_help_message): Remove.
7103 (show_help_echo): Remove default C code.
7104
7105 * dired.c (directory_files_internal, file_name_completion):
7106 Only call ENCODE_FILE if the string is indeed decoded.
7107
71082008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7109
7110 * Makefile.in (TOOLKIT_DEFINES): Remove.
7111 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
7112
71132008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7114
7115 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
7116 (mactoolbox.o): New target.
7117
7118 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
7119 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
7120
7121 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
7122 Use mac_set_frame_window_background instead of XSetWindowBackground.
7123 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
7124 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
7125 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
7126 instead of SetWindowTitleWithCFString.
7127 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
7128 Move function to mactoolbox.c.
7129 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
7130 Use mac_set_window_modified instead of SetWindowModified.
7131 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
7132 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
7133 (Fx_focus_frame): Use mac_front_non_floating_window instead of
7134 FrontNonFloatingWindow. Use mac_activate_window instead of
7135 ActivateWindow. Use mac_active_non_floating_window instead of
7136 ActiveNonFloatingWindow.
7137 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
7138 Use mac_show_hourglass and mac_hide_hourglass.
7139 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
7140 instead of GetGlobalMouse.
7141 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
7142 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
7143 Use mac_bring_window_to_front instead of BringToFront.
7144 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
7145 mactoolbox.c.
7146 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
7147 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
7148 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
7149 mactoolbox.c.
7150
7151 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
7152 (XtPointer): Move typedef from macmenu.c.
7153 (enum button_type): Move enum from macmenu.c.
7154 (widget_value): Move typedef from macmenu.c.
7155 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
7156 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7157 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7158 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7159 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7160 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7161 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7162 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
7163 (Selection): Move typedef from macselect.c.
7164 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
7165 macterm.c.
7166 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
7167 (mac_is_window_collapsed, mac_bring_window_to_front)
7168 (mac_send_window_behind, mac_hide_window, mac_show_window)
7169 (mac_collapse_window, mac_front_non_floating_window)
7170 (mac_active_non_floating_window, mac_activate_window)
7171 (mac_move_window_structure, mac_move_window, mac_size_window)
7172 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
7173
7174 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
7175 (enum mac_menu_kind): Move enum to mactoolbox.c.
7176 (min_menu_id): Move variable to mactoolbox.c.
7177 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
7178 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
7179 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
7180 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
7181 [TARGET_API_MAC_CARBON]: Likewise.
7182 (XtPointer): Move typedef to macgui.h.
7183 (enum button_type): Move enum to macgui.h.
7184 (widget_value): Move typedef to macgui.h.
7185 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7186 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7187 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7188 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7189 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7190 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7191 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7192 (popup_activated_flag): Make variable non-static.
7193 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7194 (add_menu_item, fill_menu, dispose_menus):
7195 Move functions to mactoolbox.c.
7196 (restore_show_help_function, menu_target_item_handler)
7197 (install_menu_target_item_handler, mac_handle_dialog_event)
7198 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7199 [TARGET_API_MAC_CARBON]: Likewise.
7200 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7201 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7202 (find_and_call_menu_selection, name_is_separator): Make function
7203 non-static.
7204 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7205 to mactoolbox.c.
7206 (set_frame_menubar): Don't call install_menu_quit_handler.
7207 (menu_item_selection): New variable.
7208 (mac_menu_show): Use create_and_show_popup_menu.
7209 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7210 selection but set variable menu_item_selection. All uses changed.
7211 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7212 Call install_menu_quit_handler. Move to mactoolbox.c.
7213
7214 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7215 (Selection): Move typedef to macgui.h.
7216 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7217 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7218 Make variables non-static.
7219 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7220 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7221 Make functions non-static.
7222 (Vmac_service_selection) [MAC_OSX]: Likewise.
7223 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7224 (mac_valid_selection_target_p, mac_clear_selection)
7225 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7226 (mac_put_selection_value, mac_selection_has_target_p)
7227 (mac_get_selection_value, mac_get_selection_target_list)
7228 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7229 Move functions to mactoolbox.c.
7230 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7231 Likewise.
7232 (copy_scrap_flavor_data, mac_handle_service_event)
7233 (install_service_handler) [MAC_OSX]: Likewise.
7234 (syms_of_macselect) <Vmac_dnd_known_types>:
7235 Use mac_dnd_default_known_types.
7236
7237 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7238 Move to mactoolbox.c.
7239 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7240 (Fx_selection_owner_p): Add EXFUN.
7241 (install_window_handler, remove_window_handler, XSetWindowBackground):
7242 Remove externs.
7243 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7244 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7245 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7246 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7247 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7248 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7249 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7250 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7251 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7252 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7253 (mac_valid_selection_target_p, mac_clear_selection)
7254 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7255 (mac_put_selection_value, mac_selection_has_target_p)
7256 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7257 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7258 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7259 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7260 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7261 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7262 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7263 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7264 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7265
7266 * mactoolbox.c: New file.
7267
72682008-04-18 Jason Rumney <jasonr@gnu.org>
7269
7270 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7271
72722008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7273
7274 * character.c (Fmultibyte_char_to_unibyte):
7275 Return latin1 chars unchanged.
7276
7277 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7278 relocated if it points to `name'.
7279
72802008-04-17 Kenichi Handa <handa@m17n.org>
7281
7282 * data.c (Faset): Allow setting a multibyte character in an
7283 ASCII-only unibyte string.
7284
7285 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7286
72872008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7288
7289 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7290 done in config.h.
7291
72922008-04-16 Juanma Barranquero <lekktu@gmail.com>
7293
7294 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7295 (Fchar_direction): Add usage in the docstring.
7296
72972008-04-15 Chong Yidong <cyd@stupidchicken.com>
7298
7299 * keyboard.c (read_key_sequence): Remove always-true checks.
7300
73012008-04-14 Jason Rumney <jasonr@gnu.org>
7302
7303 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7304 compatibility struct, for better underline positioning.
7305
73062008-04-13 David Hansen <david.hansen@gmx.net>
7307
7308 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7309 string.
7310
73112008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7312
7313 * m/hp800.h (XUINT, XSET): Remove.
7314
73152008-04-12 Juanma Barranquero <lekktu@gmail.com>
7316
7317 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7318 previous change.
7319
73202008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7321
7322 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7323 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7324
73252008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7326
7327 * keymap.h (map_keymap_canonical): Declare.
7328 * xmenu.c (single_keymap_panes): Use it.
7329
73302008-04-11 Glenn Morris <rgm@gnu.org>
7331
7332 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7333 set the target's value to that of the alias.
7334
73352008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7336
7337 * term.c (set_tty_color_mode): Left over typo.
7338
73392008-04-10 Michael Albinus <michael.albinus@gmx.de>
7340
7341 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7342 only after check for file name handler functions. Signal, when
7343 native functionality is not supported.
7344 (syms_of_fileio): Declare it unconditionally.
7345
73462008-04-10 Jason Rumney <jasonr@gnu.org>
7347
7348 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7349 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7350
7351 * w32.c (logon_network_drive): Also logon to remote drives that
7352 are mapped to drive letters.
7353
73542008-04-10 Glenn Morris <rgm@gnu.org>
7355
7356 * xdisp.c (truncate-partial-width-windows): Doc fix.
7357
73582008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7359
7360 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7361 Move functions to minibuffer.el.
7362 (syms_of_fileio): Don't declare them.
7363
73642008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7365
7366 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7367 (syms_of_minibuf): Remove its initialization.
7368
7369 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7370
73712008-04-09 Juanma Barranquero <lekktu@gmail.com>
7372
7373 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7374
73752008-04-09 Jason Rumney <jasonr@gnu.org>
7376
7377 * makefile.w32-in (distclean): Delete makefile too.
7378 (maintainer-clean): New target.
7379
7380 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7381
7382 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7383 for new font backend and composite cases.
7384
73852008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7386
7387 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7388 Most of the code moved to run_timers.
7389 (do_pending_atimers): Call run_timers.
7390 (run_timers): New function.
7391
7392 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7393 run atimers.
7394
7395 * process.c (wait_reading_process_output): The same as above.
7396
73972008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7398
7399 * minibuf.c (last_exact_completion): Remove variable.
7400 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7401 (complete_and_exit_1, complete_and_exit_2)
7402 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7403 (Fdisplay_completion_list, display_completion_list_1)
7404 (Fminibuffer_completion_help, Fself_insert_and_exit)
7405 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7406 minibuffer.el.
7407 (syms_of_minibuf): Remove corresponding initializations.
7408
7409 * keyboard.c (Qdeactivate_mark): New var.
7410 (command_loop_1): Use it to call `deactivate-mark'.
7411 (syms_of_keyboard): Initialize it.
7412
7413 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7414 to another frame.
7415 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7416 Don't call set_tty_color_mode.
7417 (store_frame_param): Reset previous_frame rather than call
7418 set_tty_color_mode.
7419 * term.c (set_tty_color_mode): Rewrite.
7420 * dispextern.h (set_tty_color_mode): New type.
7421 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7422
74232008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7424
7425 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7426 for generic chars, which do not exist any more in emacs-unicode.
7427
74282008-04-08 Michael Albinus <michael.albinus@gmx.de>
7429
7430 * coding.c (detect_coding_emacs_mule)
7431 (Ffind_operation_coding_system): Fix typo.
7432
74332008-04-08 Jason Rumney <jasonr@gnu.org>
7434
7435 * w32uniscribe.c (SNAME): Extract only symbol name.
7436
7437 * w32font.h (struct w32_metric_cache): New struct.
7438 (w32font_info): Use it.
7439 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7440 (CACHE_BLOCKSIZE): New constants.
7441
7442 * w32font.c (Qja, Qko, Qzh): New symbols.
7443 (syms_of_w32font): Initialise them.
7444 (font_matches_spec): Use them to filter by language.
7445 (recompute_cached_metrics): Remove function.
7446 (compute_metrics, clear_cached_metrics): New functions.
7447 (w32font_encode_char): Use them to manage metric cache.
7448 (w32font_text_extents): Cache metrics for all glyphs on demand.
7449 Delay converting glyph indices to WORD until needed.
7450 (w32font_open_internal): Initialize metric cache to empty.
7451 (registry_to_w32_charset): Charset should always be a symbol.
7452 (fill_in_logfont, list_all_matching_fonts): Family should
7453 always be a symbol.
7454
74552008-04-06 Jason Rumney <jasonr@gnu.org>
7456
7457 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7458 Give up if glyph indices not supported. Use uniscribe obtained
7459 ABC widths for individual metrics. Map glyph clusters back to
7460 characters using fClusterStart flag. Return number of glyphs
7461 produced, not chars processed.
7462 (uniscribe_shape): Map char at FROM to current glyph.
7463
74642008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7465
7466 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7467 Use SetMenuItemHierarchicalMenu.
7468
74692008-04-05 Jason Rumney <jasonr@gnu.org>
7470
7471 * image.c (pbm_load): Allow color values up to 65535.
7472 Throw an error if max_color_idx is outside the supported range.
7473 Report an error when image size is invalid.
7474 Read two bytes at a time when raw images have max_color_idx above 255.
7475
74762008-04-05 Eli Zaretskii <eliz@gnu.org>
7477
7478 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7479 cFileName a file name that includes `?' characters, use the 8+3
7480 alias in cAlternateFileName instead.
7481
74822008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7483
7484 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7485 append "CCL: Quitted" when the CCL program is quitted.
7486 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7487
7488 * ccl.h (struct ccl_program): New member quit_silently.
7489
74902008-04-05 Chong Yidong <cyd@stupidchicken.com>
7491
7492 * search.c (compile_pattern_1): Treat non-nil and non-string of
7493 search-spaces-regexp as nil.
7494
7495 * minibuf.c (Fassoc_string): Tweak docstring.
7496
74972008-04-05 Eli Zaretskii <eliz@gnu.org>
7498
7499 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7500 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7501 2008-03-14 to force inode be positive.
7502
7503 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7504 _S_* ones, since we now use our own sys/stat.h.
7505 (stat, fstat): Don't mangle the inode number.
7506 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7507
75082008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7509
7510 * frame.h (struct frame): Give one more bit to `visible' since we use
7511 values larger than 1 to indicate obscured frames on ttys.
7512
7513 * keymap.c (Qkeymap_canonicalize): New var.
7514 (Fmap_keymap_internal): New fun.
7515 (describe_map): Use keymap-canonicalize.
7516
7517 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7518 (Fundo_boundary): Set them.
7519 (syms_of_undo): Initialize them.
7520 (record_point): Use them instead of last_point_position*.
7521 (last_undo_buffer): Change type.
7522
75232008-04-04 Jason Rumney <jasonr@gnu.org>
7524
7525 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7526 (recompute_cached_metrics): Don't set ascent and descent per char.
7527
7528 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7529 (uniscribe_check_otf): Add GC protection before consing.
7530 Rearrange loop for counting features.
7531
75322008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7533
7534 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7535 buffer with byte-size of source buffer.
7536
75372008-04-03 Chong Yidong <cyd@stupidchicken.com>
7538
7539 * callint.c (Fcall_interactively): Handle temporary region even
7540 when shift-select-mode is off.
7541
75422008-04-03 Jason Rumney <jasonr@gnu.org>
7543
7544 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7545
75462008-04-03 Kenichi Handa <handa@m17n.org>
7547
7548 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7549 (CATEGORY_MASK_UTF_16): Likewise.
7550 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7551 binary file.
7552 (detect_coding): Add null-byte detection for a binary file.
7553 (detect_coding_system): Likewise.
7554
75552008-04-03 Jason Rumney <jasonr@gnu.org>
7556
7557 * w32uniscribe.c: New file.
7558
7559 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7560
7561 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7562
7563 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7564 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7565 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7566 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7567 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7568 (Qphonetic): New symbols.
7569 (syms_of_w32font): Initialize them.
7570 (font_supported_scripts): Use them.
7571 (w32font_list_family): List all charsets.
7572 (w32font_text_extents, recompute_cached_metrics): Fix metric
7573 calculations.
7574 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7575 Give opentype fonts their own format.
7576 (font_matches_spec): New arguments backend and logfont.
7577 Handle :otf spec for uniscribe backend.
7578 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7579 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7580
7581 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7582 font backend.
7583 (globals_of_w32fns): Initialize uniscribe font backend.
7584
7585 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7586 dependencies.
7587 (w32uniscribe.$(O)): New file to build.
7588 (FONT_OBJ): Include w32uniscribe.$(O).
7589 (LIBS): Add uniscribe libraries.
7590
7591 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7592
75932008-04-02 Chong Yidong <cyd@stupidchicken.com>
7594
7595 * callint.c (Vshift_select_mode): New var.
7596 (Finteractive): Document new ^ spec.
7597 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7598 is present.
7599
7600 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7601 (command_loop_1): Avoid running the direct display versions of
7602 forward-char and backward-char if shift-selection may occur.
7603 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7604 shift-translation takes place.
7605
7606 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7607 avoid clobbering by define-minor-mode.
7608
7609 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7610 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7611
7612 * syntax.c (Fforward_word): Add ^ interactive spec.
7613
7614 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7615 (Fscroll_right): Add ^ interactive spec.
7616
76172008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7618
7619 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7620
7621 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7622
7623 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7624
76252008-03-31 Juri Linkov <juri@jurta.org>
7626
7627 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7628
76292008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7630
7631 * gtkutil.c (xg_set_geometry): Fix indentation.
7632 (xg_resize_outer_widget): Remove.
7633 (x_wm_size_hint_off): Fix indentation.
7634 (xg_frame_set_char_size): Call flush_and_sync after
7635 gtk_window_resize.
7636 (x_wm_set_size_hint): Pass NULL as geometry window to
7637 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7638 Add menu bar and tool bar height to base height.
7639 (xg_update_frame_menubar, free_frame_menubar)
7640 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7641 (update_frame_tool_bar, free_frame_tool_bar):
7642 Change xg_resize_outer_widget to xg_frame_set_char_size.
7643
76442008-03-30 Michael Albinus <michael.albinus@gmx.de>
7645
7646 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7647 (Fdbus_call_method): New parameter TIMEOUT.
7648 (dbus-send-signal): Optimize UNGCPRO call.
7649
76502008-03-29 Juri Linkov <juri@jurta.org>
7651
7652 * window.c (Fdisplay_buffer): Move call to
7653 Vsplit_window_preferred_function out of conditions that check
7654 if window is eligible for vertical splitting.
7655 When Vsplit_window_preferred_function is non-nil, call it and use
7656 its non-nil return value as window. Otherwise, continue doing
7657 vertical splitting using Fsplit_window with arg horflag=nil.
7658 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7659 default value from `split-window' to nil.
7660
76612008-03-29 Juri Linkov <juri@jurta.org>
7662
7663 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7664 for interactive code letters 'b' and 'B'.
7665
76662008-03-29 Eli Zaretskii <eliz@gnu.org>
7667
7668 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7669 multibyte string.
7670
76712008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7672
7673 * keyboard.c (pending_funcalls): New var.
7674 (timer_check): Run it.
7675 (syms_of_keyboard): Initialize it.
7676 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7677 (Vdelete_terminal_functions): New vars.
7678 (syms_of_terminal): Initialize them.
7679 (Fdelete_terminal): Run delete-terminal-functions.
7680 * xdisp.c (safe_eval): Rewrite.
7681 (safe_call2): New fun.
7682 * frame.c (Qdelete_frame_functions): New var.
7683 (syms_of_frame): Initialize it.
7684 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7685 * lisp.h (safe_call2, pending_funcalls): Declare.
7686
76872008-03-28 Andreas Schwab <schwab@suse.de>
7688
7689 * indent.c (Fmove_to_column): Move declaration before statements.
7690
76912008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7692
7693 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7694 (struct frame): Use bit fields for boolean vars.
7695
7696 * process.c (server_accept_connection): Simplify naming.
7697 (emacs_get_tty_pgrp): Use SDATA.
7698
7699 * coding.c (decode_coding_object): Fix last change.
7700
77012008-03-27 Jason Rumney <jasonr@gnu.org>
7702
7703 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7704
77052008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7706
7707 * charset.c (Fdefine_charset_internal): Change the way of
7708 registering charsets in Vcharset_order_list.
7709 (syms_of_charset): Make the charset `eight-bit' supplementary.
7710
77112008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7712
7713 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7714 operations, to avoid having the difference between pointers
7715 overflow.
7716
77172008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7718
7719 * indent.c (check_display_width): New fun.
7720 (scan_for_column): Use it.
7721
7722 * data.c (syms_of_data): Mark most-positive-fixnum and
7723 most-negative-fixnum as constants.
7724
7725 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7726
7727 * indent.c (scan_for_column): Extract from current_column_1.
7728 Merge with the same code from Fmove_to_column.
7729 (current_column_1, Fmove_to_column): Use it.
7730
77312008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7732
7733 * keymap.c (map_keymap_internal): New fun.
7734 (map_keymap): Use it.
7735 (Fmap_keymap_internal): New fun.
7736 (Fmap_keymap): Remove left-out test from before make_save_value.
7737
7738 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7739
7740 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7741 Use XCAR/XCDR.
7742
7743 * process.h (struct Lisp_Process): Remove filter_multibyte.
7744 * process.c (QCfilter_multibyte): Remove.
7745 (setup_process_coding_systems): Don't use filter_multibyte.
7746 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7747 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7748 (Fset_process_filter_multibyte): Change the coding-system to
7749 approximate the previous behavior.
7750 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7751 coding-system.
7752
7753 * coding.c (decode_coding_object): When not decoding into a buffer,
7754 obey the coding system's preference of (uni|multi)byte.
7755
77562008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7757
7758 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7759 every char is changed and has a different byte-length.
7760 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7761 Fix int -> EMACS_INT.
7762
77632008-03-23 David Hansen <david.hansen@gmx.net>
7764
7765 * dbusbind.c (xd_read_message): Remove extra copying of message
7766 strings. Check for NULL `interface' or `member'.
7767
77682008-03-22 Eli Zaretskii <eliz@gnu.org>
7769
7770 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7771 cFileName a file name that includes `?' characters, use the 8+3
7772 alias in cAlternateFileName instead.
7773
77742008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7775
7776 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7777
77782008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7779
7780 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7781 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7782 work on current_buffer only instead (that was already the case
7783 for some of the code anyway).
7784 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7785 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7786 (SET_PT, SET_PT_BOTH): Adjust.
7787 * intervals.h (set_point, temp_set_point, set_point_both)
7788 (temp_set_point_both): Remove redundant declarations.
7789
77902008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7791
7792 * fileio.c (Finsert_file_contents):
7793 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7794 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7795 when buffer != current_buffer anyway.
7796
77972008-03-20 Andreas Schwab <schwab@suse.de>
7798
7799 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7800 as default.
7801
78022008-03-19 Jason Rumney <jasonr@gnu.org>
7803
7804 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7805 (syms_of_w32fns): Initialize them.
7806 (HOURGLASS_ID): New constant.
7807 (x_window_to_frame): Don't check hourglass_window.
7808 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7809 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7810 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7811 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7812 Only change the cursor if hourglass is not active.
7813 (Fx_create_frame): Initialize frame's current_cursor.
7814 (hourglass_atimer): Remove.
7815 (hourglass_started): New function.
7816 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7817 (show_hourglass): Adapt to w32, changing argument to frame.
7818
7819 * w32term.h (struct w32_output): Remove hourglass_window.
7820 Add current_cursor.
7821
7822 * eval.c (call_debugger, Fsignal):
7823 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7824 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7825 (Fexecute_extended_command, cancel_hourglass_unwind):
7826 * minibuf.c (read_minibuf):
7827 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7828
78292008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7830
7831 * window.c (run_funs): New fun.
7832 (run_window_configuration_change_hook): Use it to run the buffer-local
7833 and the global part of the hook.
7834
7835 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7836 (unwind_format_mode_line): Restore selected window.
7837 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7838
78392008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7840
7841 * editfns.c (Fchar_equal): Check they are valid characters.
7842
7843 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7844
78452008-03-17 Andreas Schwab <schwab@suse.de>
7846
7847 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7848 against a charset.
7849
7850 * lisp.h (Fbuffer_list): Declare.
7851
78522008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7853
aac0c6e3
MR
7854 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7855 handlebox_widget is != 0.
7856
78572008-03-16 Juri Linkov <juri@jurta.org>
7858
7859 * callint.c (Fcall_interactively): For interactive code letters
7860 'b' and 'B' put the buffer list into the list of default "future"
7861 values of the minibuffer.
7862
78632008-03-16 Andreas Schwab <schwab@suse.de>
7864
7865 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7866 modifiers.
7867
7868 * regex.c (re_match_2_internal): Correct matching of a charset
7869 against latin-1 characters.
7870
78712008-03-16 Kenichi Handa <handa@m17n.org>
7872
7873 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7874 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7875 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7876 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7877 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7878 CHAR_STRING_ADVANCE.
7879 (produce_chars): Fix for the case that the source and the
7880 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7881 instead of CHAR_STRING_ADVANCE.
7882 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7883 STRING_CHAR_ADVANCE.
7884
78852008-03-15 Andreas Schwab <schwab@suse.de>
7886
7887 * regex.c (re_match_2_internal): Correct matching of eight bit
7888 characters in unibyte strings.
7889
78902008-03-15 Martin Rudalics <rudalics@gmx.at>
7891
7892 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7893 at end of range when it coincides with the end of the buffer.
7894
78952008-03-14 Eli Zaretskii <eliz@gnu.org>
7896
7897 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7898
7899 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7900
79012008-03-14 Jason Rumney <jasonr@gnu.org>
7902
7903 * editfns.c (initial_tz): New variable.
7904 (syms_of_editfns): Initialize it.
7905 (Fset_time_zone_rule): Set it when first called.
7906 Use it when TZSTRING is nil.
7907
7908 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7909 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7910 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7911 (globals_of_w32fns): Initialize them.
7912 (compute_tip_xy): Use them to position tooltips.
7913
79142008-03-14 Glenn Morris <rgm@gnu.org>
7915
7916 * emacs.c (main): Revert previous change.
7917 (standard_args): Revert -internal-script back to -scriptload,
7918 and remove the long-option form.
7919
79202008-03-13 Glenn Morris <rgm@gnu.org>
7921
7922 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7923 Remove option -enable-font-backend.
7924
79252008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7926
7927 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7928
79292008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7930
7931 * xterm.c (x_connection_closed): For GTK: If this is the last
7932 terminal just exit without closing the display.
7933
79342008-03-11 Jason Rumney <jasonr@gnu.org>
7935
7936 * w32font.c (w32font_full_name): Use floor to round.
7937
f0131492 79382008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7939
7940 * sound.c (alsa_configure): Declare vol at beginning of block.
7941
7942 * fontset.c (Ffontset_info): Remove extra semicolon.
7943
79442008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7945
7946 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7947 size of resulting string.
7948
79492008-03-10 Jason Rumney <jasonr@gnu.org>
7950
7951 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7952
79532008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7954
7955 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7956 Don't pretend as if characters with display property haven't been
7957 consumed for string-replacing-string case.
7958
79592008-03-08 Kim F. Storm <storm@cua.dk>
7960
7961 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7962 (get_next_display_element, next_element_from_string)
7963 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7964
79652008-03-08 Andreas Schwab <schwab@suse.de>
7966
7967 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7968
79692008-03-06 Jason Rumney <jasonr@gnu.org>
7970
7971 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7972 when charset not specified. Only translate ANSI to unicode when
7973 font_type is truetype.
7974 (w32font_coverage_ok): New function.
7975 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7976
79772008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7978
7979 * lread.c (Fread_char): Resolve modifiers.
7980 (Fread_char_exclusive): Likewise.
7981
7982 * character.c (char_resolve_modifier_mask): New function.
7983 (char_string): Use char_resolve_modifier_mask.
7984 (Fchar_resolve_modifiers): New function.
7985 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7986 function.
7987
79882008-03-04 Jason Rumney <jasonr@gnu.org>
7989
7990 * makefile.w32-in: Always include w32font.c in the build.
7991 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7992
79932008-03-04 Andreas Schwab <schwab@suse.de>
7994
7995 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7996 (versionclean): Likewise.
7997
79982008-03-04 Juanma Barranquero <lekktu@gmail.com>
7999
8000 * .cvsignore: Add oo.
8001
80022008-03-03 Andreas Schwab <schwab@suse.de>
8003
8004 * coding.c (decode_coding_object): Inhibit gap shrinking while
8005 decoding in place.
8006
80072008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
8008
8009 * w32term.c: Remove unused include "gnu.h".
8010 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
8011
8012 * gnu.h: Rename to ...
8013 * emacs-icon.h: ... this.
8014 * xterm.c: Use emacs-icon.h instead of gnu.h.
8015 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
8016
80172008-03-03 Juanma Barranquero <lekktu@gmail.com>
8018
8019 * w32font.c: Include math.h.
8020
80212008-03-03 Jason Rumney <jasonr@gnu.org>
8022
8023 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
8024 Compute options separately.
8025 (w32font_open_internal): Set glyph_idx before caching metrics.
8026
8027 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
8028 Define if system headers don't.
8029 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
8030 (w32font_encode_char): Don't declare here.
8031
8032 * w32font.c (Quniscribe, QCformat): New symbols.
8033 (syms_of_w32font): Define them.
8034 (w32font_has_char): Indicate uncertainty.
8035 (w32font_encode_char): Encode as glyph point. Make static.
8036 (recompute_cached_metrics): New function.
8037 (w32font_open_internal): Use it. Set font to use glyph points
8038 initially. Set format based on type of font.
8039 (w32font_text_extents, w32font_draw): Optionally use glyph points.
8040 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
8041 on it. Set format based on information available here.
8042 (add_font_entity_to_list): Identify backend based on opentype_only.
8043
80442008-03-02 Andreas Schwab <schwab@suse.de>
8045
8046 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
8047
8048 * coding.c (decode_coding_big5, produce_chars):
8049 Fix typos in last change.
8050
80512008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
8052
8053 * gnu.h: New icon.
8054
80552008-03-02 Kenichi Handa <handa@m17n.org>
8056
8057 * coding.c (decode_coding_utf_8): When eol-type of CODING is
8058 `dos', don't decode '\r' if that is the last in the source.
8059 (decode_coding_utf_16, decode_coding_emacs_mule)
8060 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8061 (decode_coding_raw_text, decode_coding_charset): Likewise.
8062 (produce_chars): Don't decode EOL here. Use EMACS_INT.
8063
80642008-03-01 Jason Rumney <jasonr@gnu.org>
8065
8066 * w32font.c (w32font_full_name): Report point size for scalable fonts.
8067
80682008-03-01 Kim F. Storm <storm@cua.dk>
8069
8070 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
8071
80722008-03-01 Jason Rumney <jasonr@gnu.org>
8073
8074 * w32font.c (w32font_full_name): New function.
8075 (w32font_open_internal): Use it.
8076
80772008-03-01 Kim F. Storm <storm@cua.dk>
8078
8079 * dispnew.c (line_draw_cost): Fix invalid glyph check.
8080
80812008-03-01 Jason Rumney <jasonr@gnu.org>
8082
8083 * font.c (font_unparse_fcname): Increase len when style is a symbol.
8084
80852008-03-01 Jan Djärv <jan.h.d@swipnet.se>
8086
8087 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
8088 xg_frame_resized when the event is for the edit widget.
8089
8090 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
8091
8092 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
8093 set_char_size.
8094 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
8095 operations on widgets here. Just set frame size if needed.
8096 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
8097 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
8098 (x_wm_set_size_hint): Set size hints on the edit widget only, not
8099 the whole frame.
8100 (xg_create_tool_bar): Move attachment of the tool bar to
8101 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
8102 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
8103
81042008-03-01 Jason Rumney <jasonr@gnu.org>
8105
8106 * w32fns.c (w32_msg_pump): Disable debug code.
8107
81082008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8109
8110 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
8111
81122008-02-29 Chong Yidong <cyd@stupidchicken.com>
8113
8114 * xdisp.c (next_overlay_string): Don't set
8115 overlay_strings_at_end_processed_p if we're currently reading from
8116 a display string.
8117
81182008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
8119
8120 * xdisp.c (get_overlay_strings_1): Fix typo.
8121
81222008-02-29 Chong Yidong <cyd@stupidchicken.com>
8123
8124 * xdisp.c (get_overlay_strings_1): Add missing argument type.
8125
81262008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
8127
8128 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
8129
8130 * xdisp.c (display_mode_element): Cancel the previous change.
8131 (decode_mode_spec): Likewise.
8132 (handle_auto_composed_prop): Don't make composition if it->string
8133 is a string.
8134
81352008-02-27 Kim F. Storm <storm@cua.dk>
8136
8137 * lisp.h (GLYPH): Change type from int to struct with separate char
8138 and face_id members.
8139 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
8140 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
8141 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
8142 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
8143 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
8144 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
8145 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
8146 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
8147 handle new Lisp glyph code encoding, either an integer or a cons.
8148
8149 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
8150 (GLYPH_ALIAS): Delete.
8151 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
8152 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
8153 (GLYPH_FROM_CHAR): Replace macro by ...
8154 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
8155
8156 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
8157 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
8158 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
8159 (GLYPH_INVALID_P): New macro.
8160 (spec_glyph_lookup_face): Update prototype.
8161
8162 * dispnew.c (line_draw_cost): Adapt to new glyph type.
8163 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
8164 new glyph code encoding.
8165 (spec_glyph_lookup_face): No return value; update passed glyph instead.
8166 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
8167
8168 * xdisp.c (get_next_display_element, next_element_from_display_vector):
8169 Adapt to new glyph type and new glyph code encoding.
8170
8171 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
8172
8173 * indent.c (current_column, current_column_1, Fmove_to_column)
8174 (compute_motion): Adapt to new glyph code encoding.
8175
8176 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
8177
81782008-02-27 Chong Yidong <cyd@stupidchicken.com>
8179
8180 * process.c (wait_reading_process_output): Check for window
8181 changes caused by timers.
8182 Suggested by Johan Bockgård.
8183
81842008-02-27 Glenn Morris <rgm@gnu.org>
8185
8186 * emacs.c (USAGE1): Add `--disable-font-backend'.
8187
81882008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8189
8190 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8191 is made to the buffer.
8192
81932008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8194
8195 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8196 (face_at_string_position):
8197 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8198 (face_at_string_position):
8199 * xdisp.c (display_string, next_overlay_change):
8200 * buffer.h (overlays_at):
8201 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8202 Update callers.
8203
82042008-02-26 Chong Yidong <cyd@stupidchicken.com>
8205
8206 * editfns.c (Fformat): Doc fix.
8207
82082008-02-26 Juanma Barranquero <lekktu@gmail.com>
8209
8210 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8211 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8212 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8213
82142008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8215
8216 * buffer.c (Fbuffer_swap_text): New function.
8217 (syms_of_buffer): Defsubr it.
8218
82192008-02-25 Chong Yidong <cyd@stupidchicken.com>
8220
8221 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8222
82232008-02-25 Jason Rumney <jasonr@gnu.org>
8224
8225 * w32font.c (w32font_draw): Draw one character at a time when padding.
8226
82272008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8228
8229 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8230 Handle a nil arg. Use run_window_configuration_change_hook.
8231 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8232 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8233 Use run_window_configuration_change_hook.
8234
82352008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8236
8237 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8238 1-pixel width.
8239
82402008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8241
8242 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8243 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8244 if the glyph in the font is zero pixel with.
8245
8246 * dispextern.h (struct glyph_string): New member padding_p.
8247
8248 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8249
8250 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8251
8252 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8253
8254 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8255
8256 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8257
82582008-02-25 Jason Rumney <jasonr@gnu.org>
8259
8260 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8261
82622008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8263
8264 Allow fine-grained image-cache flushing.
8265 * dispextern.h (struct image): Add `dependencies' field.
8266 (clear_image_caches): Change arg to Lisp_Object.
8267 * image.c (make_image): Initialize `dependencies' field.
8268 (clear_image_cache): Change arg to allow fine-grained flushing.
8269 Perform the flush even if image-cache-eviction-delay is nil.
8270 (clear_image_caches): Change arg to Lisp_Object.
8271 (Fclear_image_cache): Expand meaning of the argument.
8272 (mark_image): Mark `dependencies' field.
8273 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8274 (lface_hash): Use XHASH rather than XFASTINT.
8275 (face_at_buffer_position): Fix int -> EMACS_INT position.
8276 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8277 (select_frame_for_redisplay): Remove code duplication.
8278 (redisplay_internal): Adapt arg to call to clear_image_caches.
8279
82802008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8281
8282 * s/vms4-0.h:
8283 * s/vms4-2.h:
8284 * s/vms4-4.h:
8285 * s/vms5-5.h: Remove, unused.
8286
8287 * s/irix5-2.h:
8288 * s/irix6-0.h:
8289 * s/riscos5.h:
8290 * s/mach-bsd4-3.h:
8291 * m/mips4.h: Remove files for obsolete systems.
8292
8293 * Makefile.in:
8294 * filelock.c:
8295 * unexmips.c:
8296 * m/hp9000s300.h:
8297 * m/iris4d.h:
8298 * s/aix3-1.h:
8299 * s/hpux.h:
8300 * s/msdos.h:
8301 * s/usg5-0.h:
8302 * s/usg5-2-2.h:
8303 * s/usg5-2.h:
8304 * s/usg5-3.h: Remove references to obsolete variables.
8305
8306 * s/irix5-0.h: Remove, move all the contents ...
8307 * s/irix6-5.h: ... here. Simplify.
8308 * config.in: Regenerate.
8309
83102008-02-24 Jason Rumney <jasonr@gnu.org>
8311
8312 * w32term.c (x_draw_glyph_string_background): Clear the background
8313 manually when cleartype is in use.
8314 (x_draw_glyph_string_foreground): Draw text transparently when
8315 cleartype is in use.
8316
8317 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8318 a font into it unless we have to.
8319
83202008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8321
8322 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8323 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 8324
aac0c6e3
MR
83252008-02-18 Jason Rumney <jasonr@gnu.org>
8326
8327 * w32fns.c (Fw32_shell_execute): Encode parameters.
8328
83292008-02-09 Eli Zaretskii <eliz@gnu.org>
8330
8331 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8332
83332008-02-05 Juanma Barranquero <lekktu@gmail.com>
8334
8335 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8336
83372008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8338
8339 * xterm.c (x_set_offset): Don't change the gravity if
8340 CHANGE_GRAVITY is -1.
8341
83422008-02-23 Chong Yidong <cyd@stupidchicken.com>
8343
8344 * fileio.c (auto_save_error_occurred): New var.
8345 (auto_save_error): Set it.
8346 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8347 error occurred.
8348
83492008-02-23 Eli Zaretskii <eliz@gnu.org>
8350
8351 * w32.c (globals_of_w32): Add initializations for
8352 g_b_init_get_sid_sub_authority and
8353 g_b_init_get_sid_sub_authority_count.
8354
83552008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8356
8357 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8358 (font_parse_xlfd): Use them for sanity check.
8359 (Finternal_set_font_style_table): Make sure the table is bijective.
8360
8361 Consolidate the image_cache to the terminal struct.
8362 * termhooks.h (P_): Remove redundant def.
8363 (struct terminal): New field `image_cache'.
8364 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8365 of FRAME_X_IMAGE_CACHE.
8366 * xterm.h (struct x_display_info): Remove image_cache field.
8367 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8368 * w32term.h (struct w32_display_info): Remove image_cache field.
8369 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8370 * macterm.h (struct mac_display_info): Remove image_cache field.
8371 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8372 * xterm.c (x_term_init):
8373 * w32term.c (w32_term_init):
8374 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8375 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8376 Remove declarations.
8377 (clear_image_caches, mark_image_cache): New declarations.
8378 * xfaces.c (clear_face_cache):
8379 * xdisp.c (redisplay_internal): Use clear_image_caches.
8380 * image.c (clear_image_cache): Don't check that a frame is on
8381 a window-system before checking if it shares the same cache.
8382 (clear_image_caches): New function.
8383 (Fclear_image_cache): Use it.
8384 (mark_image): Move from allo.c.
8385 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8386 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8387 (mark_object): Don't call mark_image_cache for frames.
8388 (mark_terminals): Call mark_image_cache.
8389
8390 * lisp.h (Fdelete_terminal): Declare.
8391
8392 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8393 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8394 wrong_type_argument.
8395
83962008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8397
8398 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8399 malayalam.el, and tamil.el. Add sinhala.el.
8400
84012008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8402
8403 * xterm.c (x_connection_closed): Consolidate identical tests.
8404 (x_delete_terminal): Don't crash if called via x_connection_closed.
8405
84062008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8407
8408 * xdisp.c (decode_mode_spec): New arg string.
8409 (display_mode_element): Adjust for the above change.
8410
84112008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8412
8413 * callint.c (Fcall_interactively): Use AREF.
8414
84152008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8416
8417 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8418
84192008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8420
8421 * xfns.c (Fx_show_tip): Set string to " " if empty.
8422
84232008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8424
8425 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8426 with Qt.
8427
84282008-02-17 Kenichi Handa <handa@m17n.org>
8429
8430 * ftfont.c (ftfont_shape): Return Lispy number.
8431
8432 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8433 for GCs.
8434 (Finternal_set_font_selection_order): Call font_update_sort_order
8435 only when enable_font_backend is set.
8436 (realize_x_face): Set face->font_info to that of default face only
8437 when enable_font_backend is set.
8438
8439 * xdisp.c (handle_composition_prop): Set it->c to the fist
8440 character of the composed region.
8441 (fill_composite_glyph_string): Set base_face->font_info to
8442 s->font_info. Get a face for ascii from base_face->ascii_face.
8443 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8444 with a face already decided.
8445 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8446 non-negative.
8447 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8448 call font_prepare_composition unconditionally.
8449
8450 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8451
8452 * xterm.h (struct x_display_info): New member font.
8453
8454 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8455 (x_set_mouse_face_gc, x_new_font): Likewise.
8456 (x_term_init): Setup display_info->font.
8457 (x_delete_terminal): Free display_info->font.
8458
8459 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8460
8461 * ftxfont.c (ftxfont_default_fid): Delete it.
8462 (ftxfont_open): Set xfont->fid to 0.
8463 (ftxfont_end_for_frame): Clear data specific to the frame and the
8464 font-driver.
8465
8466 * xftfont.c (xftfont_default_fid): Delete it.
8467 (xftfont_open): Set xfont->fid to 0.
8468
8469 * fontset.c (FONTSET_OBJLIST): New macro.
8470 (fontset_find_font): Update font-object list of the fontset.
8471 (free_realized_fontset): New function.
8472 (free_face_fontset): Call free_realized_fontset.
8473 (Ffont_info): Call font_close_object only when enable_font_backend
8474 is set.
8475
8476 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8477 [HAVE_NTGUI]: Include w32term.h.
8478 [MAC_OS]: Include macterm.ch.
8479 (font_otf_ValueRecord): Use make_number.
8480 (font_finish_cache): Fix handling of reference count.
8481 (font_clear_cache): Update num_fonts.
8482 (font_open_entity): Update smallest_char_width and
8483 smallest_font_height of the frame.
8484 (font_close_object): Update num_fonts.
8485 (Fclear_font_cache): Fix finding the target cache data.
8486
84872008-02-16 Glenn Morris <rgm@gnu.org>
8488
8489 * fontset.c (Finternal_char_font): Fix compilation warning.
8490
84912008-02-16 Eli Zaretskii <eliz@gnu.org>
8492
8493 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8494 instead of char arrays. Enlarge the size of array passed to
8495 get_token_information.
8496
8497 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8498 warnings.
8499
85002008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8501
8502 * .gdbinit: Don't set `args', it breaks gdb --args.
8503
85042008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8505
8506 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8507 within a narrowed buffer.
8508
85092008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8510
8511 * coding.c (decode_coding_object, encode_coding_object):
8512 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8513
85142008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8515
8516 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8517 hardcoding 1.
8518 (detect_coding_system):
8519 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8520 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8521 * insdel.c (insert_from_gap):
8522 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8523 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8524 (string_to_multibyte):
8525 * character.c (chars_in_text, multibyte_chars_in_text):
8526 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8527
8528 * character.h (FETCH_STRING_CHAR_ADVANCE)
8529 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8530 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8531 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8532
8533 * casefiddle.c (casify_region): Only call after-change and composition
8534 functions on the part of the region that was changed.
8535
8536 * keyboard.c (read_avail_input):
8537 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8538
85392008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8540
8541 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8542 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8543
85442008-02-11 Juanma Barranquero <lekktu@gmail.com>
8545
8546 * w32menu.c (push_submenu_start, push_submenu_end)
8547 (push_left_right_boundary, push_menu_pane, push_menu_item):
8548 * keyboard.c (read_key_sequence): Don't pass args with side effects
8549 to AREF, it fails when compiling with -DENABLE_CHECKING.
8550
85512008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8552
8553 * Makefile.in (${lispsource}international/charprop.el):
8554 Delete this target.
8555
8556 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8557 emacs-unicode-2.
8558
85592008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8560
8561 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8562
85632008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8564
8565 * frame.c (Qnoelisp): New symbol.
8566 (syms_of_frame): Initialize it.
8567 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8568 harmless Elisp code, from a strong `force' from x_connection_closed.
8569 * frame.h (Qnoelisp): Declare.
8570 * xterm.c (x_connection_closed): Pass `noelisp'.
8571
8572 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8573 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8574 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8575 rather than `int' for the type of `type'.
8576
85772008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8578
8579 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8580
8581 * Makefile.in (GNUC): Remove support for gcc-1.x.
8582
85832008-02-10 Richard Stallman <rms@gnu.org>
8584
8585 * lisp.h (ASET): Use AREF, not ASLOT.
8586
85872008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8588
8589 * lisp.h (ASET): Check bounds.
8590
85912008-02-10 Glenn Morris <rgm@gnu.org>
8592
8593 * buffer.c (mode-name): Doc fix.
8594
85952008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8596
8597 * Makefile.in:
8598 * emacs.c:
8599 * gmalloc.c:
8600 * keyboard.c:
8601 * lisp.h:
8602 * m/ibm370aix.h:
8603 * process.c:
8604 * regex.c:
8605 * s/hpux.h:
8606 * sysdep.c:
8607 * sysselect.h:
8608 * systty.h:
8609 * unexec.c:
8610 * w32term.c:
8611 * xsmfns.c:
8612 * xterm.c: Remove code that deals with obsolete variables.
8613
8614 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8615
8616 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8617 nothing else needs it anymore.
8618
86192008-02-09 Eli Zaretskii <eliz@gnu.org>
8620
8621 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8622 instead of unibyte_char_to_multibyte.
8623
86242008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8625
8626 * s/gnu-linux.h: Remove commented out code.
8627
8628 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8629
8630 * Makefile.in: Update what RMS says about using autoconf.
8631 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8632 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8633 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8634 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8635
86362008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8637
8638 * keymap.c (Fkey_description): Move side effect outside of macro call.
8639
8640 * xfaces.c (Finternal_make_lisp_face):
8641 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8642
8643 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8644 (syms_of_fontset): Use ASET.
8645
8646 * fns.c (concat): Move side effect outside of macro call.
8647 (hash_clear): Use ASET.
8648
86492008-02-08 Richard Stallman <rms@gnu.org>
8650
8651 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8652 If FORCE, and frame has a surrogate minibuffer for another frame,
8653 delete the other frame first.
8654
86552008-02-07 Timo Savola <timo.savola@iki.fi>
8656
8657 * xterm.c (x_detect_focus_change): Handle embed client message.
8658 (handle_one_xevent): Ditto.
8659 (handle_one_xevent): If embedded and we get a button press/release,
8660 request focus.
8661 (xembed_set_info, xembed_send_message): New functions.
8662 (x_make_frame_visible): Call xembed_set_info if embedded.
8663 (x_make_frame_invisible): Call xembed_set_info if embedded.
8664 (x_term_init): Initialize Xatom_XEMBED.
8665 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8666 (x_iconify_frame): Ditto.
8667
8668 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8669 (enum xembed_info, enum xembed_message, enum xembed_focus)
8670 (enum xembed_modifier, enum xembed_accelerator): New.
8671 (xembed_set_info, xembed_send_message): Declare.
8672 (FRAME_X_EMBEDDED_P): New.
8673
8674 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8675 gtk_plug_new.
8676
8677 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8678 window ID of a frame.
8679 (x_window): Reparent frame if embedded.
8680 (Fx_create_frame): Don't set border width if embedded.
8681
8682 * emacs.c (USAGE3): Add --parent-id.
8683 (standard_args): Ditto.
8684
86852008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8686
8687 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8688
86892008-02-07 Jim Meyering <meyering@redhat.com>
8690
8691 Use "do...while (0)", not "if (1)...else" in macro definitions.
8692 The latter provokes a warning from gcc about the empty else, when
8693 followed by ";". Also, without that trailing semicolon, it would
8694 silently swallow up any following statement.
8695 * syntax.h (SETUP_SYNTAX_TABLE)
8696 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8697 * buffer.h (DECODE_POSITION): Likewise.
8698 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8699 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8700 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8701 (FETCH_CHAR_ADVANCE): Likewise.
8702 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8703
87042008-02-07 Jim Meyering <meyering@redhat.com>
8705
8706 * lread.c [lint]: Don't include <sys/inode.h>.
8707
87082008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8709
8710 * xselect.c (x_handle_dnd_message):
8711 * xmenu.c (digest_single_submenu, xmenu_show):
8712 * xdisp.c (with_echo_area_buffer_unwind_data)
8713 (format_mode_line_unwind_data, unwind_format_mode_line)
8714 (display_menu_bar):
8715 * eval.c (Ffetch_bytecode):
8716 * doc.c (store_function_docstring):
8717 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8718 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8719 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8720
87212008-02-07 Kenichi Handa <handa@m17n.org>
8722
8723 * ftxfont.c (ftxfont_open): Don't set
8724 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8725
8726 * ftfont.c (ftfont_open): Fix previous change.
8727
87282008-02-06 Jason Rumney <jasonr@gnu.org>
8729
8730 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8731 Use cached metrics for ASCII characters.
8732 (w32font_open_internal): Don't set font's owning_frame.
8733 Cache metrics for ASCII characters.
8734
8735 * w32font.h (struct w32font_info): Add ascii_metrics.
8736 Remove owning_frame.
8737
87382008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8739
8740 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8741 to negative value.
8742
8743 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8744
8745 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8746
8747 * charset.c (syms_of_charset): Set QCtest and Qeq.
8748
87492008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8750
8751 * process.c (Fstart_process):
8752 * callproc.c (Fcall_process): Handle the case where
8753 Funhandled_file_name_directory returns nil.
8754
8755 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8756 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8757 * font.c (check_gstring): Use them and AREF to access the vector before
8758 we know it's really a gstring.
8759 (Ffont_shape_text): Fix typo.
8760 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8761
8762 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8763 Declare.
8764
8765 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8766
87672008-02-05 Jason Rumney <jasonr@gnu.org>
8768
8769 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8770 Set smallest_font_height and smallest_char_width in display info.
8771
87722008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8773
8774 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8775
87762008-02-05 Miles Bader <miles@gnu.org>
8777
8778 * xfaces.c (get_lface_attributes, merge_named_face)
8779 (lookup_named_face, lookup_derived_face, realize_named_face):
8780 Revert 2008-02-01 change by cyd@stupidchicken.com.
8781
87822008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8783
8784 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8785 fallback fonts.
8786 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8787
87882008-02-04 Jason Rumney <jasonr@gnu.org>
8789
8790 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8791 set full_name.
8792 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8793
87942008-02-03 Jason Rumney <jasonr@gnu.org>
8795
8796 * makefile.w32-in (OBJ1): Include font.o here.
8797 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8798
87992008-02-02 Jason Rumney <jasonr@gnu.org>
8800
8801 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8802
88032008-02-01 Jason Rumney <jasonr@gnu.org>
8804
8805 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8806
8807 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8808
88092008-02-01 Andreas Schwab <schwab@suse.de>
8810
8811 * Makefile.in (shortlisp, lisp): Update for rename of
8812 ../lisp/language/myanmar.el.
8813
88142008-02-01 Chong Yidong <cyd@stupidchicken.com>
8815
8816 * xfaces.c (get_lface_attributes): Delete function.
8817 (merge_named_face, lookup_named_face, lookup_derived_face)
8818 (realize_named_face): Call lface_from_face_name directly, and use
8819 the fact that merge_face_vectors does not alter its FROM argument.
8820
88212008-02-01 Jason Rumney <jasonr@gnu.org>
8822
8823 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8824 input in the default locale. Handle non-Unicode multibyte input.
8825
88262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8827
8828 * fontset.c (reorder_font_vector): Exclude nil elements from the
8829 font group. Don't try multiple fonts.
8830 (fontset_font): Adjust for the above change.
8831 (Finternal_char_font): Return nil if the found font doesn't
8832 contain the character ch.
8833
8834 * Makefile.in (lisp, shortlisp): Add cham.el.
8835
88362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8837
8838 * font.h (FONTP): Make it return 1 also for a font-object.
8839
8840 * .gdbinit (xfontset): New function.
8841
8842 * font.c (font_find_for_lface): Check if the character C is
8843 supported or not only for the first font.
8844
8845 * fontset.c (reorder_font_vector): Fix typo.
8846 (fontset_find_font): Don't add a font-spec specifying a script.
8847 Use 0 (not Qt) for the indication of empty font-group. Change the
8848 format of RFONT-DEF. Return Qt if no font in the font-group
8849 support the character.
8850 (fontset_font): Adjust for the above change. If no font was
8851 found the character, remember that.
8852 (face_for_char): Adjust for the change of RFONT-DEF.
8853 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8854 no font for the target.
8855 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8856
88572008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8858
8859 * font.c (font_load_for_face): Handle the case that the font in
8860 face->lface is a string.
8861
88622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8863
8864 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8865
88662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8867
8868 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8869 Fix previous change. If the frame is not on a window system,
8870 signal an error.
8871
88722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8873
8874 * coding.c (decode_coding_object, encode_coding_object): Adjust
8875 marker positions after conversion.
8876
8877 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8878
88792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8880
8881 * font.c (font_find_for_lface): Fix the handling of the return
8882 value of font_has_char.
8883 (Ffont_shape_text): Fix previous change.
8884
8885 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8886 (fontset_ref_and_range): Delete it.
8887 (fontset_find_font): Call char_table_ref_and_range instead of
8888 FONTSET_REF_AND_RANGE.
8889 (make_fontset): Don't setup font groups of Latin here.
8890 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8891 (new_fontset_from_font): Make the specified font the default for
8892 all Latin characters.
8893
88942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8895
8896 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8897 is on a window system before accessing the fontset of the frame.
8898
88992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8900
8901 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8902
8903 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8904 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8905
8906 * font.c (Ffont_shape_text): If the font driver doesn't have a
8907 shaper function, make zero-width glyphs to have at least one-pixel
8908 width. Fix setting of `to' field of glyphs.
8909
89102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8911
8912 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8913 glyphs.
8914
8915 * font.h (struct font_driver): Improve docstring of member `shape'.
8916
89172008-02-01 Kenichi Handa <handa@m17n.org>
8918
8919 * composite.c (syms_of_composite): Fix docstring of
8920 auto-composition-function.
8921
8922 * font.h (LGLYPH_SIZE): New macro.
8923
8924 * font.c (Ffont_fill_gstring): Stop filling when a character not
8925 supported by the font is found.
8926 (Ffont_shape_text): When a shape callback function returns nil,
8927 try at most two more times with larger gstring.
8928 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8929
8930 * xdisp.c (handle_auto_composed_prop): Change the argument to
8931 auto-composition-function.
8932
8933 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8934 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8935 Lispy glyph and store it in the lgstring.
8936
8937 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8938
8939 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8940
89412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8942
8943 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8944
8945 * fontset.c (Vfont_encoding_charset_alist): New variable.
8946 (syms_of_fontset): DEFVAR it.
8947 (reorder_font_vector, fontset_find_font): Optimize for the case of
8948 no need of reordering.
8949 (face_for_char): Map the charset property by
8950 Vfont_encoding_charset_alist.
8951
89522008-02-01 Jason Rumney <jasonr@gnu.org>
8953
8954 * w32font.c (logfonts_match): Don't check adstyle here.
8955 (font_matches_spec): Check here against physical font instead.
8956 (add_font_entity_to_list): Avoid some substitutions.
8957
8958 * font.c (font_parse_fcname): Default weight and slant to normal.
8959 (font_score): Prefer normal fonts if weight or slant unspecified.
8960 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8961 match freetype scores.
8962
89632008-02-01 Jason Rumney <jasonr@gnu.org>
8964
8965 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8966 font, as it may have been deleted.
8967 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8968 most common hyphenless variation.
8969 (logfonts_match): Check generic family.
8970 (font_matches_spec): Don't check generic family here.
8971 (fill_in_logfont): Set generic family based on adstyle.
8972
8973 * w32font.h (w32font_get_cache): Update declaration.
8974
89752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8976
8977 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8978
8979 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8980 If none of the new drivers are available, call font_update_drivers
8981 with the old drivers.
8982
8983 * w32font.c (w32font_get_cache): Adjust the argument type.
8984
8985 * xfont.c (xfont_get_cache): Adjust the argument type.
8986
8987 * font.h (struct font_driver): Change argument type of get_cache.
8988
8989 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8990
8991 * font.c (Ffont_get): Fix arguments to Fassoc.
8992 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8993 (font_clear_cache): New function.
8994 (font_list_entities, font_matching_entity): Use font_get_cache.
8995 (font_update_drivers): Call font_clear_cache when finishing a driver.
8996
8997 * fontset.c (fontset_find_font): Fix previous change.
8998
89992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9000
9001 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
9002 dpyinfo->font_table.
9003 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
9004 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
9005
9006 * font.c (font_at): Handle the case that the arg C is negative.
9007 Handle the unibyte case.
9008 (Ffont_at): Call font_at with the arg C -1.
9009
9010 * xdisp.c (handle_auto_composed_prop): Don't get a character at
9011 the position here, and call font_at with the arg C -1.
9012 Don't check the range of the existing composition at the point.
9013
90142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9015
9016 * fontset.c (fontset_add): New args charset_id and family.
9017 Change caller.
9018 (load_font_get_repertory, fontset_find_font): Assume that
9019 font_spec is always a font-spec object.
9020 (Fset_fontset_font): Always store a font-spec object in a fontset.
9021
9022 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
9023 instead of get_property_and_range.
9024
90252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9026
9027 * xftfont.c (struct xftfont_info): Delete the member ft_face.
9028 (xftfont_open): Don't keep locking face.
9029 (xftfont_close): Don't unlock face.
9030 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
9031
9032 * fontset.c (fontset_find_font): Don't prefer a font of
9033 supplementary charset.
9034
90352008-02-01 Kenichi Handa <handa@m17n.org>
9036
9037 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
9038 script, langsys_tag to langsys, new member script.
9039 (OTF_TAG_STR): Terminate by '\0'.
9040 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
9041 listing to the script specified in that property. Fix arg to
9042 OTF_check_features.
9043
90442008-02-01 Jason Rumney <jasonr@gnu.org>
9045
9046 * w32font.h: New file.
9047
9048 * w32font.c: Include it.
9049 (struct w32font_info): Add owning_frame field. Move to w32font.h.
9050 (w32font_open): Set owning_frame.
9051 (w32font_text_extents): Use owning_frame.
9052 (struct font_callback_data): Add opentype_only field.
9053 (add_font_entity_to_list): Use it to filter fonts.
9054 Don't check against full name.
9055 (w32font_list_internal): New function.
9056 (w32font_list): Use it.
9057 (w32font_match_internal): New function.
9058 (w32font_match): Use it.
9059 (w32font_open_internal): New function.
9060 (w32font_open): Use it.
9061 (w32font_get_cache, w32font_close, w32font_has_char)
9062 (w32font_encode_char, w32font_text_extents, w32font_draw):
9063 Make non-static.
9064
9065 * makefile.w32-in (w32font.o): Depend on w32font.h.
9066
90672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9068
9069 * charset.c (Fdefine_charset_internal): Record a supplementary
9070 charset at the tail of Vcharset_order_list.
9071
9072 * font.c (Ffont_shape_text): Fix the return value.
9073
9074 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
9075
9076 * xdisp.c (handle_auto_composed_prop): Fix previous change.
9077
90782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9079
9080 * ftfont.c (struct OpenTypeSpec): New struct.
9081 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
9082 (ftfont_get_open_type_spec): New function.
9083 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
9084
9085 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
9086
90872008-02-01 Jason Rumney <jasonr@gnu.org>
9088
9089 * w32font.c (add_font_entity_to_list): Compare only the beginning
9090 of full name.
9091
90922008-02-01 Kenichi Handa <handa@m17n.org>
9093
9094 * xdisp.c (handle_auto_composed_prop): Simplify the code.
9095 Never return HANDLED_RECOMPUTE_PROPS.
9096
90972008-02-01 Kenichi Handa <handa@m17n.org>
9098
9099 * font.c (font_gstring_produce): Delete it.
9100
9101 * composite.h (COMPOSITION_METHOD):
9102 Handle COMPOSITION_WITH_GLYPH_STRING.
9103
91042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9105
9106 * xfont.c (Qx): Delete.
9107 (syms_of_xfont): Don't initialize Qx.
9108
9109 * composite.h (enum composition_method):
9110 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
9111
91122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9113
9114 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
9115 (choose_face_font): Accept new form of font-spec.
9116
9117 * frame.h (font_driver_list): Declare it unconditionally.
9118 (struct frame): Define members font_driver_list and font_data_list
9119 unconditionally.
9120
9121 * fontset.c: Include "font.h" unconditionally.
9122 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
9123 (Fset_fontset_font): Accept a font-spec object.
9124
9125 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
9126 PIXEL_SIZE part a wild card.
9127
9128 * dispextern.h (struct glyph_string): Define members clip and
9129 num_clips unconditionally.
9130 (struct face): Define members font_info and extra unconditionally.
9131
9132 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
9133 ftfont_info only when HAVE_LIBOTF is defined.
9134
91352008-02-01 Andreas Schwab <schwab@suse.de>
9136
9137 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
9138 and end.
9139
91402008-02-01 Jason Rumney <jasonr@gnu.org>
9141
9142 * w32font.c (w32font_driver): Add new fields.
9143
91442008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9145
9146 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
9147 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
9148 (LIBES): Add @M17N_FLT_CFLAGS@.
9149
9150 * composite.c (compose_text): Don't treat the new style
9151 composition specially.
9152
9153 * emacs.c (main): Call syms_of_font unconditionally.
9154
9155 * font.h (FONT_ENTITY_NOT_LOADABLE)
9156 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
9157 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
9158 (struct font_driver): New member shape.
9159 (font_registry_charsets): Extern it.
9160 (font_find_for_lface, font_prepare_composition): Adjust prototype.
9161 (font_otf_capability, font_drive_otf): Delete their externs.
9162
9163 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
9164 (font_charset_alist, font_registry_charsets): Move from xfont.c
9165 and rename.
9166 (font_prop_validate_otf): New function.
9167 (font_property_table): Register it for QCotf.
9168 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
9169 (font_drive_otf): Delete.
9170 (font_prepare_composition): New arg F. Adjust for the change of
9171 lispy gstring.
9172 (font_find_for_lface): New arg C.
9173 (font_load_for_face): Adjust for the change of font_find_for_lface.
9174 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
9175 lispy gstring.
9176 (Ffont_shape_text): New function.
9177 (Fopen_font): If the font size is not given, use 12-pixel.
9178 (Ffont_at): New arg STRING.
9179 (syms_of_font): Initalize font_charset_alist.
9180 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
9181 conditionally.
9182
9183 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
9184 fonts of the same font-spec. Change the format of RFONT-DEF.
9185 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
9186 Adjust for the change of RFONT-DEF.
9187 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
9188
9189 * ftfont.h: New file.
9190
9191 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9192 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9193 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9194 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9195 font_otf_capability and font_drive_otf, set ftfont_shape.
9196 (ftfont_list): Adjust for the change of :otf property value.
9197 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9198 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9199 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9200 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9201 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9202 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9203
9204 * w32term.c (x_draw_composite_glyph_string_foreground):
9205 Adjust for the change of lispy gstring.
9206
9207 * xdisp.c (handle_composition_prop): Adjust for the change of
9208 lispy gstring. Call a function for auto-composition with the
9209 third arg it->window.
9210 (fill_composite_glyph_string): Adjust for the change of lispy string.
9211 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9212
9213 * xfaces.c (set_font_frame_param): Adjust for the change of
9214 font_find_for_lface.
9215
9216 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9217 (xfont_registry_charsets): Likewise. Change caller.
9218 (syms_of_xfont): Don't handle x_font_charset_alist.
9219
9220 * xftfont.c: Include "ftfont.h".
9221 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9222 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9223 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9224 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9225 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9226 Set xftfont_driver.shape to xftfont_shape.
9227
9228 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9229 the change of lispy gstring.
9230
92312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9232
9233 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9234
92352008-02-01 Jason Rumney <jasonr@gnu.org>
9236
9237 * w32font.c (w32font_draw): Fill background manually.
9238
92392008-02-01 Jason Rumney <jasonr@gnu.org>
9240
9241 * font.c (Qfontp): Remove unused symbol.
9242 (QCantialias): New symbol.
9243 (syms_of_font): Define it.
9244 (font_property_table): Set a validator for QCantialias.
9245
9246 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9247 Define if not already.
9248 (QCfamily): Share with xfaces.c.
9249 (Qstandard, Qsubpixel, Qnatural): New symbols.
9250 (syms_of_w32font): Define them. Don't define QCfamily here.
9251 (w32_antialias_type, lispy_antialias_type): New functions.
9252 (w32_enumfont_pattern_entity): New arg requested_font.
9253 Set antialias parameter if non-default was requested.
9254 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9255
92562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9257
9258 * lread.c (read1): Undo the previous change.
9259
92602008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9261
9262 * frame.c (Fdelete_frame): Call font_update_drivers only when
9263 USE_FONT_BACKEND is defined.
9264
92652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9266
9267 * font.h (struct font_bitmap): New member bits_per_pixel.
9268 (struct font_driver): New members start_for_frame and end_for_frame.
9269 (struct font_data_list): New struct.
9270 (font_put_frame_data, font_get_frame_data): Extern them.
9271
9272 * frame.h (struct frame): New member font_data_list.
9273
9274 * font.c (font_update_drivers): Call driver->start_for_frame and
9275 driver->end_for_frame at proper timings.
9276 (font_put_frame_data, font_get_frame_data): New functions.
9277 (Ffont_spec): Add usage in the docstring.
9278
9279 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9280 (Fdelete_frame): Call font_update_drivers.
9281
9282 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9283 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9284 (xftfont_get_xft_draw): New function.
9285 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9286 (xftfont_end_for_frame): New function.
9287 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9288
9289 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9290 Change argument. Cache GCs in the per-frame data.
9291 (struct ftxfont_frame_data): New struct.
9292 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9293 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9294 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9295 (ftxfont_end_for_frame): New function.
9296 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9297
9298 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9299
93002008-02-01 Kenichi Handa <handa@m17n.org>
9301
9302 * xselect.c (Vselection_coding_system)
9303 (Vnext_selection_coding_system): Delete them.
9304 (syms_of_xselect): Don't declare selection-coding-system and
9305 next-selection-coding-system. They are declared in select.el.
9306
93072008-02-01 Jason Rumney <jasonr@gnu.org>
9308
9309 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9310
9311 * w32fns.c: Include imm.h.
9312 (get_composition_string_fn, get_ime_context_fn): New optional
9313 system functions.
9314 (globals_of_w32fns): Load them from imm32.dll.
9315 (ignore_ime_char): New flag.
9316 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9317 WM_IME_ENDCOMPOSITION messages.
9318
9319 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9320 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9321
93222008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9323
9324 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9325 (READCHAR_REPORT_MULTIBYTE): New macro.
9326 (readchar): New 2nd arg MULTIBYTE.
9327 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9328 Make symbol's name multibyte according to the multibyteness of the
9329 source.
9330
93312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9332
9333 * xfaces.c (face_for_overlay_string): Call lookup_face with
9334 correct arguments (fix of synching with the trunk).
9335
93362008-02-01 Kenichi Handa <handa@m17n.org>
9337
9338 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9339 (font_prop_validate_non_neg, font_prop_validate_spacing):
9340 Delete argument prop_index.
9341 (font_property_table): Change arguments to validater. Change Callers.
9342 (font_lispy_object): Delete.
9343 (font_at): Use font_find_object instead fo font_lispy_object.
9344
93452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9346
9347 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9348 and file names.
9349
93502008-02-01 Jason Rumney <jasonr@gnu.org>
9351
9352 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9353 (font_matches_spec): Remove debug output.
9354 (add_font_entity_to_list): Avoid using substituted fonts.
9355
93562008-02-01 Jason Rumney <jasonr@gnu.org>
9357
9358 * doc.c (Fsnarf_documentation):
9359 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9360
93612008-02-01 Miles Bader <miles@gnu.org>
9362
9363 * dispextern.h (struct glyph_row): Only define "clip" field if
9364 HAVE_WINDOW_SYSTEM is defined.
9365
93662008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9367
9368 Fix up multi-tty merge.
9369
9370 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9371 and indentation.
9372
9373 * xfaces.c (free_realized_face, clear_face_gcs):
9374 Include font_done_for_face in the input_blocked section, just in case.
9375
9376 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9377 (get_char_face_and_encoding): Undo last change and remove the *other*
9378 duplicate definition (i.e. keep the one that's better scoped and that
9379 includes code for the font-backend).
9380
9381 * terminal.c (create_terminal): Default keyboard_coding to
9382 `no-conversion' and terminal_coding to `undecided'.
9383
9384 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9385
9386 * fontset.c (free_realized_fontsets): Check that the table entry does
9387 contain a fontset before trying to compare it to `base'.
9388
9389 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9390 syms_of_charset, and syms_of_coding earlier because init_window_once
9391 now needs Vcoding_system_hash_table to be setup.
9392
9393 * coding.h (default_buffer_file_coding): Remove.
9394
9395 * coding.c (default_buffer_file_coding): Remove.
9396 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9397 than ->symbol, and use the terminal-local coding system.
9398 (syms_of_coding): Don't setup the coding-systems that are not
9399 terminal-local.
9400 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9401
9402 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9403 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9404
9405 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9406 in chartab.c and were re-added here by mistake.
9407 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9408
9409 * doc.c (Fsnarf_documentation):
9410 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9411 src to etc.
9412
9413 * ChangeLog.10: Add mistakenly removed entry.
9414
94152008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9416
9417 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9418
94192008-02-01 Miles Bader <miles@gnu.org>
9420
9421 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9422 Add extra args to FACE_FOR_CHAR.
9423
94242008-02-01 Kenichi Handa <handa@m17n.org>
9425
9426 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9427 in sequence.
9428
9429 * chartab.c (map_sub_char_table, map_char_table): If the range
9430 contains just one character, call the function with that character
9431 even if the depth is not 3.
9432
94332008-02-01 Jason Rumney <jasonr@gnu.org>
9434
9435 * w32font.c (w32font_text_extents): Calculate metrics for the
9436 whole string.
9437
94382008-02-01 Jason Rumney <jasonr@gnu.org>
9439
9440 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9441
94422008-02-01 Jason Rumney <jasonr@gnu.org>
9443
9444 * w32term.c (x_set_glyph_string_clipping): Use
9445 get_glyph_string_clip_rects.
9446 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9447 Adjust for the change of struct glyph_string.
9448
9449 * w32font.c (w32font_draw): Do clipping here.
9450
94512008-02-01 Kenichi Handa <handa@m17n.org>
9452
9453 * xftfont.c (xftfont_draw): Adjust for the change of struct
9454 glyph_string.
9455
9456 * xterm.c (x_set_glyph_string_clipping): Use
9457 get_glyph_string_clip_rects.
9458 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9459 Adjust for the change of struct glyph_string.
9460
9461 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9462 the resulting clip(s}.
9463 (expose_overlaps): Add arg r. Change callers. Set it to
9464 row->clip temporarily.
9465 (expose_window): Redraw rows overlapping the exposed area.
9466
9467 * dispextern.h (struct glyph_row): New member clip.
9468 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9469 clip_height, new member clip, and num_clips.
9470
94712008-02-01 Kenichi Handa <handa@m17n.org>
9472
9473 * data.c (Fchar_or_string_p): Fix docstring.
9474
94752008-02-01 Kenichi Handa <handa@m17n.org>
9476
9477 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9478 create a temporary XftDraw object.
9479
94802008-02-01 Kenichi Handa <handa@m17n.org>
9481
9482 * font.c (Ffontp): Fix docstring.
9483
9484 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9485 strong evidence of ISO-2022.
9486
94872008-02-01 Kenichi Handa <handa@m17n.org>
9488
9489 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9490 SYNTAX_ENTRY_FOLLOW_PARENT.
9491
94922008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9493
9494 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9495 its type.
9496 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9497 Update to the new type of weak_hash_tables and next_weak.
9498
9499 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9500 a plain C pointer to Lisp_Hash_Table.
9501
9502 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9503 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9504 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9505 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9506 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9507 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9508 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9509 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9510 (GC_EQ): Remove since they've been identical to their non-GC_
9511 alter-egos ever since the markbit was eradicated.
9512
9513 * alloc.c:
9514 * buffer.c:
9515 * buffer.h:
9516 * data.c:
9517 * fileio.c:
9518 * filelock.c:
9519 * fns.c:
9520 * frame.h:
9521 * lisp.h:
9522 * macterm.c:
9523 * print.c:
9524 * process.c:
9525 * w32fns.c:
9526 * w32menu.c:
9527 * w32term.c:
9528 * xfns.c:
9529 * xmenu.c:
9530 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9531
95322008-02-01 Kenichi Handa <handa@m17n.org>
9533
9534 * chartab.c (map_sub_char_table): Make it work for the top-level
9535 char-table. Fix handling of parent char-table.
9536 (map_char_table): Adjust for the above change.
9537
95382008-02-01 Jason Rumney <jasonr@gnu.org>
9539
9540 * w32font.c (Qgdi): Rename from Qw32.
9541
95422008-02-01 Jason Rumney <jasonr@gnu.org>
9543
9544 * w32bdf.c (get_quoted_string): Make function static.
9545
95462008-02-01 Kenichi Handa <handa@m17n.org>
9547
9548 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9549 bigger ascent and descent than those of the font, use them as
9550 font's ascent and descent.
9551
95522008-02-01 Kenichi Handa <handa@m17n.org>
9553
9554 * Makefile.in (${lispsource}international/charprop.el): Move this
9555 target within "#ifdef HAVE_UNIDATA" and "#endif".
9556
95572008-02-01 Kenichi Handa <handa@m17n.org>
9558
9559 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9560 (shortlisp): Add ../lisp/language/tai-viet.el.
9561
95622008-02-01 Ulrich Mueller <ulm@gentoo.org>
9563
9564 * Makefile.in (${lispsource}international/charprop.el): Depend on
9565 temacs${EXEEXT}.
9566
95672008-02-01 Jason Rumney <jasonr@gnu.org>
9568
9569 * w32font.c (w32font_close): Delete the GDI font object.
9570
9571 * w32menu.c: Include character.h.
9572
9573 * w32proc.c: Likewise.
9574
9575 * w32select.c: Likewise.
9576
9577 * makefile.w32-in (w32proc.o): Depend on character.h.
9578
95792008-02-01 Jason Rumney <jasonr@gnu.org>
9580
9581 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9582
9583 * w32menu.c (syms_of_w32menu): Likewise.
9584
9585 * w32proc.c (syms_of_ntproc): Likewise.
9586
9587 * w32select.c (syms_of_w32select): Likewise.
9588
9589 * w32term.c (syms_of_w32term): Likewise.
9590
95912008-02-01 Jason Rumney <jasonr@gnu.org>
9592
9593 * w32font.c (w32font_draw): Delete brush after using it.
9594
95952008-02-01 Jason Rumney <jasonr@gnu.org>
9596
9597 * w32font.c (w32font_open): Don't set font_idx.
9598 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9599 to font settings.
9600 (w32font_draw): Fill background explicitly.
9601
96022008-02-01 Jason Rumney <jasonr@gnu.org>
9603
9604 * w32term.c (w32_initialize): Don't call w32font_initialize.
9605
9606 * w32font.c (w32font_info): Remove subranges.
9607 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9608 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9609 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9610 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9611 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9612 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9613 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9614 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9615 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9616 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9617 New symbols.
9618 (font_callback_data): New struct.
9619 (w32font_list, w32font_match): Use it.
9620 (w32font_open): Don't populate subranges.
9621 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9622 (w32font_encode_char): Always return unicode code-point as-is.
9623 (w32font_text_extents): Supply a transformation matrix to
9624 GetGlyphOutline. Never look up by glyph index. Avoid looping
9625 twice. Use unicode version of GetTexExtentPoint32 instead of
9626 glyph index version.
9627 (set_fonts_frame): Remove.
9628 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9629 set frame parameter. Use backward compatible fake foundries.
9630 Save generic family in extra slot under QCfamily. Make width slot
9631 constant. Save QCspacing value. Save list of scripts instead of
9632 binary subranges.
9633 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9634 (add_font_entity_to_list): Use font_callback_data struct. Filter
9635 unwanted fonts.
9636 (add_one_font_entity_to_list): Use font_callback_data struct.
9637 (w32_registry): Default to iso10646_1.
9638 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9639 string font registries. Don't fill in font name if it is a generic
9640 family name, fill family instead. Use spacing, family and script
9641 extra info to fill pitch, family and charset fields.
9642 (list_all_matching_fonts): Use font_callback_data struct.
9643 (unicode_range_for_char): Remove.
9644 (font_supported_scripts): New function.
9645 (w32font_initialize): Remove.
9646 (syms_of_w32font): Update which symbols are defined.
9647
96482008-02-01 Jason Rumney <jasonr@gnu.org>
9649
9650 * font.c (font_pixel_size): Reverse assq_no_quit args.
9651
9652 * w32term.h (FONT_WIDTH): Report max width, not average.
9653 (FONT_MAX_WIDTH): Remove.
9654 (FONT_AVG_WIDTH): New macro.
9655
9656 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9657 redefinition of FONT_WIDTH.
9658
9659 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9660 (w32_cache_char_metrics): Use FONT_WIDTH.
9661
9662 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9663
96642008-02-01 Jason Rumney <jasonr@gnu.org>
9665
9666 * w32font.c (w32font_open): Make lfHeight negative.
9667
9668 * w32fns.c (x_default_font_parameter): Use new style font name.
9669 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9670
96712008-02-01 Jason Rumney <jasonr@gnu.org>
9672
9673 * w32font.c (QCsubranges): New symbol.
9674 (w32font_open, w32font_has_char): Get subranges from subproperty
9675 of extra.
9676 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9677 (syms_of_w32font): Define :subranges symbol.
9678
9679 * font.c (font_put_extra): Expose externally.
9680
9681 * font.h (font_put_extra): Move declaration from font.c.
9682
9683 * font.c (Ffont_get): Use font driver to determine otf capability.
9684 (adjust_anchor): Check if driver defines anchor_point before using.
9685
9686 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9687 (w32font_draw): Use options.
9688 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9689 Fix detection of truetype fonts.
9690 (registry_to_w32_charset): Handle charsets other than iso8859-1
9691 expressed as lisp symbols.
9692 (w32_registry): Express charset as lisp symbol.
9693 (fill_in_logfont): Reverse pixel and point height logic.
9694 Don't set width here. Set quality to default.
9695
9696 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9697 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9698
9699 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9700 Remove redundant loop and allocation.
9701
9702 * makefile.w32-in (font.o, w32font.o): New objects.
9703 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9704 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9705
9706 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9707 STORE_XCHARB a valid l-value.
9708
9709 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9710 calculations for non-Truetype fonts.
9711 (x_draw_glyph_string): Sync with xterm.c.
9712 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9713 Remove redundant code.
9714 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9715
9716 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9717 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9718
9719 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9720 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9721
9722 * w32font.c: New file for w32 font backend.
9723
97242008-02-01 Kenichi Handa <handa@m17n.org>
9725
9726 * term.c: Don't include "buffer.h" twice.
9727
97282008-02-01 Kenichi Handa <handa@m17n.org>
9729
9730 * character.c (Funibyte_string): New function.
9731 (syms_of_character): Defsubr it.
9732
97332008-02-01 Jason Rumney <jasonr@gnu.org>
9734
9735 * w32term.c [USE_FONT_BACKEND]:
9736 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9737 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9738 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9739 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9740 (x_free_frame_resources): Sync with xterm.c.
9741
97422008-02-01 Andreas Schwab <schwab@suse.de>
9743
9744 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9745 char-table size.
9746
97472008-02-01 Kenichi Handa <handa@m17n.org>
9748
9749 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9750
97512008-02-01 Kenichi Handa <handa@m17n.org>
9752
9753 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9754 font_otf_gpos, add font_drive_otf.
9755
9756 * fontset.c (fontset_find_font): Pay attention to font size
9757 specified for a font.
9758 (reorder_font_vector): Check contents of font_def.
9759
9760 * font.c (struct otf_list): Delete it.
9761 (otf_list): Make it a lisp variable.
9762 (otf_open): Use lispy otf_list.
9763 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9764 (check_otf_features): New function.
9765 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9766 New functions.
9767 (font_drive_otf): New function merging font_otf_gsub and
9768 font_otf_gpos.
9769 (font_open_for_lface): New arg spec. Change argument order.
9770 (font_load_for_face): Adjust for the change of font_open_for_lface.
9771 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9772 Ffont_otf_gpos.
9773 (syms_of_font): Staticpro otf_list. Delete defsubr of
9774 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9775
9776 * xfaces.c (set_font_frame_param): Adjust for the change of
9777 font_open_for_lface.
9778
9779 * font.h (font_open_for_lface): Adjust prototype.
9780 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9781 member otf_drive.
9782 (font_otf_gsub, font_otf_gpos): Delete externs.
9783 (font_drive_otf): Extern it.
9784
97852008-02-01 Kenichi Handa <handa@m17n.org>
9786
9787 * font.c (font_at): If the window W is not on a window system,
9788 return Qnil.
9789
9790 * coding.c (produce_chars, encode_coding): Don't call
9791 insert_from_gap if no characters to produce.
9792
97932008-02-01 Kenichi Handa <handa@m17n.org>
9794
9795 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9796 Fclear_face_cache.
9797
9798 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9799
98002008-02-01 Miles Bader <miles@gnu.org>
9801
9802 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9803 Parse "--disable-font-backend" option.
9804 (standard_args): Add "--disable-font-backend" option.
9805
98062008-02-01 Kenichi Handa <handa@m17n.org>
9807
9808 * fontset.c (fontset_find_font): New function.
9809 (fontset_font): Use fontset_find_font.
9810 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9811 Register the specified font for all Latin characters.
9812 (new_fontset_from_font): Register the specified font for all Latin
9813 characters.
9814 (dump_fontset): For a realized fontset, include the base fontset
9815 name in the returned vector.
9816
98172008-02-01 Kenichi Handa <handa@m17n.org>
9818
9819 * character.h (CHAR_STRING): Cast C to unsigned on calling
9820 char_string.
9821
9822 * character.c (char_string): Type of arg C changed to unsigned.
9823 Signal an error if C is an invalid character code.
9824
9825 * editfns.c (general_insert_function, Fchar_to_string):
9826 Use CHARACTERP, not INTEGERP.
9827
98282008-02-01 Kenichi Handa <handa@m17n.org>
9829
9830 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9831 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9832
9833 * regex.c (analyse_first): Fix for multibyte characters in "case
9834 charset:" and "case categoryspec:".
9835
98362008-02-01 Andreas Schwab <schwab@suse.de>
9837
9838 * Makefile.in (LIBES): Move standard libraries to the end.
9839
98402008-02-01 Kenichi Handa <handa@m17n.org>
9841
9842 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9843 nonzero, don't shrink the buffer nextb.
9844
9845 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9846
9847 * coding.c (coding_alloc_by_making_gap): New arg offset.
9848 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9849 offset.
9850 (decode_coding_iso_2022): Update coding->safe_charsets.
9851 (decode_coding_gap): Temporarily set
9852 current_buffer->text->inhibit_shrinking to 1.
9853
98542008-02-01 Kenichi Handa <handa@m17n.org>
9855
9856 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9857 indexing into elements of s->cmp and s->char2b.
9858
98592008-02-01 Juanma Barranquero <lekktu@gmail.com>
9860
9861 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9862
98632008-02-01 Kenichi Handa <handa@m17n.org>
9864
9865 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9866 target_multibyte instead of multibyte.
9867 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9868 (bcmp_translate): Change the argument name from multibyte to
9869 target_multibyte.
9870
98712008-02-01 Kenichi Handa <handa@m17n.org>
9872
9873 These changes are to compile a regexp into a pattern that can be
9874 used both for multibyte and unibyte targets.
9875
9876 * Makefile.in (search.o): Depend on charset.h.
9877
9878 * character.c (multibyte_char_to_unibyte_safe): New function.
9879
9880 * search.c: Include "charset.h".
9881 (compile_pattern_1): Delete argument multibyte. Don't set
9882 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9883 (compile_pattern): Don't compare cp->buf.target_multibyte.
9884 Compare cp->buf.charset_unibyte.
9885 (compile_pattern): Set cp->buf.target_multibyte.
9886
9887 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9888
9889 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9890
9891 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9892 multibyte. Change callers.
9893 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9894 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9895 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9896 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9897 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9898 (regex_compile): Make the compiled pattern usable both for
9899 multibyte and unibyte targets.
9900 (analyse_first): Make the fastmap usable both for multibyte and
9901 unibyte targets.
9902 (TRANSLATE_VIA_MULTIBYTE): Delete.
9903 (re_match_2_internal): Pay attention to the case that the
9904 multibyteness of bufp and target may be different.
9905
99062008-02-01 Kenichi Handa <handa@m17n.org>
9907
9908 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9909 empty box occupy at least one column width.
9910
99112008-02-01 Miles Bader <miles@gnu.org>
9912
9913 * Makefile.in: Remove redundant HAVE_XFT clause.
9914
99152008-02-01 Kenichi Handa <handa@m17n.org>
9916
9917 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9918
99192008-02-01 Kenichi Handa <handa@m17n.org>
9920
9921 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9922 being nil.
9923
99242008-02-01 Kenichi Handa <handa@m17n.org>
9925
9926 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9927
99282008-02-01 Kenichi Handa <handa@m17n.org>
9929
9930 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9931
99322008-02-01 Kenichi Handa <handa@m17n.org>
9933
9934 * search.c (simple_search): Fix previous change.
9935
99362008-02-01 Kenichi Handa <handa@m17n.org>
9937
9938 * xftfont.c (ftfont_font_format): Extern declaration.
9939
9940 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9941
9942 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9943 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9944
9945 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9946 (ftfont_font_format): Fix previous change.
9947
9948 * font.h (Ffont_xlfd_name): EXFUN it.
9949
9950 * font.c (font_parse_xlfd): Fix the array size of `f'.
9951 (register_font_driver): Use EQ to compare driver->type.
9952
9953 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9954 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9955 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9956
99572008-02-01 Kenichi Handa <handa@m17n.org>
9958
9959 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9960 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9961
99622008-02-01 Kenichi Handa <handa@m17n.org>
9963
9964 * xfont.c (xfont_open): Set font->format.
9965
9966 * xftfont.c (xftfont_open): Set font->format.
9967
9968 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9969 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9970 (ftfont_open): Set font->format.
9971 (ftfont_font_format): New function.
9972
9973 * font.h (struct font): New member format.
9974
9975 * font.c (Qopentype): New variable.
9976 (syms_of_font): Defsym it.
9977 (Fquery_font): Change the format of the last element of the return
9978 value.
9979
99802008-02-01 Kenichi Handa <handa@m17n.org>
9981
9982 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9983 last resort.
9984
99852008-02-01 Kenichi Handa <handa@m17n.org>
9986
9987 * coding.c (detect_coding_charset): Fix detection of multi-byte
9988 charset.
9989
99902008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9991
9992 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9993
99942008-02-01 Kenichi Handa <handa@m17n.org>
9995
9996 * xdisp.c (get_next_display_element): Set it->face_id for the
9997 first component of a composition.
9998 (x_produce_glyphs): Check if the font is changed or not for composition.
9999
100002008-02-01 Kenichi Handa <handa@m17n.org>
10001
10002 * fontset.c (Qlatin): New variable.
10003 (syms_of_fontset): Define it as a lisp symbol.
10004 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
10005
100062008-02-01 Kenichi Handa <handa@m17n.org>
10007
10008 * font.c (font_unparse_fcname): Pay attention to the case that
10009 some of font property is a null string.
10010
100112008-02-01 Kenichi Handa <handa@m17n.org>
10012
10013 * term.c: Include "composite.h".
10014 (encode_terminal_code): Output all components of composition.
10015 Check the size of encode_terminal_src.
10016 (produce_glyphs): For composition, call produce_composite_glyph.
10017 (append_composite_glyph, produce_composite_glyph): New functions.
10018
10019 * xdisp.c (x_produce_glyphs): In handling composition, if a font
10020 is not found, get font_info from the current ascii face.
10021
100222008-02-01 Kenichi Handa <handa@m17n.org>
10023
10024 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
10025 buffer-file-name to Qnil before calling insert_from_buffer.
10026
10027 * font.c (font_unparse_fcname): Pay attention to the case that
10028 foundry is a null string.
10029
100302008-02-01 Kenichi Handa <handa@m17n.org>
10031
10032 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
10033
10034 * font.c (Qunicode_sip): New variable.
10035 (syms_of_font): Declare it as a Lisp symbol.
10036
10037 * font.h (Qunicode_sip): Extern it.
10038
100392008-02-01 Kenichi Handa <handa@m17n.org>
10040
10041 * composite.c (get_composition_id): Pay attention to TAB component.
10042
10043 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
10044 TAB. Adjust for the change of s->char2b which always points to
10045 the first element of allocated memory.
10046
10047 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
10048
10049 * xdisp.c (handle_composition_prop): Set it->c to the first
10050 non-TAB component.
10051 (fill_composite_glyph_string): Change argument.
10052 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
10053 (x_produce_glyphs): Fix handling of left/right padding.
10054
100552008-02-01 Kenichi Handa <handa@m17n.org>
10056
10057 * coding.c (detect_coding_system): Fix for handling off
10058 inhibit_iso_escape_detection. Fix for the case that no coding
10059 system is defined for a specific coding category.
10060
100612008-02-01 Kenichi Handa <handa@m17n.org>
10062
10063 * font.c (font_matching_entity): Delete unused local var.
10064
10065 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
10066 opening a font.
10067
10068 * fileio.c (Finsert_file_contents): On recovering a file, assume
10069 Unix-like eol.
10070 (choose_write_coding_system): On auto-saving a file, force
10071 Unix-like eol.
10072
10073 * coding.c (setup_coding_system): Fix setting of
10074 coding->common_flags based on eol_type.
10075 (coding_inherit_eol_type): If PARENT is not nil, be sure to
10076 inherit from it.
10077
100782008-02-01 Kenichi Handa <handa@m17n.org>
10079
10080 * alloc.c (NSTATICS): Increas to 0x600.
10081
100822008-02-01 Kenichi Handa <handa@m17n.org>
10083
10084 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
10085 (ftfont_list): Don't check :name property.
10086 (ftfont_match): New function.
10087 (ftfont_pattern_entity): If the pattern doesn't contain
10088 FC_SPACING, don't assume FC_MONO.
10089
10090 * font.h (struct font_driver): New member `match'.
10091 (font_update_drivers): Adjust prototype.
10092
10093 * font.c (font_parse_fcname, font_parse_name): Don't change :name
10094 property of FONT.
10095 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
10096 them unconditionally.
10097 (font_matching_entity): New function.
10098 (font_open_by_name): Try font_matching_entity if exact match is
10099 not found.
10100 (font_update_drivers): Delete the arg FONT. Return a list of
10101 actually used backends. Don't free faces, font caches here.
10102 Don't store data in frame parameters. Don't call x_set_font.
10103 (Ffont_spec): Store :name property as is.
10104 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
10105 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
10106 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
10107 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
10108 Call font->driver->otf_gsub instead of font_otf_gsub.
10109
10110 * frame.c (x_set_font_backend): Do more works that were done in
10111 font_update_drivers before.
10112
10113 * xfont.c (xfont_match): New function.
10114 (xfont_driver): Set xfont_driver.match to xfont_match.
10115 (xfont_draw): Set font in GC if necessary.
10116
10117 * ftxfont.c (ftxfont_match): New function.
10118 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
10119
10120 * xftfont.c (xftfont_match): New function.
10121 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
10122
101232008-02-01 Kenichi Handa <handa@m17n.org>
10124
10125 * font.h (struct font): New member scalable.
10126 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
10127 (font_otf_gsub): Adjust prototype.
10128
10129 * font.c (font_otf_capability): Fix handling of the default langsys.
10130 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
10131 Check the contents of SPEC.
10132 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
10133 (check_gstring): New function.
10134 (REPLACEMENT_CHARACTER): New macro.
10135 (font_otf_gsub): New arg alternate_subst. Be sure to set all
10136 glyph codes of GSTRING.
10137 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
10138 (font_prepare_composition): Set cmp->glyph_len.
10139 (font_open_entity): Set font->scalable.
10140 (Ffont_get): Handle :otf property.
10141 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
10142 functions.
10143 (Fquery_font): Use font->font.full_name.
10144 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
10145 Sfont_otf_alternates.
10146
10147 * ftfont.c (ftfont_open): Set font->font.full_name and
10148 font->font.name properly. Fix calculation of font->font.height
10149 and font->min_width.
10150
10151 * ftxfont.c (ftxfont_create_gcs): New function.
10152 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
10153 (ftxfont_draw_backgrond): Fix filling region.
10154 (ftxfont_default_fid): New function.
10155 (ftxfont_open): Set xfont->fid to the return value of
10156 ftxfont_default_fid.
10157 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
10158 (ftxfont_done_face): Free only GCs that are created by
10159 ftxfont_create_gcs.
10160 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
10161
10162 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
10163 Clip to src->width, etc (not src->clip_XXX).
10164
10165 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
10166 FontBackend frame parameter.
10167
101682008-02-01 Kenichi Handa <handa@m17n.org>
10169
10170 * font.h (struct font_driver_list): New member `on'.
10171 (Fclear_font_cache): EXFUN it.
10172 (font_update_drivers): Extern it.
10173
10174 * font.c (font_unparse_fcname): Fix typo (swidth->width).
10175 (font_list_entities): Check driver_list->on.
10176 (register_font_driver): Initalize `on' member to 0.
10177 (font_update_drivers): New function.
10178 (Fclear_font_cache): Check driver_list->on.
10179
10180 * frame.h (Qfont_backend): Extern it.
10181 (x_set_font_backend): Extern it.
10182
10183 * frame.c (Qfont_backend): New variable.
10184 (frame_parms): New element for font-backend.
10185 (x_set_font_backend): New function.
10186
10187 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
10188 FontBackend frame parameter.
10189 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10190 x_set_font_backend.
10191
10192 * xfont.c (xfont_list): Don't try listing by :name property if the
10193 name is not for XLFD.
10194
101952008-02-01 Kenichi Handa <handa@m17n.org>
10196
10197 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10198 (LGLYPH_SET_TO): New macros.
10199 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10200 element of G is vector or not.
10201 (font_at): Extern it.
10202
10203 * font.c: Include window.h.
10204 (font_lispy_object): New function.
10205 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10206 end of valid glyph.
10207 (font_close_object): Fix getting (struct font *).
10208 (font_at): New function.
10209 (Ffont_get): If FONT is a font-object, get entity from it.
10210 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10211 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10212 range check.
10213 (Ffont_at): New function.
10214 (syms_of_font): Defsubr Sfont_at.
10215
10216 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10217 before the entry for Qcomposition.
10218 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10219 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10220 the font in gstring.
10221 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10222 LGLYPH_FORM (g) to detect the end of valid glyph.
10223 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10224 we are composing with gstring.
10225
10226 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10227 Check if adjustment is vector or not.
10228
10229 * Makefile.in (font.o): Make it depends on window.h.
10230
102312008-02-01 Kenichi Handa <handa@m17n.org>
10232
10233 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10234 adjustment is vector or not.
10235
102362008-02-01 Miles Bader <miles@gnu.org>
10237
10238 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10239
102402008-02-01 Kenichi Handa <handa@m17n.org>
10241
10242 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10243 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10244 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10245
10246 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10247 (DEVICE_DELTA): Fix typo.
10248 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10249 LGLYPH format.
10250
10251 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10252 the change of LGLYPH format.
10253
102542008-02-01 Kenichi Handa <handa@m17n.org>
10255
10256 * ftfont.c (ftfont_list): Fix typo.
10257 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10258
102592008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10260
10261 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10262
10263 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10264 xftface_info is non-NULL.
10265
102662008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10267
10268 * ftfont.c (ftfont_list): Move misplaced #endif.
10269
102702008-02-01 Kenichi Handa <handa@m17n.org>
10271
10272 * ftfont.c (ftfont_list): Pay attention to the case that
10273 FC_CAPABILITY is not defined.
10274
102752008-02-01 Kenichi Handa <handa@m17n.org>
10276
10277 * xftfont.c (xftfont_open): Set charset related members to -1.
10278
10279 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10280 QCname.
10281 (ftfont_open): Set charset related members to -1.
10282
10283 * fontset.c (Votf_script_alist): New variable.
10284 (syms_of_fontset): Initialize it.
10285 (fontset_font): Delete unused variable.
10286
10287 * fontset.h (Votf_script_alist): Extern it.
10288
10289 * font.c (font_find_for_lface): Optimize code.
10290
10291 * font.h (font_close_object, font_merge_old_spec): Extern them.
10292
102932008-02-01 Kenichi Handa <handa@m17n.org>
10294
10295 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10296 (syms_of_font): Initialize them.
10297 (font_pixel_size): Allow float value in dpi.
10298 (font_prop_validate_type): Delete.
10299 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10300 Change caller.
10301 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10302 (font_prop_validate_extra): Delete.
10303 (font_prop_validate_spacing): New function.
10304 (font_property_table): Add elements for all known properties.
10305 (get_font_prop_index): Rename from check_font_prop_name. New
10306 argument FROM. Change caller.
10307 (font_prop_validate): Validate all known properties.
10308 (font_put_extra): Delete argument force. Change caller.
10309 (font_expand_wildcards): Make it static. Fix the way of shrinking
10310 the possible range.
10311 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10312 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10313 Change caller.
10314 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10315 (font_parse_fcname): Delete argument merge. Fix parsing of point
10316 size. Don't validate properties values here. Change caller.
10317 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10318 (font_open_by_name): Delete unused variable.
10319 (Ffont_spec): Likewise. Validate property values.
10320 (Ffont_match_p): New function.
10321
10322 * font.h (QCscalable): Extern it.
10323 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10324
10325 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10326
10327 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10328 (xfont_list_pattern): New function.
10329 (xfont_list): Use xfont_list_pattern.
10330
103312008-02-01 Kenichi Handa <handa@m17n.org>
10332
10333 * font.h (Flist_fonts): EXFUN it.
10334
103352008-02-01 Jason Rumney <jasonr@gnu.org>
10336
10337 * w32term.c (w32_initialize): Add back smoothing_type and
10338 smoothing_enabled definitions.
10339
103402008-02-01 Kenichi Handa <handa@m17n.org>
10341
10342 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10343 s->face->font on determining underline position.
10344
103452008-02-01 Kenichi Handa <handa@m17n.org>
10346
10347 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10348 (font_has_char): Accept font-object too.
10349 (font_find_for_lface): Try at first with a size specified in face.
10350
103512008-02-01 Kenichi Handa <handa@m17n.org>
10352
10353 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10354 font_open_by_name.
10355
103562008-02-01 Kenichi Handa <handa@m17n.org>
10357
10358 * font.h (QCspacing, QCdpi): Extern them.
10359 (enum font_spacing): New enum.
10360 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10361
10362 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10363 (QCspacing, QCdpi): New variables.
10364 (syms_of_font): Initialize them.
10365 (font_pixel_size): New function.
10366 (font_put_extra): New function.
10367 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10368 in FONT_EXTRA.
10369 (font_parse_fcname): Handle enumerated values (e.g. bold).
10370 Fix handling font size. Add QCname property that contains only
10371 unknown properties.
10372 (font_score): Change argument. Change caller. Pay attention to
10373 FONT_PIXEL_SIZE_QUANTUM.
10374 (font_sort_entites, font_list_entities, font_find_for_lface)
10375 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10376 (Ffont_spec): Add QCname property that contains only unknown properties.
10377
10378 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10379 include weight in listing pattern, instead check weight of each
10380 listed font. Don't include scalable in pattern. Pay attention to
10381 FONT_PIXEL_SIZE_QUANTUM.
10382
103832008-02-01 Kenichi Handa <handa@m17n.org>
10384
10385 * font.c (font_parse_fcname): Fix parsing of point-size.
10386 (font_unparse_fcname): Produce symbolic names for style properties.
10387 (font_list_entities): Handle float size correctly.
10388 (font_open_by_name): Prefer `normal' property values if the name
10389 doesn't specify them.
10390
10391 * fontset.c (Finternal_char_font): Use font_get_name, not
10392 Ffont_xlfd_name.
10393
10394 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10395 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10396 pattern. Don't force scalable.
10397
10398 * xftfont.c (xftfont_open): For generating a name, start from
10399 96-byte buffer.
10400
104012008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10402
10403 * frame.h (x_new_fontset2): Fix prototype.
10404
104052008-02-01 Kenichi Handa <handa@m17n.org>
10406
10407 * font.h (struct font_driver): Delete member parse_name.
10408 (font_match_p, font_get_spec, font_parse_fcname)
10409 (font_unparse_fcname): Extern them.
10410 (font_get_name): Adjust prototype.
10411
10412 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10413 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10414 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10415 unnecessary checks for weight, slant, and swidth.
10416 (font_parse_fcname): New function.
10417 (font_unparse_fcname): New function.
10418 (font_parse_name): New function.
10419 (font_match_p): New function.
10420 (font_get_name): Change return value to Lisp string.
10421 (font_get_spec): New function.
10422 (Qunspecified, Qignore_defface): Don't extern them.
10423 (font_find_for_lface): Assume that LFACE is fully specified.
10424 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10425 object, use it for FACE.
10426 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10427 driver->parse_name.
10428 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10429
10430 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10431 prototype.
10432
10433 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10434 argument F. Don't call Fnew_fontset. Instead, directly call
10435 make_fontset.
10436
10437 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10438
10439 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10440 of x_new_fontset2.
10441
10442 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10443 (Qsans__serif): New variables.
10444 (ftfont_generic_family_list): New variable.
10445 (syms_of_ftfont): Initialize the above variables.
10446 (ftfont_pattern_entity): Delete argument NAME.
10447 (ftfont_list_generic_family): New function.
10448 (ftfont_parse_name): Delete this function.
10449 (ftfont_list): Try generic family only when FcFontList found no font.
10450 (ftfont_list_family): Fix args to FcObjectSetBuild.
10451
10452 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10453 object in attrs[LFACE_FONT_INDEX].
10454 (set_lface_from_font_name): Cancel all changes for font-backend.
10455 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10456 function.
10457 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10458 font object in QCfont attribute.
10459 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10460 (realize_default_face) [USE_FONT_BACKEND]: Call
10461 set_lface_from_font_and_fontset.
10462
10463 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10464 "fixed", and signal error here if no suitable font was found.
10465
10466 * xfont.c (xfont_parse_name): Delete this function.
10467
10468 * xftfont.c (xftfont_open): Change coding style of error
10469 handling. Generate fontconfig's fontname pattern.
10470
10471 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10472 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10473
10474 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10475 Both args FONTSET and FONT_OBJECT must be existing ones.
10476
104772008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10478
10479 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10480
104812008-02-01 Kenichi Handa <handa@m17n.org>
10482
10483 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10484
10485 * font.h (struct font): Fix typo.
10486
10487 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10488 XLFD_XXX_INDEX.
10489 (enum xlfd_field_mask): New enum.
10490 (intern_font_field): Changed argument. Change caller. If digits
10491 are followed by non-digits, return a symbol.
10492 (font_expand_wildcards): New function.
10493 (font_parse_xlfd): Fix wildcard handling.
10494 (Ffont_spec): If :name is specified, reflect the info in the other
10495 properties.
10496
10497 * ftfont.c (ftfont_pattern_entity): Fix typo.
10498 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10499 locale.
10500
105012008-02-01 Kenichi Handa <handa@m17n.org>
10502
10503 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10504
10505 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10506 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10507 registry doesn't specify encoding part.
10508 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10509 (font_open_by_name): At first try parsing the name.
10510 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10511 as Lisp symbols.
10512
10513 * fontset.c (reorder_font_vector): Pay attention to the case that
10514 the 3rd element of font_def is nil.
10515 (fontset_font): For the default fontset, append one more fontset
10516 elements for a script-based font specification. Don't add script
10517 attribute on finding a font.
10518 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10519 font name.
10520 (fontset_ascii_font): If a font can't be opened, return nil.
10521
10522 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10523 (ftfont_pattern_entity): New function.
10524 (ftfont_get_cache): Assume that freetype_font_cache is already
10525 initialized.
10526 (ftfont_list): Handle the case that a file is specified in font
10527 name. Use ftfont_pattern_entity to generate entities.
10528 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10529 (syms_of_ftfont): Initialize freetype_font_cache.
10530
10531 * xftfont.c (xftfont_open): Make the font name fontconfig's
10532 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10533 (xftfont_close): Free font->font.name if not NULL.
10534
10535 * xfont.c (xfont_list): If script is specified for a font, return
10536 null_vector.
10537 (xfont_list_family): Declare argument type.
10538
10539 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10540 name, set LFACE_FONT (lface) to nil.
10541
10542 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10543 return Qnil.
10544
105452008-02-01 Kenichi Handa <handa@m17n.org>
10546
10547 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10548 (standard_args): Add "-enable-font-backend".
10549
105502008-02-01 Kenichi Handa <handa@m17n.org>
10551
10552 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10553 (struct xftdraw_list, xftdraw_list): Delete them.
10554 (register_xftdraw, check_xftdraw): Delete them.
10555 (xftfont_prepare_face): Don't call register_xftdraw.
10556 (xftfont_done_face): Don't call check_xftdraw.
10557 (xftfont_draw): Get background color only when with_background is
10558 nonzero.
10559
10560 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10561
105622008-02-01 Kenichi Handa <handa@m17n.org>
10563
10564 These changes are for the new font handling codes.
10565
10566 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10567 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10568 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10569 (FONTSRC, FONTOBJ): New variables.
10570 (obj): Add $(FONTOBJ).
10571 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10572 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10573 @LIBOTF_LIBS@.
10574 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10575 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10576
10577 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10578
10579 * character.h (Vscript_representative_chars): Extern it.
10580
10581 * character.c (Vscript_representative_chars): New variable.
10582 (syms_of_character): Declare it as a Lisp variable.
10583
10584 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10585 enable_font_backend is nonzero, accept the composition method
10586 COMPOSITION_WITH_GLYPH_STRING.
10587
10588 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10589 enumeration COMPOSITION_WITH_GLYPH_STRING.
10590
10591 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10592 members clip_x, clip_y, clip_width, and clip_height.
10593 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10594
10595 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10596 --enable-font-backend. Call syms_of_font.
10597
10598 * fns.c (assoc_no_quit): New function.
10599
10600 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10601 (face_for_font, new_fontset_from_font)
10602 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10603
10604 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10605 (fontset_font, fontset_ascii, face_for_char)
10606 (make_fontset_for_ascii_face, Ffont_info)
10607 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10608 is nonzero, use font-backend mechanism.
10609 (find_font_encoding): Make it non-static.
10610 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10611 New functions.
10612
10613 * frame.h (struct frame): New members resx and resy.
10614 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10615 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10616
10617 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10618 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10619
10620 * lisp.h (assoc_no_quit): Extern it.
10621
10622 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10623 Through out the file, use FONT_INFO_FROM_FACE instead of
10624 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10625 rif->per_char_metric.
10626 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10627 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10628 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10629 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10630 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10631 nonzero, use font-backend mechanism.
10632 (get_per_char_metric): New function.
10633
10634 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10635 (set_lface_from_font_name)
10636 (set_font_frame_param, free_realized_face)
10637 (prepare_face_for_display, clear_face_gcs)
10638 (Finternal_set_font_selection_order, realize_x_face)
10639 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10640 font-backend mechanism.
10641 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10642 (load_face_font) [USE_FONT_BACKEND]: Abort.
10643 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10644 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10645
10646 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10647 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10648 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10649 nonzero, register all available font drivers. Call
10650 x_default_font_parameter for deciding a font.
10651 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10652
10653 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10654 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10655 (x_set_glyph_string_clipping_exactly)
10656 (x_compute_glyph_string_overhangs)
10657 (x_draw_glyph_string_foreground)
10658 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10659 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10660 enable_font_backend is nonzero, use font-backend mechanism.
10661 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10662
106632008-02-01 Kenichi Handa <handa@m17n.org>
10664
10665 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10666 system_eol_type.
10667 (syms_of_coding): Initialize system_eol_type.
10668
10669 * process.c (Fset_process_coding_system): Inherit system's eol
10670 format if necessary.
10671
106722008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10673
10674 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10675
106762008-02-01 Kenichi Handa <handa@m17n.org>
10677
10678 * coding.c (decode_eol): Pay attention to buffer relocation in
10679 del_range_2.
10680 (decode_coding): Call decode_eol before restoring undo_list.
10681
106822008-02-01 Kenichi Handa <handa@m17n.org>
10683
10684 * charset.c (Fdefine_charset_internal): Fix setting of
10685 emacs_mule_bytes.
10686
106872008-02-01 Kenichi Handa <handa@m17n.org>
10688
10689 * keyboard.c (read_char): Check if C is a character or not before
10690 looking up Vkeyboard_translate_table.
10691
106922008-02-01 Kenichi Handa <handa@m17n.org>
10693
10694 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10695 condition to terminate the loop.
10696
106972008-02-01 Kenichi Handa <handa@m17n.org>
10698
10699 * coding.c (produce_composition): Compare charbuf[i] instead of
10700 args[i] against 0.
10701 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10702
107032008-02-01 Kenichi Handa <handa@m17n.org>
10704
10705 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10706 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10707 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10708 detect_coding.
10709 (emacs_mule_char): Handle old style (Emacs 20) component character
10710 of a composition.
10711 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10712 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10713 composition rule.
10714 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10715
107162008-02-01 Kenichi Handa <handa@m17n.org>
10717
10718 * coding.c (encode_coding_ccl): Allocate destination dynamically
10719 when necessary.
10720
107212008-02-01 Kenichi Handa <handa@m17n.org>
10722
10723 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10724 the loop. When quitted, show a proper error message.
10725
107262008-02-01 Kenichi Handa <handa@m17n.org>
10727
10728 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10729 src->clip_head and src->clip_tail temporarily instead of src->hl.
10730
10731 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10732 character sequence.
10733 (Fccl_execute_on_string): Use ASET, not XSET.
10734
107352008-02-01 Kenichi Handa <handa@m17n.org>
10736
10737 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10738
107392008-02-01 Kenichi Handa <handa@m17n.org>
10740
10741 * coding.c (decode_coding): Fix the condition of terminating the
10742 decoding loop.
10743
107442008-02-01 Kenichi Handa <handa@m17n.org>
10745
10746 * data.c (Faset): On setting a character bigger than 255 in a
10747 unibyte string, signal an error instead of make the string multibyte.
10748
107492008-02-01 Kenichi Handa <handa@m17n.org>
10750
10751 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10752 made by a mapping table.
10753
107542008-02-01 Kenichi Handa <handa@m17n.org>
10755
10756 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10757 not.
10758 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10759 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10760
10761 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10762 s->face is NULL or not.
10763
107642008-02-01 Kenichi Handa <handa@m17n.org>
10765
10766 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10767 (x_draw_glyph_string): Fix drawing of right_overhang and
10768 left_overhang around/on cursor.
10769
10770 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10771
107722008-02-01 Kenichi Handa <handa@m17n.org>
10773
10774 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10775
107762008-02-01 Kenichi Handa <handa@m17n.org>
10777
10778 * coding.c (Fdefine_coding_system_internal)
10779 (Fdefine_coding_system_alias): Avoid a duplicated element in
10780 Vcoding_system_alist.
10781
107822008-02-01 Kenichi Handa <handa@m17n.org>
10783
10784 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10785
10786 * coding.c (Qcoding_system_define_form): New variable.
10787 (syms_of_coding): Intern and staticpro it.
10788 (Fcoding_system_p): Check Qcoding_system_define_form.
10789 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10790
10791 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10792 Fcoding_system_p.
10793 (CHECK_CODING_SYSTEM): If ID is not available, call
10794 Fcheck_coding_system.
10795 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10796 Try also Fcheck_coding_system.
10797
107982008-02-01 Kenichi Handa <handa@m17n.org>
10799
10800 * coding.c (code_conversion_restore): GCPRO arg.
10801
108022008-02-01 Kenichi Handa <handa@m17n.org>
10803
10804 * character.c (lisp_string_width): Check multibyteness of STRING.
10805
108062008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10807
10808 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10809 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10810 (decode_mac_font_name): Use decode_coding_c_string instead of
10811 decode_coding.
10812 (x_load_font): Initialize fontp->fontset to -1. Set
10813 fontp->encoding_type.
10814
108152008-02-01 Kenichi Handa <handa@m17n.org>
10816
10817 * search.c (search_buffer): Give up BM search on case-fold-search
10818 if one of a target character has a case-equivalence of different
10819 byte length even if that target charcter is an ASCII.
10820 (simple_search): Fix calculation of byte length of matched text.
10821 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10822
108232008-02-01 Kenichi Handa <handa@m17n.org>
10824
10825 * coding.c (decode_coding): Fix handling of invalid bytes.
10826
108272008-02-01 Kenichi Handa <handa@m17n.org>
10828
10829 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10830 Unicode characters.
10831
108322008-02-01 Kenichi Handa <handa@m17n.org>
10833
10834 * coding.c (encode_coding_object): If a pre-write-conversion
10835 function makes a new buffer, kill it.
10836
108372008-02-01 Kenichi Handa <handa@m17n.org>
10838
10839 * coding.c (QCascii_compatible_p): New variable.
10840 (syms_of_coding): Initialize it.
10841 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10842 calling string_char.
10843 (record_conversion_result): Add `default:' case.
10844 (coding_charset_list): Delete unused variable `coding_type'.
10845 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10846 property in the plist of the coding system.
10847 (Fcoding_system_put): Check QCascii_compatible_p.
10848
108492008-02-01 Miles Bader <miles@gnu.org>
10850
10851 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10852 removed calculation of frame `f', as it's now used.
10853
108542008-02-01 Kenichi Handa <handa@m17n.org>
10855
10856 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10857 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10858 (UNIDATA): New variable.
10859 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10860 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10861 $(RUN_TEMACS) unconditionally.
10862
108632008-02-01 Kenichi Handa <handa@m17n.org>
10864
10865 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10866 (admindir): New variable.
10867 ($(lispsource)international/charprop.el): New target.
10868
108692008-02-01 Miles Bader <miles@gnu.org>
10870
10871 * character.c (chars-in-region): Remove obsolete function.
10872 (syms_of_character): Remove its initialization.
10873
108742008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10875
10876 * w32select.c (validate_coding_system)
10877 (setup_windows_coding_system): New functions.
10878 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10879 setup_windows_coding_system.
10880 (setup_config, Fw32_get_clipboard_data): Use
10881 validate_coding_system.
10882 (Fx_selection_exists): Move call to setup_config to a place
10883 where signals are allowed.
10884
10885 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10886 (Fcheck_coding_system): Add declarations.
10887
108882008-02-01 Kenichi Handa <handa@m17n.org>
10889
10890 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10891
108922008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10893
10894 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10895 string as the second argument for x_new_fontset.
10896
108972008-02-01 Kenichi Handa <handa@m17n.org>
10898
10899 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10900 (encode_coding_object): Use safe_call instead of call2.
10901
109022008-02-01 Kenichi Handa <handa@m17n.org>
10903
10904 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10905
10906 * Makefile.in (lisp): Include charprop.el.
10907
109082008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10909
10910 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10911 Not sure if it's unnecessary.
10912
109132008-02-01 Steven Tamm <steventamm@mac.com>
10914
10915 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10916 some possibly unnecessary fontset checking code that crashed
10917 when creating a new frame.
10918
109192008-02-01 Kenichi Handa <handa@m17n.org>
10920
10921 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10922 lookup_face.
10923
10924 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10925
10926 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10927
109282008-02-01 Kenichi Handa <handa@m17n.org>
10929
10930 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10931 (coding_charset_list): New function.
10932
10933 * coding.h (coding_charset_list): Extern it.
10934
109352008-02-01 Kenichi Handa <handa@m17n.org>
10936
10937 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10938 concatenation of family and registry.
10939
109402008-02-01 Kenichi Handa <handa@m17n.org>
10941
10942 * character.h (BYTE8_STRING): Fix typo.
10943
10944 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10945 string to multibyte (sync to HEAD).
10946
10947 * casefiddle.c (casify_region): Handle changes in byte-length
10948 using replace_range_2 (sync to HEAD).
10949
109502008-02-01 Andreas Schwab <schwab@suse.de>
10951
10952 * chartab.c (map_char_table): GCPRO table and arg.
10953
109542008-02-01 Kenichi Handa <handa@m17n.org>
10955
10956 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10957 already at limit.
10958
109592008-02-01 Kenichi Handa <handa@m17n.org>
10960
10961 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10962 instead of fast_c_string_match_ignore_case.
10963 (find_font_encoding): Change argument to Lisp_Object. Use
10964 fast_string_match_ignore_case instead of
10965 fast_c_string_match_ignore_case. Change caller.
10966
109672008-02-01 Kenichi Handa <handa@m17n.org>
10968
10969 * xdisp.c (get_next_display_element): In unibyte case, decide to
10970 display in octal form by checking a character by
10971 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10972
10973 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10974
10975 * character.c (unibyte_has_multibyte_table): New variable.
10976
10977 * character.h (unibyte_has_multibyte_table): Extern it.
10978 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10979
109802008-02-01 Kenichi Handa <handa@m17n.org>
10981
10982 * coding.c (encode_coding_iso_2022): Fix handling of charset
10983 annotation.
10984
109852008-02-01 Kenichi Handa <handa@m17n.org>
10986
10987 * coding.c (setup_coding_system): If coding_system is nil, use
10988 Qundecided.
10989 (Fterminal_coding_system): Return nil if terminal coding system is
10990 `undecided'.
10991 (syms_of_coding): Define coding-system `undecided' here. Setup
10992 terminal_coding as `undecided'.
10993
109942008-02-01 Kenichi Handa <handa@m17n.org>
10995
10996 * xdisp.c (message_dolog, set_message_1): Call
10997 unibyte_char_to_multibyte with arg type int.
10998
10999 * lread.c (read1): Fix reading of a char-table.
11000
11001 * print.c (print_object): Include sub char-table in circularities
11002 detection.
11003
110042008-02-01 Kenichi Handa <handa@m17n.org>
11005
11006 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
11007 Append the found sequences in car of ARGS instead of prepending.
11008
110092008-02-01 Kenichi Handa <handa@m17n.org>
11010
11011 * fileio.c (report_file_error): Make a unibyte string from
11012 strerror (errorno).
11013 (Fsubstitute_in_file_name): Fix the arg to
11014 unibyte_char_to_multibyte. It is evaluated twice.
11015
110162008-02-01 Kenichi Handa <handa@m17n.org>
11017
11018 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
11019
110202008-02-01 Kenichi Handa <handa@m17n.org>
11021
11022 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
11023 BOM is not found.
11024 (detect_coding, detect_coding_system): Optimization for ISO-2022
11025 when no 8-bit data is found.
11026
110272008-02-01 Jason Rumney <jasonr@gnu.org>
11028
11029 * w32fns.c (x_to_w32_font): Update to use new coding struct.
11030
110312008-02-01 Kenichi Handa <handa@m17n.org>
11032
11033 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
11034 CHARS.
11035
110362008-02-01 Steven Tamm <steventamm@mac.com>
11037
11038 * macterm.c (mac_encode_char): Add charset argument and update
11039 to use encoding_type.
11040 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
11041 switch to pure fontset.
11042 (decode_mac_font_name): Temporarily remove decoding.
11043 (x_font_name_to_mac_font_name): Temporarily remove encoding.
11044 (x_load_font): Temporarily remove encoding.
11045
110462008-02-01 Kenichi Handa <handa@m17n.org>
11047
11048 * xfaces.c (Fface_font): If frame is not on a window system,
11049 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
11050 refer to face->font.
11051 (split_font_name_into_vector, build_font_name_from_vector)
11052 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
11053 when HAVE_WINDOW_SYSTEM is defined.
11054
110552008-02-01 Kenichi Handa <handa@m17n.org>
11056
11057 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
11058 (x_produce_glyphs): Fix setting of members of cmp in case
11059 cmp->glyph_len is zero.
11060
11061 * fontset.c (Fset_fontset_font): Fix docstring.
11062 (Ffontset_info): Make it backward compatible. New arg ALL.
11063
110642008-02-01 Kim F. Storm <storm@cua.dk>
11065
11066 * process.c (read_process_output): Grow decoding_buf when needed;
11067 this could cause a crash in allocate_string and compact_small_strings.
11068
110692008-02-01 Kenichi Handa <handa@m17n.org>
11070
11071 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
11072
110732008-02-01 Kenichi Handa <handa@m17n.org>
11074
11075 * coding.c (setup_coding_system): Set coding->common_flags
11076 correctly for raw-text.
11077 (consume_chars): On encoding unibyte text by raw-text, don't check
11078 multibyte form.
11079 (encode_coding): On encoding by raw-text, never use translation tables.
11080
11081 * fileio.c (e_write): Short cut for the case of no encoding.
11082
110832008-02-01 Kenichi Handa <handa@m17n.org>
11084
11085 * coding.c (detect_coding, detect_coding_system): Delete unused
11086 variables.
11087
110882008-02-01 Kenichi Handa <handa@m17n.org>
11089
11090 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
11091 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
11092
110932008-02-01 Kenichi Handa <handa@m17n.org>
11094
11095 * coding.c (Ffind_coding_systems_region_internal): Include
11096 raw-text and no-conversion in the result.
11097
110982008-02-01 Kenichi Handa <handa@m17n.org>
11099
11100 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
11101 (load_font_get_repertory): Delete unnecessary check of ENCODING of
11102 FONT_DEF.
11103 (font_def_arg, add_arg, from_arg, to_arg): New args.
11104 (set_fontset_font): Change argument.
11105 (Fset_fontset_font): Fix for the case that TARGET is a script
11106 name and charset name.
11107 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
11108
111092008-02-01 Kenichi Handa <handa@m17n.org>
11110
11111 * fontset.c (fontset_font): Rename from fontset_face. Change return
11112 value.
11113 (face_suitable_for_char_p, face_for_char): Adjust for the change
11114 of fontset_font.
11115 (make_fontset_for_ascii_face): Fix setting of the fontset element
11116 for ASCII.
11117 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
11118 to get a font name.
11119 (Ffontset_info): Adjust for the change of fontset_font.
11120
11121 * coding.c (emacs_mule_char): Check invalid code more rigidly.
11122
11123 * character.h (LEADING_CODE_LATIN_1_MIN)
11124 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
11125
111262008-02-01 Kenichi Handa <handa@m17n.org>
11127
11128 * editfns.c (check_translation): New function.
11129 (Ftranslate_region_internal): Handle M:N mapping.
11130
111312008-02-01 Kenichi Handa <handa@m17n.org>
11132
11133 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
11134
111352008-02-01 Kenichi Handa <handa@m17n.org>
11136
11137 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
11138 goto invalid_code.
11139 (decode_coding_iso_2022): Fix handling of invalid designation.
11140
11141 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
11142 after calling code_conversion_save.
11143
111442008-02-01 Kenichi Handa <handa@m17n.org>
11145
11146 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
11147
11148 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
11149
11150 * fontset.c: Include "intervals.h".
11151 (fontset_face): Fix comparing of Lisp_Objects.
11152 (free_face_fontset, new_fontset_from_font_name): Fix
11153 Lisp_Object/int mixup.
11154
11155 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
11156
11157 * coding.c: Add many prototypes for static functions.
11158 (get_translation_table): Allow max_lookup to be NULL.
11159 (decode_coding, Ffind_coding_systems_region_internal)
11160 (Funencodable_char_position, Fcheck_coding_systems_region): Call
11161 get_translation_table with max_lookup NULL.
11162
111632008-02-01 Kenichi Handa <handa@m17n.org>
11164
11165 * coding.c (get_translation_table): Declare it as Lisp_Object.
11166 (LOOKUP_TRANSLATION_TABLE): New macro.
11167 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
11168 instead of CHAR_TABLE_REF.
11169
111702008-02-01 Kenichi Handa <handa@m17n.org>
11171
11172 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
11173 annotation data format.
11174 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
11175 Change arguments FROM and TO to single argument NCHARS. Change caller.
11176 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
11177 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11178 (decode_coding_ccl, decode_coding_charset): Pay attention to
11179 coding->charbuf_used.
11180 (get_translation): New function.
11181 (produce_chars): New arguments translation_table and last_block.
11182 Translate characters here. Return number of carryover chars.
11183 Change caller.
11184 (produce_composition): New argument pos. Change caller.
11185 Adjust for the change of annotation data format.
11186 (produce_charset, produce_annotation): Likewise.
11187 (decode_coding, encode_coding): Don't call translate_chars.
11188 (consume_chars): New arg translation_table. Change caller.
11189 (translate_chars): Delete.
11190 (syms_of_coding): Make translation-table's number of extra slots 2.
11191
111922008-02-01 Kenichi Handa <handa@m17n.org>
11193
11194 * search.c (simple_search): Fix setting this_pos_byte in backward
11195 search.
11196
11197 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11198 byte sequence.
11199 (detect_coding_ccl): Fix setting of the variable valids.
11200
112012008-02-01 Kenichi Handa <handa@m17n.org>
11202
11203 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11204
11205 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11206
11207 * editfns.c (Ftranslate_region_internal): Rename from
11208 Ftranslate_region. Accept a char-table in TABLE.
11209 (syms_of_editfns): Defsubr Stranslate_region_internal.
11210
11211 * xfaces.c (set_lface_from_font_name): If a font is specified for
11212 a frame, generate a fontset from the font.
11213 (build_scalable_font_name): If the scalable font is requested for
11214 a specific size, don't change that size.
11215 (try_font_list): Try a scalable font also in the case that a
11216 pattern string is specified.
11217
112182008-02-01 Kenichi Handa <handa@m17n.org>
11219
11220 * xfaces.c (Fface_font): New optional arg CHARACTER.
11221
112222008-02-01 Kenichi Handa <handa@m17n.org>
11223
11224 * charset.h (CHARSET_OFFSET): New macro.
11225
112262008-02-01 Kenichi Handa <handa@m17n.org>
11227
11228 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11229
11230 * fontset.c (fontset_face): Handle the case that repertory is a
11231 char-table.
11232 (find_font_encoding): Return nil for unknown encoding.
11233 (Fset_fontset_font): Ignore a font of unknown encoding.
11234
112352008-02-01 Kenichi Handa <handa@m17n.org>
11236
11237 * keymap.c (describe_vector): Handle default value of a char table.
11238
11239 * fontset.c (fontset_face): Handle fallback fonts correctly.
11240 (Ffontset_info): Return infomation about fallback fonts.
11241
112422008-02-01 Kenichi Handa <handa@m17n.org>
11243
11244 * fontset.c (FONTSET_DEFAULT): New macro.
11245 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11246 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11247 the case that it is nil.
11248 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11249 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11250
11251 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11252 subset or superset.
11253
112542008-02-01 Kenichi Handa <handa@m17n.org>
11255
11256 * emacs.c (main): Call init_charset after syms_of_XXX.
11257
11258 * charset.c (Vcharset_map_directory): Delete.
11259 (Vcharset_map_path): New variable.
11260 (load_charset_map_from_file): Use Vcharset_map_path instead.
11261 (init_charset): Initialize Vcharset_map_path.
11262 (syms_of_charset): Delete declaration of "charset-map-directory",
11263 add declaration of "charset-map-path".
11264
112652008-02-01 Kenichi Handa <handa@m17n.org>
11266
11267 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11268 ASCII only string.
11269
11270 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11271
11272 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11273 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11274
112752008-02-01 Kenichi Handa <handa@m17n.org>
11276
11277 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11278
11279 * coding.c (QCmnemonic, QCdefalut_char)
11280 (QCdecode_translation_table, QCencode_translation_table)
11281 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11282 (get_translation_table): Return a list of translation tables if
11283 necessary.
11284 (decode_coding): Call get_translation_table with ENCODEP 0.
11285 (char_encodable_p): If translation_table is non-nil, always call
11286 translate_char.
11287 (Fdefine_coding_system_internal): Accept list of translation
11288 tables as :encode-translation-table and :decode-translation-table.
11289 (Fcoding_system_put): New function.
11290 (syms_of_coding): Declare new symbols. Defsubr
11291 Scoding_system_put.
11292 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11293 typically JISX0212.
11294
11295 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11296 when the charset is superset type.
11297
11298 * character.c (translate_char): Accept list of translation tables.
11299
113002008-02-01 Kenichi Handa <handa@m17n.org>
11301
11302 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11303 (CODING_ATTR_TRANS_TBL): New macro.
11304
11305 * coding.c (get_translation_table): New function.
11306 (translate_chars): Fix the bug of skipping annotation data.
11307 (decode_coding, encode_coding): Utilize get_translation_table.
11308 (char_encodable_p, Funencodable_char_position): Translate char if
11309 necessary.
11310 (Ffind_coding_systems_region_internal)
11311 (Fcheck_coding_systems_region): Setup translation table for encode
11312 in a coding system attribute vector in advance.
11313 (Fdefine_coding_system_internal): Allow a symbol as translation
11314 table. For shift-jis type coding system, allow 4th charset.
11315
113162008-02-01 Kenichi Handa <handa@m17n.org>
11317
11318 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11319
11320 * xdisp.c (get_next_display_element): Pass -1 as POS to
11321 FACE_FOR_CHAR if displaying a C-string.
11322
113232008-02-01 Kenichi Handa <handa@m17n.org>
11324
11325 * composite.c (get_composition_id): Handle xoff and yoff in a
11326 composition rule.
11327
11328 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11329 (struct composition): New member lbearing and rbearing.
11330
11331 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11332 (x_get_glyph_overhangs): Handle a composition glyph.
11333 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11334
11335 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11336 composition glyph.
11337
113382008-02-01 Kenichi Handa <handa@m17n.org>
11339
11340 * print.c: Include charset.h.
11341 (Vprint_charset_text_property): New variable.
11342 (Qdefault): Extern it.
11343 (PRINT_STRING_NON_CHARSET_FOUND)
11344 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11345 (print_check_string_result): New variable.
11346 (print_check_string_charset_prop): New function.
11347 (print_prune_charset_plist): New variable.
11348 (print_prune_string_charset): New function.
11349 (print_object): Call print_prune_string_charset if
11350 Vprint_charset_text_property is not t.
11351 (print_interval): Print nothing if interval->plist is nil.
11352 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11353 variable. Init and staticpro print_prune_charset_plist.
11354
113552008-02-01 Kenichi Handa <handa@m17n.org>
11356
11357 * fontset.c (new_fontset_from_font_name): Use the specified font
11358 for all characters in the new fontset.
11359
11360 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11361 OBJECT args.
11362
11363 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11364 OBJECT args for composition too.
11365
11366 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11367 OBJECT args.
11368
113692008-02-01 Kenichi Handa <handa@m17n.org>
11370
11371 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11372
11373 * fontset.c (reorder_font_vector): Adjust for the change of
11374 FONT_DEF format.
11375 (fontset_face): New arg id. Change caller.
11376 (face_for_char): New args pos and object.
11377 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11378 (fs_query_fontset): Check NAME by Fassoc too.
11379 (Fset_fontset_font): Allow non-XLFD font name.
11380 (Ffontset_info): Adjust for the change of FONT_DEF format.
11381
11382 * fontset.h (face_for_char): Adjust prototype.
11383
11384 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11385 (append_space, extend_face_to_end_of_line)
11386 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11387 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11388
11389 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11390 POS and OBJECT args.
11391
11392 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11393 POS and OBJECT args.
11394
113952008-02-01 Jason Rumney <jasonr@gnu.org>
11396
11397 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11398 of GlobalAlloc'ed memory.
11399
114002008-02-01 Kenichi Handa <handa@m17n.org>
11401
11402 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11403
11404 * charset.h (charset_table_used): Delete extern.
11405
11406 * charset.c (charset_table_used): Make it static.
11407 (map_charset_chars): Fix args to c_function with.
11408
11409 * chartab.c (map_sub_char_table_for_charset): Fix args to
11410 c_function with.
11411
11412 * coding.h (enum coding_result_code): Delete
11413 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11414
11415 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11416 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11417 (Vlast_code_conversion_error): New variables.
11418 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11419 (ONE_MORE_BYTE): Record error if any instead of signaling an
11420 error. If non-ASCII multibyte char is found, return the negative
11421 value of the code. All callers changed to check it.
11422 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11423 (record_conversion_result): New function. Change all codes setting
11424 coding->result to call this function.
11425 (detect_coding_utf_8, decode_coding_utf_8)
11426 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11427 Don't use the local variable incomplete.
11428 (emacs_mule_char): Change the second arg to `const'.
11429 (decode_coding): Fix of flushing out unprocessed data.
11430 (make_conversion_work_buffer): Fix making of a work buffer.
11431 (decode_coding_object): Return coding->dst_object.
11432
11433 * fontset.c (set_fontset_font): Fix args.
11434
11435 * lisp.h (CHARACTERBITS): Define as 22.
11436
11437 * process.c (send_process): Be sure to set coding->src_multibyte.
11438
11439 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11440
114412008-02-01 Kenichi Handa <handa@m17n.org>
11442
11443 * xdisp.c (handle_auto_composed_prop): Give limit to
11444 Fnext_single_char_property_change.
11445
114462008-02-01 Kenichi Handa <handa@m17n.org>
11447
11448 * composite.c (syms_of_composite): Don't make the composition hash
11449 table weak.
11450
11451 * fontset.c (Fset_fontset_font): Fix docstring.
11452
11453 * lisp.h (detect_coding_system): Adjust prototype.
11454
11455 * fileio.c (kill_workbuf_unwind): Delete this function.
11456 (Finsert_file_contents): Adjust the call of detect_coding_system.
11457 Get conversion_buffer by code_conversion_save. Use the macro
11458 CODING_MAY_REQUIRE_DECODING. After decoding, update
11459 coding_system.
11460
11461 * coding.h (make_conversion_work_buffer): Delete extern.
11462 (code_conversion_save): Extern it.
11463
11464 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11465 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11466 (decode_coding_utf_8): Don't do eol converion.
11467 (detect_coding_utf_16): Check coding->src_chars, not
11468 coding->src_bytes. Add heuristics for those that have no signature.
11469 (decode_coding_emacs_mule, decode_coding_iso_2022)
11470 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11471 Don't do eol converion.
11472 (adjust_coding_eol_type): Return a new coding system.
11473 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11474 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11475 each change.
11476 (decode_coding): Pay attention to undo_list. Do eol conversion for
11477 all types of coding-systems (if necessary).
11478 (Vcode_conversion_work_buf_list): Delete it.
11479 (Vcode_conversion_reused_workbuf): Rename from
11480 Vcode_conversion_reused_work_buf.
11481 (Vcode_conversion_workbuf_name): New variable.
11482 (reused_workbuf_in_use): New variable.
11483 (make_conversion_work_buffer): Delete the arg DEPTH.
11484 (code_conversion_restore): Change argument to cons.
11485 (code_conversion_save): Delete the argument BUFFER. Change callers.
11486 (detect_coding_system): New argument src_chars. Change callers.
11487 Fix for utf-16 detection.
11488 (init_coding_once): Don't use ISO_carriage_return.
11489 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11490 reused_workbuf_in_use.
11491
114922008-02-01 Kenichi Handa <handa@m17n.org>
11493
11494 * keymap.c (store_in_keymap): Pay attention to the case that idx
11495 is a cons specifying a character range.
11496
114972008-02-01 Kenichi Handa <handa@m17n.org>
11498
11499 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11500 HANDLED_RECOMPUTE_PROPS.
11501
11502 * coding.c (Fdefine_coding_system_internal): Fix checking of
11503 ascii compatibility.
11504
115052008-02-01 Kenichi Handa <handa@m17n.org>
11506
11507 * charset.c (find_charsets_in_text): Delete unused locale variable.
11508 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11509
11510 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11511 Resync charset_list to Vemacs_mule_charset_list.
11512
11513 * keymap.c (store_in_keymap): Pay attention to the case that idx
11514 is a cons specifying a character range.
11515
115162008-02-01 Kenichi Handa <handa@m17n.org>
11517
11518 * composite.c (update_compositions): Bind inhibit-read-only, etc
11519 to t before calling remove-list-of-text-properties.
11520
11521 * print.c (print_object): Always print ASCII chars as is.
11522
115232008-02-01 Kenichi Handa <handa@m17n.org>
11524
11525 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11526
11527 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11528 is a char table.
11529
115302008-02-01 Kenichi Handa <handa@m17n.org>
11531
11532 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11533
115342008-02-01 Kenichi Handa <handa@m17n.org>
11535
11536 * xfaces.c (set_lface_from_font_name): Fix for the case that
11537 FONTNAME is not fontset name.
11538
115392008-02-01 Kenichi Handa <handa@m17n.org>
11540
11541 * fns.c (base64_encode_1): Fix previous change.
11542
115432008-02-01 Kenichi Handa <handa@m17n.org>
11544
11545 * fontset.c (set_fontset_font): New function.
11546 (Fset_fontset_font): If a font is specified for a charset, use
11547 map_charset_chars to store the font spec in a fontset.
11548
115492008-02-01 Kenichi Handa <handa@m17n.org>
11550
11551 * fontset.c (fontset_face): Create a fallback fontset on demand.
11552 (make_fontset): Don't create a fallback fontset here.
11553 (free_face_fontset): Free a fallback fontset (if any) too.
11554 (n_auto_fontsets): Delete this variable.
11555 (auto_fontset_alist): New variable.
11556 (new_fontset_from_font_name): Check auto_fontset_alist.
11557 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11558 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11559 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11560 Defsubr Sfontset_list_all.
11561
115622008-02-01 Kenichi Handa <handa@m17n.org>
11563
11564 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11565
115662008-02-01 Kenichi Handa <handa@m17n.org>
11567
11568 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11569
115702008-02-01 Kenichi Handa <handa@m17n.org>
11571
11572 * editfns.c (Fgoto_char): Fix docstring.
11573
115742008-02-01 Kenichi Handa <handa@m17n.org>
11575
11576 * insdel.c (insert_from_gap): Adjust intervals correctly.
11577
115782008-02-01 Jason Rumney <jasonr@gnu.org>
11579
11580 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11581 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11582 (w32_initialize): Try to load it.
11583 (x_get_font_repertory): Use it if available.
11584 (w32_encode_char): Add shortcut for unicode output.
11585
11586 * w32fns.c (w32_load_system_font): Default charset to -1.
11587 (x_to_w32_charset): Match all fonts for unicode.
11588 (w32_to_x_charset): New parameter matching. Don't return partial
11589 or wildcard charsets.
11590 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11591 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11592 (w32_to_x_font): Match charset to real charset.
11593 (enum_font_cb2): Always list unicode versions.
11594
11595 * makefile.w32-in (temacs): Increase EMHEAP.
11596
115972008-02-01 Jason Rumney <jasonr@gnu.org>
11598
11599 * w32term.c (w32_encode_char): New charset parameter.
11600 font_info.encoding becomes encoding_type.
11601 (x_get_font_repertory): New function. Warning: stub only!
11602 (x_new_font): Return quickly if font already set.
11603 (x_new_fontset): fontsetname parameter is Lisp_Object.
11604 Use new fs_query_fontset. Try new_fontset_from_font_name.
11605 Use fontset_name for return value.
11606
11607 * w32term.h: Declare x_get_font_repertory.
11608
11609 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11610 place of find_charset_in_text. Use encode_coding_object in place
11611 of encode_coding.
11612 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11613 decode_coding.
11614
11615 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11616 of x_new_fontset.
11617 (w32_load_system_font): Initialize charset as unicode.
11618 font_info.encoding becomes encoding_type.
11619 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11620 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11621 (syms_of_w32fns): Set get_font_repertory_func.
11622
11623 * w32console.c: Include character.h. Use terminal_encode_buffer
11624 from term.c.
11625 (write_glyphs): Use new version of encode_terminal_code. Use
11626 encode_coding_object in place of encode_coding.
11627
11628 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11629 encoding becomes encoding_type.
11630
11631 * term.c (terminal_encode_buffer): Make externally visible.
11632
11633 * makefile.w32-in: Add character.h dependancies.
11634 (character.o, chartab.o): New targets.
11635
116362008-02-01 Kenichi Handa <handa@m17n.org>
11637
11638 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11639 CODING_ID_EOL_TYPE.
11640
116412008-02-01 Andreas Schwab <schwab@suse.de>
11642
11643 * coding.c (produce_chars): Revert last change.
11644
116452008-02-01 Kenichi Handa <handa@m17n.org>
11646
11647 * charset.h (charset_unicode): Extern it.
11648
11649 * charset.c (string_xstring_p): Check by (C >= 0x100).
11650 (find_charsets_in_text): Change format of the arc CHARSETS. New
11651 arg MULTIBYTE.
11652 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11653 change of find_charsets_in_text.
11654 (Fsplit_char): Fix doc. Never return unknown.
11655
11656 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11657
11658 * coding.c (Fdefine_coding_system_alias): Update
11659 Vcoding_system_list.
11660
11661 * fontset.c (load_font_get_repertory): Pay attention to the case
11662 that ENCODING of a font is specified by a char-table.
11663
11664 * xterm.c (x_get_font_repertory): Handle the case that the
11665 encoding of font is other than Unicode.
11666
116672008-02-01 Kenichi Handa <handa@m17n.org>
11668
11669 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11670 if a character is encodable by the terminal coding system. If
11671 not, produces proper number of `?'s. Update
11672 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11673 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11674
116752008-02-01 Kenichi Handa <handa@m17n.org>
11676
11677 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11678 variables.
11679 (encode_terminal_code): Change argument. Encode multiple
11680 characters at once. Store the result of encoding in
11681 terminal_encode_buffer.
11682 (write_glyphs, insert_glyphs): Adjust for the change of
11683 encode_terminal_code.
11684 (term_init): Initialize terminal_encode_buffer and
11685 terminal_encode_buf_size.
11686
11687 * coding.c (consume_chars): If coding->src_object is nil, don't
11688 check annotation.
11689
116902008-02-01 Kenichi Handa <handa@m17n.org>
11691
11692 * character.c (char_string): Use ASCII_CHAR_P instead of
11693 SINGLE_BYTE_CHAR_P.
11694
116952008-02-01 Kenichi Handa <handa@m17n.org>
11696
11697 * xdisp.c (handle_auto_composed_prop): Check if the last
11698 characters of auto-composed region is newly composed with the
11699 following characters.
11700 (handle_composition_prop): Fix checking of point being inside
11701 composition.
11702
117032008-02-01 Kenichi Handa <handa@m17n.org>
11704
11705 * fns.c (concat): Don't change multibyteness of the result by
11706 concatenating an 8-bit character.
11707
11708 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11709 multibyteness of the result when newelt is an 8-bit character.
11710
117112008-02-01 Dave Love <fx@gnu.org>
11712
11713 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11714 EMACS_INT.
11715
11716 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11717
11718 * xfaces.c (face_numeric_value): Declare dim size_t.
11719 (Finternal_lisp_face_equal_p): Remove unused f.
11720
11721 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11722 (MATRIX_ROW): Remove unused vars.
11723 (draw_glyphs, x_insert_glyphs, fast_find_position)
11724 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11725 byte/char counts.
11726
11727 * regex.c (regex_compile): Remove unused var.
11728
11729 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11730
11731 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11732 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11733
11734 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11735
11736 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11737
11738 * fileio.c (Fwrite_region): Remove unused var.
11739
11740 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11741 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11742
11743 * composite.c (Fremove_list_of_text_properties): Declare.
11744
11745 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11746 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11747 (coding_inherit_eol_type): Remove unused attrs.
11748 (detect_coding): Cast arg of detect_eol.
11749
11750 * charset.c (syms_of_charset): Remove unused var p.
11751 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11752 byte/char counts.
11753
11754 * casetab.c (set_case_table): Remove unused var.
11755
11756 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11757 unused vars.
11758
117592008-02-01 Dave Love <fx@gnu.org>
11760
11761 * xterm.c (x_bitmap_mask): Declare.
11762
117632008-02-01 Dave Love <fx@gnu.org>
11764
11765 * xterm.c (x_term_init): Fix type error.
11766
11767 * lisp.h: Add Funibyte_char_to_multibyte.
11768
11769 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11770 (Fset_coding_system_priority): Doc fix.
11771
11772 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11773
11774 * indent.c (check_composition): Make start and end EMACS_INT.
11775
11776 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11777
11778 * xdisp.c (handle_composition_prop, check_point_in_composition):
11779 Make buffer positions EMACS_INT.
11780
11781 * composite.c (find_composition, run_composition_function)
11782 (update_compositions, Ffind_composition_internal): Make buffer
11783 positions EMACS_INT.
11784
11785 * composite.h (find_composition, update_compositions): Make
11786 position args EMACS_INT.
11787
11788 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11789
11790 * intervals.c (get_property_and_range):
11791 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11792
11793 * unexalpha.c: Don't include varargs.h.
11794
117952008-02-01 Dave Love <fx@gnu.org>
11796
11797 * coding.h (ENCODE_UTF_8): New.
11798
11799 * Makefile.in (gtkutil.o): Depend on coding.h.
11800
11801 * coding.c (Fset_coding_system_priority): Doc fix.
11802
118032008-02-01 Kenichi Handa <handa@m17n.org>
11804
11805 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11806 the case of auto saving.
11807
118082008-02-01 Andreas Schwab <schwab@suse.de>
11809
11810 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11811 `range' from GC.
11812
118132008-02-01 Kenichi Handa <handa@m17n.org>
11814
11815 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11816
118172008-02-01 Kenichi Handa <handa@m17n.org>
11818
11819 * fileio.c (choose_write_coding_system): Return a decided coding system.
11820 (Fwrite_region): Set Vlast_coding_system_used to the return value
11821 of choose_write_coding_system.
11822
118232008-02-01 Kenichi Handa <handa@m17n.org>
11824
11825 * charset.c (Fset_charset_priority): Pay attention to duplicated
11826 arguments.
11827
11828 * coding.c (QCcategory): New variable.
11829 (syms_of_coding): Defsym it. Set all elements of
11830 Vcoding_category_table and their symbol values.
11831 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11832 coding-category-XXX, and coding-category-list.
11833 (Fdefine_coding_system_internal): Add category in the plist.
11834
118352008-02-01 Kenichi Handa <handa@m17n.org>
11836
11837 * callproc.c (Fcall_process): Handle carryover correctly.
11838
11839 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11840 (raw_text_coding_system): Check NILP (coding_system).
11841 (coding_inherit_eol_type): Check NILP (coding_system) and
11842 NILP (parent).
11843 (consume_chars): Fix for the case of raw-text.
11844
11845 * process.c (read_process_output): Handle carryover correctly.
11846
118472008-02-01 Dave Love <fx@gnu.org>
11848
11849 * regex.c (re_search_2): Fix last change.
11850
118512008-02-01 Kenichi Handa <handa@m17n.org>
11852
11853 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11854 target_multibyte. Even in a unibyte case, return a converted
11855 multibyte char.
11856 (GET_CHAR_AFTER): New macro.
11857 (PATFETCH): Translate via multibyte char.
11858 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11859 (SETUP_MULTIBYTE_RANGE): New macro.
11860 (regex_compile): Setup compiled code so that its multibyteness
11861 matches that of a target. Fix the handling of "[X-YZ]" using
11862 SETUP_MULTIBYTE_RANGE.
11863 (analyse_first) <charset>: For filling fastmap for all multibyte
11864 characters, don't check by BASE_LEADING_CODE_P.
11865 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11866 the same as RE_MULTIBYTE_P (bufp) now.
11867 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11868 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11869 (TRANSLATE_VIA_MULTIBYTE): New macro.
11870 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11871 It is the same as RE_MULTIBYTE_P (bufp) now.
11872 <exactn>: Translate via multibyte.
11873 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11874 translate it.
11875 <charset, charset_not>: Fetch a character by
11876 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11877 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11878 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11879 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11880 by GET_CHAR_AFTER.
11881 (bcmp_translate): Likewise.
11882
11883 * search.c (compile_pattern): Check the member target_multibyte,
11884 not the member multibyte of buf.
11885
11886 * lread.c (read1): While reading a string, set force_singlebyte
11887 and force_multibyte correctly.
11888
11889 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11890 up of unibyte_to_multibyte_table.
11891
118922008-02-01 Kenichi Handa <handa@m17n.org>
11893
11894 * coding.c (setup_coding_system): If coding has
11895 post-read-conversion or pre-write-conversion, set
11896 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11897 respectively.
11898 (decode_coding_gap): Run post-read-conversion if any.
11899
11900 * fileio.c (Finsert_file_contents): Even if we read into a
11901 unibyte buffer, check if we must decode the result or not.
11902
119032008-02-01 Kenichi Handa <handa@m17n.org>
11904
11905 * coding.c (make_conversion_work_buffer): Change the work buffer
11906 name to the same one as that of Emacs 21.
11907
119082008-02-01 Kenichi Handa <handa@m17n.org>
11909
11910 * coding.h (make_conversion_work_buffer): Adjust prototype.
11911 (code_conversion_restore): Don't extern it.
11912
11913 * coding.c (detected_mask): Delete unused variable.
11914 (decode_coding_iso_2022): Pay attention to the byte sequence of
11915 CTEXT extended segment, and retain those bytes as is.
11916 (decode_coding_ccl): Delete unused variable `valids'.
11917 (setup_coding_system): Delete unused variable `category'.
11918 (consume_chars): Delete unused variable `category'. Make it work
11919 for non-multibyte case.
11920 (make_conversion_work_buffer): Change argument.
11921 (saved_coding): Delete unused variable.
11922 (code_conversion_restore): Don't check saved_coding->destination.
11923 (code_conversion_save): New function.
11924 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11925 instead of record_unwind_protect.
11926 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11927 (detect_coding_system): Delete unused variable `mask'.
11928 (Fdefine_coding_system_internal): Delete unused variable id.
11929
11930 * fileio.c (kill_workbuf_unwind): New function.
11931 (Finsert_file_contents): On replacing, call
11932 make_conversion_work_buffer with correct args, and call
11933 record_unwind_protect with the first arg kill_workbuf_unwind.
11934
11935 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11936
119372008-02-01 Kenichi Handa <handa@m17n.org>
11938
11939 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11940 (fontset_add): Fix for the case that TO is less than TO1.
11941 (Ffontset_info): Don't use fallback fontset on checking the
11942 default fontset.
11943 (dump_fontset): New function for debugging.
11944
11945 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11946 coding_type is Qcharset.
11947
119482008-02-01 Kenichi Handa <handa@m17n.org>
11949
11950 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11951 (map_char_table): Don't inherit the value from the parent on
11952 initializing VAL. Adjust for the above change.
11953
119542008-02-01 Kenichi Handa <handa@m17n.org>
11955
11956 * coding.c (Qsignature, Qendian): Delete these variables.
11957 (syms_of_coding): Don't initialize them.
11958 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11959 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11960 detect_info->found.
11961 (decode_coding_utf_16): Don't detect BOM here.
11962 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11963 is NOT utf_16_without_bom.
11964 (setup_coding_system): For a coding system of type utf-16, check
11965 if the attribute :endian is Qbig or not (not nil or not), and set
11966 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11967 (detect_coding): If coding type is utf-16 and BOM detection is
11968 required, detect it.
11969 (Fdefine_coding_system_internal): For a coding system of type
11970 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11971
119722008-02-01 Kenichi Handa <handa@m17n.org>
11973
11974 * coding.c (coding_set_source): Fix for the case that the current
11975 buffer is different from coding->src_object.
11976 (decode_coding_object): Don't use the conversion work buffer if
11977 DST_OBJECT is a buffer.
11978
119792008-02-01 Dave Love <fx@gnu.org>
11980
11981 * lread.c (read_emacs_mule_char) [len==2]: Index
11982 emacs_mule_charset correctly.
11983
119842008-02-01 Dave Love <fx@gnu.org>
11985
11986 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11987 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11988 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11989 treated specially.)
11990 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11991 (detected_mask): Remove Big5 bits.
11992
119932008-02-01 Kenichi Handa <handa@m17n.org>
11994
11995 The following changes are to make the font rescaling facility
11996 compatible with Emacs 21.
11997
11998 * xfaces.c (Vface_font_rescale_alist): Rename from
11999 Vface_resizing_fonts.
12000 (struct font_name): Rename member resizing_ratio to rescale_ratio.
12001 (font_rescale_ratio): Rename from font_resizing_ratio.
12002 (split_font_name): Set font->rescale_ratio.
12003 (better_font_p): Pay attention to font->rescale_ratio.
12004 (build_scalable_font_name): Likewise. Change RESX, and RESY
12005 fields.
12006 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
12007
120082008-02-01 Kenichi Handa <handa@m17n.org>
12009
12010 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
12011 (Qutf_16_le): Remove these variables.
12012 (syms_of_coding): Don't DEFSYM them.
12013 (decode_coding_utf_16): Fix handling of BOM.
12014 (encode_coding_utf_16): Fix handling of BOM.
12015
120162008-02-01 Kenichi Handa <handa@m17n.org>
12017
12018 * fileio.c (Finsert_file_contents): On replacing, before decoding
12019 the file into the work buffer, set point of the work buffer to the end.
12020
120212008-02-01 Dave Love <fx@gnu.org>
12022
12023 * coding.c (Fcheck_coding_systems_region): Fix type errors.
12024
120252008-02-01 Dave Love <fx@gnu.org>
12026
12027 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12028 and fix C types.
12029
120302008-02-01 Kenichi Handa <handa@m17n.org>
12031
12032 * xdisp.c (SKIP_GLYPHS): New macro.
12033 (set_cursor_from_row): Pay attention to string display properties.
12034
12035 * category.c (copy_category_entry): Fix for the case that RANGE
12036 is an integer.
12037
12038 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
12039
12040 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
12041
120422008-02-01 Kenichi Handa <handa@m17n.org>
12043
12044 * charset.c (Fcharset_id_internal): New function.
12045 (syms_of_charset): Defsubr it.
12046
12047 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
12048 with the last arg charset_list acquired from coding.
12049 (Fdefine_coding_system_internal): For ccl-based coding system, fix
12050 the attribute coding_attr_ccl_valids.
12051
12052 * coding.h (enum define_coding_ccl_arg_index): Set the first
12053 member coding_arg_ccl_decoder to coding_arg_max.
12054
12055 * ccl.h (ccl_driver): Adjust prototype.
12056
12057 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
12058 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 12059 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
12060 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
12061 last arg Qnil.
12062
120632008-02-01 Kenichi Handa <handa@m17n.org>
12064
12065 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
12066 call encode_char.
12067
12068 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
12069
120702008-02-01 Dave Love <fx@gnu.org>
12071
12072 * composite.c (syms_of_composite): Make composition_hash_table weak.
12073
120742008-02-01 Kenichi Handa <handa@m17n.org>
12075
12076 * dispextern.h (check_face_attributes, generate_ascii_font_name)
12077 (font_name_registry): Don't extern them.
12078 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
12079
12080 * fontset.h (Qfontset): Don't extern it.
12081 (new_fontset_from_font_name): Extern it.
12082
12083 * fontset.c: Give 8 extra slots to fontset objects.
12084 (Qfontset_info): New variable.
12085 (syms_of_fontset): Defsym it.
12086 (FONTSET_FALLBACK): New macro.
12087 (fontset_face): Try also the default fontset.
12088 (make_fontset): Realize a fallback fontset from the default fontset.
12089 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
12090 using split_font_name_into_vector and build_font_name_from_vector.
12091 (Fset_fontset_font): Access the elements of font_spec by enum
12092 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
12093 name by using split_font_name_into_vector.
12094 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
12095 generate a proper font name from the fontset name. Update
12096 Vfontset_alias_alist.
12097 (n_auto_fontsets): New variable.
12098 (new_fontset_from_font_name): New function.
12099 (Ffont_info): Store the information about fonts generated from the
12100 default fontset in the first extra slot of the returned char-table.
12101
12102 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
12103 (font_name_registry): Delete function.
12104 (split_font_name_into_vector): New function.
12105 (build_font_name_from_vector): New function.
12106 (font_list): The argument REGISTRY is now a list of registry names.
12107 (choose_face_font): If we are choosing an ASCII font, and ATTRS
12108 specifies an explicit font name, return the name as is. Make a
12109 list of registy names.
12110
12111 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
12112 of x_new_fontset.
12113 (Fx_create_frame): Don't call x_new_fontset here. Just use
12114 x_list_fonts to check the existence of fonts.
12115
12116 * xterm.h (x_new_fontset): Adjust prototype.
12117
12118 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
12119 string. Use new_fontset_from_font_name to create a fontset from a
12120 font name.
12121
121222008-02-01 Kenichi Handa <handa@m17n.org>
12123
12124 * syntax.c (Vfind_word_boundary_function_table): New name for
12125 Vnext_word_boundary_function_table.
12126 (find-word-boundary-function-table): New name for
12127 next-word-boundary-function-table.
12128
121292008-02-01 Dave Love <fx@gnu.org>
12130
12131 * Makefile.in: Fix some dependencies.
12132
12133 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
12134 set it to nil before returning.
12135
12136 * composite.c (update_compositions): Fix type error.
12137
12138 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
12139
121402008-02-01 Kenichi Handa <handa@m17n.org>
12141
12142 * xterm.c (x_new_font): Optimize for the case that the font is
12143 already set for the frame.
12144
121452008-02-01 Kenichi Handa <handa@m17n.org>
12146
12147 * chartab.c (char_table_ascii): Check if the char table contents
12148 is sub-char-table or not.
12149 (char_table_set, char_table_set_range): Fix argument to
12150 char_table_ascii.
12151
12152 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
12153 (detect_coding_utf_8, detect_coding_utf_16)
12154 (detect_coding_emacs_mule, detect_coding_iso_2022)
12155 (detect_coding_sjis, detect_coding_big5)
12156 (detect_coding_ccl, detect_coding_charset): Change argument MASK
12157 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
12158 sequence is valid in this coding system. Change callers.
12159 (MAX_ANNOTATION_LENGTH): New macro.
12160 (ADD_ANNOTATION_DATA): New macro.
12161 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
12162 ADD_ANNOTATION_DATA. Change the format of annotation data.
12163 (ADD_CHARSET_DATA): New macro.
12164 (emacs_mule_char): New argument ID. Change callers.
12165 (decode_coding_emacs_mule, decode_coding_iso_2022)
12166 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12167 Produce charset annotation data in coding->charbuf.
12168 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
12169 to charset annotation data in coding->charbuf.
12170 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
12171 coding->common_flags if the coding system is iso-2022 based and
12172 uses designation.
12173 (produce_composition): Adjust for the new annotation data format.
12174 (produce_charset): New function.
12175 (produce_annotation): Handle charset annotation.
12176 (handle_composition_annotation, handle_charset_annotation): New
12177 functions.
12178 (consume_chars): Handle charset annotation. Utilize the above two
12179 functions.
12180 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
12181 buffer, get the deleted text as a string and set
12182 coding->src_object to that string.
12183 (detect_coding, detect_coding_system): Use the new struct
12184 coding_detection_info.
12185
12186 * coding.h (struct coding_detection_info): New structure.
12187 (struct coding_system): Adjust prototype of the member `detector'.
12188 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12189
121902008-02-01 Kenichi Handa <handa@m17n.org>
12191
12192 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12193
121942008-02-01 Dave Love <fx@gnu.org>
12195
12196 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12197 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12198 to new local and nullify apropos_accumulate before returning.
12199 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12200
122012008-02-01 Kenichi Handa <handa@m17n.org>
12202
12203 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12204 correctly.
e3eea1fc 12205
aac0c6e3
MR
122062008-02-01 Dave Love <fx@gnu.org>
12207
12208 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12209
122102008-02-01 Kenichi Handa <handa@m17n.org>
12211
12212 The following changes are to make character composition happen
12213 automatically on displaying.
12214
12215 * Makefile.in (lisp, shortlisp): Add composite.elc.
12216
12217 * composite.h (Qauto_composed, Vauto_composition_function)
12218 (Qauto_composition_function): Extern them.
12219
12220 * composite.c (Vcomposition_function_table)
12221 (Qcomposition_function_table): Delete variables.
12222 (Qauto_composed, Vauto_composition_function)
12223 (Qauto_composition_function): New variables.
12224 (run_composition_function): Don't call
12225 compose-chars-after-function.
12226 (update_compositions): Clear `auto-composed' text property.
12227 (compose_chars_in_text): Delete this function.
12228 (syms_of_composite): Staticpro Qauto_composed and
12229 Qauto_composition_function. Declare Vauto_composition_function as
12230 a Lisp variable.
12231
12232 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12233
12234 * xdisp.c (it_props): Add an entry for Qauto_composed.
12235 (handle_auto_composed_prop): New function.
12236
12237 * xselect.c (selection_data_to_lisp_data): Don't call
12238 compose_chars_in_text.
12239
122402008-02-01 Dave Love <fx@gnu.org>
12241
12242 * keyboard.c (read_char): Modify checking around use of
12243 Vkeyboard_translate_table.
12244
12245 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12246 and fix C types.
12247
122482008-02-01 Kenichi Handa <handa@m17n.org>
12249
12250 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12251 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12252 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12253 the case that the last byte is '\r' correctly.
12254 (decode_coding): Flush out the unprocessed data correctly.
12255 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12256
122572008-02-01 Dave Love <fx@gnu.org>
12258
12259 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12260 Add XK_ISO... case.
12261 (xaw_scroll_callback): Revert last change.
12262
122632008-02-01 Kenichi Handa <handa@m17n.org>
12264
12265 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12266
122672008-02-01 Kenichi Handa <handa@m17n.org>
12268
12269 * xfaces.c (Vface_resizing_fonts): New variable.
12270 (struct font_name): New member `resizing_ratio'.
12271 (font_resizing_ratio): New function.
12272 (split_font_name): Set font->resizing_ratio.
12273 (better_font_p): Pay attention to font->resizing_ratio.
12274 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12275 RESX, and RESY fields.
12276 (try_alternative_families): Try scalable fonts if
12277 Vscalable_fonts_allowed is not Qt.
12278 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12279
122802008-02-01 Dave Love <fx@gnu.org>
12281
12282 * xterm.c (xaw_scroll_callback): Cast correctly.
12283
122842008-02-01 Dave Love <fx@gnu.org>
12285
12286 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12287 (lispy_kana_keys): Comment out.
12288 (make_lispy_event) [XK_kana_A]: Comment out.
12289
12290 * xterm.c (xaw_scroll_callback): Cast call_data.
12291 (XTread_socket): Deal with ASCII keysyms.
12292 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12293
122942008-02-01 Dave Love <fx@gnu.org>
12295
12296 * xterm.c (Vx_keysym_table): New.
12297 (syms_of_xterm): Initialize it.
12298 (XTread_socket): Use it.
12299 From head: Eliminate incorrect optimization that tried to avoid
12300 decoding the output of X*LookupString.
12301 (x_get_font_repertory): Delete charset declaration.
12302
123032008-02-01 Kenichi Handa <handa@m17n.org>
12304
12305 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12306 return 0.
12307 (Fdefine_coding_system_internal): Setup
12308 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12309
123102008-02-01 Dave Love <fx@gnu.org>
12311
12312 * coding.c (Fcheck_coding_system): Doc fix.
12313
12314 * editfns.c (Finsert_byte): Return a proper value.
12315
123162008-02-01 Kenichi Handa <handa@m17n.org>
12317
12318 * coding.c (decode_coding): Fix args to translate_chars. Pay
12319 attention to Vstandard_translation_table_for_decode.
12320 (encode_coding): Fix args to translate_chars. Pay attention to
12321 Vstandard_translation_table_for_encode.
12322
12323 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12324 SINGLE_BYTE_CHAR_P.
12325
12326 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12327 not by SINGLE_BYTE_CHAR_P.
12328
12329 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12330 SINGLE_BYTE_CHAR_P.
12331
12332 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12333 SINGLE_BYTE_CHAR_P.
12334
12335 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12336 by SINGLE_BYTE_CHAR_P.
12337
12338 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12339 SINGLE_BYTE_CHAR_P.
12340
123412008-02-01 Dave Love <fx@gnu.org>
12342
12343 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12344
123452008-02-01 Dave Love <fx@gnu.org>
12346
12347 * fns.c (Flanginfo): Fix typo.
12348
12349 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12350
123512008-02-01 Kenichi Handa <handa@m17n.org>
12352
12353 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12354 (detect_coding_emacs_mule, detect_coding_iso_2022)
12355 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12356 incomplete byte sequence. Don't update *mask when correctly detected.
12357 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12358 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12359 (detect_coding, detect_coding_system): Adjust for the changes above.
12360
123612008-02-01 Kenichi Handa <handa@m17n.org>
12362
12363 * character.c (char_string): Rename from
12364 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12365 (string_char): Rename from string_char.
12366
12367 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12368 if C is greater than MAX_3_BYTE_CHAR.
12369 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12370 string_char instead of string_char_with_unification.
12371
123722008-02-01 Dave Love <fx@gnu.org>
12373
12374 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12375
123762008-02-01 Kenichi Handa <handa@m17n.org>
12377
12378 * keymap.c (push_key_description): Pay attention to force_multibyte.
12379
12380 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12381
123822008-02-01 Dave Love <fx@gnu.org>
12383
12384 * charset.c (define_charset_internal): Rename `supprementary'.
12385
12386 * Makefile.in (lisp, shortlisp): Remove latin-N.
12387
123882008-02-01 Dave Love <fx@gnu.org>
12389
12390 * xfns.c (x_window, x_window): Use use_xim.
12391
12392 * xterm.c (use_xim): Initialize.
12393 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12394 (x_term_init): Maybe set use_xim.
12395
12396 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12397
123982008-02-01 Kenichi Handa <handa@m17n.org>
12399
12400 * search.c (search_buffer): Fix case-fold-search of multibyte
12401 characters.
12402 (boyer_moore): Rename the last argument to char_high_bits.
12403
124042008-02-01 Kenichi Handa <handa@m17n.org>
12405
12406 * xdisp.c (display_string): Fix for the case of zero width glyph.
12407
12408 * xfns.c (x_set_font): Change the error message of the case that
12409 x_new_fontset returns Qt.
12410
12411 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12412 (Finternal_set_lisp_face_attribute): Use signal_error for the
12413 error of invalid fontset.
12414
12415 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12416 fontset, return Qt.
12417
124182008-02-01 Dave Love <fx@gnu.org>
12419
12420 * unexelf.c (unexec): Make .got handling not SGI-specific.
12421
12422 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12423
12424 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12425
12426 * keyboard.c (read_key_sequence): Fix type error.
12427
12428 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12429 type error.
12430
12431 * fontset.c (fontset_add): Return Lisp_Object.
12432
124332008-02-01 Dave Love <fx@gnu.org>
12434
12435 * charset.h (charset_ordered_list_tick): Declare extern.
12436
124372008-02-01 Kenichi Handa <handa@m17n.org>
12438
12439 The following changes (and some of 2008-02-01 changes of mine) are
12440 for handling syntax, category, and case conversion for unibyte
12441 characters by converting them to multibyte on the fly. With these
12442 changes, we don't have to setup syntax and case tables for unibyte
12443 characters in each language environment.
12444
12445 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12446 multibyte if necessary.
12447
12448 * bytecode.c (Fbyte_code): Likewise.
12449
12450 * character.h (LEADING_CODE_LATIN_1_MIN)
12451 (LEADING_CODE_LATIN_1_MAX): New macros.
12452 (unibyte_to_multibyte_table): Extern it.
12453 (unibyte_char_to_multibyte): New macro.
12454 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12455 (CHAR_LEADING_CODE): New macro.
12456 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12457
12458 * character.c (unibyte_to_multibyte_table): New variable.
12459 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12460 (multibyte_char_to_unibyte): If C is an eight-bit character,
12461 convert it to the corresponding byte value.
12462
12463 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12464 not 1, signals an error. Update the elements of
12465 unibyte_to_multibyte_table.
12466 (init_charset_once): Initialize unibyte_to_multibyte_table.
12467 (syms_of_charset): Define the charset `iso-8859-1'.
12468
12469 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12470 as is without converting it to unibyte. In a unibyte buffer,
12471 convert C to multibyte before checking the syntax.
12472
12473 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12474
12475 * minibuf.c (Fminibuffer_complete_word): Use the macro
12476 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12477
12478 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12479
12480 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12481 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12482 that is zero, convert an eight-bit char to multibyte.
12483 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12484 non-emacs case.
12485 (PATFETCH): Convert an eight-bit char to multibyte.
12486 (HANDLE_UNIBYTE_RANGE): New macro.
12487 (regex_compile): Setup the compiled pattern for multibyte chars
12488 even if the given regex string is unibyte. Use PATFETCH_RAW
12489 instead of PATFETCH in many places. To handle `charset'
12490 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12491 only for ASCII chars.
12492 (analyse_first) <exactn>: Simplify because the compiled pattern
12493 is multibyte.
12494 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12495 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12496 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12497 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12498 multibyte always 1.
12499 (re_search_2): In emacs, set the locale variable multibyte to 1,
12500 otherwise to 0. New local variable target_multibyte. Check it
12501 to decide the multibyteness of STR1 and STR2. If
12502 target_multibyte is zero, convert unibyte chars to multibyte
12503 before translating and checking fastmap.
12504 (TARGET_CHAR_AND_LENGTH): New macro.
12505 (re_match_2_internal): In emacs, set the locale variable multibyte
12506 to 1, otherwise to 0. New local variable target_multibyte. Check
12507 it to decide the multibyteness of STR1 and STR2. Use
12508 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12509 <charset, charset_not>: If multibyte is nonzero, check fastmap
12510 only for ASCII chars. Call bcmp_translate with
12511 target_multibyte, not with multibyte.
12512 <begline>: Declare the local variable C as `unsigned'.
12513 (bcmp_translate): Change the last arg name to target_multibyte.
12514
12515 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12516 the regexp pattern and the matching target. Set cp->buf.multibyte
12517 to the multibyteness of the regexp pattern. Set
12518 cp->but.target_multibyte to the multibyteness of the matching target.
12519 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12520 FETCH_STRING_CHAR_ADVANCE.
12521 (Freplace_match): Convert unibyte chars to multibyte.
12522
12523 * syntax.c (char_quoted, back_comment, scan_words)
12524 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12525 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12526 unibyte chars to multibyte.
12527 (skip_chars): Delete the arg syntaxp, and move the code for
12528 handling syntaxes to skip_syntaxes. Change callers.
12529 Fix the case that the multibyteness of STRING and the current
12530 buffer doesn't match.
12531 (skip_syntaxes): New function.
12532 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12533 SINGLE_BYTE_CHAR_P.
12534
125352008-02-01 Kenichi Handa <handa@m17n.org>
12536
12537 * xfaces.c (QCfontset): New variable.
12538 (LFACE_FONTSET): New macro.
12539 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12540 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12541 (Finternal_set_lisp_face_attribute)
12542 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12543 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12544 check also LFACE_FONTSET_INDEX.
12545 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12546 attrs[LFACE_FONT_INDEX].
12547 (syms_of_xfaces): Intern and staticpro QCfontset.
12548
12549 * dispextern.h (enum lface_attribute_index): New member
12550 LFACE_FONTSET_INDEX.
12551
12552 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12553
125542008-02-01 Kenichi Handa <handa@m17n.org>
12555
12556 * coding.c (coding_set_destination): Fix coding->destination for
12557 the case converting a region.
12558 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12559 (encode_coding_object): Fix coding->dst_pos and
12560 coding->dst_pos_byte for the case converting a region.
12561
12562 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12563
12564 * character.h (BYTE8_STRING): New macro.
12565
12566 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12567
125682008-02-01 Kenichi Handa <handa@m17n.org>
12569
12570 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12571 characters by octal form.
12572
12573 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12574
12575 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12576 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12577 _fetch_multibyte_char_len.
12578 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12579
12580 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12581
12582 * casefiddle.c (casify_object): Simplify. Handle the case that
12583 the case conversion change the byte length.
12584 (casify_region): Likewise.
12585
12586 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12587
12588 * character.c (_fetch_multibyte_char_len): Delete this variable.
12589 (syms_of_character): Setup Vprintable_chars.
12590
12591 * editfns.c (Fchar_equal): Fix for the unibyte case.
12592 (Finsert_byte): New function.
12593 (syms_of_editfns): Defsubr it.
12594
12595 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12596 of direct code 0x3ffff.
12597
12598 * search.c (Freplace_match): Fix for the unibyte case.
12599
126002008-02-01 Kenichi Handa <handa@m17n.org>
12601
12602 * lread.c (safe_to_load_p): Fix the logic.
12603
12604 * syntax.c (scan_words): Don't treat characters belonging to
12605 different scripts as constituting a word.
12606
12607 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12608
12609 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12610
12611 * emacs.c (main): In the case of --unibyte, instead of aborting on
12612 finding non-empty buffer, make it unibyte.
12613
126142008-02-01 Kenichi Handa <handa@m17n.org>
12615
12616 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12617 to create a fontset.
12618
126192008-02-01 Dave Love <fx@gnu.org>
12620
12621 * character.c (Funibyte_char_to_multibyte): Doc fix.
12622
12623 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12624
126252008-02-01 Kenichi Handa <handa@m17n.org>
12626
12627 * fontset.c (fontset_add): Make the type `int'.
12628 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12629
12630 * character.c (unibyte_char_to_multibyte)
12631 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12632 charset_unibyte, not charset_primary.
12633
12634 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12635
12636 * charset.c (charset_unibyte): Rename from charset_primary.
12637 (Funibyte_charset): Rename from Fprimary_charset.
12638 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12639 (syms_of_charset): Adjust for the above changes.
12640
12641 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12642 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12643 it->multibyte_p is zero.
12644
12645 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12646 Delete extern.
12647
126482008-02-01 Kenichi Handa <handa@m17n.org>
12649
12650 * coding.c (Fdefine_coding_system_internal): Fix category setting
12651 for a coding system of type iso-2022.
12652
126532008-02-01 Kenichi Handa <handa@m17n.org>
12654
12655 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12656
126572008-02-01 Kenichi Handa <handa@m17n.org>
12658
12659 * syntax.c (Vnext_word_boundary_function_table): New variable.
12660 (next-word-boundary-function-table): Declare it as a Lisp variable
12661 in syms_of_syntax.
12662 (scan_words): Call functions in Vnext_word_boundary_function_table
12663 if any.
12664
12665 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12666
12667 * fontset.c (fs_load_font): If fontp->charset is not negative,
12668 return fontp without setting its members.
12669
126702008-02-01 Dave Love <fx@gnu.org>
12671
12672 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12673
12674 * m/sparc.h (HAVE_ALLOCA): Delete.
12675
12676 * s/irix6-5.h: Don't include strings.h.
12677 (bcopy, bzero, bcmp): Don't undef.
12678
12679 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12680
12681 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12682 (TIOCSIGSEND): Don't test IRIX6.
12683 (bcopy, bzero, bcmp): Define conditionally.
12684
126852008-02-01 Kenichi Handa <handa@m17n.org>
12686
12687 * buffer.c (Qas, Qmake, Qto): New variables.
12688 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12689 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12690
12691 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12692 we are inserting a process output into a multibyte buffer.
12693
12694 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12695 multibyte_char_to_unibyte.
12696
12697 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12698 by the primary charset, make it eight-bit char.
12699 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12700
12701 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12702 (charset_8_bit__control, charset_8_bit_graphic)
12703 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12704 (define_charset_internal): New function.
12705 (syms_of_charset): Call define_charset_internal for pre-defined
12706 charsets.
12707
12708 * charset.h (charset_8_bit): Extern it.
12709
12710 * coding.c (make_conversion_work_buffer): Adjust for the change
12711 of Fset_buffer_multibyte.
12712 (encode_coding_raw_text): Increment p0 in the loop.
12713
12714 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12715
12716 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12717 for the change of Fset_buffer_multibyte.
12718
12719 * fns.c (Fstring_to_multibyte): New function.
12720 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12721
127222008-02-01 Dave Love <fx@gnu.org>
12723
12724 * xfns.c (x_put_x_image): Declare args.
12725
12726 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12727 (try_font_list): Declare an arg.
12728
12729 * xdisp.c (message2_nolog, set_message): Declare an arg.
12730
12731 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12732
12733 * syntax.c (scan_sexps_forward): Declare an arg.
12734
12735 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12736 Declare an arg.
12737
12738 * lisp.h (Fnew_fontset): Declare.
12739
12740 * keymap.c (push_key_description): Call CHARACTERP correctly.
12741
12742 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12743 (face_for_char): Delete unused vars.
12744 (Fset_fontset_font): Doc fix. Delete unused vars.
12745
12746 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12747
12748 * composite.c (update_compositions): Declare arg.
12749
12750 * cm.c (calccost, cmgoto): Declare args.
12751
12752 * charset.c: Remove `emacs' conditional. Doc fixes.
12753 (map_char_table_for_charset): Declare.
12754
12755 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12756
12757 * ccl.c: Remove `emacs' conditional.
12758
127592008-02-01 Kenichi Handa <handa@m17n.org>
12760
12761 The following changes are to allow specifying multiple font
12762 patterns for a character range (specified by script or charset).
12763
12764 * Makefile.in (abbrev.o): Depend on syntax.h.
12765 (xfaces.o): Depend on charset.h.
12766
12767 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12768 SINGLE_BYTE_CHAR_P.
12769
12770 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12771
12772 * character.h (Vchar_script_table): Extern it.
12773
12774 * character.c (Vscript_alist): Delete.
12775 (Vchar_script_table, Qchar_script_table): New variable.
12776 (syms_of_character): Declare Vchar_script_table as a lisp variable
12777 and initialize it.
12778
12779 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12780 have property char-table-extra-slots, make no extra slot.
12781
12782 * dispextern.h (struct face): Delete member `charset'.
12783 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12784 SINGLE_BYTE_CHAR_P.
12785 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12786 Add prototypes.
12787 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12788 (generate_ascii_font_name): Rename from generate_ascii_font.
12789
12790 * fontset.h (get_font_repertory_func): New prototype.
12791 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12792 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12793
12794 * fontset.c (Qprepend, Qappend): New variables.
12795 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12796 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12797 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12798 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12799 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12800 (load_font_get_repertory): New functions.
12801 (fontset_set): Delete.
12802 (fontset_face): New arg FACE. Return face ID, not face.
12803 Complete re-write to handle new fontset structure. Change caller.
12804 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12805 (face_for_char): Don't call lookup_face.
12806 (make_fontset_for_ascii_face): New arg FACE.
12807 (fs_load_font): New arg CHARSET_ID. Don't check
12808 Vfont_encoding_alist here.
12809 (find_font_encoding): New function.
12810 (list_fontsets): Use STRINGP, not ! NILP.
12811 (accumulate_script_ranges): New function.
12812 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12813 re-written to handle new fontset structure.
12814 (Ffontset_font): Return a copy of element.
12815 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12816 docstring of font-encoding-alist.
12817
12818 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12819 (Fset_fotset_font): Fix arguments to 5.
12820
12821 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12822
12823 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12824 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12825 (highlight_trailing_whitespace): Adjust for the change of
12826 lookup_named_face.
12827
12828 * xfaces.c: Include charset.h.
12829 (load_face_font): Delete argument C. Change caller.
12830 (generate_ascii_font_name): Rename from generate_ascii_font.
12831 (font_name_registry): New function.
12832 (cache_face): Store ascii faces before non-ascii faces in buckets.
12833 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12834 Lookup only ascii faces.
12835 (lookup_non_ascii_face): New function.
12836 (lookup_named_face): Delete argument C. Change caller.
12837 (lookup_derived_face): Delete argument C. Change caller.
12838 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12839 a string, just call font_list with it.
12840 (choose_face_font): Delete arguments FACE and C. New arg
12841 FONT_SPEC. Change caller.
12842 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12843 Change caller.
12844 (realize_non_ascii_face): New function.
12845 (realize_x_face): Call load_face_font here.
12846 (realize_tty_face): Delete argument C. Change caller.
12847 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12848 get a face ID.
12849 (dump_realized_face): Don't print charset of FACE.
12850
12851 * xfns.c (x_set_font): Always call x_new_fontset and
12852 store_frame_parameter.
12853 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12854 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12855
12856 * xterm.h (x_get_font_repertory): Extern it.
12857
12858 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12859 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12860 it->multibyte_p is zero.
12861 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12862 (x_new_fontset): If FONTSETNAME doesn't match any existing
12863 fontsets, create a new one.
12864 (x_get_font_repertory): New function.
12865
128662008-02-01 Kenichi Handa <handa@m17n.org>
12867
12868 * coding.c (Ffind_coding_systems_region_internal): Detect an
12869 ASCII only string correctly.
12870
12871 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12872 version is 0.
12873
128742008-02-01 Kenichi Handa <handa@m17n.org>
12875
12876 * lread.c: Include "coding.h".
12877 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12878 (load_each_byte, unread_char): New variables.
12879 (readchar_backlog): Delete.
12880 (readchar): Return a character unless load_each_byte is nonzero.
12881 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12882 cons. If unread_char is not -1, simply return it.
12883 (unreadchar): Handle the case that readcharfun is
12884 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12885 (read_multibyte): Delete.
12886 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12887 (read_emacs_mule_char): New functions.
12888 (Fload): Even if the file doesn't have the extension ".elc", if
12889 safe_to_load_p returns a positive version number, assume that the
12890 file contains bytecompiled code. If the version is less than 22,
12891 load the file while decoding multibyte sequences by emacs-mule.
12892 (readevalloop): Don't use readchar_backlog.
12893 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12894 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12895 (read_escape): Delete the arg BYTEREP.
12896 (read1): Set load_each_byte to 1 temporarily while handling
12897 #@NUMBER. Don't call read_multibyte.
12898 (read_vector): Call Fread with a cons. If readcharfun is
12899 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12900 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12901 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12902 and Qload_force_doc_strings.
12903
129042008-02-01 Kenichi Handa <handa@m17n.org>
12905
12906 * xdisp.c (face_before_or_after_it_pos): Call
12907 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12908
129092008-02-01 Kenichi Handa <handa@m17n.org>
12910
12911 * character.h (TRAILING_CODE_P): New macro.
12912 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12913 (string_char_with_unification): Fix prototype.
12914 (Vscript_alist): Extern it.
12915
12916 * character.c (Vscript_alist): New variable.
12917 (string_char_with_unification, str_as_unibyte)
12918 (string_escape_byte8): Add `const' to local variables.
12919 (syms_of_character): Declare script-alist as a Lisp variable.
12920
12921 * charset.h (Vcharset_ordered_list): Extern it.
12922 (charset_ordered_list_tick): Extern it.
12923 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12924 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12925 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12926 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12927 (Funify_charset): Adjust for the change of Funify_charset.
12928
12929 * charset.c (charset_ordered_list_tick): New variable.
12930 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12931 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12932 deunify intead of unify a charset.
12933 (string_xstring_p): Add `const' to local variables.
12934 (find_charsets_in_text): Add `const' to arguments and local variables.
12935 (encode_char): Adjust for the change of Funify_charset. Fix
12936 detecting of invalid code.
12937 (Fset_charset_priority): Increment charset_ordered_list_tick.
12938 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12939 and TO_CODE.
12940
12941 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12942 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12943 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12944 (decode_coding_ccl, consume_chars)
12945 (Ffind_coding_systems_region_internal)
12946 (Fcheck_coding_systems_region): Add `const' to local variables.
12947
12948 * print.c (print_object): Use octal form for printing the
12949 contents of a bool vector.
12950
129512008-02-01 Dave Love <fx@gnu.org>
12952
12953 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12954 <version == 20>: Refuse to load.
12955
129562008-02-01 Dave Love <fx@gnu.org>
12957
12958 * fns.c: Move coding.h.
12959 (Qcodeset, Qdays, Qmonths): New.
12960 (concat): Use CHARACTERP instead of INTEGERP.
12961 (Flocale_codeset): Delete.
12962 (Flanginfo): New function.
12963 (syms_of_fns): Change accordingly.
12964
12965 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12966
129672008-02-01 Dave Love <fx@gnu.org>
12968
12969 * casetab.c (init_casetab_once, init_casetab_once): Fix
12970 CHAR_TABLE_SET call.
12971
12972 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12973
12974 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12975
12976 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12977 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12978 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12979
12980 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12981
12982 * coding.c (ENCODE_DESIGNATION, decode_eol)
12983 (make_conversion_work_buffer, code_conversion_restore)
12984 (Fdefine_coding_system_internal): Convert Lisp types.
12985 (code_conversion_restore): Use EQ, not ==.
12986 (Fencode_coding_string): Fix code_convert_string call.
12987
12988 * coding.h (code_convert_region): Fix prototype.
12989
12990 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12991
12992 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12993 (Ffontset_info): Convert Lisp types.
12994
12995 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12996
12997 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12998
12999 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
13000
13001 * chartab.c: Include "...h", not <...h> in some cases.
13002
13003 * callproc.c (Fcall_process): Remove unused variables.
13004
130052008-02-01 Dave Love <fx@gnu.org>
13006
13007 * coding.c (Fset_coding_system_priority): Allow null arg list.
13008
130092008-02-01 Dave Love <fx@gnu.org>
13010
13011 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
13012 (Fself_insert_and_exit): Use CHARACTERP.
13013
13014 * callproc.c (Fcall_process): Remove unused vars.
13015
13016 * xterm.c (XTread_socket): Add extra dead keysyms.
13017
13018 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
13019
13020 * dispextern.h: Remove prototypes for redraw_frame,
13021 redraw_garbaged_frames.
13022
13023 * cmds.c (Fself_insert_command): Use CHARACTERP.
13024
13025 * chartab.c (make_sub_char_table): Remove unused var.
13026 (Fset_char_table_default, Fmap_char_table): Doc fix.
13027
13028 * keymap.c (access_keymap): Remove generic char code.
13029 (push_key_description): Use CHARACTERP.
13030
130312008-02-01 Dave Love <fx@gnu.org>
13032
13033 * charset.c: Doc fixes.
13034 (Funify_charset): Extra checking.
13035
130362008-02-01 Dave Love <fx@gnu.org>
13037
13038 * lread.c: Remove some unused variables.
13039 (safe_to_load_p): If safe, return the magic number version byte.
13040 (Fload): Maybe use load-with-code-conversion.
13041
130422008-02-01 Kenichi Handa <handa@m17n.org>
13043
13044 * category.c (Fmodify_category_entry): Don't modify the contents
13045 of category_set for characters out of the range. Avoid
13046 unnecessary modification.
13047
13048 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
13049 Vchar_unify_table. The default value of the table is now nil.
13050
13051 * character.c (syms_of_character): Setup Vchar_width_table for
13052 eight-bit-control and raw-byte chars.
13053
13054 * charset.h (enum define_charset_arg_index): Delete
13055 charset_arg_parents and add charset_arg_subset and
13056 charset_arg_superset.
13057 (enum charset_attr_index): Delete charset_parents and add
13058 charset_subset and charset_superset.
13059 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
13060 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
13061 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
13062 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
13063 (CHARSET_SUPERSET): New macros.
13064 (charset_work): Extern it.
13065 (ENCODE_CHAR): Use charset_work.
13066 (CHAR_CHARSET_P): Adjust for the change of encoder format.
13067 (map_charset_chars): Extern it.
13068
13069 * charset.c (load_charset_map): Set the default value of encoder
13070 and deunifier char-tables to nil.
13071 (map_charset_chars): Change argument. Change callers. Use
13072 map_char_table_for_charset instead of map_char_table.
13073 (Fmap_charset_chars): New optional args from_code and to_code.
13074 (Fdefine_charset_internal): Adjust for the change of
13075 `define-charset' (:parents -> :subset or :superset).
13076 (charset_work): New variable.
13077 (encode_char, syms_of_charset): Adjust for the change of
13078 Fdefine_charset_internal.
13079 (Ffind_charset_string): Setup the vector `charsets' correctly.
13080
13081 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
13082 the previous change.
13083 (char_table_ref_and_range): Adjust for the above change.
13084 (map_sub_char_table_for_charset): New function.
13085 (map_char_table_for_charset): New function.
13086
13087 * keymap.c (describe_vector): Handle a char-table directly here.
13088 (describe_char_table): Delete.
13089
13090 * lisp.h (map_charset_chars): Delete.
13091
130922008-02-01 Dave Love <fx@gnu.org>
13093
13094 * fns.c (count_combining): Comment out (unused).
13095 (Flocale_codeset): New.
13096 (syms_of_fns): Defsubr it.
13097
13098 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
13099 (size_t): Remove.
13100
131012008-02-01 Dave Love <fx@gnu.org>
13102
13103 * Makefile.in (chartab.o): Depend on charset.h.
13104
131052008-02-01 Kenichi Handa <handa@m17n.org>
13106
13107 * character.c (syms_of_character): Set the default value of
13108 Vprintable_chars to Qnil.
13109
131102008-02-01 Dave Love <fx@gnu.org>
13111
13112 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
13113
131142008-02-01 Kenichi Handa <handa@m17n.org>
13115
13116 * charset.c (load_charset_map): Handle the case that from < to
13117 correctly.
13118
13119 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
13120 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
13121 Pay attention to raw-8-bit chars.
13122
131232008-02-01 Kenichi Handa <handa@m17n.org>
13124
13125 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
13126 It is not bytecompiled now.
13127
13128 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
13129 (charset_jisx0208): New variables.
13130 (Fdefine_charset_internal): Setup them if appropriate.
13131 (init_charset_once): Initialize them to -1.
13132
13133 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
13134 (charset_jisx0208): Extern them.
13135
13136 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
13137 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
13138 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
13139 (setup_iso_safe_charsets): Fix arguments to Fassq.
13140 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
13141 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
13142 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
13143 (encode_coding_iso_2022): Change the 1st arg to
13144 ENCODE_ISO_CHARACTER to a variable.
13145
131462008-02-01 Kenichi Handa <handa@m17n.org>
13147
13148 * charset.h (enum define_charset_arg_index): New enums
13149 charset_arg_min_code and charset_arg_max_code.
13150 (struct charset): New member char_index_offset.
13151
13152 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
13153 Take charset->char_index_offset into account.
13154 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
13155 args[charset_arg_max_code]. Setup charset.char_index_offset.
13156 (syms_of_charset): Fix args to Fdefine_charset_internal.
13157
131582008-02-01 Dave Love <fx@gnu.org>
13159
13160 * coding.c (decode_coding_utf_8): Reject overlong sequences.
13161
131622008-02-01 Dave Love <fx@gnu.org>
13163
13164 * coding.c: Doc fixes.
13165 (Fcoding_system_aliases): Fix return value.
13166 (Qmac): Remove (duplicated) definition.
13167
131682008-02-01 Dave Love <fx@gnu.org>
13169
13170 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
13171 functions.
13172
13173 * character.c (Fstring): Doc fix.
13174
13175 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
13176
13177 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
13178 ids.
13179 (font-encoding-alist): Doc fix.
13180
131812008-02-01 Dave Love <fx@gnu.org>
13182
13183 * term.c (costs_set): Declare static, non-initialized for pcc.
13184 (encode_terminal_code): Remove unused var.
13185
13186 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13187 for K&R.
13188
13189 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13190
13191 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13192 (suffixes): Move out of make_subsidiaries for K&R.
13193
13194 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13195
13196 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13197
131982008-02-01 Dave Love <fx@gnu.org>
13199
13200 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13201
13202 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13203
132042008-02-01 Yong Lu <lyongu@asia-infonet.com>
13205
13206 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13207
13208 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13209
132102008-02-01 Kenichi Handa <handa@m17n.org>
13211
13212 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13213 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13214
132152008-02-01 Kenichi Handa <handa@m17n.org>
13216
13217 * coding.c (decode_coding_charset): Adjust for the change of
13218 Fdefine_coding_system_internal.
13219 (Fdefine_coding_system_internal): For a coding system of
13220 `charset' type, store a list of charset IDs in
13221 `charset_attr_charset_valids' element of coding attributes.
13222
132232008-02-01 Kenichi Handa <handa@m17n.org>
13224
13225 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13226 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13227 caller. Handle 2-byte and 3-byte charsets correctly.
13228 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13229 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13230 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13231 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13232 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13233 sequence.
13234 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13235 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13236 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13237 and alt&rule composition.
13238 (decode_coding_iso_2022): Handle composition correctly.
13239 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13240
13241 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13242 re-defining a charset. If the charset has :emacs-mule-id, setup
13243 emacs_mule_bytes.
13244 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13245
132462008-02-01 Kenichi Handa <handa@m17n.org>
13247
13248 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13249 (encode_coding_big5, encode_coding_charset): If coding requires safe
13250 encoding, produce a character specified by
13251 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13252
132532008-02-01 Dave Love <fx@gnu.org>
13254
13255 * xterm.c (XSetIMValues): Declare.
13256
13257 * process.c: Conditionally include sys/wait.h, pty.h.
13258
13259 * print.c (print_object): Fix print format for 64-bit systems.
13260
13261 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13262
13263 * buffer.c (emacs_strerror): Declare.
13264
13265 * fontset.c (Fclear_face_cache): Declare.
13266 (accumulate_font_info): Comment-out (unused).
13267 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13268 variables.
13269
13270 * character.h (string_escape_byte8): Declare.
13271
13272 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13273 unused vars.
13274 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13275 (Fmap_charset_chars): Doc fix.
13276
13277 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13278 (Fset_coding_system_priority, Fset_coding_system_priority)
13279 (Fdefine_coding_system_internal): Doc fix.
13280
132812008-02-01 Dave Love <fx@gnu.org>
13282
13283 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13284
132852008-02-01 Kenichi Handa <handa@m17n.org>
13286
13287 * character.c (string_escape_byte8): Make multibyte string with
13288 correct size.
13289
13290 * charset.c (Fmake_char): Delete unnecessary code.
13291
132922008-02-01 Kenichi Handa <handa@m17n.org>
13293
13294 * xfns.c (x_encode_text): Allocate coding.destination here, and
13295 call encode_coding_object with dst_object Qnil.
13296
13297 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13298 multibyte form correctly.
13299
13300 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13301 against Vfont_encoding_alist.
13302
13303 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13304 handling of charset list.
13305 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13306 (decode_coding_object): Move point to coding->dst_pos before
13307 calling post-read-conversion function.
13308 (encode_coding_object): Give correct arguments to
13309 pre-write-conversion. Ignore the return value of
13310 pre-write-conversion function. Pay attention to the case that
13311 pre-write-conversion changes the current buffer. If dst_object is
13312 Qt, even if coding->src_bytes is zero, allocate at least one byte
13313 to coding->destination.
13314
13315 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13316
13317 * charset.c (Fmake_char): Make it more backward compatible.
13318 (Fmap_charset_chars): Fix docstring.
13319
133202008-02-01 Dave Love <fx@gnu.org>
13321
13322 * coding.c: Doc fixes.
13323 (Fdefine_coding_system_alias): Use names, not symbols, in
13324 coding-system-alist.
13325
133262008-02-01 Kenichi Handa <handa@m17n.org>
13327
13328 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13329 of calling free_realized_face.
13330
133312008-02-01 Yong Lu <lyongu@asia-infonet.com>
13332
13333 * charset.c (read_hex): Don't treat SPC as a comment starter.
13334 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13335 (Fdecode_char): Fix typo.
13336
133372008-02-01 Kenichi Handa <handa@m17n.org>
13338
13339 * charset.h (struct charset): New member `code_space_mask'.
13340
13341 * coding.c (coding_set_source): Delete the local variable beg_byte.
13342 (encode_coding_charset, Fdefine_coding_system_internal):
13343 Delete the local variable charset.
13344 (Fdefine_coding_system_internal): Setup
13345 attrs[coding_attr_charset_valids] correctly.
13346
13347 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13348 member to check if CODE is valid or not.
13349 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13350 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13351 is within the range of charset->min_code and carset->max_code.
13352
133532008-02-01 Dave Love <fx@gnu.org>
13354
13355 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13356
13357 * dispextern.h (generate_ascii_font): Fix return type.
13358
13359 * xfaces.c (generate_ascii_font): Fix arg declaration.
13360
13361 * coding.c (coding_inherit_eol_type)
13362 (Fset_terminal_coding_system_internal)
13363 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13364
133652008-02-01 Kenichi Handa <handa@m17n.org>
13366
13367 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13368 multiple charsets correctly.
13369
133702008-02-01 Kenichi Handa <handa@m17n.org>
13371
13372 * search.c (boyer_moore): Fix handling of multibyte character
13373 translation.
13374
13375 * xdisp.c (display_mode_element): When the variable `elt' is
13376 changed, update `this' and `lisp_string'.
13377
133782008-02-01 Kenichi Handa <handa@m17n.org>
13379
13380 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13381
13382 * callproc.c (Fcall_process): Be sure to give the current buffer
13383 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13384
13385 * charset.c (struct charset_map_entries): New struct.
13386 (load_charset_map): Rename from parse_charset_map. New args
13387 entries and n_entries. Change caller.
13388 (load_charset_map_from_file): Rename from load_charset_map.
13389 Change caller. New arg control_flag. Call load_charset_map at
13390 the tail.
13391 (load_charset_map_from_vector): New function.
13392 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13393 (encode_char): If the charset is compact, change a character index
13394 to a code point.
13395
13396 * coding.c (coding_alloc_by_making_gap): Check the case that the
13397 source and destination are the same correctly.
13398 (decode_coding_raw_text): Set coding->consumed_char and
13399 coding->consumed to 0.
13400 (produce_chars): If coding->chars_at_source is nonzero, update
13401 coding->consumed_char and coding->consumed before calling
13402 alloc_destination.
13403 (Fdefine_coding_system_alias): Register ALIAS in
13404 Vcoding_system_alist.
13405 (syms_of_coding): Define `no-conversion' coding system at the tail.
13406
13407 * fileio.c (Finsert_file_contents): Set coding_system instead of
13408 val. If the current buffer is multibyte, always call
13409 decode_coding_gap.
13410
13411 * xfaces.c (try_font_list): Give higher priority to fontset's
13412 family than face's family.
13413
134142008-02-01 Kenichi Handa <handa@m17n.org>
13415
13416 * callproc.c (Fcall_process): Be sure to give the current buffer
13417 to decode_coding_c_string.
13418
13419 * xfaces.c (try_font_list): Give a family specified in a fontset
13420 higher priority than a family specified in a face.
13421
134222008-02-01 Kenichi Handa <handa@m17n.org>
13423
13424 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13425 Fix arguments to insert_from_buffer.
13426
13427 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13428
134292008-02-01 Kenichi Handa <handa@m17n.org>
13430
13431 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13432 (decode_coding_gap): Set coding->dst_multibyte correctly.
13433
134342008-02-01 Kenichi Handa <handa@m17n.org>
13435
13436 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13437 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13438 (encode_coding_utf_16): Substitute coding->default_char for
13439 non-Unicode characters.
13440 (decode_coding): Don't call record_insert here.
13441 (setup_coding_system): Initialize `surrogate' of
13442 coding->spec.utf_16 to 0.
13443 (EMIT_ONE_BYTE): Fix for multibyte case.
13444
13445 * insdel.c (insert_from_gap): Call record_insert.
13446
134472008-02-01 Kenichi Handa <handa@m17n.org>
13448
13449 * casefiddle.c (casify_region): Fix multibyte case.
13450
13451 * character.c (c_string_width): Add return type `int'.
13452 (char_string_with_unification): Delete arg ADVANCED.
13453
13454 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13455 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13456 (CHAR_STRING_ADVANCE): Make it do-while statement.
13457
13458 * chartab.c (sub_char_table_set_range): Optimize for the case
13459 DEPTH == 3. Add workaround code for a GCC optimization bug.
13460
13461 * charset.c (parse_charset_map): Remove an unused variable.
13462
13463 * coding.c: Delete unused variables.
13464
13465 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13466 earlier. If inserted is zero and the coding system doesn't
13467 require flushing, don't call decode_coding_gap.
13468
13469 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13470
134712008-02-01 Kenichi Handa <handa@m17n.org>
13472
13473 The following changes are for using Unicode as an internal
13474 character model, and use UTF-8 format for buffer/string
13475 representation.
13476
13477 * .gdbinit (xchartable): Adjust for the change of char table structure.
13478 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13479
13480 * Makefile.in (obj): Add character.o and chartab.o.
13481 (lisp, shortlisp): Remove utf-8.elc.
13482 (*.o): For many files, change dependency on charset.h to
13483 character.h, and add dependency on character.h.
13484 (character.o, chartab.o): New targets.
13485
13486 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13487 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13488 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13489 of "charset.h".
13490
13491 * dired.c, filelock.c: Include "character.h".
13492
13493 * alloc.c: Include "character.h" instead of "charset.h".
13494 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13495 (syms_of_alloc): Remove defsubr for Smake_char_table.
13496
13497 * buffer.c: Include "character.h" instead of "charset.h", don't
13498 include "coding.h".
13499 (Fset_buffer_multibyte): Adjust for UTF-8.
13500
13501 * buffer.h: EXFUN Fbuffer_live_p.
13502
13503 * callproc.c: Include "character.h" instead of "charset.h".
13504 (Fcall_process): Big change for the new code-conversion APIs.
13505
13506 * casetab.c: Include "character.h" instead of "charset.h".
13507 (set_canon, set_identity, shuffle): Adjust for the new
13508 map_char_table spec.
13509 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13510 accessing the char table structure.
13511
13512 * chartab.c: New file that implements char table.
13513
13514 * category.c: Include "character.h".
13515 (copy_category_entry): New function.
13516 (copy_category_table): Call map_char_table and copy_category_entry.
13517 (Fmake_category_table): Initialize all top-level slots.
13518 (char_category_set): New function.
13519 (modify_lower_category_set): Delete.
13520 (Fmodify_category_entry): Call char_table_ref_and_range.
13521
13522 * category.h (CATEGORY_SET): Just call char_category_set.
13523
13524 * ccl.c: Include "character.h".
13525 (Qccl, Qcclp): New variables.
13526 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13527 it's less than 256.
13528 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13529 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13530 and DST type.
13531 (ccl_driver): Change types of argument, adjust code accordingly.
13532 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13533 ccl_driver.
13534 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13535
13536 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13537 New members src_multibyte, dst_multibyte, consumed, and produced.
13538 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13539 (CODING_SPEC_CCL_PROGRAM): New macro.
13540 (ccl_driver): Update prototype.
13541 (Qccl, Qcclp, Fccl_program_p): Extern them.
13542 (CHECK_CCL_PROGRAM): New macro.
13543
13544 * character.c, character.h, chartab.c: New files.
13545
13546 * charset.c: Mostly re-written. Move character and multibyte sequence
13547 handling codes to character.c.
13548
13549 * charset.h: Mostly re-written. Move character and multibyte sequence
13550 handling codes to character.h.
13551
13552 * coding.c, coding.h: Mostly re-written.
13553
13554 * composite.c: Include "character.h" instead of "charset.h".
13555 (CHAR_WIDTH): Move to character.h.
13556 (HASH_KEY, HASH_VALUE): Delete.
13557
13558 * composite.h (enum composition_method): Change order of enumeration
13559 symbols.
13560
13561 * data.c: Include "character.h" instead of "charset.h".
13562 (Faref): Call CHAR_TABLE_REF for a char table.
13563 (Faset): Call CHAR_TABLE_SET for a char table.
13564
13565 * dispextern.h (free_realized_face, check_face_attribytes)
13566 (generate_ascii_font): Extern them.
13567 (free_realized_multibyte_face): Delete extern.
13568
13569 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13570 table structure.
13571
13572 * editfns.c: Include "character.h" instead of "charset.h".
13573 (Fchar_to_string): Always call CHAR_STRING.
13574
13575 * emacs.c (main): Call init_charset_once, init_charset,
13576 syms_of_chartab, and syms_of_character.
13577
13578 * fileio.c: Include "character.h" instead of "charset.h".
13579 (Finsert_file_contents): Big change for the new code-conversion API.
13580 (choose_write_coding_system, Fwrite_region): Likewise.
13581 (build_annotations_2): Delete.
13582 (e_write): Big change for the new code-conversion API.
13583
13584 * fns.c: Include "character.h" instead of "charset.h".
13585 (copy_sub_char_table): Move to chartab.c.
13586 (Fcopy_sequence): Call copy_char_table for a char table.
13587 (concat): Delete codes calling count_multibyte.
13588 (string_char_to_byte, string_byte_to_char): Adjust for the new
13589 multibyte form.
13590 (internal_equal): Adjust for the change of char table structure.
13591 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13592 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13593 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13594 (char_table_translate, optimize_sub_char_table)
13595 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13596 chartab.c.
13597 (char_table_ref_and_index): Delete.
13598 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13599 (Fmd5): Call preferred_coding_system instead of accessing
13600 Vcoding_category_list. Adjust for the new code-conversion API.
13601 (syms_of_fns): Move defsubr for char table related functions to
13602 chartab.c.
13603
13604 * fontset.c: Mostly re-written.
13605
13606 * fontset.h (struct font_info): Change type of the member encoding_type.
13607 (enum FONT_SPEC_INDEX): New enum.
13608 (fontset_font_pattern, fs_load_font): Update prototype.
13609 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13610
13611 * indent.c: Include "character.h" instead of "charset.h".
13612 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13613
13614 * insdel.c: Include "character.h" instead of "charset.h".
13615 (copy_text): Don't refer to Vnonascii_translation_table.
13616 (insert_from_gap): New function.
13617
13618 * keyboard.c: Include "character.h" instead of "charset.h".
13619 (command_loop_1): Never call direct_output_forward_char before
13620 a non-ASCII character.
13621 (read_char): If Vkeyboard_translate_table is a char table, always
13622 translate a character.
13623
13624 * keymap.c: Include "character.h".
13625 (store_in_keymap): Handle the case that IDX is a cons.
13626 (Fdefine_key): Handle the case that KEY is a cons and the car part
13627 is also a cons (range).
13628 (push_key_description): Adjust for the new character code.
13629 (describe_vector): Call describe_char_table for a char table.
13630 (describe_char_table): New function.
13631
13632 * keymap.h (describe_char_table): Extern it.
13633
13634 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13635 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13636 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13637 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13638 Delete.
13639 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13640 structure.
13641 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13642 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13643 (CHARTAB_SIZE_BITS_3): New macros.
13644 (chartab_size): Extern it.
13645 (struct Lisp_Char_Table): Re-design.
13646 (struct Lisp_Sub_Char_Table): New structure.
13647 (HASH_KEY, HASH_VALUE): Move from fns.c.
13648 (CHARACTERBITS): Define as 22.
13649 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13650 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13651 (GC_SUB_CHAR_TABLE_P): New macro.
13652 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13653 (code_convert_string_norecord): Deleted extern.
13654 (init_character_once, syms_of_character, init_charset)
13655 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13656
13657 * lread.c: Include "character.h".
13658 (read_multibyte): New arg NBYTES.
13659 (read_escape): Change the meaning of returned *BYTEREP.
13660 (to_multibyte): Delete.
13661 (read1): Adjust the handling of char table and string.
13662
13663 * print.c: Include "character.h" instead of "charset.h".
13664 (print_string): Convert 8-bit raw bytes to octal form by
13665 string_escape_byte8.
13666 (print_object): Adjust for the new multibyte form. Print 8-bit
13667 raw bytes always in octal form. Handle sub char table correctly.
13668
13669 * process.c: Include "character.h" instead of "charset.h".
13670 (read_process_output, send_process): Adjust for the new
13671 code-conversion API.
13672
13673 * puresize.h (BASE_PURESIZE): Increase.
13674
13675 * regex.c: Include "character.h" instead of "charset.h".
13676 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13677 (regex_compile): Accept a range whose starting and ending
13678 character have different leading bytes.
13679 (analyse_first): Adjust for the above change.
13680
13681 * search.c: Include "character.h" instead of "charset.h".
13682 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13683 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13684
13685 * syntax.c: Include "character.h" instead of "charset.h".
13686 (syntax_parent_lookup): Delete.
13687 (Fmodify_syntax_entry): Accept a cons as CHAR.
13688 (skip_chars): Adjust for the new multibyte form.
13689 (init_syntax_once): Call char_table_set_range instead of directly
13690 accessing the structure of a char table.
13691
13692 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13693 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13694 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13695 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13696
13697 * term.c: Include "buffer.h" and "character.h".
13698 (encode_terminal_code, write_glyphs): Adjust for the new
13699 code-conversion API.
13700 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13701
13702 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13703
13704 * xdisp.c: Include "character.h".
13705 (get_next_display_element): Adjust for the new multibyte form.
13706 (disp_char_vector): Adjust for the new char table structure.
13707 (decode_mode_spec_coding): Adjust for the new structure of
13708 coding system.
13709 (decode_mode_spec): Adjust for the new code-conversion API.
13710
13711 * xfaces.c: Include "character.h" instead of "charset.h".
13712 (load_face_font): Adjust for the change of choose_face_font and
13713 FS_LOAD_FONT.
13714 (generate_ascii_font): New function.
13715 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13716 (set_font_frame_param): Adjust for the change of choose_face_font.
13717 (free_realized_face): Make it public.
13718 (free_realized_faces_for_fontset): Rename from
13719 free_realized_multibyte_face. Free also faces realized for ASCII.
13720 (choose_face_font): Change arguments. Adjust for the change of
13721 fontset_font_pattern and FS_LOAD_FONT.
13722
13723 * xfns.c: Include "character.h".
13724 (x_encode_text): Adjust for the new code-conversion API.
13725
13726 * xselect.c: Don't include "charset.h".
13727 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13728
13729 * xterm.c: Include "character.h".
13730 (x_encode_char): New argument CHARSET. Change caller.
13731 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13732 Call ENCODE_CHAR instead of SPLIT_CHAR.
13733 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13734 CHAR_WIDTH instead of CHARSET_WIDTH.
13735 (XTread_socket): Adjust for the new code-conversion API.
13736 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13737 (x_load_font): Adjust for the change of struct font.
13738
137392008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13740
13741 * xfaces.c (face_at_buffer_position): Remove unused vars.
13742
137432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13744
13745 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13746 Fix overflow checking.
13747
137482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13749
13750 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13751 Cancel previous change.
13752
137532008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13754
13755 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13756 ccl->eight_bit_control. Fix check for buffer overflow.
13757 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13758 (ccl_driver): Initialize extra_bytes to 0.
13759
137602008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13761
13762 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13763 return it ORed with ctrl_modifier.
13764
137652008-01-29 Miles Bader <miles@gnu.org>
13766
13767 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13768
137692008-01-28 Jason Rumney <jasonr@gnu.org>
13770
13771 * w32.c (stat): Don't double check for networked drive.
13772
137732008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13774
13775 * window.c (run_window_configuration_change_hook): New function.
13776 Code extracted from set_window_buffer. Set the selected frame.
13777 (set_window_buffer): Use it.
13778 * window.h (run_window_configuration_change_hook): Declare.
13779 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13780
13781 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13782
137832008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13784
13785 * Makefile.in: Remove references to unused macros.
13786
137872008-01-26 Eli Zaretskii <eliz@gnu.org>
13788
13789 * w32.c (g_b_init_get_sid_sub_authority)
13790 (g_b_init_get_sid_sub_authority_count): New static variables.
13791 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13792 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13793 (init_user_info): Use them to retrieve uid and gid.
13794 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13795 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13796 st_uid and st_gid of the file.
13797
137982008-01-26 Jason Rumney <jasonr@gnu.org>
13799
13800 * w32.c (logon_network_drive): New function.
13801 (stat): Use it.
13802
138032008-01-26 Chong Yidong <cyd@stupidchicken.com>
13804
13805 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13806 invisible text covered with an ellipsis.
13807
138082008-01-25 Richard Stallman <rms@gnu.org>
13809
13810 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13811 jump back to beginning. Move some other initializations after that.
13812 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13813 New variables.
13814 (syms_of_xdisp): Init them.
13815
13816 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13817
13818 * buffer.c (reset_buffer_local_variables):
13819 Implement `permanent-local-hook'.
13820 (Qpermanent_local_hook): New variable.
13821 (syms_of_buffer): Init and staticpro it.
13822
138232008-01-25 Michael Albinus <michael.albinus@gmx.de>
13824
13825 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13826
138272008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13828
13829 * fns.c (Fclrhash): Return TABLE.
13830
138312008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13832
13833 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13834 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13835 is set even without positional changes.
13836 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13837
13838 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13839
138402008-01-23 Jason Rumney <jasonr@gnu.org>
13841
13842 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13843
13844 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13845 the unicode range available in MULE by locale-coding-system.
13846 Improve dbcs lead byte detection. Set event timestamp and modifiers
13847 earlier.
13848
138492008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13850
13851 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13852 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13853 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13854 when used on child processes.
13855
138562008-01-21 Michael Albinus <michael.albinus@gmx.de>
13857
13858 * dbusbind.c (Fdbus_method_return_internal): Rename from
13859 Fdbus_method_return.
13860 (Fdbus_unregister_object): Move to dbus.el.
13861 (Fdbus_call_method, Fdbus_method_return_internal)
13862 (Fdbus_send_signal): Improve debug messages.
13863
138642008-01-20 Martin Rudalics <rudalics@gmx.at>
13865
13866 * undo.c (undo_inhibit_record_point): New variable.
13867 (syms_of_undo): Initialize it.
13868 (record_point): Don't record point when undo_inhibit_record_point
13869 is set.
13870
138712008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13872
13873 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13874
13875 * xdisp.c (Qauto_hscroll_mode): New var.
13876 (syms_of_xdisp): Initialize it.
13877 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13878 window's buffer.
13879 (hscroll_windows): Don't check automatic_hscrolling_p here.
13880
13881 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13882 vscroll if we're setting window-buffer to the value it already has.
13883
138842008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13885
13886 * m/intel386.h: Remove references to XENIX.
13887
138882008-01-17 Andreas Schwab <schwab@suse.de>
13889
13890 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13891 instead of HAVE_X86_64_LIB64_DIR.
13892 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13893
138942008-01-17 Glenn Morris <rgm@gnu.org>
13895
13896 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13897 to HAVE_X86_64_LIB64_DIR.
13898
138992008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13900
13901 * s/irix3-3.h:
13902 * s/irix4-0.h:
13903 * s/386-ix.h:
13904 * s/domain.h:
13905 * s/hpux9-x11r4.h:
13906 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13907
13908 * sysdep.c: Remove code containing references to symbols defined
13909 by unsupported systems.
13910
139112008-01-16 Glenn Morris <rgm@gnu.org>
13912
13913 * coding.c (select-safe-coding-system-function): Doc fix.
13914
139152008-01-15 Glenn Morris <rgm@gnu.org>
13916
13917 * config.in: Revert 2008-01-13 change: this is a generated file.
13918
139192008-01-13 Tom Tromey <tromey@redhat.com>
13920
13921 * lisp.h: Fix typo.
13922
139232008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13924
13925 * m/sequent-ptx.h:
13926 * m/sequent.h:
13927 * s/ptx.h:
13928 * s/ptx4-2.h:
13929 * s/ptx4.h: Remove files for systems no longer supported.
13930
13931 * callproc.c (Fcall_process): Fix previous change.
13932
139332008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13934
13935 * unexsunos4.c: Remove file, system not supported anymore.
13936
13937 * m/mips.h:
13938 * m/intel386.h:
13939 * callproc.c:
13940 * config.in:
13941 * ecrt0.c:
13942 * emacs.c:
13943 * fileio.c:
13944 * frame.c:
13945 * getpagesize.h:
13946 * keyboard.c:
13947 * lread.c:
13948 * process.c:
13949 * puresize.h:
13950 * sysdep.c:
13951 * systty.h:
13952 * syswait.h:
13953 * unexec.c:
13954 * xdisp.c:
13955 * alloc.c: Remove code containing references to symbols defined by
13956 unsupported systems.
13957
139582008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13959
13960 * coding.c (detect_coding_mask): Fix previous change.
13961
139622008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13963
13964 * coding.c (detect_coding_iso2022): New arg
13965 latin_extra_code_state. Allow Latin extra codes only
13966 when *latin_extra_code_state is nonzero.
13967 (detect_coding_mask): If there is a NULL byte, detect the encoding
13968 as UTF-16 or binary. If Latin extra codes exist, detect the
13969 encoding as ISO-2022 only when there's no other proper encoding is
13970 found.
13971
139722008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13973
13974 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13975 #ifdef MAC_OS.
13976
139772008-01-08 Richard Stallman <rms@gnu.org>
13978
13979 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13980
139812008-01-06 Nick Roberts <nickrob@snap.net.nz>
13982
13983 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13984 menu bar in parentheses.
13985
139862008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13987
13988 * m/7300.h:
13989 * m/acorn.h:
13990 * m/alliant-2800.h:
13991 * m/alliant.h:
13992 * m/alliant1.h:
13993 * m/alliant4.h:
13994 * m/altos.h:
13995 * m/amdahl.h:
13996 * m/apollo.h:
13997 * m/att3b.h:
13998 * m/aviion-intel.h:
13999 * m/aviion.h:
14000 * m/celerity.h:
14001 * m/clipper.h:
14002 * m/cnvrgnt.h:
14003 * m/convex.h:
14004 * m/cydra5.h:
14005 * m/delta88k.h:
14006 * m/dpx2.h:
14007 * m/dual.h:
14008 * m/elxsi.h:
14009 * m/f301.h:
14010 * m/gould-np1.h:
14011 * m/gould.h:
14012 * m/i860.h:
14013 * m/ibmps2-aix.h:
14014 * m/ibmrt-aix.h:
14015 * m/ibmrt.h:
14016 * m/irist.h:
14017 * m/is386.h:
14018 * m/isi-ov.h:
14019 * m/mega68.h:
14020 * m/mg1.h:
14021 * m/news-r6.h:
14022 * m/news-risc.h:
14023 * m/news.h:
14024 * m/nh3000.h:
14025 * m/nh4000.h:
14026 * m/ns16000.h:
14027 * m/ns32000.h:
14028 * m/nu.h:
14029 * m/orion.h:
14030 * m/orion105.h:
14031 * m/paragon.h:
14032 * m/pfa50.h:
14033 * m/plexus.h:
14034 * m/pyramid.h:
14035 * m/pyrmips.h:
14036 * m/sh3el.h:
14037 * m/sps7.h:
14038 * m/sr2k.h:
14039 * m/stride.h:
14040 * m/sun1.h:
14041 * m/sun2.h:
14042 * m/sun3-68881.h:
14043 * m/sun3-fpa.h:
14044 * m/sun3-soft.h:
14045 * m/sun3.h:
14046 * m/sun386.h:
14047 * m/symmetry.h:
14048 * m/tad68k.h:
14049 * m/tahoe.h:
14050 * m/targon31.h:
14051 * m/tek4300.h:
14052 * m/tekxd88.h:
14053 * m/tower32.h:
14054 * m/tower32v3.h:
14055 * m/ustation.h:
14056 * m/wicat.h:
14057 * m/xps100.h:
14058 * s/cxux.h:
14059 * s/cxux7.h:
14060 * s/dgux.h:
14061 * s/dgux4.h:
14062 * s/dgux5-4-3.h:
14063 * s/dgux5-4r2.h:
14064 * s/esix.h:
14065 * s/esix5r4.h:
14066 * s/hiuxmpp.h:
14067 * s/hiuxwe2.h:
14068 * s/iris3-5.h:
14069 * s/iris3-6.h:
14070 * s/isc2-2.h:
14071 * s/isc3-0.h:
14072 * s/isc4-0.h:
14073 * s/isc4-1.h:
14074 * s/newsos5.h:
14075 * s/newsos6.h:
14076 * s/osf1.h:
14077 * s/osf5-0.h:
14078 * s/riscix1-1.h:
14079 * s/riscix12.h:
14080 * s/sco4.h:
14081 * s/sco5.h:
14082 * s/sunos4-0.h:
14083 * s/sunos4-1.h:
14084 * s/sunos413.h:
14085 * s/sunos4shr.h:
14086 * s/umax.h:
14087 * s/unipl5-2.h:
14088 * s/xenix.h:
14089 * cxux-crt0.s:
14090 * unexapollo.c:
14091 * unexconvex.c:
14092 * unexenix.c:
14093 * unexsni.c: Remove files for systems no longer supported.
14094
14095 * m/intel386.h: Remove references to unsupported systems.
14096
14097 * w32.c (get_emacs_configuration): Remove reference to i860.
14098
14099 * sysdep.c: Remove dead code.
14100
141012008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
14102
14103 * s/rtu.h:
14104 * m/masscomp.h: Remove files. Platform is obsolete.
14105
141062008-01-04 Michael Albinus <michael.albinus@gmx.de>
14107
14108 * dbusbind.c (Fdbus_method_return): New function.
14109 (xd_read_message): Add the serial number to the event.
14110 (Fdbus_register_method): Activate the function.
14111
141122008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
14113
14114 * keyboard.c (read_key_sequence): Fix typo.
14115
141162008-01-03 Michael Albinus <michael.albinus@gmx.de>
14117
14118 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
14119 (xd_signature, xd_append_arg): Handle element type detection for
14120 empty arrays.
14121 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
14122 SDATA () calls; this must be solved more general.
14123 (Fdbus_register_signal): Use SBYTES instead of strlen.
14124
141252008-01-03 Magnus Henoch <magnus@zemdatav>
14126
14127 * dbusbind.c (xd_append_arg): Use unsigned char instead of
14128 unsigned int for byte values (necessary for big-endian platform).
14129 (Fdbus_call_method): Handle the case of no returned arguments.
14130
141312007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
14132
14133 * dbusbind.c (xd_read_message): Use non-static input_event struct.
14134
141352007-12-31 Magnus Henoch <mange@freemail.hu>
14136
14137 * dbusbind.c (xd_signature): Signature of variant is just "v".
14138
141392007-12-30 Michael Albinus <michael.albinus@gmx.de>
14140
14141 * dbusbind.c: Fix several errors and compiler warnings.
14142 Reported by Tom Tromey <tromey@redhat.com>.
14143 (XD_ERROR, XD_DEBUG_MESSAGE)
14144 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
14145 (xd_append_arg): Part for basic D-Bus types rewritten.
14146 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
14147 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
14148 appropriate.
14149 (xd_read_message): Return Qnil. Don't signal an error; it is not
14150 useful during event reading.
14151 (Fdbus_register_signal): Signal an error if the check for
14152 FUNCTIONP fails.
14153 (Fdbus_register_method): New function. The implementation is not
14154 complete, the call of the function signals an error therefore.
14155 (Fdbus_unregister_object): New function, renamed from
14156 Fdbus_unregister_signal. The initial check signals an error, if
14157 the object is not well formed.
14158
141592007-12-30 Richard Stallman <rms@gnu.org>
14160
14161 * textprop.c (get_char_property_and_overlay):
14162 Signal error if POSITION is out of range in a buffer.
14163
141642007-12-29 Martin Rudalics <rudalics@gmx.at>
14165
14166 * w32fns.c (Fx_create_frame): Make copy of frame parameters
14167 because the original parameters are in pure storage now.
14168
141692007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14170
14171 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
14172
141732007-12-22 Eli Zaretskii <eliz@gnu.org>
14174
14175 * callint.c (syms_of_callint) <command-history>: Add reference to
14176 history-length in the doc string.
14177
141782007-12-17 Jason Rumney <jasonr@gnu.org>
14179
14180 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
14181 before passing as wParam.
14182
141832007-12-22 Michael Albinus <michael.albinus@gmx.de>
14184
14185 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
14186 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
14187 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
14188 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14189 as number.
14190 (Fdbus_call_method): Fix docstring.
14191
141922007-12-21 Michael Albinus <michael.albinus@gmx.de>
14193
14194 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14195 New macros.
14196 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14197 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14198 Simplify.
14199 (xd_signature): New function.
14200 (xd_append_arg): Compute also signatures. Major rewrite.
14201 (xd_retrieve_arg): Make debug messages friendly.
14202 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14203 Check for signatures of arguments.
14204
142052007-12-19 Michael Albinus <michael.albinus@gmx.de>
14206
14207 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14208 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14209 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14210 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14211 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14212 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14213 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14214 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14215 (xd_retrieve_value): Remove. Functionality included in ...
14216 (xd_append_arg): New function.
14217 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14218
142192007-12-16 Michael Albinus <michael.albinus@gmx.de>
14220
14221 * dbusbind.c (top): Include <stdio.h>.
14222 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14223 dbus_message_new_method_call and dbus_message_new_signal.
14224 (Fdbus_register_signal): Rename unique_name to uname.
14225 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14226 non-existing unique name. Fix typos in matching rule. Return an
14227 object which is useful in Fdbus_unregister_signal.
14228 (Fdbus_unregister_signal): Reimplementation, in order to remove
14229 only the corresponding entry.
14230 (Vdbus_registered_functions_table): Change the order of entries.
14231 Apply these changes in xd_read_message and Fdbus_register_signal.
14232
142332007-12-16 Andreas Schwab <schwab@suse.de>
14234
14235 * fileio.c (Finsert_file_contents): Fix overflow check to not
14236 depend on undefined integer overflow.
14237
142382007-12-14 Jason Rumney <jasonr@gnu.org>
14239
14240 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14241 for characters above 127.
14242
142432007-12-13 Jason Rumney <jasonr@gnu.org>
14244
14245 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14246 before dereferencing array.
14247 (lookup_vk_code): Remove zero comparison.
14248
142492007-12-14 Michael Albinus <michael.albinus@gmx.de>
14250
14251 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14252 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14253 Use `unsigned int' instead of `uint'.
14254 (xd_read_message, Fdbus_register_signal): Split expressions into
14255 multiple lines before operators "&&" and "||", according to the
14256 GNU Coding Standards.
14257
142582007-12-14 Eli Zaretskii <eliz@gnu.org>
14259
14260 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14261
142622007-12-12 Juri Linkov <juri@jurta.org>
14263
14264 * buffer.c (Frename_buffer): In interactive spec replace
14265 `read-buffer' with `read-string' that uses `buffer-name-history'
14266 as history, and the current buffer's name as default.
14267
142682007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14269
14270 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14271 manipulating the backtrace manually.
14272 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14273 (struct backtrace, backtrace_list): Remove.
14274 (command_loop_1): Remove dead var `no_direct'.
14275
14276 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14277 preserve non-built-in buffer-local variables.
14278 (Fkill_all_local_variables): Don't re-create&re-set permanent
14279 buffer-local variables.
14280
142812007-12-09 Juri Linkov <juri@jurta.org>
14282
14283 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14284 Lisp code that uses `read-buffer' with current buffer as default.
14285
142862007-12-08 Michael Albinus <michael.albinus@gmx.de>
14287
14288 * dbusbind.c (xd_read_message): Generate an event for every
14289 registered handler. There might be several handlers registered
14290 for the same signal.
14291 (Fdbus_register_signal): Don't overwrite a registration for the
14292 same signal. Add a new registration if handlers are different.
14293 (Vdbus_registered_functions_table): Rework doc string.
14294
142952007-12-07 Michael Albinus <michael.albinus@gmx.de>
14296
14297 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14298 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14299 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14300 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14301 Unify argument lists.
14302 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14303 arguments and hash table keys. Use unique name for service.
14304 (Fdbus_unregister_signal): Remove checks.
14305 (Vdbus_registered_functions_table): Fix doc string.
14306
143072007-12-05 Magnus Henoch <mange@freemail.hu>
14308
14309 * process.c (make_process): Initialize pty_flag to 0.
14310
143112007-12-05 Jason Rumney <jasonr@gnu.org>
14312
14313 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14314 specified XBMs.
14315
143162007-12-05 Richard Stallman <rms@gnu.org>
14317
14318 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14319
143202007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14321
14322 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14323 New variable.
14324 (mac_try_close_socket) [MAC_OSX]: New function.
14325 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14326 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14327
14328 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14329 Use mac_try_close_socket.
14330
143312007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14332
14333 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14334 reloc_base.
14335 (copy_dysymtab): Compute relocation base here.
14336 (rebase_reloc_address) [__ppc64__]: New function.
14337 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14338 changed.
14339
143402007-12-05 Jason Rumney <jasonr@gnu.org>
14341
14342 * w32proc.c (sys_spawnve): Quote args with wildcards.
14343
143442007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14345
14346 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14347 __objc_* sections.
14348 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14349
143502007-12-05 Michael Albinus <michael.albinus@gmx.de>
14351
14352 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14353 Move check for Vdbus_registered_functions_table to
14354 xd_read_queued_messages.
14355 (xd_read_queued_messages): Protect xd_read_message calls by
14356 internal_condition_case_1.
14357
143582007-12-04 Michael Albinus <michael.albinus@gmx.de>
14359
14360 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14361 Qdbus_system_bus and Qdbus_session_bus, respectively.
14362 (Vdbus_intern_symbols): Remove.
14363 (Vdbus_registered_functions_table): New hash table.
14364 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14365 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14366 Rewrite in order to manage registered functions by hash table
14367 Vdbus_registered_functions_table.
14368
143692007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14370
14371 * xterm.c: Update URL to Window Manager Specification in comment.
14372
143732007-12-02 Michael Albinus <michael.albinus@gmx.de>
14374
14375 * config.in (HAVE_DBUS): Add.
14376
14377 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14378 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14379 (obj): Add $(DBUS_OBJ).
14380 (LIBES): Add $(DBUS_LIBS).
14381 (dbusbind.o): New target.
14382
14383 * dbusbind.c: New file.
14384
14385 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14386
14387 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14388 (Qdbus_event): New Lisp symbol.
14389 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14390 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14391 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14392
14393 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14394
143952007-12-01 Richard Stallman <rms@gnu.org>
14396
14397 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14398
143992007-11-30 Jason Rumney <jasonr@gnu.org>
14400
14401 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14402 (w32con_reset_terminal_modes): Clear screen buffer.
14403 (w32_face_attributes): Don't use color indexes that are out of range.
14404 Only reverse the default colors.
14405
14406 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14407 WINDOWSNT.
14408
14409 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14410
144112007-11-29 Jason Rumney <jasonr@gnu.org>
14412
14413 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14414 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14415 if the terminal colors are initialized.
14416 (unspecified_fg, unspecified_bg): Remove unused declarations.
14417
144182007-11-29 Andreas Schwab <schwab@suse.de>
14419
14420 * keyboard.c (apply_modifiers): Fix typo.
14421
144222007-11-29 Richard Stallman <rms@gnu.org>
14423
14424 * keymap.c (Fcurrent_local_map): Doc fix.
14425
144262007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14427
14428 * s/gnu-kfreebsd.h: New file.
14429
144302007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14431
14432 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14433 Don't cast redundantly.
14434
14435 * keyboard.c (KEY_TO_CHAR): New macro.
14436 (parse_modifiers, apply_modifiers): Accept integer arguments.
14437 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14438 for chars and symbol keys.
14439 After doing such remapping, apply function-key-map again.
14440
144412007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14442
14443 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14444 compiled anymore.
14445
144462007-11-26 Andreas Schwab <schwab@suse.de>
14447
14448 * process.c (list_processes_1): Fix indentation level of the
14449 command column.
14450
144512007-11-23 Andreas Schwab <schwab@suse.de>
14452
14453 * editfns.c (Fformat): Handle %c specially since it requires the
14454 argument to be of type int.
14455
144562007-11-23 Markus Triska <markus.triska@gmx.at>
14457
14458 * emacs.c (main): Call init_editfns before init_process, since
14459 init_process sets Vprocess_connection_type depending on OS release.
14460
144612007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14462
14463 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14464 (find_symbol_value): Use do_symval_forwarding.
14465
14466 * data.c (set_internal): Set the value in the `cons-cell' (for
14467 Buffer_Local_values) not only for frame-local variables.
14468
144692007-11-22 Andreas Schwab <schwab@suse.de>
14470
14471 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14472 values to sprintf.
14473 * keymap.c (Fsingle_key_description): Likewise.
14474 * print.c (print_object): Likewise.
14475
144762007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14477
14478 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14479 file for image is nil.
14480
144812007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14482
14483 * term.c: Include stdarg.h.
14484 (fatal): Implement using varargs.
14485 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14486
144872007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14488
14489 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14490 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14491 Update call to buffer_slot_type_mismatch.
14492 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14493 (buffer_slot_type_mismatch): Update.
14494 * buffer.c (buffer_local_types): Remove.
14495 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14496 (defvar_per_buffer): Set the type in the buffer_objfwd.
14497
144982007-11-21 Jason Rumney <jasonr@gnu.org>
14499
14500 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14501 CreateFileMapping returns NULL on failure.
14502
145032007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14504
14505 * search.c (Fset_match_data): Remove the `evaporate' feature.
14506 (unwind_set_match_data): Don't use the `evaporate' feature.
14507
145082007-11-21 Jason Rumney <jasonr@gnu.org>
14509
14510 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14511
14512 * w32console.c (w32con_write_glyphs): Remove unused variables.
14513
145142007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14515
14516 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14517
14518 * s/darwin.h (MULTI_KBOARD): Remove.
14519
14520 * macfns.c (x_create_tip_frame, Fx_create_frame)
14521 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14522
145232007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14524
14525 * buffer.c (Fbuffer_local_value): Remove redundant test.
14526 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14527 than in `current-buffer' to match the comment.
14528 Do the swap using swap_in_global_binding.
14529
14530 * data.c (store_symval_forwarding, set_internal):
14531 * eval.c (specbind): Remove dead code.
14532
14533 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14534 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14535 Since we do not want to see internal Lisp_*fwd objects here.
14536
145372007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14538
14539 * sysdep.c (init_system_name): Use getaddrinfo if available.
14540
14541 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14542 (x_scroll_bar_note_movement): start, end, with, height in struct
14543 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14544
145452007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14546
14547 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14548
145492007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14550
14551 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14552 This undoes Richard's change of 14-Oct-2002.
14553
14554 * alloc.c (allocate_other_vector):
14555 * lisp.h (allocate_other_vector): Remove.
14556
14557 * window.c (struct save_window_data): Move non-lisp data to the end
14558 and make it `int' rather than Lisp_Object.
14559 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14560 Done wrap/unwrap integer values.
14561 (Fset_window_configuration, compare_window_configurations):
14562 Update use of fields to their new types.
14563
14564 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14565 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14566 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14567 (SET_SCROLL_BAR_X_WINDOW): Remove.
14568 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14569 Access the new x_window field directly.
14570 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14571 Don't wrap/unwrap integers into Lisp_Objects.
14572 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14573 (x_scroll_bar_report_motion):
14574 Don't wrap/unwrap integers into Lisp_Objects.
14575 (x_term_init): Use SDATA.
14576 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14577 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14578 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14579 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14580 * xfns.c (x_set_background_color):
14581 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14582 Access the new x_window field directly.
14583
14584 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14585 (allocate_pseudovector): Make non-static.
14586
14587 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14588 (allocate_pseudovector): Declare.
14589 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14590
145912007-11-15 Andreas Schwab <schwab@suse.de>
14592
14593 * editfns.c (Fformat): Correctly format EMACS_INT values.
14594 Also take precision into account when formatting an integer.
14595
14596 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14597
145982007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14599
14600 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14601 (syms_of_keyboard): Defsubr it.
14602
14603 * data.c (swap_in_global_binding): Fix longstanding bug where
14604 store_symval_forwarding was not called with the right second argument,
14605 thus causing objfwd-ing from being dropped.
14606
146072007-11-14 Juanma Barranquero <lekktu@gmail.com>
14608
14609 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14610 (Fx_display_pixel_height, Fx_display_planes)
14611 (Fx_display_color_cells, Fx_server_max_request_size)
14612 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14613 (Fx_display_visual_class, Fx_display_save_under):
14614 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14615 (Fx_display_pixel_height, Fx_display_planes)
14616 (Fx_display_color_cells, Fx_server_max_request_size)
14617 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14618 (Fx_display_mm_height, Fx_display_mm_width)
14619 (Fx_display_backing_store, Fx_display_visual_class)
14620 (Fw32_select_font, Fx_display_save_under):
14621 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14622 (Fx_display_pixel_height, Fx_display_planes)
14623 (Fx_display_color_cells, Fx_server_max_request_size)
14624 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14625 (Fx_display_save_under): Fix typos in docstrings.
14626
146272007-11-14 Juanma Barranquero <lekktu@gmail.com>
14628
14629 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14630 corresponding to deleted entries; they are an implementation detail.
14631 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14632 Remove variables.
14633 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14634 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14635 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14636 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14637 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14638 (Fw32_define_rgb_color, Fw32_load_color_file)
14639 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14640 Fix typos in docstrings.
14641 (Fx_server_version): Reflow docstring.
14642 (Fw32_shell_execute): Doc fixes.
14643
146442007-11-13 Juanma Barranquero <lekktu@gmail.com>
14645
14646 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14647 if w32_parse_hot_key returned nil.
14648
146492007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14650
14651 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14652
146532007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14654
aac0c6e3
MR
14655 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14656
14657 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14658
14659 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14660 Remove W32_SCROLL_BAR_CLICK_EVENT.
14661
14662 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14663 Add MULTIMEDIA_KEY_EVENT.
14664
14665 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14666 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14667 (make_lispy_event) [WINDOWSNT]: Use it to translate
14668 MULTIMEDIA_KEY_EVENT.
14669
14670 * w32term.h (WM_APPCOMMAND): Define if not already.
14671 (GET_APPCOMMAND_LPARAM): Likewise.
14672
14673 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14674 WM_APPCOMMAND.
14675
14676 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14677 (syms_of_w32fns): Export and initialize it.
14678 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14679
146802007-11-09 Chong Yidong <cyd@stupidchicken.com>
14681
14682 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14683 twice.
14684
14685 * xdisp.c (handle_face_prop): Fix last change.
14686
146872007-11-09 Richard Stallman <rms@gnu.org>
14688
14689 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14690 not just for after-strings and before-strings.
14691 Call face_for_overlay_string and pass the overlay to it.
14692 (handle_display_prop): Determine whether property came from an overlay.
14693 Pass OVERLAY arg to handle_single_display_spec.
14694 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14695 (load_overlay_strings): Fill in it->string_overlays.
14696 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14697
14698 * xfaces.c (face_for_overlay_string): Function renamed from
14699 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14700
14701 * dispextern.h (struct it): New elt string_overlays.
14702 New elt from_overlay, also in stack.
14703 Rearrange a few elements.
14704 (face_for_overlay_string): Decl renamed from
14705 face_at_buffer_position_no_overlays, and add argument.
14706
147072007-11-09 Richard Stallman <rms@gnu.org>
14708
14709 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14710 to get the base face for an overlay string.
14711
14712 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14713
14714 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14715
14716 * xdisp.c (handle_stop): Move some code out of loop.
14717
147182007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14719
14720 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14721 Fix conversion from Lisp object to ATSUFontID.
14722
147232007-11-09 Jason Rumney <jasonr@gnu.org>
14724
14725 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14726
147272007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14728
14729 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14730 Don't assume regions are aligned to page boundary.
14731 (print_load_command_name): Add LC_UUID if defined.
14732
147332007-11-09 Richard Stallman <rms@gnu.org>
14734
14735 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14736
147372007-11-07 Jason Rumney <jasonr@gnu.org>
14738
14739 * s/windows95.h: Remove.
14740
147412007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14742
14743 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14744 abort with a message on unhandled store_type values.
14745
147462007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14747
14748 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14749 Remove HAVE_X11R5 and HAVE_X11R4.
14750
147512007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14752
14753 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14754
147552007-11-01 Johan Bockgård <bojohan@gnu.org>
14756
14757 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14758 Don't set s->stippled_p here, since it has already been set by
14759 x_set_glyph_string_gc from x_draw_glyph_string.
14760
147612007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14762
14763 * sunfns.c: Remove file.
14764
14765 * m/sun386.h:
14766 * m/sun2.h:
14767 * m/sparc.h: Remove Sun windows code.
14768
147692007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14770
14771 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14772 (init_keyboard): Set current_kboard's window-system to nil.
14773 (tty_read_avail_input): Typo.
14774 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14775
147762007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14777
14778 * s/usg5-4.h:
14779 * s/usg5-3.h:
14780 * s/ptx.h:
14781 * m/is386.h:
14782 * m/ibmps2-aix.h:
14783 * Makefile.in: Remove all mentions of X10.
14784
14785 * dispnew.c (syms_of_display): Don't mention version 10.
14786
147872007-10-28 Juanma Barranquero <lekktu@gmail.com>
14788
14789 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14790 ($(BLD)/abbrev.$(O)): Remove.
14791
147922007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14793
14794 Rewrite abbrev.c in Elisp.
14795 * image.c (Qcount): Don't declare as extern.
14796 (syms_of_image): Initialize and staticpro `Qcount'.
14797 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14798 * emacs.c (main): Don't call syms_of_abbrev.
14799 * Makefile.in (obj): Remove abbrev.o.
14800 (abbrev.o): Remove.
14801 * abbrev.c: Remove.
14802
148032007-10-26 Martin Rudalics <rudalics@gmx.at>
14804
14805 * window.c (window_min_size_2): Don't count header-line.
14806
148072007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14808
14809 * frame.h (struct frame): Move all bit fields after the first bit
14810 field to take advantage of the available space. Group all the
14811 chars together to reduce wasted space due to padding.
14812
148132007-10-26 Juanma Barranquero <lekktu@gmail.com>
14814
14815 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14816
14817 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14818 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14819 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14820 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14821 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14822 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14823 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14824 (last_marked, mark_object_loop_halt): Make static.
14825
14826 * frame.c (syms_of_frame) <delete-frame-functions>:
14827 Fix typo in docstring.
14828
148292007-10-25 Juanma Barranquero <lekktu@gmail.com>
14830
14831 * w32.c (init_environment): Fix tiny memory leak.
14832 (w32_get_resource): Remove unused variable `ok'.
14833
148342007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14835
14836 Make `window-system' into a keyboard-local variable (rather than
14837 frame-local as done originally by multi-tty).
14838
14839 * keyboard.h (struct kboard): Add Vwindow_system.
14840 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14841 (mark_kboards): Mark Vwindow_system.
14842
14843 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14844 (init_display): Don't set the obsolete `window-system' frame-param.
14845
14846 * xterm.c (x_term_init):
14847 * w32term.c (w32_create_terminal):
14848 * term.c (init_tty): Set Vwindow_system.
14849 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14850 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14851
14852 * xfns.c (Fx_create_frame, x_create_tip_frame):
14853 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14854 * macfns.c (Fx_create_frame):
14855 Don't set the obsolete `window-system' frame-param.
14856
14857 * frame.h (Qwindow_system): Remove.
14858 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14859 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14860
148612007-10-24 Richard Stallman <rms@gnu.org>
14862
14863 * frame.c (x_figure_window_size): For fullscreen case,
14864 set USPosition | PPosition without clobbering rest of window_prompting.
14865
14866 * keyboard.c (Fcurrent_idle_time): Doc fix.
14867
14868 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14869
148702007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14871
14872 * process.c (unwind_request_sigio): Only define if __ultrix__.
14873
14874 * callproc.c (child_setup): Remove spurious *.
14875
14876 * lisp.h (Fget_text_property): Declare.
14877 (have_menus_p): Declare it here rather than in sys-dep header files.
14878 * macterm.h (have_menus_p):
14879 * msdos.h (have_menus_p):
14880 * xterm.h (have_menus_p): Remove.
14881
14882 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14883 (Fmake_variable_frame_local): Just check the variable's const-ness
14884 rather than checking nil or t.
14885
148862007-10-22 Jason Rumney <jasonr@gnu.org>
14887
14888 * w32fns.c: Include math.h.
14889 (w32_abort): Declaration moved to nt/config.nt.
14890
14891 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14892 (abort): Redefinition moved to nt/config.nt.
14893
14894 * m/windowsnt.h: Remove.
14895
148962007-10-22 Juanma Barranquero <lekktu@gmail.com>
14897
14898 * emacs.c (Fdump_emacs): Fix typo in message.
14899 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14900 <installation-directory>: Reflow docstring.
14901
149022007-10-22 Juri Linkov <juri@jurta.org>
14903
14904 * minibuf.c: Allow minibuffer default to be a list of default values.
14905 With empty input use the first element of this list as returned default.
14906 (string_to_object)
14907 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14908 (read_minibuf): If defalt is cons, set histstring to its car.
14909 (Fread_string): If default_value is cons, set val to its car.
14910 (Fread_buffer): If def is cons, use its car.
14911 (Fcompleting_read): If defalt is cons, set val to its car.
14912
149132007-10-21 Michael Albinus <michael.albinus@gmx.de>
14914
14915 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14916
149172007-10-20 Juanma Barranquero <lekktu@gmail.com>
14918
14919 * doc.c (Fdocumentation): Check for advice in all cases.
14920
149212007-10-19 Chong Yidong <cyd@stupidchicken.com>
14922
14923 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14924
149252007-10-19 Richard Stallman <rms@gnu.org>
14926
14927 * doc.c (Fdocumentation): Check for and handle an advised function.
14928
149292007-10-19 Juanma Barranquero <lekktu@gmail.com>
14930
14931 * process.c (Fset_process_filter): Doc fix.
14932
149332007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14934
14935 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14936 which caused key-translation-map to applied repeatedly (thus breaking
14937 double-mode).
14938
149392007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14940
14941 * xselect.c (x_own_selection, x_handle_selection_clear)
14942 (x_clear_frame_selections):
14943 * w32menu.c (list_of_panes, list_of_items):
14944 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14945 * textprop.c (validate_plist, interval_has_all_properties)
14946 (interval_has_some_properties, interval_has_some_properties_list)
14947 (add_properties, text_property_list):
14948 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14949 * minibuf.c (Fassoc_string):
14950 * macselect.c (x_own_selection, x_clear_frame_selections)
14951 (Fx_disown_selection_internal):
14952 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14953 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14954
149552007-10-17 Chong Yidong <cyd@stupidchicken.com>
14956
14957 * process.c: Link to libs for calling res_init() if available.
14958 (Fmake_network_process): Call res_init() before getaddrinfo or
14959 gethostbyname, if possible.
14960
149612007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14962
14963 * lread.c (read1): Set pvectype for char_tables.
14964
14965 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14966 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14967 Add type checks.
14968 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14969
14970 * alloc.c (free_misc): Use XMISCTYPE.
14971 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14972
149732007-10-17 Glenn Morris <rgm@gnu.org>
14974
14975 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14976 (syms_of_minibuf): Add Qcompletion_ignore_case.
14977 * dired.c (Qcompletion_ignore_case): Change to external.
14978 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14979 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14980 (Fread_file_name): Use it rather than intern'ing.
14981
14982 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14983 (Fread_coding_system): Ignore case of user input.
14984
149852007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14986
14987 * xdisp.c (handle_display_prop): Ignore display specs after
14988 replacing one when string text is being replaced.
14989 (handle_single_display_spec): Pretend as if characters with display
14990 property haven't been consumed only when buffer text is being replaced.
14991
149922007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14993
14994 * xfns.c (Fx_create_frame, Fx_display_list):
14995 * window.c (window_fixed_size_p, enlarge_window)
14996 (shrink_window_lowest_first):
14997 * macterm.c (init_font_name_table):
14998 * macfns.c (Fx_create_frame, Fx_display_list):
14999 * lread.c (close_load_descs):
15000 * keyboard.c (read_char_x_menu_prompt):
15001 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
15002 * coding.c (code_convert_region_unwind): Test the type of an object
15003 rather than just !NILP before extracting data from it.
15004
15005 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
15006
15007 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
15008 (XMISCANY): New macro.
15009 (XMISCTYPE): Use it.
15010 (struct Lisp_Misc_Any): New type.
15011 (union Lisp_Misc): Use it.
15012 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
15013 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
15014 (find_symbol_value, set_internal, default_value, Fset_default)
15015 (Fmake_variable_buffer_local, Fmake_local_variable)
15016 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
15017 (Flocal_variable_if_set_p, Fvariable_binding_locus):
15018 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
15019 * alloc.c (allocate_buffer): Set the size and tag.
15020 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
15021 Use XMISCANY.
15022 (die): Follow the GNU convention for error messages.
15023 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
15024 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
15025 tag any more.
15026 (set_buffer_internal_1):
15027 * frame.c (store_frame_param):
15028 * eval.c (specbind):
15029 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
15030
15031 * doc.c (Fsnarf_documentation): Simplify.
15032
150332007-10-14 Juanma Barranquero <lekktu@gmail.com>
15034
15035 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
15036 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
15037
150382007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
15039
15040 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
15041
150422007-10-14 Juanma Barranquero <lekktu@gmail.com>
15043
15044 * eval.c (do_autoload): Don't save autoloads.
15045
15046 * data.c (Ffset): Save autoload of the function being set.
15047
150482007-10-07 John Paul Wallington <jpw@pobox.com>
15049
15050 * xfns.c (x_create_tip_frame): Set the `display-type' frame
15051 parameter before setting up faces.
15052
150532007-10-13 Eli Zaretskii <eliz@gnu.org>
15054
15055 * ccl.c (Fregister_code_conversion_map):
15056 * keyboard.c (append_tool_bar_item): Reformat last change.
15057
15058 * lisp.h (eabs): Rename from `abs'. All callers changed.
15059
150602007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
15061
15062 * buffer.c (add_overlay_mod_hooklist):
15063 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
15064 * fontset.c (make_fontset):
15065 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
15066 (append_tool_bar_item):
15067 * macmenu.c (grow_menu_items):
15068 * w32menu.c (grow_menu_items):
15069 * xmenu.c (grow_menu_items): Use larger_vector.
15070
150712007-10-13 Eli Zaretskii <eliz@gnu.org>
15072
15073 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
15074 selected frame'' on MSDOS).
15075
150762007-10-12 Martin Rudalics <rudalics@gmx.at>
15077
15078 * frame.c (Qexplicit_name): New variable.
15079 (x_report_frame_params): Report it in parameter alist.
15080 (syms_of_frame): Intern and staticpro it.
15081
150822007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
15083
15084 * macfns.c (x_create_tip_frame): Set terminal for frame.
15085
150862007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
15087
15088 * frame.c (Qenvironment): Remove.
15089 (syms_of_frame) <Qenvironment>: Don't initialize.
15090 (Fdelete_frame): Don't treat the `environment' param specially.
15091 * frame.h (Qenvironment): Don't declare.
15092 * callproc.c (set_initial_environment): Don't set unused frame param.
15093
15094 * frame.c (Fframe_with_environment): Remove.
15095 (syms_of_frame) <Sframe_with_environment>: Don't declare.
15096
15097 * lisp.h (Fframe_with_environment): Don't declare.
15098
150992007-10-10 Juanma Barranquero <lekktu@gmail.com>
15100
15101 * indent.c (indent_tabs_mode, last_known_column)
15102 (last_known_column_modified): Make static.
15103 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
15104
151052007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
15106
15107 * puresize.h (BASE_PURESIZE): Increase to 1170000.
15108
151092007-10-09 Jason Rumney <jasonr@gnu.org>
15110
15111 * w32term.c (x_set_window_size): Disable code that attempts to tell
15112 Lisp code about a size change before it actually happens.
15113
151142007-10-09 Richard Stallman <rms@gnu.org>
15115
15116 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
15117 return HANDLED_RETURN.
15118
151192007-10-08 Martin Rudalics <rudalics@gmx.at>
15120
15121 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
15122 when there's an unread command event.
15123
15124 * frame.c (focus_follows_mouse): Move here from frame.el to allow
15125 window autoselection act appropriately when leaving selected frame.
15126 (syms_of_frame): Initialize focus_follows_mouse.
15127 * frame.h (focus_follows_mouse): Extern it.
15128 * macterm.c (XTread_socket): When focus_follows_mouse is nil
15129 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
15130 * msdos.c (dos_rawgetc): Likewise.
15131 * w32term.c (w32_read_socket): Likewise.
15132 * xterm.c (handle_one_xevent): Likewise.
15133 * xdisp.c (syms_of_xdisp): In doc-string of
15134 mouse-autoselect-window mention focus-follows-mouse.
15135
151362007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15137
15138 * macterm.c (mac_load_query_font): Fix missing return value.
15139 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
15140 Add BLOCK_INPUT.
15141
151422007-10-08 Richard Stallman <rms@gnu.org>
15143
15144 * xdisp.c (get_window_cursor_type): Implement documented behavior
15145 for cursor-in-non-selected-windows = t.
15146
151472007-10-08 Jason Rumney <jasonr@gnu.org>
15148
15149 * w32.c (w32_get_resource): Always close registry keys.
15150
151512007-10-08 Jason Rumney <jasonr@gnu.org>
15152
15153 * makefile.w32-in (LIBS): Add COMCTL32.
15154
15155 * w32fns.c (globals_of_w32fns): Init common controls.
15156
151572007-10-08 Richard Stallman <rms@gnu.org>
15158
15159 * image.c (our_memory_buffer): Rename from omfib_buffer.
15160
151612007-10-08 Richard Stallman <rms@gnu.org>
15162
15163 * buffer.c (Foverlays_at): Doc fix.
15164
151652007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
15166
15167 * fns.c (Fplist_put): Preserve uneven tail data.
15168
151692007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
15170
15171 * termhooks.h (enum event_kind): Remove trailing comma.
15172
15173 * frame.h (enum): Remove trailing comma.
15174
151752007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
15176
15177 * w32proc.c (delete_child): Don't terminate threads of zombies.
15178
151792007-10-08 Martin Rudalics <rudalics@gmx.at>
15180
15181 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
15182
15183 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
15184 last-repeatable-command.
15185 (init_kboard): Initialize Vlast_repeatable_command.
15186 (command_loop_1): Set it to real_this_command unless that was
15187 bound to an input event.
15188 (mark_kboards): Mark it.
15189
151902007-10-08 Richard Stallman <rms@gnu.org>
15191
15192 * eval.c (condition-case): Doc fix.
15193
151942007-10-08 Masatake YAMATO <jet@gyve.org>
15195
15196 * xfaces.c (tty_supports_face_attributes_p): Fix code
15197 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15198 was copied and not edited.
15199
152002007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15201
15202 Add new `input-decode-map' keymap and use it for terminal
15203 escape sequences.
15204 * keyboard.h (struct kboard): Add Vinput_decode_map.
15205 Remove Vlocal_key_translation_map.
15206 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15207 (init_kboard): Init input-decode-map.
15208 Replace local-key-translation-map back with key-translation-map.
15209 (syms_of_keyboard): Declare input-decode-map.
15210 Remove local-key-translation-map. Update docstrings.
15211 (mark_kboards): Mark Vinput_decode_map.
15212 Don't mark Vlocal_key_translation_map.
15213 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15214 Replace local-key-translation-map back with key-translation-map.
15215 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15216 Bind in input-decode-map rather than function-key-map.
15217
15218 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15219 This was made redundant by the previous introduction of XSETPVECTYPE.
15220
152212007-10-09 Richard Stallman <rms@gnu.org>
15222
15223 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15224
152252007-09-29 Richard Stallman <rms@gnu.org>
15226
15227 * eval.c (internal_condition_case_2, internal_condition_case_1)
15228 (internal_condition_case): Reenable abort if x_catching_errors ()
15229 to see if that really happens and why.
15230
152312007-10-06 Andreas Schwab <schwab@suse.de>
15232
15233 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15234
152352007-10-04 Juanma Barranquero <lekktu@gmail.com>
15236
15237 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15238
152392007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15240
15241 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15242
152432007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15244
15245 * window.h (struct window):
15246 * window.c (struct save_window_data, struct saved_window):
15247 * termhooks.h (struct terminal):
15248 * process.h (struct Lisp_Process):
15249 * frame.h (struct frame):
15250 * buffer.h (struct buffer):
15251 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15252 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15253 The size field of (pseudo)vectors is now unsigned.
15254 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15255
15256 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15257 Turn `count' into an integer.
15258
15259 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15260 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15261 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15262 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15263 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15264
15265 * alloc.c (allocate_pseudovector): New fun.
15266 (ALLOCATE_PSEUDOVECTOR): New macro.
15267 (allocate_window, allocate_terminal, allocate_frame)
15268 (allocate_process): Use it.
15269 (mark_vectorlike): New function.
15270 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15271 (mark_terminals): Use it.
15272 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15273 (Fmake_byte_code): Use XSETPVECTYPE.
15274
15275 * frame.c (Fframe_parameters): Minor simplification.
15276
15277 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15278
15279 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15280
15281 * buffer.c (Fget_buffer_create, init_buffer_once):
15282 * lread.c (defsubr):
15283 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15284
15285 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15286 defined differently in the m/*.h files.
15287 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15288 (XSETPVECTYPE): New macro.
15289 (XSETPSEUDOVECTOR): Use it.
15290
15291 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15292 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15293
15294 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15295 * lread.c (defvar_per_buffer):
15296 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15297
15298 * window.c (candidate_window_p): Only consider as visible frames that
15299 are on the same terminal.
15300
15301 * m/ibms390x.h (MARKBIT): Remove unused macro.
15302
153032007-10-01 Juanma Barranquero <lekktu@gmail.com>
15304
15305 * lread.c (Fload): Fix typo in docstring.
15306
153072007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15308
15309 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15310 of a non-zero value can't yield zero.
15311
153122007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15313
15314 * term.c (term_clear_mouse_face, term_mouse_highlight)
15315 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15316
15317 * print.c (safe_debug_print): Use XHASH.
15318
15319 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15320 Lisp elements such as tags.
15321 (XHASH): New macro.
15322 (EQ): Use it.
15323 (SREF, SSET, STRING_COPYIN): Use SDATA.
15324 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15325
15326 * alloc.c (mark_terminal): Remove left-over declaration.
15327 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15328 (allocate_vectorlike): Remove type argument. Adjust callers.
15329 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15330 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15331
15332 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15333 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15334 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15335 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15336 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15337 Use them.
15338
15339 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15340 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15341 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15342
153432007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15344
15345 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15346 loaded by default.
15347
153482007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15349
15350 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15351 on this tty.
15352 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15353
15354 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15355 Update all users.
15356 (handle_one_term_event): Use Gpm_DrawPointer.
15357 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15358 Signal errors instead of returning nil. Always return nil.
15359 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15360 Make it a noop if gpm-mouse was not activated.
15361 (syms_of_term): Update names.
15362
153632007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15364
15365 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15366 (init_sys_modes): Check that gpm_tty is the current tty.
15367
15368 * alloc.c (allocate_terminal): Set the vector size to only count the
15369 lisp fields. Initialize those to nil.
15370 (mark_object): Don't treat terminals specially.
15371 (mark_terminal): Remove.
15372 (mark_terminals): Use mark_object instead.
15373
15374 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15375 the GC to the beginning.
15376
15377 * indent.h:
15378 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15379
15380 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15381
153822007-09-25 Jason Rumney <jasonr@gnu.org>
15383
15384 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15385
15386 * w32console.c (create_w32cons_output): Remove.
15387
15388 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15389
15390 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15391 (reset_sys_modes): Use reset_terminal_modes_hook.
15392
153932007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15394
15395 * eval.c (do_autoload): Don't output any message.
15396
153972007-09-24 Juri Linkov <juri@jurta.org>
15398
15399 * emacs.c (standard_args): Change priority of "--no-splash"
15400 from 40 to 3. Add "--no-desktop" with the same priority.
15401
154022007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15403
15404 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15405 and optimize the case where they are all 1.
15406
154072007-09-23 Johannes Weiner <hannes@saeurebad.de>
15408
15409 * lisp.h (abs): Define if not defined.
15410 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15411 Don't define `abs', since it's defined in lisp.h.
15412
154132007-09-22 Eli Zaretskii <eliz@gnu.org>
15414
15415 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15416 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15417 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15418 (init_tty): Use DEV_TTY instead of "/dev/tty".
15419 [WINDOWSNT]: No need to protect from NAME arg being null.
15420
154212007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15422
15423 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15424 up the tty state.
15425
154262007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15427
15428 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15429 (gpm_tty): Change its type.
15430 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15431 (gpm_tty): Change its type and initialize it.
15432 (Fterm_open_connection): Check the frame is indeed a tty.
15433 Use the new gpm_tty.
15434 (Fterm_close_connection): Use the new gpm_tty.
15435 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15436 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15437
154382007-09-21 Juanma Barranquero <lekktu@gmail.com>
15439
15440 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15441 underline_color, to draw strike-through.
15442
154432007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15444
15445 * lisp.h (allocate_terminal): Declare.
15446
15447 * window.c (candidate_window_p): Consider frames that are being placed
15448 by the user as somewhere between visible and iconified.
15449 (window_loop): Prefer windows on the current frame.
15450 (Fselect_window): Move the use of select-frame to the beginning so we
15451 can just delegate all the work (it'll call us back anyway).
15452
15453 * frame.c (Qdisplay_environment_variable):
15454 * frame.h (Qdisplay_environment_variable): Delete.
15455
15456 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15457 of the first arg, since that value may be a union.
15458
15459 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15460 parameter rather than Qdisplay_environment_variable. If all else
15461 fails, look for DISPLAY in initial-environment.
15462
154632007-09-21 Glenn Morris <rgm@gnu.org>
15464
15465 * Makefile.in (emacstool): Remove target.
15466 (lisp, shortlisp): Remove termdev.elc.
15467
154682007-09-21 Markus Triska <markus.triska@gmx.at>
15469
15470 * xterm.c (x_delete_display): Compile session management conditionally.
15471
154722007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15473
15474 * callproc.c (getenv_internal_1): New function.
15475 (getenv_internal): Use it.
15476 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15477
15478 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15479 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15480 (Fset_terminal_parameter): Work with dead terminals as well.
15481 (Fmodify_terminal_parameters): Remove.
15482
15483 * terminal.c (get_terminal): Handle terminals.
15484 Make sure the terminal returned is live.
15485 (create_terminal): Use allocate_terminal.
15486 (mark_terminals): Move to alloc.c.
15487 (delete_terminal): Use terminal->name as liveness status.
15488 NULL out fields after freeing their contents.
15489 Don't deallocate the object.
15490 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15491 rather than an int.
15492 (Fterminal_live_p): Accept non-integer arguments.
15493 (Fterminal_list): Return terminal objects rather than an ints.
15494
15495 * alloc.c (enum mem_type): New member for `terminal' objects.
15496 (allocate_terminal): New function.
15497 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15498 Handle terminals.
15499 (mark_terminal): New fun.
15500 (mark_terminals): Move from terminal.c.
15501
15502 * term.c (get_tty_terminal): Don't treat output_initial specially.
15503 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15504 (delete_tty): Use terminal->name as liveness status.
15505
15506 * termhooks.h (struct terminal): Make it into a pseudovector.
15507 Remove `deleted' replaced by checking `name's nullness.
15508
15509 * print.c (print_object): Handle terminals.
15510
15511 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15512 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15513
15514 * frame.c (make_terminal_frame):
15515 * keyboard.c (tty_read_avail_input):
15516 * w32term.c (x_delete_terminal):
15517 * xfns.c (Fx_create_frame, x_create_tip_frame):
15518 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15519
155202007-09-20 Glenn Morris <rgm@gnu.org>
15521
15522 * process.c (Fmake_network_process): Doc fix.
15523
155242007-09-19 Jason Rumney <jasonr@gnu.org>
15525
15526 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15527
155282007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15529
15530 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15531 Fix a C warning regarding variable constness.
15532
15533 * xterm.c (handle_one_xevent): Fix a C warning.
15534
155352007-09-18 Jason Rumney <jasonr@gnu.org>
15536
15537 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15538
155392007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15540
15541 * gtkutil.c (gdpy_def): New variable.
15542 (xg_initialize): Initialize gdpy_def.
15543 (xg_display_close): If no other display exists, set gdpy_def to a
15544 new connection.
15545
155462007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15547
15548 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15549 when we have no file name for the icon.
15550 (xg_tool_bar_expose_callback): Remove.
15551 (xg_create_tool_bar): Don't connect expose signal to
15552 xg_tool_bar_expose_callback.
15553 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15554
155552007-09-16 Andreas Schwab <schwab@suse.de>
15556
15557 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15558 values instead of zapping them.
15559
155602007-09-14 Glenn Morris <rgm@gnu.org>
15561
15562 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15563 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15564 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15565 scope and rename to omfib_buffer for clarity.
15566 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15567
155682007-09-14 Kenichi Handa <handa@m17n.org>
15569
15570 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15571
155722007-09-13 Jason Rumney <jasonr@gnu.org>
15573
15574 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15575
15576 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15577
15578 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15579 (mac_term_init): Call here instead, passing rif.
15580
155812007-09-13 Glenn Morris <rgm@gnu.org>
15582
15583 * s/hpux.h: No longer define `static' as nothing.
15584
155852007-09-13 Johan Bockgård <bojohan@gnu.org>
15586
15587 * callint.c (Fcall_interactively): Remove unused var `fun'.
15588
155892007-09-12 Romain Francoise <romain@orebokech.com>
15590
15591 * window.c (prefer_window_split_horizontally, display_buffer):
15592 Revert 2007-09-08 change.
15593
155942007-09-12 Glenn Morris <rgm@gnu.org>
15595
15596 * alloca.c: Remove file.
15597 * Makefile.in (alloca): Do not undef.
15598 (allocaobj, alloca.o): Remove.
15599 (otherobj): Remove allocaobj.
15600 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15601 * regex.c (C_ALLOCA): Remove all references and code that was only
15602 used when this was defined.
15603 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15604 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15605 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15606
15607 * Makefile.in (SOURCES, unlock, relock): Delete.
15608
15609 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15610 (menu_grab_callback): All uses changed.
15611
15612 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15613 (x_reply_selection_request): All uses changed.
15614
156152007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15616
15617 * lread.c (load_warn_old_style_backquotes): Change message to look
15618 better when it appears in the middle of byte-compiler messages.
15619
156202007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15621
15622 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15623
15624 * xterm.c (x_create_terminal): Add comment.
15625
15626 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15627
156282007-09-10 Richard Stallman <rms@gnu.org>
15629
15630 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15631
156322007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15633
15634 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15635 (DEFUN): Document `intspec', use it instead of `prompt'.
15636
15637 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15638
15639 * data.c (Finteractive_form): If the interactive specification starts
15640 with a `(', use it as a Lisp form.
15641
15642 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15643 name and file modes.
15644
15645 * callint.c (Fcall_interactively): Comment fixes.
15646
156472007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15648
15649 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15650 and compiled functions.
15651
156522007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15653
15654 * window.c (prefer_window_split_horizontally): New variable.
15655 (display_buffer): Consider splitting window horizontally depending
15656 on prefer_window_split_horizontally.
15657
156582007-09-08 Eli Zaretskii <eliz@gnu.org>
15659
15660 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15661
156622007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15663
15664 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15665
15666 * frame.c (x_set_frame_parameters): Check number is positive before
15667 using XFASTINT.
15668
15669 * window.c (freeze_window_start): Don't presume selected_window holds
15670 a window object.
15671 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15672
156732007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15674
15675 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15676
156772007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15678
15679 * window.c (Vsplit_window_preferred_function): New var.
15680 (Fdisplay_buffer): Use it.
15681 (syms_of_window): Export, and initialize it.
15682
156832007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15684
15685 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15686
156872007-09-06 Glenn Morris <rgm@gnu.org>
15688
15689 * gtkutil.c (menu_grab_callback) <cnt>:
15690 * xselect.c (x_reply_selection_request) <cnt>: Move static
15691 variable to file scope.
15692
156932007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15694
15695 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15696 consistent values of selected_frame and selected_window.
15697
156982007-09-04 Jason Rumney <jasonr@gnu.org>
15699
15700 * w32console.c (initialize_w32_display): Zero unused hooks.
15701
157022007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15703
15704 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15705 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15706
157072007-09-04 Jason Rumney <jasonr@gnu.org>
15708
15709 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15710 in w32console.c. Set up input. Remove XXX comments that have been
15711 confirmed as correct.
15712
15713 * s/ms-w32.h (MULTI_KBOARD): Define.
15714
15715 * w32console.c (one_and_only_w32cons): Remove.
15716 (initialize_w32_display): Take terminal argument.
15717
15718 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15719 initialize_w32_display.
15720 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15721
15722 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15723
15724 * keyboard.c (discard_mouse_events): Discard it.
15725 (make_lispy_event): Translate it to a lisp event.
15726 (lispy_wheel_names): Add wheel-left and right events.
15727 (syms_of_keyboard): Enlarge wheel_syms.
15728
15729 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15730 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15731
15732 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15733
15734 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15735 from WM_MOUSEHWHEEL.
15736 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15737
15738 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15739 terminal.
15740
15741 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15742 keyboard for the terminal.
15743
157442007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15745
15746 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15747 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15748 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15749 and resume-tty-function to resume-tty-hook.
15750 (Fsuspend_tty, Fresume_tty): Use new names.
15751
157522007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15753
15754 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15755 if it starts with "n:".
15756
157572007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15758
15759 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15760
157612007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15762
15763 * frame.h:
15764 * frame.c (Qterm_environment_variable): Remove.
15765 (syms_of_frame): Don't init and staticpro it.
15766
15767 * callproc.c (getenv_internal): Remove special case for $TERM.
15768
15769 * callproc.c (Vinitial_environment): New variable.
15770 (set_initial_environment): Initialize it.
15771 (syms_of_callproc): Declare it.
15772 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15773 TERM under which a process runs is never related to the TERM in which
15774 Emacs is running.
15775
157762007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15777
15778 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15779 * s/darwin.h: ... do it here.
15780
157812007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15782
15783 * lisp.h (set_initial_environment): Rename from set_global_environment.
15784
15785 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15786 removed by mistake on the multi-tty branch.
15787
15788 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15789 (Fmodify_frame_parameters): Return a value.
15790
15791 * image.c (png_load): Comment-out var only used in commented-out code.
15792
15793 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15794 before passing it to mark_object.
15795
15796 * xfaces.c (internal_resolve_face_name): Return a value.
15797 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15798
15799 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15800 (x_icon): Comment-out var only used in commented-out code.
15801
158022007-08-29 Romain Francoise <romain@orebokech.com>
15803
15804 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15805 QUIT hasn't been provided.
15806
158072007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15808
15809 * callproc.c (child_setup, getenv_internal): Use the
15810 display-environment-variable and term-environment-variable frame params.
15811 (set_initial_environment): Initialise Vprocess_environment.
15812
15813 * config.in: Disable multi-keyboard support on a mac.
15814
15815 * frame.c (Qterm_environment_variable)
15816 (Qdisplay_environment_variable): New variables.
15817 (syms_of_frame): Intern and staticpro them.
15818 (Fmake_terminal_frame): Disable output method test.
15819
15820 * frame.h: Declare them here.
15821
15822 * macfns.c (x_set_mouse_color): Get rif from the frame.
15823 (x_set_tool_bar_lines): Don't use updating_frame.
15824 (mac_window): Add 2 new parameters for consistency with other systems.
15825 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15826 frame parameters following what is done in X11 and w32. Don't use
15827 FRAME_MAC_DISPLAY_INFO.
15828 (Fx_open_connection, start_hourglass): Remove window-system check.
15829 (x_create_tip_frame): Get the keyboard from the terminal.
15830
15831 * macmenu.c: Reorder includes.
15832 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15833
15834 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15835 terminal parameter.
15836 (x_clear_frame): Add a frame parameter.
15837 (note_mouse_movement): Get rif from the frame.
15838 (mac_term_init): Initialize the terminal.
15839 (mac_initialize): Make static and move terminal initialization ...
15840 (mac_create_terminal): ... to this new function.
15841
15842 * macterm.h (struct mac_display_info): Add terminal.
15843 (mac_initialize): Delete declaration.
15844
15845 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15846
15847 * sysdep.c: Comment out text after #endif.
15848
15849 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15850 is defined. Better initialize ttys in windows. Use terminal
15851 specific mouse_position_hook.
15852
15853 * termhooks.h (union display_info): Add mac_display_info.
15854
15855 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15856 Set the default minibuffer frame, window_system and the rest of the
15857 frame parameters following what is done in X11.
15858
15859 * w32term.c (w32_initialize): Make static.
15860
15861 * xselect.c (x_handle_selection_clear): Only access
15862 terminal->kboard when MULTI_KBOARD is defined.
15863
15864 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15865 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15866
158672007-08-29 Jason Rumney <jasonr@gnu.org>
15868
15869 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15870 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15871
15872 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15873 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15874
15875 * keyboard.c (restore_kboard_configuration): Only define when
15876 MULTI_KBOARD defined.
15877
15878 * makefile.w32-in: Update dependancies from Makefile.in.
15879 (OBJ1): Add terminal.$(O)
15880
15881 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15882 Don't define function body.
15883 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15884
15885 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15886
15887 * w32.c (request_sigio, unrequest_sigio): Remove.
15888
15889 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15890 (w32con_clear_frame, w32con_clear_end_of_line)
15891 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15892 (w32con_delete_glyphs, w32con_set_terminal_window)
15893 (scroll_line, w32_sys_ring_bell): Add frame arg.
15894 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15895 Add terminal arg.
15896 (PICK_FRAME): Remove.
15897 (w32con_write_glyphs): Use frame specific terminal coding.
15898 (one_and_only_w32cons): New global variable.
15899 (initialize_w32_display): Use it for storing hooks.
15900 (create_w32cons_output): New function.
15901
15902 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15903 arg a frame.
15904
15905 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15906 Set window_system.
15907 (x_set_tool_bar_lines): Don't use updating_frame.
15908 (Fx_create_frame): Set terminal and ref count.
15909 (Fx_open_connection): Remove window-system check.
15910
15911 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15912
15913 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15914 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15915 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15916 Add frame arg.
15917 (x_delete_terminal, w32_create_terminal): New functions.
15918 (w32_term_init): Create a terminal.
15919 (w32_initialize): Move terminal specific initialization to
15920 w32_create_terminal.
15921
15922 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15923 (w32_clear_rect, w32_clear_area): Use background from frame.
15924 (w32_display_info): Add terminal.
15925 (w32_sys_ring_bell, x_delete_display): Declare here.
15926
15927 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15928
15929 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15930
159312007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15932
15933 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15934 Fix get_named_tty calls for the controlling tty.
15935
159362007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15937
15938 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15939
159402007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15941
15942 * term.c (tty_insert_glyphs): Add missing first parameter.
15943
159442007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15945
15946 * buffer.c (Fbuffer_list, Fbury_buffer):
15947 Take frame->buried_buffer_list into account.
15948
15949 * cm.c (current_tty): New variable, for cmputc().
15950 (cmputc): Use it.
15951 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15952 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15953 (cmgoto): Add tty parameter. Pass it on to calccost().
15954 Use emacs_tputs() instead of tputs().
15955
15956 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15957 tputs().
15958 (current_tty): New variable, for cmputc().
15959 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15960
15961 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15962 (internal_condition_case, internal_condition_case_1)
15963 (internal_condition_case_2): Don't abort when x_catching_errors.
15964
15965 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15966 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15967 prevent crashes caused by bogus longjmps in read_char.
15968
15969 * keymap.h (Fset_keymap_parent): Add EXFUN.
15970
15971 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15972 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15973 Remove redundant definition.
15974
15975 * macfns.c (x_set_mouse_color, x_make_gc):
15976 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15977
15978 * w32term.c (x_free_frame_resources):
15979 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15980 (w32_initialize): Use the accessor macros for terminal characteristics.
15981
15982 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15983 Use the accessor macros for terminal characteristics.
15984 * msdos.c (internal_terminal_init): Use the accessor macros for
15985 terminal characteristics.
15986 (ScreenVisualBell, internal_terminal_init):
15987 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15988
15989 * termopts.h (no_redraw_on_reenter): Declare.
15990
15991 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15992 (mark_terminals, mark_ttys): Declare.
15993 (Fgarbage_collect): Call them.
15994 (mark_object): Mark buried_buffer_list.
15995
15996 * prefix-args.c: Include stdlib.h for exit.
15997
15998 * syssignal.h: Add comment.
15999
16000 * indent.c: Include stdio.h.
16001
16002 * window.h (Vinitial_window_system): Declare.
16003 (Vwindow_system): Delete declaration.
16004
16005 * fontset.c (Finternal_char_font): Use FRAME_RIF.
16006
16007 * image.c (lookup_image): Don't initialize `c' until the xasserts
16008 have been run.
16009
16010 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
16011 FRAME_FOREGROUND_PIXEL.
16012
16013 * print.c (print_preprocess): Don't lose print_depth levels while
16014 iterating.
16015
16016 * widget.c (update_from_various_frame_slots):
16017 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16018
16019 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
16020 frames.
16021 (window_internal_height): Remove bogus make_number call.
16022 (init_window_once): Call make_terminal_frame with two zero parameters.
16023
16024 * fileio.c (Fread_file_name): Update comment.
16025
16026 * callint.c (Fcall_interactively):
16027 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
16028 Make sure it is correctly unwound.
16029
16030 * xsmfns.c (x_session_close): New function.
16031
16032 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
16033 Delete declarations.
16034
16035 * xterm.h: Remove declaration for x_fully_uncatch_errors.
16036 (x_output): Remove background_pixel and foreground_pixel fields.
16037 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
16038 (x_delete_device, x_session_close): Declare.
16039
16040 * lread.c: Include setjmp.h. Update declaration of `read_char'.
16041 (read_filtered_event): Call `read_char' with a local
16042 `wrong_kboard_jmpbuf'.
16043
16044 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
16045 Don't call single_kboard_state. Use FRAME_RIF.
16046
16047 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
16048 systems.
16049
16050 * lisp.h (set_process_environment): Rename to `set_global_environment'.
16051 (Fframe_with_environment, Fset_input_meta_mode)
16052 (Fset_quit_char): EXFUN.
16053 (x_create_device, tty_output, terminal, tty_display_info): Declare.
16054 (init_sys_modes, reset_sys_modes): Update prototypes.
16055 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
16056
16057 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
16058 Vlocal_key_translation_map, and Vkeyboard_translate_table.
16059 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
16060 Delete declarations.
16061 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
16062 (temporarily_switch_to_single_kboard, tty_read_avail_input):
16063 New declarations.
16064
16065 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
16066 already does that during init_display(). Call syms_of_keymap
16067 before syms_of_keyboard. Call `syms_of_terminal'.
16068 Call set_initial_environment, not set_process_environment.
16069 (shut_down_emacs): Call reset_all_sys_modes() instead of
16070 reset_sys_modes().
16071
16072 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
16073 (internal_resolve_face_name, resolve_face_name_error): New functions.
16074 (resolve_face_name): Protect against loops and errors thrown by Fget.
16075 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
16076 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
16077
16078 * scroll.c: Replace CURTTY() with local variables throughout the
16079 file (where applicable).
16080 (calculate_scrolling, calculate_direct_scrolling)
16081 (scrolling_1, scroll_cost): Use the accessor macros for terminal
16082 characteristics.
16083
16084 * keymap.c (Vfunction_key_map): Remove.
16085 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
16086 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
16087 (Vkey_translation_map): Remove.
16088 (syms_of_keymap): Remove DEFVAR for key-translation-map.
16089 (Fdescribe_buffer_bindings)
16090 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
16091 Update for terminal-local key-translation-map.
16092
16093 * Makefile.in (callproc.o): Update dependencies.
16094 (lisp, shortlisp): Add termdev.elc.
16095 (obj): Add terminal.o.
16096 (terminal.o): Add dependencies.
16097 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
16098 (data.o, fns.o): Add termhooks.h dependency.
16099 (SOME_MACHINE_LISP): Add dnd.elc.
16100 (minibuf.o): Fix typo.
16101 Update dependencies.
16102
16103 * data.c (do_symval_forwarding, store_symval_forwarding)
16104 (find_symbol_value): Use the selected frame's keyboard, not
16105 current_kboard.
16106
16107 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
16108 Vwindow_system.
16109
16110 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
16111 Fmenu_bar_open.
16112 (syms_of_xmenu): Update defsubr.
16113 (mouse_position_for_popup, Fx_popup_menu)
16114 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
16115 (set_frame_menubar, free_frame_menubar)
b97439ce 16116 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
16117 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
16118 an X frame.
16119
16120 * xselect.c (x_own_selection): Abort if not an X frame.
16121 (some_frame_on_display): Check if it is an X frame.
16122 (x_handle_selection_clear): Deal with MULTI_KBOARD.
16123
16124 * coding.c: Include frame.h and termhooks.h.
16125 (terminal_coding, keyboard_coding): Delete.
16126 (Fset_terminal_coding_system_internal)
16127 (Fset_keyboard_coding_system_internal)
16128 (Fkeyboard_coding_system)
16129 (Fterminal_coding_system): Add a terminal parameter.
16130 Get terminal_coding from the terminal.
16131 (init_coding_once): Don't call setup_coding_system here.
16132
16133 * dispextern.h (set_scroll_region, turn_off_insert)
16134 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
16135 (tty_clear_end_of_line, tty_setup_colors)
16136 (delete_tty, updating_frame)
16137 (produce_special_glyphs, produce_glyphs, write_glyphs)
16138 (insert_glyphs): Remove.
16139 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
16140 (tty_turn_off_highlight, get_tty_size): Add declaration.
16141 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
16142
16143 * frame.h (enum output_method): Add output_initial.
16144 (struct x_output): Delete.
16145 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16146 Access foreground_pixel and background_pixel directly from the frame.
16147 (tty_display): Delete.
16148 (struct frame): Add buried_buffer_list, foreground_pixel,
16149 background_pixel and terminal. Delete kboard.
16150 (union output_data): Add tty.
16151 (FRAME_KBOARD): Get the kboard from the terminal.
16152 (FRAME_INITIAL_P): New macro.
16153 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
16154 (Qterm_environment_variable, Qdisplay_environment_variable)
16155 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
16156 New declarations.
16157
16158 * termchar.h (tty_output, tty_display_info): New structures.
16159 (tty_list): Declare.
16160 (FRAME_TTY, CURTTY): New macros.
16161 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
16162 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
16163 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
16164 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
16165
16166 * callproc.c: Include frame.h and termhooks.h, for terminal
16167 parameters.
16168 (add_env): New function.
16169 (child_setup): Use it.
16170 (child_setup, getenv_internal): Handle the new Vprocess_environment.
16171 (getenv_internal): Fix get_terminal_param call.
16172 (Fgetenv_internal, egetenv): Update doc.
16173 (syms_of_callproc): Initialize Vprocess_environment to nil.
16174 Register and initialize them. Remove obsolete defvars. Update doc
16175 strings.
16176 (child_setup): Handle Vlocal_environment_variables.
16177 (getenv_internal): Add terminal parameter.
16178 Handle Vlocal_environment_variables.
16179 (Fgetenv_internal): Add terminal parameter.
16180 (child_setup, getenv_internal, Fgetenv_internal): Store the local
16181 environment in a frame (not terminal) parameter. Update doc strings.
16182 (set_initial_environment): Rename from set_global_environment.
16183 Store Emacs environment in initial frame parameter.
16184
16185 * xdisp.c (redisplay_internal): Update references to
16186 `previous_terminal_frame'.
16187 (display_mode_line, Fformat_mode_line): Replace calls to
16188 `push_frame_kboard' with `push_kboard'.
16189 (get_glyph_string_clip_rects): Add extra parentheses and
16190 braces to prevent compiler warnings.
16191 (calc_pixel_width_or_height): Add xassert to check that the
16192 frame is alive. Don't call `lookup_image' on a termcap frame.
16193 (message2_nolog, message3_nolog, redisplay_internal)
16194 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16195 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16196 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16197 (Fx_display_pixel_width, Fx_display_pixel_height)
16198 (Fx_display_planes, Fx_display_color_cells)
16199 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16200 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16201 (Fx_display_backing_store, Fx_display_visual_class)
16202 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16203 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16204
16205 * xfns.c (x_set_foreground_color x_set_background_color)
16206 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16207 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16208 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16209 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16210 terminal that is being deleted.
16211 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16212 frame parameter, and make sure it overrides any user-supplied setting.
16213 (Fx_close_connection, Fx_synchronize): Unify argument names with
16214 the rest of the DEFUNs.
16215
16216 * dispnew.c (Fsend_string_to_terminal): Update call to
16217 `get_tty_terminal'.
16218 (Fredraw_frame, Fsend_string_to_terminal)
16219 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16220 FRAME_TERMCAP_P and FRAME_TTY.
16221 (window_change_signal): Don't believe width/height values that are
16222 impossibly small.
16223 (Vinitial_window_system): Rename from Vwindow_system.
16224 (termscript, Wcm, rif): Delete.
16225
16226 * termhooks.h (struct terminal): New struct containing the
16227 previously global text display hooks and new members NAME,
16228 DELETED and PARAM_ALIST.
16229 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16230 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16231 (FRAME_RIF): New macros.
16232 (get_terminal_param, get_device): New declarations.
16233 (termscript): Delete declaration.
16234
16235 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16236 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16237 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16238 FRAME_FOREGROUND_PIXEL.
16239 (x_fully_uncatch_errors): Disable definition.
16240 (x_scroll_bar_expose): Fix reference to foreground pixel.
16241 (XTread_socket): Disable loop on all X displays.
16242 (x_delete_terminal): Don't set terminal->deleted and let
16243 delete_terminal delete the frames on the terminal.
16244 (x_delete_display): Doc update to reflect changes in
16245 delete_terminal.
16246 (x_display_info) <terminal>: Move member earlier in the struct.
16247 (deleting_tty): Remove old variable.
16248 (Fsuspend_tty): Call clear_tty_hooks.
16249 (Fresume_tty, init_tty): Call set_tty_hooks.
16250 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16251 errors on X frames.
16252 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16253 (handle_one_xevent): Initialize `f' to NULL.
16254 (x_delete_terminal, x_create_terminal): New functions.
16255 (XTset_terminal_modes, XTreset_terminal_modes)
16256 (XTread_socket, x_connection_closed, x_term_init)
16257 (x_term_init, x_delete_display): Add terminal parameter.
16258 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16259 X connections.
16260
16261 * frame.c: Include termchar.h.
16262 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16263 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16264 (Qdisplay_environment_variable): New vars.
16265 (Fframep): Deal with output_initial.
16266 (Fframe-live-p): Doc fix.
16267 (Fwindow-system): New function.
16268 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16269 (make_terminal_frame): Don't create frames on a terminal that is
16270 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16271 (store_frame_param): Check for found_for_frame before calling XFRAME.
16272 (Fmake_terminal_frame): Handle NULL tty names correctly.
16273 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16274 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16275 frames to refer to a deleted frame in their 'environment parameter.
16276 (Fframe_with_environment): New function.
16277 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16278 (get_future_frame_param): New function.
16279 (Fmake_terminal_frame): Use it.
16280 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16281
16282 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16283 * sysdep.c (reset_sys_modes): Update for renames.
16284
16285 * keyboard.c (tty_read_avail_input): New function.
16286 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16287 (syms_of_keyboard): Defsubr them.
16288 (Fset_input_meta_mode, Fset_quit_char): New functions.
16289 (Fset_input_mode): Split to above functions.
16290 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16291 parameter. Use it in call to `read_char'.
16292 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16293 Set wrong_kboard_jmpbuf correctly in recursive calls.
16294 Use current_kboard to access Vkeyboard_translate_table.
16295 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16296 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16297 Update longjmp invocations. Remember the original current_kboard,
16298 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16299 changes it. Comment out unnecessary calls to
16300 `record_single_kboard_state' and `any_kboard_state'.
16301 Update recursive calls.
16302 (wrong_kboard_jmpbuf): Remove global variable.
16303 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16304 Handle deleted interrupted_kboards correctly; that is a legal
16305 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16306 and read_char calls. Abort if interrupted_kboard died in read_char.
16307 (any_kboard_state, single_kboard_state)
16308 (push_frame_kboard): Remove function.
16309 (pop_kboard): Switch out of single_kboard mode if the kboard has
16310 been deleted. Remove unused variable. Help debugging by not
16311 changing current_kboard unnecessarily. Set current_kboard to the
16312 kboard of the selected frame when the stored kboard object has
16313 been deleted before pop_kboard.
16314 (temporarily_switch_to_single_kboard): Change first parameter to a
16315 frame pointer. Throw an error when caller wants to change kboards
16316 while in single_kboard mode. Don't push_kboard if we weren't in
16317 single kboard state. Don't pop_kboard if we popped into any
16318 kboard state.
16319 (restore_kboard_configuration): Abort if pop_kboard changed the
16320 kboard in single_kboard mode. Call pop_kboard only after setting
16321 up single_kboard mode.
16322 (Frecursive_edit): Switch to single_kboard mode only in nested
16323 command loops.
16324 (cmd_error, command_loop, command_loop_1, timer_check):
16325 Comment out unnecessary call to `any_kboard_state' and
16326 `record_single_kboard_state'.
16327 (delete_kboard): Exit single_kboard mode if we have just deleted
16328 that kboard. Use FRAME_KBOARD.
16329 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16330 `fatal_error_signal'.
16331 (record_single_kboard_state): Don't push_kboard if we weren't in
16332 single kboard state. Don't pop_kboard if we popped into any
16333 kboard state.
16334 (push_frame_kboard): Rename to push_kboard.
16335 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16336 (read_avail_input): Read input from all terminals.
16337 (mark_kboards): Also mark Vkeyboard_translate_table.
16338 (kbd_buffer_store_event_hold): Simplify condition.
16339 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16340 (Vkeyboard_translate_table): Move to struct kboard.
16341 (init_kboard): Initialize Vkeyboard_translate_table.
16342 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16343 Vkeyboard_translate_table. Update doc strings. Update docs of
16344 local-function-key-map and function-key-map.
16345
16346 * terminal.c: New file.
16347
16348 * term.c: Include errno.h.
16349 (Vring_bell_function, device_list, initial_device)
16350 (next_device_id, ring_bell, update_begin, update_end)
16351 (set_terminal_window, cursor_to, raw_cursor_to)
16352 (clear_to_end, clear_frame, clear_end_of_line)
16353 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16354 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16355 (syms_of_term): Move their initialization to terminal.c.
16356 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16357 (Ftty_display_color_cells)
16358 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16359 (clear_tty_hooks, set_tty_hooks)
16360 (init_tty, maybe_fatal): New functions.
16361 (Ftty_type): Return nil if terminal is not on a tty instead of
16362 throwing an error. Doc update.
16363 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16364 Doc update. Initialize new subrs and variables.
16365 (delete_tty): Use terminal->deleted.
16366 (tty_set_terminal_modes): Rename from set_terminal_modes.
16367 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16368 (set_scroll_region): Rename to `tty_set_scroll_region'.
16369 (turn_on_insert): Rename to `tty_turn_on_insert'.
16370 (turn_off_insert): Rename to `tty_turn_off_insert'.
16371 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16372 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16373 (toggle_highligh): Rename to `tty_toggle_highlight'.
16374 (background_highlight): Rename to `tty_background_highlight'.
16375 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16376 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16377 (tty_set_scroll_region, tty_background_highlight)
16378 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16379 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16380 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16381 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16382 Add static modifier.
16383 (tty_reset_terminal_modes, tty_set_terminal_window)
16384 (tty_set_scroll_region, tty_background_highlight)
16385 (tty_highlight_if_desired, tty_cursor_to)
16386 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16387 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16388 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16389 renames.
16390
163912007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16392
16393 * keyboard.c: Qrtl is new.
16394 (parse_tool_bar_item): Handle :rtl keyword.
16395 (syms_of_keyboard): Intern :rtl keyword.
16396
16397 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16398
16399 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16400 so no Lisp code is executed.
16401 (file_for_image, find_rtl_image): New functions.
16402 (xg_get_image_for_pixmap): Use file_for_image.
16403 (update_frame_tool_bar): If direction is RTL, use RTL image if
16404 defined. Use Gtk stock images if defined.
16405
164062007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16407
16408 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16409 for nonexistent or zero-width glyph in composition glyph.
16410
164112007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16412
16413 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16414
16415 * xdisp.c (Finvisible_p): New function.
16416 (syms_of_xdisp): defsubr it.
16417
164182007-08-24 Juanma Barranquero <lekktu@gmail.com>
16419
16420 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16421 Doc fixes.
16422
164232007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16424
16425 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16426
164272007-08-24 Martin Rudalics <rudalics@gmx.at>
16428
16429 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16430 whether decoding has modified buffer contents.
16431
164322007-08-24 Jason Rumney <jasonr@gnu.org>
16433
16434 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16435 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16436 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16437 (init_svg_functions) [HAVE_NTGUI]: New function.
16438 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16439 (svg_load_image): Use them.
16440 (svg_load_image) [HAVE_NTGUI]: Implement background.
16441
164422007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16443
16444 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16445 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16446 (LIBX): Remove @RSVG_LIBS@.
16447 (LIBES): Add $(RSVG_LIBS).
16448
16449 * image.c (svg_load_image): Blend with specified background if exists.
16450 Use IMAGE_BACKGROUND. Add Mac OS Support.
16451
16452 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16453 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16454 Remove macros.
16455 [MAC_OSX] (socket_callback): Do nothing.
16456 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16457 ReceiveNextEvent.
16458 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16459 socket_callback.
16460 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16461
164622007-08-22 Glenn Morris <rgm@gnu.org>
16463
16464 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16465
164662007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16467
16468 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16469
16470 * image.c: Add support for SVG images. Some additional comments
16471 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16472 (svg_image_p): New function to test for SVG image.
16473 (svg_load): New function to load SVG image.
16474 (svg_load_image): New function, helper for svg_load.
16475 (Qsvg): New Lisp_object.
16476 (svg_keyword_index): New enum.
16477 (svg_format): New static `image_keyword' struct.
16478 (svg_type): New static `image_type' struct.
16479 (librsvg/rsvg.h): Include it.
16480
164812007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16482
16483 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16484
164852007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16486
16487 * lread.c (Qold_style_backquotes): New var.
16488 (syms_of_lread): Init and staticpro it.
16489 (load_warn_old_style_backquotes): New fun.
16490 (Fload): Use them to warn about old style backquotes.
16491 (end_of_file_error, Fload): Remove unused vars.
16492
16493 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16494
16495 * lread.c (Vold_style_backquotes): New var.
16496 (syms_of_lread): Init and export it to Elisp.
16497 (read1): Set it when we find an old-style (back)quote.
16498
164992007-08-22 Jason Rumney <jasonr@gnu.org>
16500
16501 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16502
165032007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16504
16505 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16506
165072007-08-19 Richard Stallman <rms@gnu.org>
16508
16509 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16510
165112007-08-19 Andreas Schwab <schwab@suse.de>
16512
16513 * alloc.c (pure): Round PURESIZE up.
16514
165152007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16516
16517 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16518 active frame.
16519
165202007-08-16 Richard Stallman <rms@gnu.org>
16521
16522 * eval.c (Fcommandp): Add parens to clarify.
16523
16524 * minibuf.c (Fall_completions): Use enum for type of table.
16525
16526 * emacs.c (USAGE2): Improve text.
16527
165282007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16529
16530 * term.c (tty_default_color_capabilities): Declare static
16531 variables in file scope, to avoid HPUX compiler problem.
16532
165332007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16534
16535 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16536 to gtk_toolbar_insert.
16537
165382007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16539
16540 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16541
16542 * insdel.c (reset_var_on_error): New fun.
16543 (signal_before_change, signal_after_change):
16544 Use it to reset (after|before)-change-functions to nil in case of error.
16545 Bind inhibit-modification-hooks to t.
16546 Don't bind (after|before)-change-functions to nil while they run.
16547
165482007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16549
16550 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16551 filling pixmap with stippled background.
16552
165532007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16554
16555 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16556 Don't use invisible frame as parent window for repositioning.
16557
165582007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16559
16560 * print.c (new_backquote_output): Rename from old_backquote_output.
16561 (print): Inverse its logic (according to its name) so as to match the
16562 behavior of new_backquote_flag in lread.c.
16563
165642007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16565
16566 * gmalloc.c (posix_memalign): New function.
16567
16568 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16569 ActivateControl/DeactivateControl here.
16570 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16571 frame-notice-user-settings is non-nil.
16572 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16573 for kEventParamFMFontStyle.
16574 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16575 mac_pass_command_to_system and mac_pass_control_to_system here.
16576 (XTread_socket): Call ActivateControl/DeactivateControl here.
16577 (XTread_socket) [TARGET_API_MAC_CARBON]:
16578 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16579 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16580 for window repositioning.
16581
165822007-08-08 Glenn Morris <rgm@gnu.org>
16583
16584 * Replace `iff' in doc-strings and comments.
16585
165862007-08-07 Chong Yidong <cyd@stupidchicken.com>
16587
16588 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16589
165902007-08-07 Martin Rudalics <rudalics@gmx.at>
16591
16592 * fileio.c (Finsert_file_contents): Run format-decode and
16593 after_insert_file_functions on entire buffer when REPLACE is
16594 non-nil and inhibit modification_hooks and point_motion_hooks.
16595 For consistency, run after_insert_file_functions iff something
16596 got inserted. Move signal_after_change and update_compositions
16597 after code running after_insert_file_functions. Make sure that
16598 undo_list doesn't record intermediate steps of the decoding process.
16599
166002007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16601
16602 * emacs.c (main)
16603 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16604 Call malloc_enable_thread on interactive startup.
16605
16606 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16607 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16608 [USE_PTHREAD]: Conditionalize with it.
16609 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16610 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16611 New functions.
16612
166132007-08-06 Chong Yidong <cyd@stupidchicken.com>
16614
16615 * xdisp.c (redisplay_window): When restoring original buffer
16616 position, make sure it is still valid.
16617
16618 * image.c (png_load): Ignore png-supplied background color.
16619
166202007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16621
16622 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16623 Use kCFAbsoluteTimeIntervalSince1970.
16624
16625 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16626 New variable.
16627 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16628 event loop should be quit.
16629 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16630 Quit dialog event loop if quit_dialog_event_loop is set.
16631
16632 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16633 (Selection): New typedef. Use instead of ScrapRef.
16634 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16635 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16636 (mac_clear_selection): Rename from clear_scrap.
16637 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16638 scrap_has_target_type. All uses changed.
16639 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16640 (mac_selection_has_target_p): New functions.
16641 (mac_put_selection_value): Rename from put_scrap_string.
16642 (mac_get_selection_value): Rename from get_scrap_string.
16643 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16644 (put_scrap_private_timestamp, scrap_has_target_type)
16645 (get_scrap_private_timestamp): Remove functions.
16646 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16647 (x_own_selection, x_get_local_selection):
16648 Use mac_valid_selection_value_p.
16649 (x_own_selection): Don't use put_scrap_private_timestamp.
16650 Record OWNERSHIP-INFO into Vselection_alist instead.
16651 (x_get_local_selection): Don't check type if request is local.
16652 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16653 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16654
166552007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16656
16657 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16658 add comment explaining why.
16659
166602007-08-03 Richard Stallman <rms@gnu.org>
16661
16662 * fileio.c (Fvisited_file_modtime): Use make_time.
16663
166642007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16665
16666 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16667 build.
16668
166692007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16670
16671 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16672
166732007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16674
16675 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16676
166772007-07-30 Richard Stallman <rms@gnu.org>
16678
16679 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16680
166812007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16682
16683 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16684
166852007-07-28 Nick Roberts <nickrob@snap.net.nz>
16686
16687 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16688 remote default-directory.
16689
16690 * buffer.c (mode-line-format): Update doc string.
16691
166922007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16693
16694 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16695 scroll bar gap.
16696 (x_scroll_bar_create): Set bar->fringe_extended_p.
16697 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16698 on frame edge. Check fringe background extension. Don't clear
16699 extended fringe background area.
16700
16701 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16702 (w32_fill_area): Enclose multiple statements with do ... while (0).
16703
16704 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16705 Extend fringe background to scroll bar gap.
16706 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16707 Set bar->fringe_extended_p.
16708 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16709 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16710 background extension. Don't clear extended fringe background area.
16711
16712 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16713 New member fringe_extended_p.
16714
167152007-07-25 Glenn Morris <rgm@gnu.org>
16716
16717 * Relicense all FSF files to GPLv3 or later.
16718
16719 * COPYING: Switch to GPLv3.
16720
167212007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16722
16723 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16724
16725 * data.c (Finteractive_form): Check for the presence of an
16726 `interactive-form' symbol property more thoroughly.
16727
16728 * data.c (Finteractive_form): Use an `interactive-form' property if
16729 present, analogous to the function-documentation property.
16730
167312007-07-24 Jason Rumney <jasonr@gnu.org>
16732
16733 * w32fns.c (x_real_positions): Get real position from OS instead of
16734 calculating it.
16735
167362007-07-23 Jason Rumney <jasonr@gnu.org>
16737
16738 * filelock.c (current_lock_owner): Allow for @ sign in username.
16739
167402007-07-22 Nick Roberts <nickrob@snap.net.nz>
16741
16742 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16743 remote default-directory.
16744
16745 * buffer.c (mode-line-format): Describe above case in doc string.
16746
167472007-07-20 Eli Zaretskii <eliz@gnu.org>
16748
16749 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16750 Define if not defined.
16751
167522007-07-18 Jason Rumney <jasonr@gnu.org>
16753
16754 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16755
167562007-07-18 Richard Stallman <rms@gnu.org>
16757
16758 * data.c (Fsetq_default): Doc fix.
16759
16760 * eval.c (Fsetq): Doc fix.
16761
167622007-07-18 Juanma Barranquero <lekktu@gmail.com>
16763
16764 * coding.c (Ffind_operation_coding_system):
16765 * eval.c (For, Fand): Doc fixes.
16766 Reported by Johan Bockgård.
16767
167682007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16769
16770 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16771
16772 * xterm.h: Declare x_ewmh_activate_frame.
16773
16774 * xterm.c (x_ewmh_activate_frame): New function.
16775 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16776
167772007-07-17 Martin Rudalics <rudalics@gmx.at>
16778
16779 * window.c (Fdisplay_buffer): If largest or LRU window is the
16780 only window, split it even if it is not eligible for splitting.
16781 This restores the original behavior broken by the 2007-07-15
16782 change.
16783
167842007-07-17 Glenn Morris <rgm@gnu.org>
16785
16786 * abbrev.c (abbrev_check_chars): New function.
16787 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16788 Call abbrev_check_chars to check abbrev characters are word
16789 constituents. Doc fix.
16790
167912007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16792
16793 * process.c (Fstart_process, Fmake_network_process)
16794 (read_process_output): Fix up last changes.
16795
167962007-07-16 Eli Zaretskii <eliz@gnu.org>
16797
16798 * makefile.w32-in (clean): Don't delete *~.
16799
168002007-07-16 Andreas Schwab <schwab@suse.de>
16801
16802 * window.c (Fdisplay_buffer): Use NILP.
16803 (Fset_window_scroll_bars): Likewise.
16804
168052007-07-15 Martin Rudalics <rudalics@gmx.at>
16806
16807 * window.c (window_min_size_2): New function.
16808 (window_min_size_1, size_window, Fdisplay_buffer)
16809 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16810 windows without mode- or header-lines when window-min-height is
16811 too small.
16812 (size_window): Reset nodelete_p after testing it, following an
16813 earlier note by Kim F. Storm.
16814 (display_buffer): Do not set split_height_threshold to twice the
16815 value of window_min_height to avoid changing the value of a
16816 customizable variable. Rather explicitly check whether the
16817 height of the window that shall be splitted is at least as large
16818 as split_height_threshold.
16819 (Fwindow_full_width_p): New defun.
16820 (syms_of_window): Defsubr it.
16821
16822 * window.h: Add EXFUN for Fwindow_full_width_p.
16823
168242007-07-14 Jason Rumney <jasonr@gnu.org>
16825
16826 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16827
168282007-07-14 Richard Stallman <rms@gnu.org>
16829
16830 * eval.c (maybe_call_debugger): New function.
16831 (find_handler_clause): Use maybe_call_debugger.
16832 Call it when the handler says `debug'.
16833 Eliminate DEBUGGER_VALUE_PTR.
16834 (Fsignal): Eliminate debugger_value.
16835 (Qdebug): New variable.
16836 (syms_of_eval): Initialize it.
16837
168382007-07-14 Juanma Barranquero <lekktu@gmail.com>
16839
16840 * eval.c (Fprogn):
16841 * keyboard.c (Ftrack_mouse):
16842 * print.c (Fwith_output_to_temp_buffer):
16843 * window.c (Fsave_window_excursion): Doc fix.
16844
168452007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16846
16847 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16848
168492007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16850
16851 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16852 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16853 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16854 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16855 Remove unused encoding_carryover.
16856 * process.c: Adjust all functions accordingly.
16857
168582007-07-12 Richard Stallman <rms@gnu.org>
16859
16860 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16861
168622007-07-11 Jason Rumney <jasonr@gnu.org>
16863
16864 * makefile.w32-in (LIBS): Include OLE32.
16865
16866 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16867 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16868
168692007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16870
16871 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16872 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16873 from a Lisp_Object into a bare pointer.
16874 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16875 Adjust the code correspondingly.
16876
16877 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16878
16879 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16880 (term_show_mouse_face): Remove unused var `j'.
16881 (handle_one_term_event): Remove unused vars `i' and `j'.
16882 Don't cast return value of ttyname since it's not necessary.
16883
168842007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16885
16886 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16887 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16888
16889 * fns.c (map_char_table): Use an array of int for `indices' rather than
16890 an array of Lisp_Objects (which are only ever integers anyway).
16891 (Fmap_char_table): Update caller.
16892 * lisp.h: Update prototype.
16893 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16894 * fontset.c (Ffontset_info):
16895 * casetab.c (set_case_table): Update callers.
16896
16897 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16898
16899 * keymap.c (struct accessible_keymaps_data)
16900 (struct where_is_internal_data): New structures.
16901 (accessible_keymaps_1, where_is_internal_1): Use them to change
16902 interface to adhere to the one used by map_keymap.
16903 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16904 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16905
16906 * keymap.h (map_keymap_function_t): More informative prototype.
16907
169082007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16909
16910 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16911 (looking_at_1): Don't change search_regs and last_thing_searched
16912 if `inhibit-changing-match-data' is non-nil.
16913 (string_match_1, search_buffer, set_search_regs): Likewise.
16914 (syms_of_search): Add Lisp level definition for
16915 `inhibit-changing-match-data' and set it to nil.
16916 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16917 start and end of the match, instead of using values in search_regs.
16918
169192007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16920
16921 * minibuf.c (Fcompleting_read): New value `confirm-only'
16922 for `require-match'.
16923
169242007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16925
16926 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16927 part of the 2007-06-27 change to syms_of_fileio.
16928
169292007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16930
16931 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16932 Check WINDOWP before using XWINDOW. Consolidate return statements.
16933
169342007-06-27 Richard Stallman <rms@gnu.org>
16935
16936 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16937
169382007-06-27 Juanma Barranquero <lekktu@gmail.com>
16939
16940 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16941
169422007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16943
16944 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16945 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16946 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16947 (_free_internal, memalign): Use them.
16948 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16949 Initialize to PTHREAD_MUTEX_INITIALIZER.
16950 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16951 (morecore_nolock): Rename from morecore. All uses changed.
16952 Use only nolock versions of internal allocation functions.
16953 (_malloc_internal_nolock, _realloc_internal_nolock)
16954 (_free_internal_nolock): New functions created from
16955 _malloc_internal, _realloc_internal, and _free_internal.
16956 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16957 Copy hook value to automatic variable before its use.
16958 (memalign): Copy hook value to automatic variable before its use.
16959
169602007-06-26 Kenichi Handa <handa@m17n.org>
16961
16962 * coding.c (Ffind_operation_coding_system): Docstring improved.
16963 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16964
169652007-06-25 David Kastrup <dak@gnu.org>
16966
16967 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16968 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16969 cater for additional parameter.
16970
16971 * keymap.h: Adjust number of parameters to `current-active-maps'.
16972
16973 * doc.c (Fsubstitute_command_keys): Adjust call of
16974 `current-active-maps'.
16975
169762007-06-25 David Kastrup <dak@gnu.org>
16977
16978 * callint.c (Fcall_interactively): Make the parsing of interactive
16979 specs somewhat more readable.
16980
169812007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16982
16983 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16984 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16985 if extended background has already been filled.
16986
169872007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16988
16989 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16990 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16991
16992 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16993 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16994 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16995 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16996 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16997 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16998 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16999 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
17000 Run timers during dialog popup.
17001 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
17002
170032007-06-21 Jason Rumney <jasonr@gnu.org>
17004
17005 * image.c (convert_mono_to_color_image): Swap fore and background.
17006
170072007-06-20 Jason Rumney <jasonr@gnu.org>
17008
17009 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
17010 (w32_free_bdf_font): Unmap memory not handle.
17011
170122007-06-20 Sam Steingold <sds@gnu.org>
17013
17014 * gmalloc.c (__morecore): Fix the declaration to comply with the
17015 definition.
17016
170172007-06-20 Juanma Barranquero <lekktu@gmail.com>
17018
17019 * w32term.c (w32_delete_display): Remove leftover declaration.
17020 (w32_define_cursor, w32_initialize): Make static.
17021
17022 * w32.c (_wsa_errlist): Fix typo in error message.
17023 (init_environment): Ignore any environment variable from the
17024 registry having a null value.
17025
170262007-06-20 Glenn Morris <rgm@gnu.org>
17027
17028 * Makefile.in (LIBGIF): Default to -lgif.
17029
170302007-06-17 Jason Rumney <jasonr@gnu.org>
17031
17032 * w32menu.c (add_menu_item): Don't use multibyte string functions on
17033 unicode strings.
17034
170352007-06-16 Juanma Barranquero <lekktu@gmail.com>
17036
17037 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
17038 Fix typo in docstring.
17039
170402007-06-16 Eli Zaretskii <eliz@gnu.org>
17041
17042 * w32menu.c (add_menu_item): Escape `&' characters in menu items
17043 and their keybindings.
17044
170452007-06-15 Chong Yidong <cyd@stupidchicken.com>
17046
17047 * composite.c (update_compositions): Fix last fix.
17048
170492007-06-14 Jason Rumney <jasonr@gnu.org>
17050
17051 * w32.c (get_process_times_fn): New function pointer.
17052 (globals_of_w32): Intialize it if present in kernel32.dll.
17053 (w32_get_internal_run_time): New function.
17054
17055 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
17056
170572007-06-14 Kenichi Handa <handa@etlken.m17n.org>
17058
17059 * composite.c (update_compositions): Check the validness of
17060 compositions.
17061
170622007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17063
17064 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
17065 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
17066
17067 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
17068 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
17069
17070 * macgui.h (USE_MAC_TOOLBAR): New define.
17071
17072 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17073 Return immediately unless popup is activated.
17074
17075 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
17076 background to scroll bar gap.
17077 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
17078 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
17079 scroll bars on frame edge. Check fringe background extension.
17080 Don't clear extended fringe background area.
17081 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
17082 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
17083 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
17084 [USE_MAC_TOOLBAR]: New macros.
17085 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
17086 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
17087 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
17088 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
17089 [USE_MAC_TOOLBAR]: New functions.
17090 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
17091 manually if previous repositioning has failed.
17092 (mac_handle_keyboard_event): Use precomputed event kind.
17093 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
17094 as tool bar item click. Handle mouse movement over tool bar items.
17095
17096 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
17097 toolbar_win_gravity.
17098 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
17099 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
17100 Add externs.
17101
17102 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
17103 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
17104
171052007-06-14 Chong Yidong <cyd@stupidchicken.com>
17106
17107 * image.c (search_image_cache): Remove unused variable.
17108
171092007-06-13 Chong Yidong <cyd@stupidchicken.com>
17110
17111 * xfns.c, xmenu.c: Link to xaw3d if available.
17112
171132007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17114
17115 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
17116 frame_foreground and frame_background.
17117
17118 * image.c (lookup_image): Save frame foreground and background colors.
17119 (search_image_cache): Check if saved and current frame colors match.
17120
171212007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
17122
17123 * regex.c (regex_compile): Remove the `regnum' counter.
17124 Use bufp->re_nsub instead. Add support for \(?N:RE\).
17125
171262007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
17127
17128 * term.c: Include intervals.h to declare Fget_text_property.
17129
171302007-06-10 Jason Rumney <jasonr@gnu.org>
17131
17132 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
17133
171342007-06-08 Juanma Barranquero <lekktu@gmail.com>
17135
17136 * callint.c (Fcall_interactively):
17137 * editfns.c (Fdelete_and_extract_region):
17138 * fileio.c (Fread_file_name):
17139 * fns.c (Fmapconcat):
17140 * keyboard.c (cmd_error_internal):
17141 * keymap.c (Fkey_description):
17142 * lread.c (openp):
17143 * minibuf.c (read_minibuf):
17144 * search.c (wordify):
17145 * sunfns.c (sel_read):
17146 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
17147 * xfns.c (x_default_scroll_bar_color_parameter):
17148 * xmenu.c (menu_help_callback):
17149 * xselect.c (Fx_get_atom_name):
17150 * xterm.c (x_term_init): Use empty_unibyte_string.
17151
171522007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
17153
17154 * alloc.c (init_strings): Initialize canonical empty strings.
17155 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
17156 canonical empty string when the requested size is 0.
17157
17158 * emacs.c (empty_unibyte_string): Rename from empty_string.
17159 (empty_multibyte_string): New canonical empty string.
17160 (syms_of_emacs): Don't initialize empty_string.
17161
17162 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
17163 string, if appropriate.
17164 (empty_unibyte_string, empty_multibyte_string): New externs.
17165 (empty_string): Remove extern.
17166
17167 * lread.c (syms_of_lread): Use empty_unibyte_string.
17168
171692007-06-07 Jason Rumney <jasonr@gnu.org>
17170
17171 * s/ms-w32.h: Don't define HAVE_TZNAME.
17172
17173 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
17174
171752007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17176
17177 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
17178
17179 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
17180 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
17181
17182 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17183 Don't call next handler.
17184 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
17185 Remove argument. Install handler to application.
17186 (set_frame_menubar): Don't change deep_p.
17187 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
17188 FRAME_OUTER_TO_INNER_DIFF_Y.
17189 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17190 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17191 [HAVE_DIALOGS]: New macros.
17192 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17193 Use them.
17194 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17195
17196 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17197 init_service_handler. All callers changed. Return OSStatus value.
17198
17199 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17200 All callers changed so as not to call SetPortWindowPort.
17201 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17202 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17203 mac_draw_string_common.
17204 (mac_draw_image_string_qd): Likewise.
17205 (mac_draw_string_common): Use them. Add INLINE.
17206 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17207 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17208 GetGlobalMouse.
17209 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17210 and FRAME_OUTER_TO_INNER_DIFF_Y.
17211 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17212 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17213 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17214 repositioning window to mac_handle_window_event.
17215 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17216 saving window location to mac_handle_window_event
17217 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17218 (install_menu_target_item_handler): Remove argument in extern.
17219 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17220 Also accept command events.
17221 (do_keystroke): New function created from XTread_socket.
17222 (init_command_handler): Remove functions.
17223 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17224 and save window location by kEventWindowShowing and kEventWindowHiding
17225 handlers here. Don't call next handler for window state change and
17226 focus events.
17227 (mac_handle_application_event, mac_handle_keyboard_event)
17228 [TARGET_API_MAC_CARBON]: New functions.
17229 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17230 kEventWindowShowing and kEventWindowHiding events. Move installation
17231 of mouse, font, text input and menu target item handlers to
17232 install_application_handler.
17233 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17234 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17235 New function.
17236 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17237 Register it.
17238 (XTread_socket) [TARGET_API_MAC_CARBON]:
17239 Consolidate SendEventToEventTarget calls.
17240 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17241 Move application activation handler to mac_handle_application_event.
17242 Move keyboard handler to mac_handle_keyboard_event.
17243 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17244 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17245 init_command_handler. Call install_application_handler.
17246
17247 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17248 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17249
172502007-06-07 Glenn Morris <rgm@gnu.org>
17251
17252 * emacs.c (main): Use `emacs-copyright' in --version output.
17253
172542007-06-06 Chong Yidong <cyd@stupidchicken.com>
17255
17256 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17257
172582007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17259
17260 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17261
17262 * macgui.h: Replace WindowPtr with WindowRef.
17263
17264 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17265 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17266 Replace ControlHandle with ControlRef.
17267 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17268
17269 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17270 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17271 Replace ControlHandle with ControlRef.
17272 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17273 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17274
17275 * macterm.h (struct scroll_bar): Rename member control_handle_low
17276 and control_handle_high to control_ref_low and control_ref_high.
17277 All uses changed.
17278 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17279 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17280 respectively. All uses changed.
17281 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17282 (install_window_handler, remove_window_handler): Replace WindowPtr
17283 with WindowRef in externs.
17284
172852007-06-05 Juanma Barranquero <lekktu@gmail.com>
17286
17287 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17288
172892007-06-03 Nick Roberts <nickrob@snap.net.nz>
17290
17291 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17292
17293 * frame.c (Fmouse_position, Fmouse_pixel_position):
17294 Condition on HAVE_GPM too.
17295
17296 * term.c (term_mouse_highlight): Remove unused variables.
17297 (Fterm_open_connection): Set gpm_zerobased to 1.
17298 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17299 Use zero based co-ordinates.
17300 (handle_one_term_event): Report a drag as mouse movement too.
17301
17302 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17303
173042007-06-03 Chong Yidong <cyd@stupidchicken.com>
17305
17306 * image.c (search_image_cache): New function. Require background
17307 color match if background color is unspecified in the image spec.
17308 (uncache_image, lookup_image): Use it.
17309
173102007-06-01 Juanma Barranquero <lekktu@gmail.com>
17311
17312 * window.c (Fshrink_window): Reflow docstring.
17313
173142007-06-02 Chong Yidong <cyd@stupidchicken.com>
17315
17316 * Version 22.1 released.
17317
173182007-06-01 Richard Stallman <rms@gnu.org>
17319
17320 * xfns.c (x_encode_text): Add GCPRO.
17321
173222007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17323
17324 * xfns.c (x_set_name_internal): Save encoded name before
17325 x_encode_text in case string data is relocated.
17326
173272007-05-31 Richard Stallman <rms@gnu.org>
17328
17329 * buffer.c (syms_of_buffer): Doc fix.
17330
173312007-05-30 Nick Roberts <nickrob@snap.net.nz>
17332
17333 * sysdep.c (init_sys_modes): Add rather than replace with
17334 O_NONBLOCK.
17335
17336 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17337 term_mouse_moveto.
17338
17339 * termhooks.h (term_mouse_moveto): New extern.
17340
17341 * term.c (mouse_face_window): Rename...
17342 (Qmouse_face_window): ...to this.
17343 (term_show_mouse_face, term_clear_mouse_face)
17344 (term_mouse_highlight): Use Qmouse_face_window.
17345 (term_mouse_moveto): New function.
17346 (term_mouse_position): Make it work.
17347 (syms_of_term): Uncomment assignment to mouse_position_hook.
17348 Staticpro Qmouse_face_window.
17349
173502007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17351
17352 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17353 around current_column call.
17354
173552007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17356
17357 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17358 * xdisp.c (next_element_from_buffer):
17359 * window.c (delete_window):
17360 * term.c (term_mouse_highlight):
17361 * msdos.c (getdefdir):
17362 * macterm.c (mac_create_bitmap_from_bitmap_data)
17363 (init_font_name_table):
17364 * fns.c (Fsxhash):
17365 * data.c (Fmake_local_variable):
17366 * ccl.c (ccl_driver): Likewise.
17367
173682007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17369
17370 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17371 Call mac_wakeup_from_rne on window size change.
17372
173732007-05-25 Chong Yidong <cyd@stupidchicken.com>
17374
17375 * image.c (uncache_image): Fix typo.
17376
173772007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17378
17379 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17380
173812007-05-22 Richard Stallman <rms@gnu.org>
17382
17383 * xterm.c (x_connection_closed): Remove NO_RETURN.
17384
173852007-05-22 Martin Rudalics <rudalics@gmx.at>
17386
17387 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17388
173892007-05-21 Chong Yidong <cyd@stupidchicken.com>
17390
17391 * image.c (uncache_image): New function.
17392 (Fimage_refresh): New function.
17393
173942007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17395
17396 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17397
173982007-05-20 Nick Roberts <nickrob@snap.net.nz>
17399
17400 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17401 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17402
174032007-05-20 Nick Roberts <nickrob@snap.net.nz>
17404
17405 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17406 conditional on [HAVE_GPM_H].
17407
174082007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17409
17410 * syntax.c (skip_chars): Update syntax-table only after we checked that
17411 the new location is valid.
17412
174132007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17414
17415 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17416 mac_get_window_bounds.
17417
174182007-05-20 Nick Roberts <nickrob@snap.net.nz>
17419
17420 * Makefile.in (LIBGPM): Allow it to be set from configure.
17421 If set then link Emacs with it.
17422
17423 * config.in: Regenerate.
17424
17425 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17426 New externs.
17427
17428 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17429 Include gpm.h.
17430 (handle_one_term_event, term_gpm): New externs.
17431
17432 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17433 and allow it to be interrupted by SIGIO.
17434
17435 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17436 (wait_reading_process_output): Wait on gpm_fd too.
17437 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17438 (add_gpm_wait_descriptor_called_flag): New variable.
17439 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17440
17441 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17442 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17443 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17444 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17445 (make_lispy_event): Add case GPM_CLICK_EVENT.
17446 (read_avail_input): Handle mouse input.
17447
17448 * term.c (write_glyphs_with_face): New function.
17449 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17450 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17451 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17452 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17453 (last_mouse_x, last_mouse_y): New variables.
17454 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17455 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17456 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17457 (Fterm_close_connection): New functions.
17458 (term_init): Initialise mouse_face_window.
17459
174602007-05-19 Chong Yidong <cyd@stupidchicken.com>
17461
17462 * xdisp.c (redisplay_window): If first window line is a
17463 continuation line, recompute the new window start instead of
17464 recentering.
17465
174662007-05-18 Glenn Morris <rgm@gnu.org>
17467
17468 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17469 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17470
174712007-05-17 Glenn Morris <rgm@gnu.org>
17472
17473 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17474
174752007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17476
17477 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17478 dead key repeat and up events.
17479
174802007-05-14 Chong Yidong <cyd@stupidchicken.com>
17481
17482 * image.c (pbm_load): Check image size for monochrome pbm.
17483
174842007-05-13 Chong Yidong <cyd@stupidchicken.com>
17485
17486 * xterm.c (XTread_socket): Revert last change.
17487
174882007-05-12 Chong Yidong <cyd@stupidchicken.com>
17489
17490 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17491
17492 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17493
174942007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17495
17496 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17497 mixup (YAILOM).
17498
174992007-05-07 Andreas Schwab <schwab@suse.de>
17500
17501 * keymap.c (Flookup_key): Fix typo in last change.
17502
175032007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17504
17505 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17506 mapping for unibyte strings.
17507
175082007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17509
17510 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17511 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17512
175132007-04-29 Richard Stallman <rms@gnu.org>
17514
17515 * insdel.c (replace_range): For undo, record insertion first.
17516
175172007-04-29 Andreas Schwab <schwab@suse.de>
17518
17519 * lisp.h (VECSIZE): Use OFFSETOF.
17520
175212007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17522
17523 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17524 disabled lines.
17525
175262007-04-28 Richard Stallman <rms@gnu.org>
17527
17528 * lread.c (read_escape): In a string, \s is always space.
17529
175302007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17531
17532 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17533
17534 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17535 submenu for menu bar items.
17536
17537See ChangeLog.10 for earlier changes.
17538
17539;; Local Variables:
17540;; coding: utf-8
17541;; add-log-time-zone-rule: t
17542;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17543;; End:
17544
76b6f707 17545 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17546
17547 This file is part of GNU Emacs.
17548
17549 GNU Emacs is free software: you can redistribute it and/or modify
17550 it under the terms of the GNU General Public License as published by
17551 the Free Software Foundation, either version 3 of the License, or
17552 (at your option) any later version.
17553
17554 GNU Emacs is distributed in the hope that it will be useful,
17555 but WITHOUT ANY WARRANTY; without even the implied warranty of
17556 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17557 GNU General Public License for more details.
17558
17559 You should have received a copy of the GNU General Public License
17560 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17561
17562;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40