* emacs-lisp/checkdoc.el (checkdoc-proper-noun-region-engine):
[bpt/emacs.git] / src / ChangeLog
CommitLineData
8f43cbf3
DN
12009-10-23 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * puresize.h (BASE_PURESIZE): Increase to 1430000.
4
26898943
AS
52009-10-21 Andreas Schwab <schwab@linux-m68k.org>
6
7 * doprnt.c (doprnt): Fix overflow check.
8
5c646d5a
JD
92009-10-21 Jan Djärv <jan.h.d@swipnet.se>
10
3132a7ea
JD
11 * xterm.c (x_term_init): Remove XSynchronize call done for debugging.
12
5c646d5a
JD
13 * xterm.h (x_wait_for_event): Declare it.
14
15 * xterm.c (pending_event_wait): New variable.
16 (handle_one_xevent): Set pending_event_wait.eventtype to 0 if we
17 see pending_event_wait.eventtype.
18 (handle_one_xevent): Don't change gravity when parent changes.
19 (x_new_font): Call change_frame_size with new rows/columns before we try
20 to resize the frame.
21 (x_wait_for_event): New function.
22 (x_set_window_size_1): Don't change gravity unless change_gravity is set.
23 Call XResizeWindow with FRAME_OUTER_WINDOW. If we are visible,
24 don't change frame size, instead wait for the ConfigureNotify.
25 (x_set_window_size): Call x_set_window_size_1 for USE_X_TOOLKIT also.
26 (x_wm_set_size_hint): Remove ifdefs for USE_X_TOOLKIT.
27 (x_initialize): Initialize pending_event_wait.
28
29 * xmenu.c (set_frame_menubar): Add internal border width to menu bar
30 size.
31
32 * widget.c (EmacsFrameSetValues): Add comment.
33 (EmacsFrameSetCharSize): Just call x_set_window_size.
34
35 * gtkutil.c (xg_frame_set_char_size): Flush events and call
36 x_wait_for_event.
37 (flush_and_sync): Removed again.
38 (xg_get_font_name): Suggest monospace if no previous font is known.
39
e9c1637d
SM
402009-10-20 Stefan Monnier <monnier@iro.umontreal.ca>
41
42 * character.c (char_resolve_modifier_mask): Don't resolve meta to the
46be764e 43 8th bit, since that only made sense in the ASCII world (bug#4751).
e9c1637d 44
5a72cccb
YM
452009-10-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
46
47 * xterm.c (XTread_socket) [!USE_GTK && HAVE_X_I18N]: Don't quit
48 processing pending events when event is filtered for input method.
ab04798f 49 (Bug#3681)
5a72cccb 50
2629aa37
JB
512009-10-20 Juanma Barranquero <lekktu@gmail.com>
52
53 * fns.c: Add #endif accidentally removed in previous change.
54
c3417a74
DN
552009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
56
57 * fns.c: Remove code for unsupported system: MAC_OS.
58 * image.c: Likewise. Include setjmp.h.
59
9685cef2
JD
602009-10-19 Jan Djärv <jan.h.d@swipnet.se>
61
62 * xterm.c (x_create_toolkit_scroll_bar): Don't allocate color for
63 pixel -1 (bug #4742).
64
d7306fe6
DN
652009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
66
019d2c4c
DN
67 * process.c (create_pty): Remove conditionals for no longer
68 supported systems: UNIPLUS and RTU.
69
ee6bacd4
DN
70 * xterm.c:
71 * xfns.c: Remove always true condition: XtSpecificationRelease >= 5.
72
d7306fe6
DN
73 * alloc.c: Do not define struct catchtag.
74 * eval.c: Move struct catchtag definition ...
75 * lisp.h: ... here.
76
77 * image.c: Move png.h #include earlier to avoid warnings.
78
79 * xterm.c:
80 * xsmfns.c:
81 * xselect.c:
82 * xrdb.c:
83 * xmenu.c:
84 * xftfont.c:
85 * xfont.c:
86 * xfns.c:
87 * xfaces.c:
88 * xdisp.c:
89 * window.c:
90 * widget.c:
91 * w32xfns.c:
92 * w32uniscribe.c:
93 * w32term.c:
94 * w32select.c:
95 * w32reg.c:
96 * w32proc.c:
97 * w32menu.c:
98 * w32inevt.c:
99 * w32heap.c:
100 * w32font.c:
101 * w32fns.c:
102 * w32console.c:
103 * w32.c:
104 * w16select.c:
105 * vm-limit.c:
106 * unexsol.c:
107 * unexec.c:
108 * unexcw.c:
109 * unexaix.c:
110 * undo.c:
111 * tparam.c:
112 * textprop.c:
113 * terminfo.c:
114 * terminal.c:
115 * termcap.c:
116 * term.c:
117 * syntax.c:
118 * sound.c:
119 * sheap.c:
120 * search.c:
121 * scroll.c:
122 * region-cache.c:
123 * regex.c:
124 * ralloc.c:
125 * process.c:
126 * print.c:
b024548b
DN
127 * nsterm.m:
128 * nsselect.m:
129 * nsmenu.m:
130 * nsimage.m:
131 * nsfont.m:
132 * nsfns.m:
d7306fe6
DN
133 * msdos.c:
134 * minibuf.c:
135 * menu.c:
136 * marker.c:
137 * macros.c:
138 * keymap.c:
139 * keyboard.c:
140 * intervals.c:
141 * insdel.c:
142 * indent.c:
143 * gtkutil.c:
144 * ftxfont.c:
145 * ftfont.c:
146 * fringe.c:
147 * frame.c:
148 * fontset.c:
149 * font.c:
150 * fns.c:
151 * floatfns.c:
152 * filelock.c:
153 * fileio.c:
154 * emacs.c:
155 * editfns.c:
156 * dosfns.c:
157 * doprnt.c:
158 * doc.c:
159 * dispnew.c:
160 * dired.c:
161 * dbusbind.c:
162 * data.c:
163 * composite.c:
164 * coding.c:
165 * cmds.c:
166 * cm.c:
167 * chartab.c:
168 * charset.c:
169 * character.c:
170 * ccl.c:
171 * category.c:
172 * casetab.c:
173 * casefiddle.c:
174 * callproc.c:
175 * callint.c:
176 * bytecode.c:
177 * buffer.c:
178 * atimer.c: Include setjmp.h. (Bug#4643)
179
fd5f21e6
SM
1802009-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
181
4c0354d7
SM
182 Remove leftover table unibyte_to_multibyte_table.
183 * character.c (unibyte_to_multibyte_table): Remove.
184 (Funibyte_char_to_multibyte): Use MAKE_CHAR_MULTIBYTE.
185 * charset.c (init_charset_once): Don't init unibyte_to_multibyte_table.
186 * character.h (UNIBYTE_TO_CHAR): New macro.
187 (MAKE_CHAR_MULTIBYTE): Use it.
188 (unibyte_to_multibyte_table, unibyte_char_to_multibyte): Remove.
189 * xdisp.c (get_next_display_element): USE ASCII_CHAR_P.
190 (message_dolog, set_message_1):
191 * search.c (Freplace_match):
192 * editfns.c (Fcompare_buffer_substrings):
193 * fns.c (Fcompare_strings): Use MAKE_CHAR_MULTIBYTE.
194 (concat):
195 * insdel.c (copy_text, count_size_as_multibyte):
196 Use ASCII_CHAR_P and BYTE8_TO_CHAR.
197 * term.c (produce_glyphs):
198 * syntax.c (skip_chars): Use BYTE8_TO_CHAR.
199 * regex.c (RE_CHAR_TO_MULTIBYTE):
200 * cmds.c (internal_self_insert):
201 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use UNIBYTE_TO_CHAR.
202
fd5f21e6
SM
203 * cmds.c (internal_self_insert): `c' is already in "multibyte" form.
204
4418646e
DN
2052009-10-17 Dan Nicolaescu <dann@ics.uci.edu>
206
207 * puresize.h (BASE_PURESIZE): Increase to 1310000.
208
35f5c1d2
JB
2092009-10-16 Juanma Barranquero <lekktu@gmail.com>
210
211 * buffer.c (Fbuffer_name): Doc fix. (Bug#4728)
212
a0cd8f6b
AR
2132009-10-15 Adrian Robert <Adrian.B.Robert@gmail.com>
214
215 * nsterm.h (NS_HAVE_NSINTEGER): Back out and augment with CGFloat,
216 still needed under Tiger.
217
218 * nsterm.m (EmacsView-conversationIdentifier): Arg is long.
219
220 * m/amdx86-64.h: Don't set LIB_STANDARD and START_FILES under
221 __Apple__.
222
223 * m/intel386.h: Remove DARWIN_OS/_LP64 special case.
224
01a8d3fa
KH
2252009-10-15 Kenichi Handa <handa@m17n.org>
226
227 * print.c (print_object): Escape a symbol like "2E10" too.
228
bf6c75c9 2292009-10-11 Adrian Robert <Adrian.B.Robert@gmail.com>
6e4780c5
JB
230
231 Cleanups and changes for 64-bit compile under Snow Leopard.
232 Based on suggestions by Erik Charlebois.
bf6c75c9
AR
233
234 * nsfns.m (xw-color-values): Use CGFloat where appropriate.
235
c5959062 236 * nsfont.m (ns_char_width): Replace deprecated call.
bf6c75c9
AR
237 (ns_findfonts, nsfont_list_family): Use long format in printf, and
238 cast argument.
239 (nsfont_open): Use ns_char_width() everywhere.
240 (ns_uni_to_glyphs, NSGlyphStorage): Use NS[U]Integer where
241 appropriate.
242
243 * nsgui.h (NSPoint, NSSize) [!__OBJC__]: Define and use CGFloat.
244
245 * nsimage.m (EmacsImage-setXBMColor:,-getPixelAtX:Y:): Use CGFloat
246 where appropriate.
247
248 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Use NSInteger
249 where appropriate.
6e4780c5
JB
250 (EmacsToolbar-addDisplayItemWithImage:idx:helpText:enabled:):
251 Use stringWithUTF8String.
bf6c75c9
AR
252 (EmacsDialogPanel-initWithContentRect:styleMask:): Fix signature.
253
6e4780c5
JB
254 * nsterm.h (EmacsView, EmacsMenu, EmacsToolbar, EmacsTooltip):
255 Add formal protocol mention to inheritance.
bf6c75c9
AR
256 [NS_HAVE_NSINTEGER]: Drop conditional and contents.
257
6e4780c5
JB
258 * nsterm.m (ns_color_to_lisp): Use CGFloat where appropriate.
259 Fix printf format.
bf6c75c9
AR
260 (ns_query_color): Use CGFloat where appropriate.
261 (EmacsView<NSTextInput>, EmacsScroller): Fix method signatures.
262 (EmacsScroller-mouseDown:) Use long format in printf, and cast
263 argument.
264
3d87f118
AR
265 * config.in (NS_HAVE_NSINTEGER): Drop.
266
a95c8102
AR
267 * dbusbind.c (dbus-method-return-internal)
268 (dbus-method-error-internal): Use long format in printf, and cast
269 argument.
270
271 * font.c (font_unparse_xlfd, font_unparse_fcname): Use long format
272 in printf, and cast argument.
273
6873acca 274 * process.c (list_processes_1): Use long format in printf, and
a95c8102
AR
275 cast argument.
276
9ec6f100
GM
2772009-10-11 Glenn Morris <rgm@gnu.org>
278
279 * frame.c (Fframe_pixel_height): Doc fix. (Bug#4535)
280
5be883cd
JD
2812009-10-08 Jan Djärv <jan.h.d@swipnet.se>
282
283 * gtkutil.c (create_menus): Call gtk_widget_set_size_request for
284 menu bar with a small width so it doesn't enlarge the frame.
285
d7a39b51
JB
2862009-10-08 Juanma Barranquero <lekktu@gmail.com>
287
288 * fontset.c (Fset_fontset_font): Fix typos in error messages.
289
0c2b6f8e
GM
2902009-10-06 Glenn Morris <rgm@gnu.org>
291
292 * Makefile.in (emacs${EXEEXT}): Remove direct dependence on
293 SOME_MACHINE_LISP (this enters indirectly via DOC).
294
e02131a2
EZ
2952009-10-05 Eli Zaretskii <eliz@gnu.org>
296
297 * dired.c (Ffile_attributes): Doc fix. (Bug#4638)
298
b4744254
EZ
2992009-10-04 Eli Zaretskii <eliz@gnu.org>
300
301 * xdisp.c (syms_of_xdisp) <unibyte-display-via-language-environment>:
302 Doc fix.
303
dbf64827
JB
3042009-10-03 Martin Rudalics <rudalics@gmx.at>
305
306 * window.c (Fdelete_window): Check WINDOW argument. (Bug#4618)
307
e9a0aef8
MA
3082009-10-02 Michael Albinus <michael.albinus@gmx.de>
309
310 * lisp.h (Qdelete_directory_internal): Removed, because it is not
311 used anymore outside fileio.c.
312
313 * w32fns.c (Fsystem_move_file_to_trash): Use delete-directory.
314
64eb2b56
JB
3152009-10-01 Juanma Barranquero <lekktu@gmail.com>
316
317 * lisp.h (Qdelete_directory_internal):
318 Declare, instead of Qdelete_directory.
319
320 * w32fns.c (Fsystem_move_file_to_trash): Use it.
321
9d28c33e
SM
3222009-10-01 Stefan Monnier <monnier@iro.umontreal.ca>
323
324 * eval.c (Fcalled_interactively_p): Add `kind' argument.
325
9d8f3bd9
MA
3262009-10-01 Michael Albinus <michael.albinus@gmx.de>
327
9d28c33e 328 * fileio.c (Fdelete_directory_internal): Rename from
9d8f3bd9
MA
329 Fdelete_directory. It is not a command anymore. It has no file
330 name handler.
331
9694740b
SM
3322009-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
333
334 * xdisp.c (get_next_display_element): Use an enum in last change.
335
748e162f
KH
3362009-09-28 Kenichi Handa <handa@m17n.org>
337
9694740b 338 * xdisp.c (get_next_display_element): Pay attention to
748e162f
KH
339 unibyte_display_via_language_environment in handling
340 Vnobreak_char_display.
341
17efd58d
AR
3422009-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
343
344 * nsterm.h (ns_app_name): New extern variable.
345
346 * nsterm.m (ns_app_name): New variable.
347 (ns_term_init): Set and use it.
348 (ns_term_shutdown): Use it.
349
350 * nsmenu.m (ns_update_menubar): Use ns_app_name. Sync with xmenu.c.
351 (EmacsMenu-clear:, ns_popup_dialog): Use ns_app_name.
352
353 * nsfns.m (ns_set_name_iconic, ns_set_name)
354 (ns_set_name_as_filename, x-create-frame, ns-get-resource)
355 (ns-set-resource): Use ns_app_name instead of NSProcessInfo call.
356
9694740b
SM
357 * menu.c (find_and_return_menu_selection) [HAVE_NS]:
358 Remove double-casting in client_data comparison.
31c2d412 359
3208cb35
YM
3602009-09-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
361
362 * keyboard.c (make_lispy_event): Remember last wheel direction.
363 (syms_of_keyboard) <wheel_syms>: Compute array size at compile time.
364
b7d552d6
GM
3652009-09-26 Glenn Morris <rgm@gnu.org>
366
367 * Makefile.in (MSDOS_SUPPORT) [MSDOS]: Remove unneeded '/' in
368 internal.elc. Add term/pc-win.elc.
369 (WINDOW_SUPPORT) [HAVE_X_WINDOWS]: Add term/common-win.elc and
370 term/x-win.elc.
371 (WINNT_SUPPORT) [WINDOWSNT]: Add term/common-win.elc and
372 term/w32-win.elc.
373 (NS_SUPPORT): New.
374 (lisp): Add NS_SUPPORT.
375 (SOME_MACHINE_LISP): Add term/w32-win.elc and emacs-lisp/easymenu.elc.
376
4ff670a8
DR
3772009-09-25 David Reitter <david.reitter@gmail.com>
378
379 * nsmenu.m (EmacsMenu-clear): Recognize application menu
380 on Mac OS X 10.6+ (bug#4513).
381
feabfb6c
JB
3822009-09-24 Juanma Barranquero <lekktu@gmail.com>
383
384 * frame.c (xrdb_get_resource): Return nil for empty string resources;
385 some parts of Emacs code (like font selection) don't grok them. See
386 http://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00528.html
387
de59072a
AS
3882009-09-24 Andreas Schwab <schwab@redhat.com>
389
390 * coding.c (decode_coding_iso_2022): Fix operator precedence.
391
a489517b
JB
3922009-09-24 Juanma Barranquero <lekktu@gmail.com>
393
394 * dired.c (Fdirectory_files): Fix typo in docstring.
395
0592970c
AR
3962009-09-23 Adrian Robert <Adrian.B.Robert@gmail.com>
397
398 * nsterm.m (EV_TIMESTAMP, x_set_window_size)
399 (EmacsApp-application:openFiles:): Remove GNUstep conditionals.
400 (EmacsScroller-setPosition:portion:whole:): Remove -display call
401 under GNUstep.
402 (EmacsView-initFrameFromEmacs:): Set autoresizing mask.
403
404 * nsfont.m (ns_glyph_metrics): Remove GNUstep conditional for
405 glyph advancement.
406
48e8a88b
AR
4072009-09-22 Adrian Robert <Adrian.B.Robert@gmail.com>
408
409 * nsterm.m (CGContextSetFontRenderingMode): Drop declaration.
b3aac06a 410 (EmacsScroller-mouseDown:): Use SCROLL_BAR_FIRST_DELAY.
48e8a88b
AR
411
412 * nsmenu.m (EmacsMenu-menuNeedsUpdate): Ignore if frame has been
413 deleted (bug #4492).
414
e14f0a78
AR
415 * nsfont.m (Vns_reg_to_script): New lisp variable.
416 (syms_of_nsfont): Declare it.
417 (ns_registry_to_script): New function.
418 (ns_get_req_script): Call it.
419 (ns_findfonts): Don't give up on non-unicode registry.
420
421 * font.c (DEFAULT_ENCODING) [HAVE_NS]: Remove special case.
422
5b650faa
SM
4232009-09-20 Tom Tromey <tromey@redhat.com>
424
425 * eval.c (find_handler_clause): Make stack-trace-on-error work in
426 batch mode (bug#4228).
427
a489517b 4282009-09-18 Rob Christie <robchristie@gmail.com> (tiny change)
0bae4e09
AR
429
430 * nsmenu.m (EmacsMenu-parseKeyEquiv:): Parse key equivalent more
a489517b 431 carefully. (Bug #4339)
0bae4e09 432
fcfe06f3
CY
4332009-09-18 Chong Yidong <cyd@stupidchicken.com>
434
d798ba87 435 * syntax.c (Fchar_syntax): Minor doc fix (Bug#4400).
fcfe06f3 436
31642728
AR
4372009-09-18 Adrian Robert <Adrian.B.Robert@gmail.com>
438
439 * emacs.c (inhibit_x_resources): Update doc string for NS.
440 (main) [HAVE_NS]: Don't process --no-init-file option. Remove
cff11156 441 legacy code for -NXHost. Fix error printf in daemon case.
31642728
AR
442
443 * nsterm.h (ns_no_defaults): Remove.
444
445 * nsterm.m (ns_no_defaults): Remove.
446 (ns_term_init): Switch ns_no_defaults -> inhibit_x_resources.
447 (ns_use_qd_smoothing): Remove legacy variable.
6516d10a
AR
448 (EmacsView-windowShouldZoom:): Set frame left_pos, top_pos and
449 don't update the NSWindow itself.
450 (EmacsView-windowWillUseStandardFrame:defaultFrame:): Improve
a489517b 451 state detection and store user rect ourselves. (Bug #3581)
31642728
AR
452
453 * nsfont.m (nsfont_draw) [NS_IMPL_COCOA]: Don't use
454 ns_use_qd_smoothing.
455
456 * nsfns.m (x_get_string_resource): Ape just-previous changes to other
457 platform versions. Drop support for emacs-20-style face specs.
8aad0aea 458 (x-close-connection): Drop PSFlush() under OS X.
a489517b 459 (x-focus-frame): Activate the app first. (Bug #4180)
31642728 460
8686ac71
JB
4612009-09-17 Juanma Barranquero <lekktu@gmail.com>
462
463 * emacs.c (inhibit_x_resources): New variable.
464 (main) [HAVE_NS]: Don't process --quick command line option.
465 (syms_of_emacs) <inhibit-x-resources>: DEFVAR_BOOL it.
466
467 * lisp.h (inhibit_x_resources): Declare it extern.
468
469 * w32reg.c (x_get_string_resource):
470 * xrdb.c (x_get_string_resource): Obey inhibit_x_resources.
471
e227ba05
EZ
4722009-09-17 Eli Zaretskii <eliz@gnu.org>
473
474 * Makefile.in (MSDOS_SUPPORT, SOME_MACHINE_LISP): Add
475 lisp/term/internal.elc.
476
742d40e8
SM
4772009-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
478
479 * frame.c (x_get_resource_string): Re-add for non-toolkit builds
480 (bug#4461).
481
005bd5a2
DN
4822009-09-17 Dan Nicolaescu <dann@ics.uci.edu>
483
484 * puresize.h (BASE_PURESIZE): Increase to 1290000.
485
486 * Makefile.in (OTHER_FILES): Define using autoconf, not cpp.
487 (OBJECTS_MACHINE): Remove, unused.
488
f9af9719
SM
4892009-09-16 Stefan Monnier <monnier@iro.umontreal.ca>
490
491 * frame.c (x_get_resource_string): Remove unused.
492
0307c7d2
JD
4932009-09-15 Jan Djärv <jan.h.d@swipnet.se>
494
495 * xterm.c (x_new_font): Call change_frame_size before calling
496 x_set_window_size, in case frame size won't change.
497
498 * frame.c (x_set_font): Remove dead code.
499
428b13d6
SM
5002009-09-15 Stefan Monnier <monnier@iro.umontreal.ca>
501
502 * lread.c (Fload): Also run do-after-load-evaluation while dumping.
503
5766c380
SM
5042009-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
505
506 * lread.c (Fload): Don't output a message after loading an obsolete
507 package any more (done in Lisp now).
508
2fd0161b
CY
5092009-09-12 Chong Yidong <cyd@stupidchicken.com>
510
511 * fns.c (syms_of_fns): Doc fix (Bug#4227).
512
bc5e75b6
SM
5132009-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
514
515 * keymap.c (Fwhere_is_internal): Use nconc2.
516
c31c985e
AM
5172009-09-11 Alan Mackenzie <acm@muc.de>
518
519 * dispnew.c (Fsend_string_to_terminal): Amend doc string to cover
520 batch mode.
521
78012bd2
AS
5222009-09-11 Andreas Schwab <schwab@linux-m68k.org>
523
524 * xdisp.c (display_mode_element): Detect cycles.
525
9d889332
SM
5262009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
527
528 * keymap.c (where_is_internal): Don't erroneously return nil right after
529 filling the cache.
530 (where_is_internal_1): Fix up typo.
531
7ab5d780
GM
5322009-09-11 Glenn Morris <rgm@gnu.org>
533
534 * frame.c (Fx_parse_geometry): Unify the X and NS versions so that they
535 share a common doc-string.
536
5238a749
SM
5372009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
538
66d77eda
SM
539 * keymap.c (get_keymap): Return the actual keymap symbol rather than
540 t for autoloaded keymaps when autoloading is not allowed (bug#4393).
541
5238a749
SM
542 * keymap.c (QCadvertised_binding): New constant.
543 (syms_of_keymap): Initialize it.
544 (Fwhere_is_internal): Try and use bindings from :advertised-binding
545 if applicable.
546
19f48442
SM
5472009-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
548
50d4ba39
SM
549 * keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove.
550 (parse_menu_item): Streamline since bindings are recomputed all the
551 time anyway. Don't bother checking Vdefine_key_rebound_commands any
552 more and don't support lmenu's menu-alias any more either.
553
a88a5372
SM
554 * keymap.c (where_is_internal_data): Make noindirect a boolean.
555 (where_is_internal): Strip it down to only traverse the keymaps.
556 Move the cache handling from Fwhere_is_internal to here.
557 (Fwhere_is_internal): Move the handling of remapping and the choice of
558 the best binding from where_is_internal to here.
559 Unify the cached/noncached paths, so remapping is also handled
560 correctly when the cache is used, and so the cache can be used to
561 speed up remap-handling when applicable.
562 Give preference to non-remapped bindings.
563 * doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer
564 non-remapped bindings.
565 * keyboard.c (parse_menu_item): Let Fwhere_is_internal handle
566 command remapping.
567
19f48442
SM
568 * xdisp.c (display_mode_element): Move list length limit from 50 to
569 5000 (see thread starting with <xbaik5174uqu.fsf@cam.ac.uk>).
570
599498c3 5712009-09-09 Adrian Robert <Adrian.B.Robert@gmail.com>
c1905ca3
AR
572
573 * nsfont.m (ns_get_family): Don't force first letter to uppercase.
574
f9b7b5ac
SM
5752009-09-09 Stefan Monnier <monnier@iro.umontreal.ca>
576
a53af587
JB
577 * xdisp.c (Vtruncate_partial_width_windows): Improve docstring.
578 (Bug#4334)
579
f9b7b5ac
SM
580 * keymap.c (where_is_internal): Filter out shadowed remappings.
581 Assume that where_is_internal returns unshadowed bindings to simplify
582 the code and get rid of the gotos. Use ASIZE.
583
04f4b72d
JD
5842009-09-04 Jan Djärv <jan.h.d@swipnet.se>
585
4da146f2
JD
586 * xterm.c (x_focus_changed): If we get a focusout and pointer
587 is invisible, make it visible.
588
04f4b72d
JD
589 * xterm.h: Remove condition for declaration of
590 x_*_window_to_frame.
591
7cef7ce3
SM
5922009-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
593
594 * dispnew.c (Fsend_string_to_terminal): Make it work again on the
595 initial terminal as well.
596
a54fa5b7
JD
5972009-09-02 Jan Djärv <jan.h.d@swipnet.se>
598
599 * xterm.h: Rename x_non_menubar_window_to_frame to
7cef7ce3 600 x_menubar_window_to_frame.
a54fa5b7
JD
601
602 * xterm.c: Remove declarations also in xterm.h
603 (XTmouse_position): Do not return valid positions
604 for clicks in the menubar and the toolbar for Gtk+.
605
606 * xfns.c (x_any_window_to_frame): Assume less about Gtk+ internals,
607 if the widget for the event has the same top level as a frame,
608 return the frame.
609 (x_menubar_window_to_frame): Detect menu bar even with Gtk+
610 internal windows, bug #4122.
611 (x_non_menubar_window_to_frame): Remove.
612
5a021dd0
GM
6132009-09-02 Glenn Morris <rgm@gnu.org>
614
615 * buffer.c (default-major-mode): Move most of the doc from here...
616 (major-mode): ... to here.
617
548fe2f3
NR
6182009-08-30 Nick Roberts <nickrob@snap.net.nz>
619
620 * process.c (wait_reading_process_output): Keep the descriptor
621 when pty is used by a non-child process, e.g., in I/O buffer of
622 GDB this allows inferior to be restarted.
623
e0840eef
EZ
6242009-08-29 Eli Zaretskii <eliz@gnu.org>
625
626 * xdisp.c (redisplay_internal): Remove redundant test and collapse
627 both branches into one.
628
82e98df4
SM
6292009-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
630
631 * emacs.c (USAGE1): Remove --(no-)multibyte, --(no-)unibyte.
632 (main): Use enable-multibyte-characters rather than
633 default-enable-multibyte-characters. Output a warning message when
634 running a unibyte session.
635
890617cb
YM
6362009-08-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
637
638 * unexmacosx.c (print_load_command_name) [LC_DYLD_INFO]: Add cases
639 LC_DYLD_INFO and LC_DYLD_INFO_ONLY.
640 (copy_data_segment): Also copy __program_vars section.
641 (copy_dyld_info) [LC_DYLD_INFO]: New function.
642 (dump_it) [LC_DYLD_INFO]: Use it.
643
644 * s/darwin.h [temacs]: Undef HAVE_POSIX_MEMALIGN.
645
e7adeadc
EZ
6462009-08-28 Eli Zaretskii <eliz@gnu.org>
647
648 * makefile.w32-in ($(BLD)/doc.$(O)): Depend on buildobj.h, not on
649 $(SRC)/buildobj.h.
650 (buildobj.h): Renamed from $(SRC)/buildobj.h.
651 (make-buildobj-CMD, make-buildobj-SH): Create buildobj.h, not
652 $(SRC)/buildobj.h.
653 (clean): Add buildobj.h.
654
3ed8bbdc
TZ
6552009-08-28 Teodor Zlatanov <tzz@lifelogs.com>
656
657 * print.c (print_object): Set escapeflag to 1 when printing
658 hashtable keys and values.
659
155a6764
SM
6602009-08-27 Stefan Monnier <monnier@iro.umontreal.ca>
661
662 * lread.c (read_integer): Use doubles (and potentially return a float
663 number) as we do in string-to-number.
664 (read1): Use strtol to read integers, signal errors on strtol's
665 overflow and use floats if strtol's output is too large for
666 Elisp integers.
667
877610de
EZ
6682009-08-27 Eli Zaretskii <eliz@gnu.org>
669
670 * makefile.w32-in ($(SRC)/buildobj.h, make-buildobj-CMD)
671 (make-buildobj-SH): Fix last change.
672 (SRC): Move to before where it's first used.
673
ef73e7be
KH
6742009-08-27 Kenichi Handa <handa@m17n.org>
675
550c8289
KH
676 * process.c (send_process): Use encode_coding_object instead of
677 encode_coding_string to perform eol-conversion even if the string
678 is unibyte.
679
60afa08d
KH
680 * coding.c (encode_coding_utf_16): Fix checking of a Unicode
681 character.
682
ef73e7be 683 * cmds.c (Fself_insert_command): Avoid unnecessay
8a0b709a 684 unibyte->multibyte conversion. (Bug#4240) (Bug#4037)
ef73e7be 685
7b3a82d7
DN
6862009-08-26 Dan Nicolaescu <dann@ics.uci.edu>
687
5654bf63
DN
688 * callproc.c (Fcall_process): Remove always true #if.
689
7b3a82d7
DN
690 * lisp.h: Replace #if 0 code for checking with text pointing to
691 the --enable-checking configure flag.
692
693 * emacs.c (main): Mention the --enable-profiling configure flag
694 instead of using CFLAGS.
695
878bde49
KR
6962009-08-26 Ken Raeburn <raeburn@raeburn.org>
697
698 * Makefile.in (buildobj.h): New target.
699 (doc.o): Depend on it.
700 (temacs${EXEEXT}): Don't generate buildobj.lst.
701 (mostlyclean): Delete buildobj.h, not buildobj.lst.
702 * makefile.w32-in ($(SRC)/buildobj.h): New target.
703 ($(BLD)/doc.$(O)): Depend on it.
704 (make-buildobj-CMD, make-buildobj-SH): New targets. (Syntax help
705 provided by Eli Zaretskii.)
706 ($(TEMACS)): Don't generate buildobj.lst.
707 * doc.c: Include buildobj.h.
708 (buildobj): New static variable.
709 (Fsnarf_documentation): Use it, instead of opening and reading
710 buildobj.lst.
711
1574224c
MA
7122009-08-25 Michael Albinus <michael.albinus@gmx.de>
713
714 * dbusbind.c (Fdbus_call_method)
715 (Fdbus_call_method_asynchronously): Use English numeric format for
716 timeout values in doc string.
717
d9da2f45
KH
7182009-08-25 Kenichi Handa <handa@m17n.org>
719
ef73e7be
KH
720 * alloc.c (mark_char_table): New function.
721 (mark_object): Use mark_char_table for a char-table.
722
d9da2f45
KH
723 * lisp.h (CHAR_TABLE_REF_ASCII): New macro.
724 (CHAR_TABLE_REF): Use it.
725
c8edcc01
KR
7262009-08-23 Ken Raeburn <raeburn@raeburn.org>
727
728 * Makefile.in (emacs${EXEEXT}) [CANNOT_DUMP]: Set EMACSLOADPATH
729 before invoking the newly build emacs to check for load-path
730 shadowing.
731
7763401b
GM
7322009-08-22 Glenn Morris <rgm@gnu.org>
733
734 * Makefile.in (bootstrap_exe): New variable.
735 (.el.elc, ${lispsource}loaddefs.el, bootstrap-emacs${EXEEXT}):
736 Use ${bootstrap_exe}.
737
729eadda
EZ
7382009-08-22 Eli Zaretskii <eliz@gnu.org>
739
740 * coding.h (encode_coding_string): Don't encode unibyte strings.
741 (Bug#4047)
742
eb4c6ace
MA
7432009-08-22 Michael Albinus <michael.albinus@gmx.de>
744
745 * config.in (HAVE_DBUS_WATCH_GET_UNIX_FD): Add.
746
747 * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): Remove. It was
748 intended as hotfix only.
749 (xd_add_watch, xd_remove_watch): Use HAVE_DBUS_WATCH_GET_UNIX_FD.
750
36e34d1b
AR
7512009-08-21 Adrian Robert <Adrian.B.Robert@gmail.com>
752
753 * nsterm.m (ns_get_color): Update documentation properly for last
754 change, and clean up loose ends in the code left by it. Fix
755 longstanding bug with 16-bit hex parsing, and add support for
756 yet another X11 format (rgb:r/g/b) for compatibility.
757 * nsfns.m (EmacsDialogPanel-runDialogAt): Add declaration of
758 timer_check() to avoid crash on Leopard/PPC. Bug #2154.
759
f983eb8a
SM
7602009-08-21 Stefan Monnier <monnier@iro.umontreal.ca>
761
762 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 500 for js.el.
763
3f56d3c6
MA
7642009-08-20 Michael Albinus <michael.albinus@gmx.de>
765
766 * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): New macro.
767 (xd_add_watch, xd_remove_watch): Use it. Print debug messages.
768 (xd_initialize, xd_pending_messages): Check, whether
769 $DBUS_SESSION_BUS_ADDRESS is set.
770
fb641d68
YM
7712009-08-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
772
773 * nsfns.m (Fxw_color_values): Return 3-element list. Doc fix.
774
775 * nsterm.m (ns_get_color): Remove incompatible color formats again.
776
cf59a374
GM
7772009-08-20 Glenn Morris <rgm@gnu.org>
778
779 * emacs.c (system-type): Doc fix.
780
1373f3be
SM
7812009-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
782
783 * keyboard.c (syms_of_keyboard): Default to 5 buttons, which should be
784 enough for the most common situations. Avoid SET_SYMBOL_VALUE.
785
058ed861
MA
7862009-08-18 Michael Albinus <michael.albinus@gmx.de>
787
1373f3be
SM
788 * dbusbind.c (xd_add_watch, xd_remove_watch, Fdbus_init_bus):
789 New functions.
058ed861
MA
790 (xd_initialize): Revert change from 2009-08-16.
791
563a866e 7922009-08-18 Kenichi Handa <handa@m17n.org>
5fc05db0
KH
793
794 * fontset.c (Ffontset_font): If a nil element is found in a
563a866e 795 font-group vector, return nil.
5fc05db0 796
e42bdf01
CY
7972009-08-17 Chong Yidong <cyd@stupidchicken.com>
798
799 * process.c (status_notify): Don't perform redisplay.
800 (Fdelete_process, list_processes_1, process_send_signal):
801 Expliticly perform redisplay.
802 (wait_reading_process_output): Always check process status, but
803 don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930).
804
4230ab74
KR
8052009-08-17 Ken Raeburn <raeburn@raeburn.org>
806
1373f3be 807 * lisp.h (XFLOAT_DATA): Produce an rvalue by adding 0 to the value.
f601cdf3
KR
808 (XFLOAT_INIT): New macro for storing a float value.
809 * alloc.c (make_float, make_pure_float): Use XFLOAT_INIT.
810 * fns.c (sxhash): Copy out the value of a float in order to
811 examine its bytes.
812 * dbusbind.c (xd_append_arg): Likewise.
813
4230ab74
KR
814 * emacs.c (main): Don't call syms_of_data twice.
815
a0645cdd
MA
8162009-08-16 Michael Albinus <michael.albinus@gmx.de>
817
818 * dbusbind.c (xd_initialize): Add connection file descriptor to
819 input_wait_mask, in order to let select() detect, whether a new
820 message has been arrived.
ca4f31ea 821 (Fdbus_call_method_asynchronously): Allow nil HANDLER.
a0645cdd 822
485db0ba
MA
8232009-08-15 Michael Albinus <michael.albinus@gmx.de>
824
1373f3be
SM
825 * dbusbind.c (xd_get_dispatch_status, xd_pending_messages):
826 New functions.
485db0ba
MA
827
828 * lisp.h (xd_pending_messages): Declare.
829
830 * keyboard.c (readable_events): Call xd_pending_messages.
831
b5b98ff4
CY
8322009-08-15 Chong Yidong <cyd@stupidchicken.com>
833
1373f3be 834 * eval.c (Fcalled_interactively_p, Finteractive_p): Doc fix (Bug#3936).
84b17ab0 835
f8354c6e
CY
836 * xdisp.c (pop_it): Don't pop into a display vector (Bug#4131).
837
b5b98ff4
CY
838 * buffer.c (set_buffer_internal_1)
839 (swap_out_buffer_local_variables): Check for unbound local
840 variables (Bug#4138).
841
8b9fc636
EZ
8422009-08-14 Eli Zaretskii <eliz@gnu.org>
843
844 * process.c (create_pty): Fix last change.
845
ce959360
CY
8462009-08-13 Chong Yidong <cyd@stupidchicken.com>
847
848 * image.c (xbm_read_bitmap_data): New arg inhibit_image_error.
849 (xbm_load_image): Caller changed.
64b807c9 850 (xbm_file_p): Avoid signalling an image_error (Bug#4107).
ce959360 851
c7baf7e9
NR
8522009-08-13 Nick Roberts <nickrob@snap.net.nz>
853
854 * process.c (create_pty): New function.
855 (Fstart_process): Use it to allow Emacs to just associate a pty
856 with the buffer. See associated change in gdb-mi.el.
857 (list_processes_1): Deal with no program name.
858 (start_process_unwind): Use pid == -2 to mean no process.
859
1ac9108a
SM
8602009-08-12 Stefan Monnier <monnier@iro.umontreal.ca>
861
862 * cmds.c (nonundocount): New global variable.
863 (keys_of_cmds): Initialize it.
864 (Fself_insert_command): Use it to combine upto 20 sequential chars
865 into a single undo entry, just like the Qself_insert_command code in
866 keyboard.c does.
867 Call frame_make_pointer_invisible, also like the Qself_insert_command
868 code in keyboard.c does.
869 * keyboard.c (command_loop_1): Use the new global nonundocount rather
870 than its own local replacement for it.
871
e267324c
KR
8722009-08-10 Ken Raeburn <raeburn@raeburn.org>
873
1ac9108a 874 * fns.c (concat): Don't re-set string length to its current value.
77437343 875
1ac9108a
SM
876 * coding.h (decode_coding_string, encode_coding_string):
877 Use SBYTES macro.
f0bed503 878
1ac9108a 879 * doprnt.c (doprnt_lisp): Delete unused function.
e267324c
KR
880 (doprnt): Merge with doprnt1, discarding lispstrings code.
881 * lisp.h (doprnt_lisp): Don't declare.
882
416e006d
JL
8832009-08-07 Juri Linkov <juri@jurta.org>
884
885 * puresize.h (BASE_PURESIZE): Increase to 1270000.
886
6f7d5780
DN
8872009-08-07 Dan Nicolaescu <dann@ics.uci.edu>
888
889 * print.c (syms_of_print): Undo previous change.
890
f19a0f5b
TZ
8912009-08-05 Teodor Zlatanov <tzz@lifelogs.com>
892
893 * lread.c (read1, syms_of_lread): Read hashtables back from the
894 readable format.
895
896 * print.c (print_preprocess, print_object): Print hashtables fully
897 and readably.
898 (syms_of_print): Provide 'hashtable-print-readable.
899
b9173dc2
AR
9002009-08-02 Adrian Robert <Adrian.B.Robert@gmail.com>
901
902 * nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has
903 no family set.
904 (nsfont_open): Handle case when entity has no family.
905
1586503c
AR
9062009-07-29 Adrian Robert <Adrian.B.Robert@gmail.com>
907
908 * nsfont.m (ns_findfonts): Fix 2009-07-24 change to return only one
909 element, not a list, for match case.
910
087048cd
KH
9112009-07-28 Kenichi Handa <handa@m17n.org>
912
913 * font.c (font_parse_xlfd): Check DPI and AVGWIDTH properties more
914 rigidly.
915
916 * xfont.c (xfont_list_pattern): Don't ignore the return value of
917 font_parse_xlfd. Check font properties more rigidly.
918
780c2506
DN
9192009-07-27 Dan Nicolaescu <dann@ics.uci.edu>
920
31fd7c5c
JB
921 * s/netbsd.h (SIGNALS_VIA_CHARACTERS): Remove, already defined in
922 bsd-common.h.
780c2506 923
a8c0cc18
KH
9242009-07-27 Kenichi Handa <handa@m17n.org>
925
926 * xfaces.c (face_with_height): Call font_clear_prop.
927
4fbe2306
CY
9282009-07-26 Chong Yidong <cyd@stupidchicken.com>
929
111d9af3
CY
930 * dispnew.c (init_display): Use Qx, Qw32, and Qns.
931
932 * xterm.c (x_term_init): Use Qx.
933
4fbe2306
CY
934 * nsfont.m (nsfont_draw): Revert 2009-07-15 change.
935
1ac9108a 936 * nsterm.m (ns_maybe_dumpglyphs_background): Revert 2009-07-15 change.
4fbe2306
CY
937 (ns_get_color): Revert 2009-07-16 change.
938
beb0b7f9
EZ
9392009-07-25 Eli Zaretskii <eliz@gnu.org>
940
941 * lread.c (syms_of_lread) <force_load_messages>: New variable.
1ac9108a 942 (Fload): Use it to force load messages, even if NOMESSAGES is non-nil.
beb0b7f9 943
2baf5e76
KR
9442009-07-25 Ken Raeburn <raeburn@raeburn.org>
945
1ac9108a
SM
946 * coding.h (decode_coding_string, encode_coding_string):
947 Use SCHARS macro.
8890e5f5 948
2baf5e76 949 * lread.c: Rewrite 2009-07-21 changes.
1ac9108a 950 (load_depth): Delete.
2baf5e76
KR
951 (Qload_in_progress): New variable.
952 (load_unwind): Don't reference load_depth or load_in_progress.
953 (Fload): Likewise; specbind Qload_in_progress instead.
954 (init_lread): Don't initialize load_depth.
955 (syms_of_lread): Initialize and protect Qload_in_progress.
956
1395c6f5
AR
9572009-07-24 Adrian Robert <Adrian.B.Robert@gmail.com>
958
959 * nsfont.m (ns_findfonts): Correctly return fallback in match case.
960
4e2f36cf
AR
9612009-07-23 Yavor Doganov <yavor@gnu.org>
962
963 * nsfont.m (NSFontDescriptor.h): Explicitly include under GNUstep.
964
5dd9a6f7
AR
9652009-07-23 Adrian Robert <Adrian.B.Robert@gmail.com>
966
967 * nsterm.m (EmacsView-keyUp:): Only act when running under Tiger.
7f6ad209
AR
968 Bugs 3792, 3720, 2402.
969 (ns_lookup_indexed_color): Check for bad index.
970 (ns_index_color): Init unused slot to 0.
971 (ns_dumpglyphs_box_or_relief): Replace useless xassert with an if().
972 Bug 3714, possibly 3082.
5dd9a6f7 973
c902b920
JR
9742009-07-22 Jason Rumney <jasonr@gnu.org>
975
1ac9108a
SM
976 * w32fns.c (w32_wnd_proc) [WM_IME_STARTCOMPOSITION]:
977 Position IME window at cursor (Bug#2570).
c902b920
JR
978 (w32_wnd_proc) [WM_IME_CHAR]: Release context when finished.
979 (globals_of_w32fns): Dynamically load functions required above.
980
981 * w32term.c (w32_draw_window_cursor): Send message to reposition
982 any IME window.
983
090101cf
CY
9842009-07-21 Chong Yidong <cyd@stupidchicken.com>
985
986 * fileio.c: Revert 2009-07-16 changes.
987 (Vauto_save_include_big_deletions): New variable.
988 (Fdo_auto_save): Disable auto-save only if
989 auto-save-include-big-deletions is nil.
990
e6583e3d
CY
9912009-07-21 Chong Yidong <cyd@stupidchicken.com>
992
993 * xdisp.c (move_it_to): For continued lines ending in a tab, take
994 the overflowed pixels into account (Bug#3879).
995
ece435a5
KR
9962009-07-21 Ken Raeburn <raeburn@raeburn.org>
997
998 * lread.c (load_depth): New variable.
999 (Fload, load_unwind, init_lread): Set it to the load recursion
1000 depth; set load_in_progress as a simple boolean based on the
1001 current load_depth. (Bug#3892)
1002
40b2d973
AR
10032009-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1004
1005 * nsfont.m (ns_has_attribute): Remove.
1006 (ns_findfonts, nsfont_open): Use ns_attribute_fvalue() instead.
1007
10be7e0d
JL
10082009-07-18 Juri Linkov <juri@jurta.org>
1009
1010 * process.c (Fset_process_query_on_exit_flag): Mention killing
1011 a buffer in docstring.
1012
fa055055
KH
10132009-07-17 Kenichi Handa <handa@m17n.org>
1014
1015 * casetab.c (shuffle): Fix the logic of setting up the cycle.
1016
042f7b69
YM
10172009-07-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1018
1019 * nsfns.m (Fns_set_alpha): Remove function.
1020 (syms_of_nsfns): Don't defsubr it.
1021
1022 * nsterm.m (ns_get_color): Remove incompatible color formats.
1023 (ns_color_to_lisp): Generate #rrggbb color format string.
1024
4be941e3
RS
10252009-07-16 Richard Stallman <rms@gnu.org>
1026
1027 * fileio.c (Fwrite_region, Fdo_auto_save): Handle save_length = -2.
1028 (Fset_buffer_auto_saved): Handle save_length = -2.
1029
4e6b227d
CY
10302009-07-16 Chong Yidong <cyd@stupidchicken.com>
1031
1032 * xterm.c (Qx_gtk_map_stock): New var.
1033
1034 * gtkutil.c (update_frame_tool_bar): Use Qx_gtk_map_stock instead
1035 of calling intern each time.
1036
a1856973
YM
10372009-07-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1038
1039 * nsfont.m (nsfont_draw): Remove code for stippling, which actually
1040 does tiling.
1041
1042 * nsterm.m (ns_maybe_dumpglyphs_background): Likewise.
1043
497e54d8
KH
10442009-07-14 Kenichi Handa <handa@m17n.org>
1045
72d36834
KH
1046 * font.c (font_vconcat_entity_vectors): New function.
1047 (struct font_sort_data): New member font_driver_preference.
1048 (font_compare): Check font_driver_preference.
1049 (font_sort_entities): The format of the first argument changed.
1050 (font_delete_unmatched): Likewise.
1051 (font_list_entities): The return type changed.
1052 (font_select_entity): The format of the second argument changed.
1ac9108a
SM
1053 (font_find_for_lface): Adjuste for the above changes.
1054 Don't suppress the checking of C even if the repertory supports it.
1055 (Flist_fonts): Adjust for the above changes.
72d36834 1056
1ac9108a
SM
1057 * ftfont.c (ftfont_spec_pattern): New arg langname. Change caller.
1058 (ftfont_list): Adjust for the change of ftfont_spec_pattern.
497e54d8
KH
1059 Reject a font who has adstyle property that is different from a
1060 langname derived from registry property.
1ac9108a 1061 (ftfont_match): Adjust for the change of ftfont_spec_pattern.
497e54d8 1062
b6046155
EZ
10632009-07-13 Eli Zaretskii <eliz@gnu.org>
1064
1065 * dired.c (directory_files_internal) [WINDOWSNT]: Don't make a
1066 local copy of dirfilename.
1067
fb6b6049
KH
10682009-07-13 Kenichi Handa <handa@m17n.org>
1069
e2402a5e
KH
1070 * chartab.c (sub_char_table_ref_and_range): Fix the range check
1071 against max_char.
1072
fb6b6049
KH
1073 * cmds.c (internal_self_insert): Check sym by SYMBOLP before
1074 calling XSYMBOL (sym).
1075
65156807
EZ
10762009-07-11 Eli Zaretskii <eliz@gnu.org>
1077
1ac9108a
SM
1078 * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]:
1079 New function.
1080 (directory_files_internal) [WINDOWSNT]:
1081 Bind w32-get-true-file-attributes to either t or nil, depending whether
65156807
EZ
1082 the filesystem of the directory is fast or slow.
1083
1084 * w32.c (logon_network_drive): Don't assume PATH is an absolute
1085 file name.
1086 (is_slow_fs): New function.
1087 (stat): Use it to determine whether to issue more system calls to
1088 get accurate file attributes, when w32-get-true-file-attributes is
1089 `local'.
1090
e0ab5fcf
JD
10912009-07-10 Jan Djärv <jan.h.d@swipnet.se>
1092
1093 * xfns.c (Fx_select_font): Remember last font selected in
31fd7c5c 1094 x_last_font_name and use that the next time. Also try the frame
e0ab5fcf
JD
1095 parameter font-parameter as default to the font dialog.
1096
784ceded
KH
10972009-07-10 Kenichi Handa <handa@m17n.org>
1098
1099 * xftfont.c (xftfont_open): Fix typo: FC_RGBA->FC_HINT_STYLE.
1100
fb8edc0b
EZ
11012009-07-09 Eli Zaretskii <eliz@gnu.org>
1102
1ac9108a 1103 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
017dab84 1104
fb8edc0b
EZ
1105 * w32.c (stat): Treat UNC file names as residing on remote
1106 drives. (Bug#3542)
1107
635c75b1
KH
11082009-07-09 Kenichi Handa <handa@m17n.org>
1109
1110 * fontset.c (fontset_find_font): Fix previous change.
1111
c1d5ce94
MA
11122009-07-08 Michael Albinus <michael.albinus@gmx.de>
1113
1114 * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message)
1115 (Fdbus_register_signal, Fdbus_register_method): Cleanup memory of
1116 error flag.
1117
edb61b39
KH
11182009-07-08 Kenichi Handa <handa@m17n.org>
1119
374bf7e4
KH
1120 * fontset.c (fontset_find_font): Fix the logic of handling
1121 charset_matched.
1122 (font_for_char): Delete unused var.
1123 (generate_ascii_font_name): Delete it.
1124
edb61b39
KH
1125 * coding.h (JIS_TO_SJIS2): Fix the code range check.
1126
1127 * coding.c (detect_coding_sjis): Handle shift_jis-2004 correctly.
1128 (encode_coding_sjis): Fix the code range check.
1129
0f3f018c
CY
11302009-07-07 Chong Yidong <cyd@stupidchicken.com>
1131
1132 * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory)
1133 (Fexpand_file_name): Copy string data properly (Bug#3772).
1134
fcaf6f3a
JD
11352009-07-07 Jan Djärv <jan.h.d@swipnet.se>
1136
1137 * xterm.c (handle_one_xevent): Only call x_check_fullscreen on the
1138 first MapNotify.
1139
6809ca75
KH
11402009-07-07 Kenichi Handa <handa@m17n.org>
1141
1142 * character.h (unibyte_has_multibyte_table): Delete extern.
1143 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): Delete it.
1144
1145 * charset.c (Fset_charset_priority): Update charset_unibyte.
1146 (syms_of_charset): Initialize charset_unibyte.
1147
1148 * character.c (unibyte_has_multibyte_table): Delete it.
1149 (multibyte_char_to_unibyte): Use CHAR_TO_BYTE8 instead of checking
1150 charset_unibyte.
1151 (multibyte_char_to_unibyte_safe): Likewise.
1152 (Funibyte_char_to_multibyte): Don't check charset_unibyte.
1153
1ac9108a 1154 * xdisp.c (get_next_display_element): Decode it->c by charset_unibyte.
6809ca75
KH
1155 (x_produce_glyphs): Likewise.
1156
1157 * .gdbinit (xcharset): Fix the treating $arg0.
1158
ad9e2d54
EZ
11592009-07-04 Eli Zaretskii <eliz@gnu.org>
1160
1161 Emulation of `getloadavg' on MS-Windows.
1162 * w32.c: Include float.h
1163 (g_b_init_get_native_system_info, g_b_init_get_system_times)
1164 (GetNativeSystemInfo_Proc, GetSystemTimes_Proc): Declare.
1165 (get_native_system_info, get_system_times): New functions.
1166 (buf_next, buf_prev, sample_system_load, getavg): New subroutines.
1167 (getloadavg): Rewrite using GetSystemTimes and GetNativeSystemInfo.
1168 (globals_of_w32): Initialize g_b_init_get_native_system_info,
1169 g_b_init_get_system_times, and num_of_processors.
1170
0a3472c7
JR
11712009-07-03 Jason Rumney <jasonr@gnu.org>
1172
1173 * w32term.c (w32_initialize): Use standard types.
1174
80904120
EZ
11752009-07-03 Eli Zaretskii <eliz@gnu.org>
1176
1177 * dired.c (Ffile_attributes): Decode user and group names by the
1178 locale's encoding. (Bug#3443)
1179
6978862d
DN
11802009-07-03 Dan Nicolaescu <dann@ics.uci.edu>
1181
f8d23104
DN
1182 * sysdep.c (sys_suspend): Remove USG_JOBCTRL #ifdef, unused.
1183 (mkdir): Remove MKDIR_PROTOTYPE #ifdef, unused.
1184
1185 * callproc.c (child_setup): Use #else instead of a separate #ifdef.
1186
1187 * term.c (init_tty): Remove spurious #ifdef.
1188
6978862d
DN
1189 * m/mips.h: Mention this file is also used for netbsd.
1190 * m/pmax.h: Remove file.
1191
e044e4fc
JD
11922009-07-03 Jan Djärv <jan.h.d@swipnet.se>
1193
1194 * xterm.h (struct x_display_info): Add invisible_cursor.
1195 (struct x_output): Add current_cursor.
1196
1197 * xterm.c (XTtoggle_invisible_pointer): New function.
1198 (x_define_frame_cursor): Don't define cursor if invisible or the
1199 same as before. Set current_cursor.
1200 (x_create_terminal): Set toggle_invisible_pointer_hook.
1201
1202 * xfns.c (make_invisible_cursor): New function.
1203 (x_set_mouse_color): Call make_invisible_cursor.
1204 Set current_cursor.
1205 (x_window): Set current_cursor.
1206
1207 * termhooks.h (struct terminal): Add toggle_invisible_pointer_hook.
1208
1209 * keyboard.c (command_loop_1): Call frame_make_pointer_invisible after
1210 inserting a character.
1211 (read_avail_input): Call frame_make_pointer_visible.
1212
1213 * frame.c (Vmake_pointer_invisible): New variable.
1ac9108a
SM
1214 (frame_make_pointer_invisible, frame_make_pointer_visible):
1215 New functions.
e044e4fc
JD
1216 (syms_of_frame): DEFVAR make-pointer-invisible, initialize to Qt.
1217
1218 * frame.h: Declare frame_make_pointer_invisible and
1219 frame_make_pointer_visible.
1220 (struct frame): Add pointer_invisible.
1221
574c8efa
JD
12222009-07-02 Jan Djärv <jan.h.d@swipnet.se>
1223
7b507248
JD
1224 * gtkutil.c (xg_frame_set_char_size): Do set width/height if the
1225 frame isn't visible.
1226 (xg_frame_resized): If width/height is -1, get size of window
1227 from X server.
1228
1229 * xterm.c (handle_one_xevent): Call xg_frame_resized for USE_GTK
1230 for MapNotify.
1231
835bdaa7 1232 * gtkutil.c (xg_frame_set_char_size): Do not set pixel width/height
31fd7c5c 1233 here or call change_frame_size. Just call flush_and_sync.
1ac9108a 1234 (flush_and_sync): Reintroduce.
574c8efa 1235
3f1c6666 12362009-07-01 Jan Djärv <jan.h.d@swipnet.se>
69b16610 1237
31fd7c5c 1238 * xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky.
acd51077
JD
1239
1240 * xterm.c (x_handle_net_wm_state): Also look for sticky.
1241 (x_term_init): Initialize Xatom_net_wm_state_sticky.
1242
1243 * frame.h: Declare Qsticky.
1244
cad9ef74
JD
1245 * w32fns.c (w32_frame_parm_handlers): Set 0 for sticky.
1246
1247 * nsfns.m (ns_frame_parm_handlers): Ditto.
1248
1249 * frame.c: Declare Qsticky.
1250 (frame_parms): Add sticky.
1251
1252 * xfns.c (x_frame_parm_handlers): Let x_set_sticky handle sticky.
1253
1254 * xterm.h: Declare x_set_sticky.
1255
1256 * xterm.c (x_set_sticky): New function.
1257
69b16610
JD
1258 * gtkutil.c (xg_tool_bar_proxy_help_callback): New function.
1259 (xg_tool_bar_menu_proxy): Attach enter/leave events to
1260 xg_tool_bar_proxy_help_callback.
3f1c6666
JD
1261
1262 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
1263
1264 * frame.c: Qmaximized is new.
1265 (x_set_frame_parameters): Do not handle fullscreen specially.
1266 Only set width and height if explicitly set.
1267 (x_set_fullscreen): Handle Qmaximized.
1268 (x_set_font, x_figure_window_size): Do not handle fullscreen specially.
1269 (syms_of_frame): Initialize Qmaximized.
1270
1ac9108a
SM
1271 * frame.h (fullscreen_type): Add FULLSCREEN_MAXIMIZED.
1272 Declare Qfullwidth, Qfullheight, Qfullboth, Qmaximized.
3f1c6666
JD
1273
1274 * xterm.c (handle_one_xevent): Remove call to x_check_fullscreen
31fd7c5c
JB
1275 for Expose event. Add call to x_check_fullscreen for MapNotify event.
1276 Remove all code w.r.t. fullscreen from ConfigureNotify event. Do not
3f1c6666
JD
1277 set gravity to NorthWestGravity when USE_GTK.
1278 (set_wm_state): New function.
31fd7c5c 1279 (do_ewmh_fullscreen): Use set_wm_state. Also handle FULLSCREEN_MAXIMIZED.
3f1c6666
JD
1280 (x_handle_net_wm_state): Handle FULLSCREEN_MAXIMIZED.
1281 (x_check_fullscreen): Simplify so we only handle EMWH type of fullscreen
31fd7c5c 1282 or the case when no window manager is running. That means remove calls
3f1c6666
JD
1283 to x_real_positions and x_fullscreen_adjust.
1284
1285 * gtkutil.c (flush_and_sync, x_wm_size_hint_off): Remove.
1286 (xg_frame_set_char_size): Remove calls to x_wm_size_hint_off and
1287 flush_and_sync.
1288 (xg_height_changed): New function.
1289 (xg_create_frame_widgets): Remove call to gtk_widget_set_size_request
1ac9108a
SM
1290 and gtk_window_set_policy. Set frame gravity after parsing the
1291 geometry string.
3f1c6666
JD
1292 (xg_update_frame_menubar, free_frame_menubar)
1293 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
1294 (update_frame_tool_bar, free_frame_tool_bar): Call xg_height_changed.
1295 Remove calls to xg_frame_set_char_size.
1296
fd503d99
KH
12972009-07-01 Kenichi Handa <handa@m17n.org>
1298
1299 * keyboard.c (decode_keyboard_code): New function.
1300 (tty_read_avail_input): Decode the input bytes if necessary.
1301
1ac9108a
SM
1302 * coding.c (setup_coding_system):
1303 Initialize coding->carryover_bytes to 0.
fd503d99
KH
1304 (Fset_keyboard_coding_system_internal): If CODING-SYSTEM is nil,
1305 use Qno_conversion.
1306
24ed93fb
YM
13072009-07-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1308
1309 * Makefile.in (SOME_MACHINE_LISP): Add ../lisp/term/common-win.elc.
1310
99061dfc
CY
13112009-06-30 Chong Yidong <cyd@stupidchicken.com>
1312
1ac9108a 1313 * xftfont.c (xftfont_open): Avoid passing NULL argument to XftLockFace.
99061dfc 1314
ff90fbde
JR
13152009-06-30 Jason Rumney <jasonr@gnu.org>
1316
1317 * w32term.c (w32_initialize): Use GetModuleHandle for library that
1318 is already loaded.
1319 Set user model ID if supported (bug#1849).
1320
5f445726
JM
13212009-06-29 Jim Meyering <meyering@redhat.com>
1322
1323 Remove useless if-before-xfree test.
1324 * nsfont.m (nsfont_close): Remove useless test.
1325 * term.c (delete_tty): Likewise.
1326 * w32.c (system_process_attributes): Likewise.
1327 * w32font.c (w32font_close): Likewise.
1328 * xfaces.c (x_free_gc): Likewise.
1329 * xselect.c (buffer): Likewise.
1330
b9607587
AS
13312009-06-28 Andreas Schwab <schwab@linux-m68k.org>
1332
1333 * process.c (send_process): Keep decoded string in a local
1334 variable and protect it from GC. (Bug#3521)
1335
89ba96f4
EZ
13362009-06-28 Eli Zaretskii <eliz@gnu.org>
1337
1338 * term.c (create_tty_output) [MSDOS]: #ifdef away.
1339 (tty_free_frame_resources) [MSDOS]: Add a DOS-specific version.
1340
098a1589
CY
13412009-06-28 Chong Yidong <cyd@stupidchicken.com>
1342
485422be
CY
1343 * xdisp.c (start_display, handle_face_prop)
1344 (move_it_vertically_backward, cursor_row_fully_visible_p)
1ac9108a
SM
1345 (redisplay_window, try_window_id, produce_image_glyph):
1346 Delete some #ifdef-ed out code chunks that are now obsolete.
485422be 1347
098a1589
CY
1348 * xterm.c (x_update_window_begin, x_new_focus_frame)
1349 (x_scroll_bar_handle_click, handle_one_xevent)
1350 (handle_one_xevent, XTread_socket, x_focus_on_frame)
1351 (x_make_frame_visible, x_make_frame_invisible)
1352 (x_wm_set_icon_pixmap, x_initialize): Delete some #ifdef-ed out
1353 code chunks that are now obsolete.
1354
78c38319
MA
13552009-06-28 Michael Albinus <michael.albinus@gmx.de>
1356
1357 * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function
1358 xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile
1359 for hours, when optimzation is enabled.
1360 (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize)
1361 (xd_read_message): Make them static.
1362
4189ed40
CY
13632009-06-27 Chuck Blake <cblake@pdos.csail.mit.edu> (tiny change)
1364
1365 * term.c (turn_on_face): Allow simultaneously bold and dim
1366 terminal faces (Bug#3530).
1367
cd9b5e16
CY
13682009-06-27 Chong Yidong <cyd@stupidchicken.com>
1369
4e23bedb
CY
1370 * frame.c (x_get_arg): Check if dpyinfo is non-NULL.
1371
cd9b5e16
CY
1372 * xdisp.c (mouse_face_from_buffer_pos): Fix detection of
1373 truncation glyphs (Bug#3686).
1374
07cc3c35
GM
13752009-06-27 Glenn Morris <rgm@gnu.org>
1376
1377 * m/pmax.h: Restore file, with only netbsd portions.
1378
31fd7c5c 13792009-06-26 David Reitter <david.reitter@gmail.com>
25c5550f 1380
cd9b5e16 1381 * nsterm.m (keydown): Avoid infinite loop.
25c5550f 1382
42d4a64f
KH
13832009-06-26 Peter Jolly <peter@jollys.org> (tiny change)
1384
1385 * ftfont.c (get_adstyle_property): Call font_intern_prop with 1 as
1386 the arg FORCE_SYMBOL.
1387
930fe55b 13882009-06-25 Kenichi Handa <handa@m17n.org>
a71ccf3a
KH
1389
1390 * fontset.c (fontset_find_font): When a usable rfont_def is found
1391 in a fallback font-group, make it the first element of the group.
1392
57ebc3fd
CY
13932009-06-24 Chong Yidong <cyd@stupidchicken.com>
1394
1395 * emacs-icon.h: Always define gnu_xpm_bits on GTK (bug#3671).
1396
f084f942
KH
13972009-06-24 Kenichi Handa <handa@m17n.org>
1398
1399 * fontset.c (fontset_get_font_group): Return 0 if no font-group is
1400 set for C.
1401 (fontset_font): Record the availability of a font for C both in
1402 the realized fontsets of the current one and the default one.
1403
2f686c87
DN
14042009-06-23 Dan Nicolaescu <dann@ics.uci.edu>
1405
1406 * sysdep.c (child_setup_tty): Remove SIGNALS_VIA_CHARACTERS
1407 conditional, it is always defined on AIX.
1408
666e158e
MB
14092009-06-23 Miles Bader <miles@gnu.org>
1410
1411 * window.c (Vrecenter_redisplay): New variable.
1412 (syms_of_window): Initialize it.
1413 (Qtty): New extern declaration.
1414 (Frecenter): Only do redisplay if Vrecenter_redisplay requests it.
1415
c6da7cd2
JM
14162009-06-23 Jim Meyering <meyering@redhat.com>
1417
1ac9108a
SM
1418 * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt):
1419 Use xmalloc and xrealloc (not malloc and realloc), so subsequent heap
632c2030 1420 pointer dereferences are guaranteed to be valid.
c6da7cd2 1421
678dca3d
KH
14222009-06-23 Kenichi Handa <handa@m17n.org>
1423
74d75424
KH
1424 * emacs.c (main): Call init_font ().
1425
1426 * font.h (Vfont_log): Extern it.
1427 (FONT_ADD_LOG, FONT_DEFERRED_LOG): New macros.
1428
1429 * font.c (font_sort_entities, font_list_entities)
1430 (font_matching_entity, font_open_entity)
1431 (font_close_object): Change font_add_log to FONT_ADD_LOG.
1432 (Vfont_log): Delete static.
1433 (font_log_env_checked): Delete this variable.
1434 (font_add_log): Don't check font_log_env_checked.
1435 (font_deferred_log): Check Vfont_log.
1436 (init_font): New function.
1437
678dca3d
KH
1438 * ftfont.c: Change font_add_log to FONT_ADD_LOG.
1439
1440 * w32font.c: Change font_add_log to FONT_ADD_LOG.
1441
1442 * w32uniscribe.c: Change font_add_log to FONT_ADD_LOG.
1443
1444 * xfont.c: Change font_add_log to FONT_ADD_LOG.
1445
1446 * fontset.c (fontset_font): Call FONT_DEFERRED_LOG.
1447 (face_for_char): Don't call font_deferred_log here.
1448 (font_for_char): Likewise.
1449
8a668709
CY
14502009-06-22 Chong Yidong <cyd@stupidchicken.com>
1451
9a01ee33
CY
1452 * w32term.c (x_draw_glyph_string): Use the glyph string's width
1453 rather than its background_width for drawing the overline and
1454 underline (Bug#489).
1455
1456 * xterm.c (x_draw_glyph_string): Use the glyph string's width
1457 rather than its background_width for drawing the overline and
1458 underline (Bug#489).
ec7c9926
CY
1459 (xg_default_icon_file): New variable.
1460 (syms_of_xterm): Initialize it to the Emacs SVG icon file.
1461 (x_bitmap_icon): Under GTK, use xg_default_icon_file.
9a01ee33 1462
8a668709
CY
1463 * xdisp.c (Qbefore_string, Qafter_string): Add externs.
1464 (load_overlay_strings): Remove externs.
1465 (fast_find_position): Function deleted.
1466 (mouse_face_from_buffer_pos): New function, based on
1467 fast_find_position. Correctly handle before-strings,
1468 display-strings, and after-strings (Bug#1220).
1469 (note_mouse_highlight): Use mouse_face_from_buffer_pos.
1470
4d4c02d8
CY
14712009-06-21 Chong Yidong <cyd@stupidchicken.com>
1472
1ac9108a 1473 * xdisp.c (IT_DISPLAYING_WHITESPACE): Define for !HAVE_WINDOW_SYSTEM.
4d4c02d8
CY
1474 (move_it_in_display_line_to, move_it_in_display_line_to)
1475 (display_line): Remove #ifdef HAVE_WINDOW_SYSTEM.
1476
70243478
CY
14772009-06-21 Chong Yidong <cyd@stupidchicken.com>
1478
1479 * Branch for 23.1.
1480
13087e59
JR
14812009-06-21 Jason Rumney <jasonr@gnu.org>
1482
1483 * w32term.c (keyboard_codepage): New static variable.
1484 (w32_read_socket) [WM_INPUTLANGCHANGE]: Update it.
1485 (w32_read_socket) [WM_CHAR]: Use it to decode character
1486 input (bug#3237).
1487 (w32_initialize): Initialize it.
1488 (codepage_for_locale): New function.
1489
4735b74e
KR
14902009-06-20 Ken Raeburn <raeburn@raeburn.org>
1491
1492 * process.c (status_message): Pass Faset index argument as a lisp
1493 object, so as to work with USE_LISP_UNION_TYPE.
1494
0e727afa
YM
14952009-06-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1496
1497 * coding.c (Ffind_coding_systems_region_internal):
1498 Cache checked characters.
1499
cf299835
KH
15002009-06-18 Kenichi Handa <handa@m17n.org>
1501
1ac9108a 1502 * coding.c (decode_coding_iso_2022): Check MSB of bytes more rigidly.
cf299835 1503
90f20d94
AS
15042009-06-18 Andreas Schwab <aschwab@redhat.com>
1505
1506 * xdisp.c (redisplay_internal): Check that the frame is still
1507 live after redisplay of its windows.
1508 (redisplay_windows): Check that the window is still live.
1509
7f1faf1c
KH
15102009-06-17 Andreas Schwab <schwab@linux-m68k.org>
1511
1512 * coding.c (detect_coding_utf_16): Fix previous change.
1513
cc13543e
KH
15142009-06-16 Kenichi Handa <handa@m17n.org>
1515
1516 * coding.c (detect_coding_utf_16): Fix the logic of rejecting
1517 UTF-16 by checking the dispersion of Eth and Oth bytes.
1518
977b85f4
AS
15192009-06-15 Andreas Schwab <schwab@linux-m68k.org>
1520
1521 * coding.c (detect_coding_utf_16): Fix typo counting odd bytes.
1522
66bd43d1
KH
15232009-06-15 Kenichi Handa <handa@m17n.org>
1524
1525 * process.c (status_message): Fix previous change. Be sure to
1526 decode a localized string.
1527
cb5ca9c5
YM
15282009-06-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1529
1530 * xterm.c (x_delete_terminal): Put previous change in #if 0 and
1531 add comment explaining why.
1532
ec7709ba 15332009-06-14 Sidney Markowitz <sidney@sidney.com>
5ee6f629 1534
ec7709ba 1535 * nsmenu.m (EmacsTooltip: setText): Set height of tooltip.
5ee6f629 1536
4b7f335c
AR
15372009-06-14 Adrian Robert <Adrian.B.Robert@gmail.com>
1538
1539 * nsfont.m (ns_attribute_value): Remove.
1540 (ns_attribute_fvalue): Incorporate code from ns_attribute_value.
1541 (ns_has_attribute): Shrink the normal range.
1542 (ns_findfonts): Don't worry about requested spec in determining
1543 need for synthItal.
e41820ee 1544 (ns_get_covering_families): Retain scriptToFamilies.
4b7f335c 1545
73b26103
SZ
15462009-06-14 Seiji Zenitani <zenitani@mac.com>
1547
1548 * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon.
1549
5753e4da
KH
15502009-06-11 Kenichi Handa <handa@m17n.org>
1551
1552 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
1553 overhang for the static composition case.
1554
3561b671
KH
15552009-06-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1556
5753e4da
KH
1557 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
1558 overhang for the automatic composition case.
1559
3561b671
KH
1560 * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic
1561 composition case.
1562
852bbd41
CY
15632009-06-10 Chong Yidong <cyd@stupidchicken.com>
1564
1565 * xdisp.c (get_next_display_element): When handling wrap-prefix
1566 and line-prefix, treat \n as a control character (bug#3502).
1567
9903d1e6
KH
15682009-06-10 Kenichi Handa <handa@m17n.org>
1569
1570 * font.c (font_parse_family_registry): Fix for one-char foundry.
1571 (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX].
1572
0bcbaaaa
CY
15732009-06-09 Dmitry Dzhus <dima@sphinx.net.ru> (tiny change)
1574
1575 * process.c (status_message): Fix handling of multibyte signal
1576 string (Bug#3499).
1577
40aa3f13
JM
15782009-06-09 Jim Meyering <meyering@redhat.com>
1579
1f80c7e2
CY
1580 * xfaces.c (Fx_load_color_file): Avoid array bounds error if the
1581 color name is missing.
40aa3f13 1582
72d51285
KH
15832009-06-09 Kenichi Handa <handa@m17n.org>
1584
1585 * charset.c (Fmap_charset_chars): In docstring, state clearly that
1586 FROM-CODE and TO-CODE are codepoints of CHARSET.
1587
c1d04d84
AR
15882009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
1589
1590 * nsterm.m (ns_use_system_highlight_color): Drop, unused.
1591
15922009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
1593
1594 Changes to support :script/:lang/:otf in NS font driver.
1595 * nsfont.m (nsfont_escape_name, nsfont_unescape_name)
1596 (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to
1597 indicate not part of font driver interface, and change callers.
1598 (ns_get_family): Remove pointless null check.
1599 (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with
1600 ns_spec_to_descriptor, ns_descriptor_to_entity.
1601 (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove.
1602 (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute)
1603 (ns_spec_to_descriptor, ns_descriptor_to_entity)
1604 (ns_charset_covers, ns_lang_to_script, ns_otf_to_script)
1605 (ns_get_req_script, ns_accumulate_script_ranges)
1606 (ns_script_to_charset, ns_get_covering_families, ns_findfonts):
1607 New functions.
1608 (nsfont_list, nsfont_match): Use ns_findfonts.
1609 (nsfont_open): Use font descriptor instead of traits.
1610 (nsfont_draw): Handle "automatic" (lookup-table) compositions.
1611 (dump_glyphstring): Rename to ns_dump_glyphstring.
1612
c7eb9816
AR
1613 * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring.
1614
c1d04d84
AR
1615 * nsfns.m (Fns_popup_font_panel): Use shared font manager.
1616
1617 * fontset.c (fontset_from_font): Remove NS-specific code.
1618
ec7709ba 16192009-06-08 Peter Jones <pjones@pmade.com> (tiny change)
c1d04d84
AR
1620
1621 * nsterm.m (ns_draw_window_cursor): Respect cursor_type for
1622 nonactive windows.
1623
31fd7c5c 16242009-06-08 Felix Mueller <felix@enqueue.eu> (tiny change)
c1d04d84 1625
1ac9108a 1626 * nsterm.m (ns_init_paths): Append path separator to INFOPATH variable.
c1d04d84 1627
68852c13 16282009-06-08 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
e7777236
AR
1629
1630 * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu.
1631
6756cd1d
CY
16322009-06-07 Chong Yidong <cyd@stupidchicken.com>
1633
1634 * xdisp.c (move_it_in_display_line_to): On text-only terminals,
1635 account for the overflowing of newlines into the last glyph on the
1636 display line (Bug#3482).
1637
28bf482a
DR
16382009-06-05 David Reitter <david.reitter@gmail.com>
1639
ec7709ba
JB
1640 * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p)
1641 (Fx_selection_owner_p): Rename from Fns_own_selection_internal,
28bf482a
DR
1642 Fns_selection_exists_p, Fns_selection_owner_p.
1643
fdb55376
JR
16442009-06-03 Jason Rumney <jasonr@gnu.org>
1645
1646 * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if
1647 available. (Bug#3379)
1648
05129fbe
KH
16492009-05-29 Kenichi Handa <handa@m17n.org>
1650
1ac9108a
SM
1651 * coding.c (get_translation_table):
1652 Check Venable_character_translation.
05129fbe 1653
ec7709ba 16542009-05-26 David Reitter <david.reitter@gmail.com>
15891144 1655
ec7709ba
JB
1656 * nsterm.m (ns_raise_frame): Only raise frame if visible.
1657 (x_make_frame_visible): Move frame to front rather than calling
15891144 1658 ns_raise_frame().
ec7709ba 1659 (keyDown:): Do not swallow events that aren't re-sent if frame
15891144 1660 isn't key window.
ec7709ba 1661 (drawRect:): Do not set visibility/iconified flags because
15891144
DR
1662 drawRect may be called by NSView even if the frame is hidden.
1663
ec7709ba
JB
1664 * nsfns.m (Fx_create_frame): Follow other ports in
1665 determining visibility; default to t. Ensure async_visible is set.
15891144 1666
21f73755
EZ
16672009-05-23 Eli Zaretskii <eliz@gnu.org>
1668
1669 * dired.c (Ffile_attributes): Doc fix.
1670
34001e41
CY
16712009-05-22 Chong Yidong <cyd@stupidchicken.com>
1672
1673 * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685).
1674
46306a17
SM
16752009-05-21 Stefan Monnier <monnier@iro.umontreal.ca>
1676
1677 * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache
1678 and xfont_scratch_props.
1679 (syms_of_xfont): Do it here instead.
1680 (xfont_find_ccl_program): Delete, unused.
1681 (xfont_open): Delete unused var `i'.
1682
ef6e0694
KH
16832009-05-21 Kenichi Handa <handa@m17n.org>
1684
1685 * fontset.c (Qlatin): Don't make it static.
1686
46306a17
SM
1687 * xfont.c (xfont_chars_supported, xfont_supported_scripts):
1688 New functions.
ef6e0694
KH
1689 (xfont_scripts_cache, xfont_scratch_props): New variables.
1690 (Qlatin, Vscalable_fonts_allowed): Extern it.
46306a17
SM
1691 (xfont_list_pattern): Argument changed. Callers changed.
1692 Check Vscalable_fonts_allowed. Check the support of a script.
ef6e0694
KH
1693 (xfont_list): Don't reject a font spec with :script property.
1694 (xfont_has_char): Fix setting of encoding.
1695 (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and
1696 xfont_scratch_props.
1697
16982009-05-19 Kenichi Handa <handa@m17n.org>
1699
46306a17 1700 * font.c (font_sort_entities): Rename from font_sort_entites.
ef6e0694
KH
1701 Callers changed.
1702
17032009-05-18 Kenichi Handa <handa@m17n.org>
1704
1705 * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too.
1706
ac71ced7
SM
17072009-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
1708
1709 * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
1710 (delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
1711
1c6d1051
YM
17122009-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1713
1714 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.
1715 (x_delete_terminal): Dissociate resource database from display and
1716 then call XrmDestroyDatabase before closing display.
1717
9b9b779c
AR
17182009-05-18 Adrian Robert <Adrian.B.Robert@gmail.com>
1719
1720 * nsterm.m (ns_read_socket): Remove unused variable.
1564e649
AR
1721 * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check
1722 whether selected frame is viable before raising it (based on patch
1723 by David Reitter), and improve commentary.
1724 * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning.
9b9b779c 1725
cccd42d5
KH
17262009-05-15 Kenichi Handa <handa@m17n.org>
1727
1728 * font.c (Ffont_spec): Check arguments.
1729
337fbd17
CY
17302009-05-14 Chong Yidong <cyd@stupidchicken.com>
1731
1732 * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified
1733 weight when testing attributes (Bug#3282).
1734
47a6002f
JD
17352009-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1736
1737 * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
1738 what we expect to get in the next ConfigureNotify event.
1739
9cb363db
YM
1740 * xftfont.c (xftfont_open): Make sure that Xrender extension is added
1741 before Xft one (Bug#1696).
1742
b9126609
CY
17432009-05-07 David Reitter <david.reitter@gmail.com>
1744
1745 * nsfns.m (Fx_display_planes): Compute bitplanes using
1746 NSBitsPerPixelFromDepth (Bug#3207).
1747
27a69fd9
CY
17482009-05-10 Chong Yidong <cyd@stupidchicken.com>
1749
1750 * editfns.c (Ftranspose_regions): Doc fix (Bug#3248).
1751
00f37552
TTN
17522009-05-10 Ulrich Mueller <ulm@gentoo.org>
1753
1754 * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH.
1755
2d82a920
DR
17562009-05-07 David Reitter <david.reitter@gmail.com>
1757
ec7709ba
JB
1758 * nsterm.m (ns_dumpglyphs_stretch, ns_dumpglyphs_image):
1759 Respect mouse face background.
2d82a920 1760
46b0d52d
DR
17612009-05-07 David Reitter <david.reitter@gmail.com>
1762
ec7709ba
JB
1763 * nsterm.m (note_mouse_movement, ns_frame_up_to_date):
1764 Mouse movement/highlight: bracket drawing operations
46b0d52d
DR
1765 in ns_update_begin and ns_update_end.
1766
ce1b23bb
SM
17672009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
1768
5996e1b7
SM
1769 * nsfns.m (ns_get_screen): Rewrite.
1770 Don't presume selected-frame is of type `ns'.
1771
ba98e3a0
SM
1772 * font.c (font_update_drivers): Sanity fallback to avoid disabling
1773 all drivers.
1774
ce1b23bb
SM
1775 * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
1776
bcda200f
YM
17772009-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1778
1779 * keyboard.h (add_user_signal): Fix typo in extern.
1780
1781 * lisp.h (add_user_signal): Remove extern.
1782
1783 * unexelf.c (unexec): Consider a section to precede the .bss section
1784 if its addresses overlap that of .bss.
1785 (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
1786 instead of dumping process.
1787
864660a2
SM
17882009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
1789
1790 * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
1791
50da4e56
SM
17922009-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
1793
1794 * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
1795
51520a1a
DN
17962009-05-02 Dan Nicolaescu <dann@ics.uci.edu>
1797
1798 * xterm.c (x_handle_net_wm_state): Move declaration of lval before
1799 any statements.
1800
409ea3a1
AS
18012009-05-02 Andreas Schwab <schwab@linux-m68k.org>
1802
59c4c60f
AS
1803 * process.c (read_process_output): Make sure the current buffer is
1804 always restored.
1805
409ea3a1
AS
1806 * coding.c (record_conversion_result): Don't modify
1807 Vlast_code_conversion_error for successful result.
1808 (alloc_destination): Don't clobber conversion result. (Bug#1650)
1809
56f00ed2
KH
18102009-05-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
1811
1812 * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
896b1cc9 1813 (load_charset_map): Remove unnecessary code.
56f00ed2 1814
4491c9d2
DR
18152009-04-30 David Reitter <david.reitter@gmail.com>
1816
35f5b128 1817 * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
4491c9d2
DR
1818 through f24.
1819
6970f632
CY
18202009-04-30 Chong Yidong <cyd@stupidchicken.com>
1821
1822 * xfaces.c (face_at_buffer_position): New arg base_face_id.
1823
1824 * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
1825 face_at_buffer_position.
1826 (face_before_or_after_it_pos, get_next_display_element)
1827 (note_mouse_highlight): Update face_at_buffer_position call.
1828
1829 * term.c (term_mouse_highlight):
1830 * msdos.c (IT_note_mouse_highlight):
1831 * fontset.c (Finternal_char_font):
35f5b128 1832 * font.c (font_at, font_range): Update face_at_buffer_position call.
6970f632
CY
1833
1834 * dispextern.h (face_at_buffer_position): Update prototype.
1835
0c616f63
KH
18362009-04-30 Kenichi Handa <handa@m17n.org>
1837
35f5b128 1838 * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
0c616f63 1839
ad3aaf33
AS
18402009-04-29 Andreas Schwab <schwab@linux-m68k.org>
1841
1842 * callproc.c (Fcall_process): Fix GC protection. Make sure
1843 current buffer is always restored.
1844
c3c963a0
YM
18452009-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1846
1847 * atimer.c (init_atimer): Also clear stopped_atimers.
1848
1849 * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
1850
7e3386cb
YM
1851 * process.c (create_process): Clean up merger residues of
1852 2008-07-17 change.
1853
91f68422
CY
18542009-04-29 Ulrich Mueller <ulm@gentoo.org>
1855
1856 * lread.c (Vread_circle): New variable.
1857 (read1): Disable recursive read if Vread_circle is nil.
1858
24b34550
KH
18592009-04-29 Kenichi Handa <handa@m17n.org>
1860
1861 * fontset.h (set_default_ascii_font): Delete extern.
1862
1863 * fontset.c (set_default_ascii_font): Delete this unused function.
1864
1865 * frame.c (x_set_font): When ARG is a font-object, check if the
1866 font-object matches with the ASCII font-spec of the frame's
9c358bda 1867 fontset. If not, create a new fontset for the frame. (Bug #3075)
24b34550 1868
77bf07e1
AS
18692009-04-28 Andreas Schwab <schwab@linux-m68k.org>
1870
1871 * fns.c (Flocale_info): Protect vector from GC during decoding.
1872
1873 * process.c (Fstart_process): Protect argv strings from GC during
1874 encoding.
1875
2c55aacf
AS
18762009-04-27 Andreas Schwab <schwab@linux-m68k.org>
1877
1878 * sysdep.c: Include <ctype.h>.
1879
b892d3c9
DR
18802009-04-27 David Reitter <david.reitter@gmail.com>
1881
35f5b128 1882 * nsfont.m (nsfont_open): Remove unused variable shrink.
b892d3c9
DR
1883 Remove commented-out code.
1884
9d0644c4
JB
18852009-04-26 Johan Bockgård <bojohan@gnu.org>
1886
1887 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1888
b7053016
JR
18892009-04-25 Jason Rumney <jasonr@gnu.org>
1890
1891 * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
1892
4e8231f3
YM
18932009-04-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1894
1895 * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
1896 Swap bytes in short integer if fringe bitmap width > 8.
1897
493dcf2c
KH
18982009-04-23 Kenichi Handa <handa@m17n.org>
1899
1900 * xfaces.c (Fx_list_fonts): If a font size is specified in
1901 PATTERN, set it in returned scalable fonts.
1902
401e9e57
CY
19032009-04-22 Chong Yidong <cyd@stupidchicken.com>
1904
708e05dc
CY
1905 * keyboard.c (Fset_input_meta_mode): Doc fix.
1906
1907 * dispnew.c (Fsend_string_to_terminal): Doc fix.
1908
1ac9108a 1909 * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc fixes.
708e05dc
CY
1910
1911 * coding.c (Fterminal_coding_system): Doc fix.
1912
1913 * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width)
1914 (Fx_display_pixel_height, Fx_display_planes)
1915 (Fx_display_color_cells, Fx_server_max_request_size)
1916 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
1917 (Fx_display_mm_height, Fx_display_mm_width)
1918 (Fx_display_backing_store, Fx_display_visual_class)
1ac9108a
SM
1919 (Fx_display_save_under, Fx_close_connection, Fx_synchronize):
1920 Doc fixes, replacing "terminal id" with "terminal object".
708e05dc
CY
1921 (check_x_display_info): Handle terminal objects instead of
1922 terminal ids.
1923
401e9e57
CY
1924 * term.c (Ftty_display_color_p, Ftty_display_color_cells)
1925 (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
1ac9108a
SM
1926 (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions):
1927 Doc fixes, replacing "terminal id" with "terminal object".
401e9e57 1928
df80c7f0
KH
19292009-04-21 Kenichi Handa <handa@m17n.org>
1930
5a8f12af 1931 * font.c (font_load_for_lface): Cancel previous change (bug#2994).
c0a6070d 1932 (font_score): Check AVGWIDTH too.
908567ef 1933
df80c7f0
KH
1934 * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
1935 worst case.
1ac9108a
SM
1936 (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
1937 (decode_coding_emacs_mule, decode_coding_iso_2022): Likewise.
df80c7f0 1938
705af33f
JR
19392009-04-19 Jason Rumney <jasonr@gnu.org>
1940
1941 The following changes fix Bug#3005 for wide glyphs on each platform,
b71ac3dd 1942 without reintroducing Bug#1258 for stretch glyphs.
705af33f
JR
1943
1944 * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
1945 BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR using
1946 get_phys_cursor_geometry.
1947
b71ac3dd 1948 * w32term.c (x_draw_bar_cursor): Limit cursor width differently
705af33f
JR
1949 for BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR
1950 using get_phys_cursor_geometry.
1951
1952 * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
1953 correctly calculated.
1954
dc2933eb
JD
19552009-04-19 Jan Djärv <jan.h.d@swipnet.se>
1956
1ac9108a
SM
1957 * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar):
1958 Use G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
dc2933eb
JD
1959 (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
1960 is deprecated.
1961
973e7849
AS
19622009-04-18 Andreas Schwab <schwab@linux-m68k.org>
1963
1964 * font.c (font_put_frame_data): Use xfree instead of free.
1965
314d66f4
JB
19662009-04-17 Juanma Barranquero <lekktu@gmail.com>
1967
1968 * w32font.c (Qja, Qko): Remove declarations.
1969 (syms_of_w32font): Don't DEFSYM them.
1970
cf702558
CY
19712009-04-17 Chong Yidong <cyd@stupidchicken.com>
1972
1973 * font.c (Qja, Qko): Move definitions here from ftfont.c.
1974
1975 * font.h (Qja, Qko): Extern them.
1976
1977 * ftfont.c (Qja, Qko): Remove declarations.
1978
1979 * xfont.c (Qja, Qko): Remove declarations.
1980
b50504f5
KH
19812009-04-17 Kenichi Handa <handa@m17n.org>
1982
bde25748
KH
1983 * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
1984 string from a vector to handle Latin-1 characters correctly.
1985
b50504f5
KH
1986 * ftfont.c (ftfont_pattern_entity): Return a newly allocated
1987 entity even if the cache hits.
1988
f4646fff
AS
19892009-04-16 Andreas Schwab <schwab@linux-m68k.org>
1990
1991 * search.c (boyer_moore): Use zero as marker value for a possible
6340c70e 1992 match instead of depending on overflow behavior. (Bug#2844)
f4646fff 1993
e7deaab0
AS
1994 * search.c: Use EMACS_INT for buffer positions. Add prototypes.
1995 * lisp.h: Adjust prototypes.
1996
0a0e7d49
CY
19972009-04-16 Chong Yidong <cyd@stupidchicken.com>
1998
1999 * keyboard.c (adjust_point_for_property): Disable 2009-02-12
2000 change (Bug#3003).
2001
3c908a57
KH
20022009-04-16 Kenichi Handa <handa@m17n.org>
2003
1ac9108a 2004 * xfont.c (xfont_has_char): Special handling of `ja' and `ko' adstyle.
bd0af90d
KH
2005
2006 * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
2007 adstyle.
2008
2009 * ftfont.c (Qja, Qko): Don't make them static.
2010 (enum ftfont_cache_for): New enum.
2011 (fc_charset_table): Undo the previous change.
2012 (ftfont_get_latin1_charset): Delete it.
1ac9108a
SM
2013 (ftfont_pattern_entity): Check cache by ftfont_lookup_cache.
2014 Set FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a
bd0af90d
KH
2015 non-scarable font, try to get AVERAGE_WIDTH.
2016 (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
2017 Change ft_face_cache from a list of a hash-table. Don't check
2018 `ja' and `ko' adstyle here.
2019 (ftfont_get_fc_charset): Call ftfont_lookup_cache with
2020 FTFONT_CACHE_FOR_CHARET.
2021 (ftfont_get_charset): Undo the previous change.
1ac9108a 2022 (ftfont_open): Call ftfont_lookup_cache with FTFONT_CACHE_FOR_FACE.
bd0af90d
KH
2023 (ftfont_close): Likewise.
2024 (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
2025
2026 * font.c (font_sort_entites): Change the meaning of the arg
2027 BEST-ONLY. Don't optimize for VEC of lenght 1.
2028 (font_select_entity): Just return the value of font_sort_entites.
2029
2030 * xfaces.c (merge_face_vectors): Reflect font properties in
2031 to[LFACE_FONT_INDEX] to the other face attributes. Don't call
2032 font_clear_prop if a face attribute doesn't change.
2033
3c908a57
KH
2034 * charset.h (charset_ksc5601): Extern it.
2035
2036 * charset.c (charset_ksc5601): New variable.
2037 (Fdefine_charset_internal): Set charset_ksc5601.
2038 (init_charset_once): Initialize charset_ksc5601 to -1.
2039
d65859c3
DN
20402009-04-15 Dan Nicolaescu <dann@ics.uci.edu>
2041
2042 * fileio.c (history_delete_duplicates): Remove unused declaration.
2043
2044 * callint.c (history_delete_duplicates): New declaration.
2045 (Fcall_interactively): Remove command history duplicates when
2046 history_delete_duplicates is true.
2047
3ba010e5
EZ
20482009-04-14 Eli Zaretskii <eliz@gnu.org>
2049
2050 * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
2051
06f19b91
KH
20522009-04-14 Kenichi Handa <handa@m17n.org>
2053
2054 * font.c (Ffont_info): Fix docstring. Fix the second element of
2055 the returned value (bug#2949).
2056
2cce8bfc
CY
20572009-04-14 Chong Yidong <cyd@stupidchicken.com>
2058
2059 * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
2060
d156542d
KH
20612009-04-14 Kenichi Handa <handa@m17n.org>
2062
2063 * xfont.c (xfont_has_char): The font has C if C is ASCII and the
2064 encoding charset is ascii_compatible.
2065
2066 * charset.c (Fdefine_charset_internal): Make charset
2067 ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
2068 code_offset is 0, and covers all ASCII characters.
2069
86fa089e
SM
20702009-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
2071
2072 * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
2073 (ns_string_to_pasteboard_internal):
2074 * nsmenu.m (process_dialog):
2075 * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
2076 * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
2077 * lisp.h (Fx_load_color_file): Declare.
2078
a8a3728b
KH
20792009-04-13 Kenichi Handa <handa@m17n.org>
2080
1ac9108a 2081 * font.c (font_delete_unmatched): Preserve the order of list elements.
a8a3728b
KH
2082 (font_select_entity): Suppress the code to optimize for the same
2083 kind of fonts.
2084 (font_load_for_lface): Get a font that supports at least ASCII
2085 characters.
2086
2087 * ftfont.c (Qja, Qko): New variables.
2088 (fc_charset_table): Delete uniquifier data for iso8859-1.
2089 (ftfont_get_latin1_charset): New function.
2090 (get_adstyle_property): New function.
2091 (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
2092 bitmap fonts.
2093 (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
2094 Delete iso-8859-1 range from the charset of fonts whose adstyle is
2095 `ko' or `ja'.
2096 (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
1ac9108a 2097 (ftfont_get_charset): For iso8859-1, call ftfont_get_latin1_charset.
a8a3728b
KH
2098 (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
2099 property.
2100 (ftfont_open): Call ftfont_lookup_cache with ENTITY.
2101 (syms_of_ftfont): DEFSYM Qja and Qko.
2102
483670b5
KH
21032009-04-09 Kenichi Handa <handa@m17n.org>
2104
12b55765
KH
2105 * charset.c (map_charset_chars): For a charset of `superset'
2106 method, fix calculation of code range.
2107
483670b5
KH
2108 * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
2109 from the list of extra properties.
2110 (font_clear_prop): Be sure to delete `:name' font property.
2111
57d3b93b
KH
21122009-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2113
b4b2c2ca
YM
2114 * dispnew.c (redraw_overlapping_rows): Fix detection of
2115 overlapping for topmost and bottommost rows.
2116
1ac9108a 2117 * ftfont.c (ftfont_text_extents): Fix calculation of metrics->descent.
57d3b93b 2118
472c3609
JR
21192009-04-06 Jason Rumney <jasonr@gnu.org>
2120
2121 * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
2122
ab193662
KH
21232009-04-06 Kenichi Handa <handa@m17n.org>
2124
2125 * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
2126
2127 * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
2128
0c26f026
KH
21292009-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2130
2131 * ftfont.c (ftfont_open): Fix checking of the return value of
2132 FT_Load_Char. Fix setting font->underline_thickness.
2133
e173bbce
CY
21342009-04-04 Chong Yidong <cyd@stupidchicken.com>
2135
2136 * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
2137 (Fterminal_parameters, Fterminal_parameter)
2138 (Fset_terminal_parameter): In doc string, refer to terminal
2139 objects rather than terminal ids.
2140
693a2698
EZ
21412009-04-04 Eli Zaretskii <eliz@gnu.org>
2142
2143 * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
2144 ret_lim_data. (Bug#2867)
2145
d5221487
CY
21462009-04-03 Chong Yidong <cyd@stupidchicken.com>
2147
2148 * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
2149 so they don't get wider than the window, matching 2006-01-23
2150 change to the partner function in xdisp.c (Bug#2800).
2151
223509a3
KH
21522009-04-03 Kenichi Handa <handa@m17n.org>
2153
2154 * print.c (print_object): Make each lowest sub_char_table start a
2155 new line (Bug#2866).
2156
74fcd0b1
KH
21572009-04-02 Kenichi Handa <handa@m17n.org>
2158
2159 * fontset.c (fontset_font): Record no-font when a fontset
2160 explicitly tells not to try another font-specs.
2161
c542407d
SM
21622009-03-30 Pierre Poissinger <pierre.poissinger@gmail.com> (tiny change)
2163
2164 * charset.c (map_charset_for_dump): Add missing UNGCPRO.
2165
e3869731
KH
21662009-03-30 Kenichi Handa <handa@m17n.org>
2167
d8d2f142
KH
2168 * fontset.c (fontset_from_font): Specify only registry in a
2169 font-spec for all characters supported by that registry.
2170
e3869731
KH
2171 * ftfont.c: Fix previous change. Define ftfont_variation_glyphs
2172 even if HAVE_M17N_FLT is not defined.
2173
5da5f805
CY
21742009-03-29 Sebastian Rose <sebastian_rose@gmx.de> (tiny change)
2175
2176 * ftfont.c: Conditionalize prototyping and use of
2177 ftfont_variation_glyphs.
2178
ab226c50
SM
21792009-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
2180
9628fed7
SM
2181 * frame.c (delete_frame): Work around compiler bug.
2182
2183 * editfns.c (general_insert_function): Adjust to insdel.c changes.
2184 * insdel.c (prepare_to_modify_buffer, signal_before_change):
2185 Some more EMACS_INT.
2186 * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
2187
2188 * xdisp.c (dump_glyph): Fix typo.
2189
ae19ba7c
SM
2190 * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
2191 (adjust_markers_gap_motion, adjust_markers_for_delete)
2192 (adjust_markers_for_insert, adjust_point)
2193 (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
2194 (make_gap, copy_text, count_size_as_multibyte, insert)
2195 (insert_and_inherit, insert_before_markers)
2196 (insert_before_markers_and_inherit, insert_1)
2197 (count_combining_before, count_combining_after, insert_1_both)
2198 (insert_from_string, insert_from_string_before_markers)
2199 (insert_from_string_1, insert_from_gap, insert_from_buffer)
2200 (insert_from_buffer_1, adjust_after_replace)
2201 (adjust_after_replace_noundo, adjust_after_insert, replace_range)
2202 (replace_range_2, del_range, del_range_1, del_range_byte)
2203 (del_range_both, del_range_2, modify_region)
2204 (prepare_to_modify_buffer, signal_before_change)
2205 (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
2206 for buffer positions and sizes.
2207 * lisp.h: Adjust prototypes accordingly.
2208
2209 * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
2210 (non_regular_inserted, non_regular_nbytes, read_non_regular)
2211 (Finsert_file_contents): Use EMACS_INT for buffer positions.
2212
ab226c50
SM
2213 * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
2214
46dfb8fb
JD
22152009-03-27 Jan Djärv <jan.h.d@swipnet.se>
2216
2217 * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
2218 lines and columns so we keep the same pixel height and width.
2219
2220 * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
2221 the property _NET_WM_STATE has changed.
46dfb8fb
JD
2222 (x_handle_net_wm_state): New function to update frame parameter
2223 fullscreen.
2224 (x_term_init): Initialize atoms for _NET_WM_STATE.
2225
2226 * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
2227
d347e494
SM
22282009-03-27 Kevin Ryde <user42@zip.com.au>
2229
2230 * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
2231 Gpm_GetEvent as an error that justifies closing the filedescriptor.
2232 * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
2233 (Fgpm_mouse_stop): Pass that new parameter.
2234 * termhooks.h (close_gpm): Adjust prototype.
2235
84db11d6
SM
22362009-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
2237
c95a5008
SM
2238 * lisp.h (Fx_focus_frame): Declare.
2239
84db11d6
SM
2240 * callint.c (Fcall_interactively): For '^' just delegate the work to
2241 handle-shift-selection.
2242 (syms_of_callint): Move declaration of shift-select-mode to simple.el.
2243
0a1958d6
CY
22442009-03-24 Chong Yidong <cyd@stupidchicken.com>
2245
0bfdff23
CY
2246 * editfns.c (Ffloat_time): Doc fix (Bug#2768).
2247
0a1958d6
CY
2248 * data.c (Qinteractive_form): New variable.
2249 (Finteractive_form): Use it.
2250
2251 * eval.c (Fcommandp): Use Qinteractive_form.
2252
58aec0d6
JR
22532009-03-24 Jason Rumney <jasonr@gnu.org>
2254
2255 * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
2256 Calculate total size precisely. Decode environment variables
2257 before substituting. (Bug#38)
2258
553dd618
KH
22592009-03-24 Kenichi Handa <handa@m17n.org>
2260
2261 * font.c (find_font_encoding): Return Qnil for unsupported
639239cf 2262 encoding (Bug#2722).
553dd618 2263
c39ea606
JD
22642009-03-23 Jan Djärv <jan.h.d@swipnet.se>
2265
2266 * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
2267 that gdpy is set.
2268
bc9b2b5e
AM
22692009-03-22 Alan Mackenzie <acm@muc.de>
2270
2271 * callint.c (Finteractive): Clarify the doc string - even
2272 promptless elements need \n separators.
2273
9f995a76
JR
22742009-03-22 Jason Rumney <jasonr@gnu.org>
2275
2276 * w32term.c (syms_of_w32term): Doc fix for
2277 x-use-underline-position-properties.
2278
22749e9a
EZ
22792009-03-21 Eli Zaretskii <eliz@gnu.org>
2280
2281 * w32.c (getpwuid): Change argument type to unsigned.
2282 (struct w32_id): Change type of `rid' member to unsigned.
2283 (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
2284 argument ID to unsigned. All callers changed.
2285 (getuid, geteuid, getgid, getegid): Change return type to unsigned.
2286
e00553bf
EZ
22872009-03-20 Eli Zaretskii <eliz@gnu.org>
2288
2289 * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
2290 negative, produce a float value.
2291
2292 * dired.c (make_uid, make_gid): New functions.
2293 (Ffile_attributes): Use them to avoid negative UID and GID.
2294
f761d6b6
JB
22952009-03-20 Juanma Barranquero <lekktu@gmail.com>
2296
2297 * keyboard.c (Fcurrent_idle_time): Reflow docstring.
2298 (syms_of_keyboard) <command-hook-internal, input-method-function>:
2299 Fix typos in docstrings.
2300
d507f8d7
KH
23012009-03-19 Kenichi Handa <handa@m17n.org>
2302
2303 * fontset.c (Fset_fontset_font): When a spec of ASCII font is
f761d6b6
JB
2304 changed, use font_load_for_lface to get a new font object.
2305 Call free_realized_fontset after handling ASCII font change.
d507f8d7
KH
2306
2307 * frame.c (x_set_font): Handle the case that ARG is a cons.
2308
c68845e0
GM
23092009-03-19 Glenn Morris <rgm@gnu.org>
2310
2311 * fileio.c (Fsubstitute_in_file_name): Doc fix.
2312
bfa49dd1
CY
23132009-03-19 Chong Yidong <cyd@stupidchicken.com>
2314
2315 * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
2316
8458d4c1
KH
23172009-03-19 Kenichi Handa <handa@m17n.org>
2318
2319 * charset.c (load_charset_map_from_file): When a mapfile can't be
2320 loaded, signal an error.
2321
78e7d1fe
EZ
23222009-03-18 Eli Zaretskii <eliz@gnu.org>
2323
2324 * dired.c (Ffile_attributes): Make sure UID and GID are always
2325 positive, even if the value is too large for a positive EMACS_INT.
2326 Doc fix.
2327
2328 * editfns.c (Fuser_login_name): Support float arguments. Doc fix.
2329
5da9fdfa
YM
23302009-03-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2331
2332 * xmenu.c (xdialog_show): Move Fredisplay call ...
2333 (Fx_popup_dialog): ... here.
2334
7519c40d
SM
23352009-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
2336
2337 * dired.c (file_name_completion): Disable the first optimization just
2338 installed, since it is not implemented correctly.
2339
2cd298e2
SM
23402009-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
2341
2342 * dired.c (file_name_completion): Check completion-ignored-extensions
c95a5008 2343 only if the entry can affect bestmatch.
2cd298e2
SM
2344 Stop the search early, as Ftry_completion already does.
2345
48d37adf
CY
23462009-03-17 Chong Yidong <cyd@stupidchicken.com>
2347
e10c9c93 2348 * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
48d37adf 2349
9286b16a
CY
23502009-03-15 Chong Yidong <cyd@stupidchicken.com>
2351
2352 * keyboard.c (parse_menu_item): Don't display remappings as menu
2353 equivalent bindings (Bug#788).
2354
f7b146dc
JR
23552009-03-15 Jason Rumney <jasonr@gnu.org>
2356
2357 * w32term.h (WM_EMACS_PAINT): New message.
2358 * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
2359 * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
2360 before passing to lisp thread. (Bug#950)
2361
f761d6b6 23622009-03-14 David Reitter <david.reitter@gmail.com>
c6c62e78 2363
d93f9575
CY
2364 * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
2365 variable as it was never reset.
2366 (ns_term_init): Remove initialization of Lisp-settable defaults
2367 and ns_expand_space.
2368 (-setPanelFromDefaultValues): Remove ns_expand_space.
2369 (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
2370 * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
c6c62e78
DR
2371 i.e. no additional spacing, similar to Carbon port.
2372
d93f9575
CY
2373 * nsterm.h: Define KEY_NS_SHOW_PREFS key.
2374 * nsfns.m (ns-popup-prefs-panel): Remove.
c6c62e78 2375
305018ec
JD
23762009-03-14 Jan Djärv <jan.h.d@swipnet.se>
2377
2378 * sound.c (alsa_configure): Remove call to deprecated
2379 snd_pcm_sw_params_set_xfer_align.
2380
f761d6b6 23812009-03-14 Stephen Berman <stephen.berman@gmx.net>
4a02423f
JD
2382
2383 * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
2384 after clicking in a detached tool bar.
2385 (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
2386
46e722a9
SM
23872009-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
2388
348db3dd
SM
2389 * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
2390 int/Lisp_Object mixup).
46e722a9 2391
a3d16f39
KH
23922009-03-13 Kenichi Handa <handa@m17n.org>
2393
2394 * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
fe24f56a 2395 Handle NAME nil and t correctly. Callers changed.
a3d16f39
KH
2396 (font_def_arg, add_arg, from_arg, to_arg): Delete them.
2397 (set_fontset_font): Change ARG to a vector. Handle range_list in
2398 ARG correctly.
2399 (Fset_fontset_font): Fix the case that TARGET is both a script
fe24f56a 2400 name and charset name. Adjust the arg to set_fontset_font for
a3d16f39
KH
2401 the above change.
2402 (fontset_from_font): Fix previous change.
fe24f56a 2403 (Ffontset_info): Adjust for the 2008-07-09 change of fontset
a3d16f39
KH
2404 entry. If FONTSET is the default fontset, don't set the extra
2405 slot of the returning char-table.
2406
b066e6b6
JB
24072009-03-12 Juanma Barranquero <lekktu@gmail.com>
2408
2409 * nsfns.m (Fx_close_connection): Doc fix.
2410 (Fns_do_applescript): Reflow docstring.
2411 (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
2412 (Fx_display_pixel_width, Fx_display_pixel_height)
2413 (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
2414 Fix typos in docstrings.
2415 (Fns_set_alpha): Fix typos in error messages.
2416
d472514e 24172009-03-12 David Reitter <david.reitter@gmail.com>
d6220c13 2418
d472514e 2419 * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
d6220c13
DR
2420 non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT
2421 were used for such events.
2422
d472514e
JB
2423 * nsterm.m (newFrame, openFile, fulfillService, changeFont)
2424 (toggleToolbar, performDragOperation, runHelp): Use it.
d6220c13 2425
d472514e 2426 * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
d6220c13
DR
2427 NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
2428
fb930676
KH
24292009-03-11 Kenichi Handa <handa@m17n.org>
2430
ff85581a
KH
2431 * font.h (font_open_by_spec): Extern it.
2432
c50b7e98
KH
2433 * font.c (font_open_by_spec): New function.
2434 (font_open_by_name): Use font_open_by_spec.
2435
fb930676
KH
2436 * frame.c (x_set_font): When ARG is a font-object, don't alter the
2437 fontset of the frame.
2438
2439 * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
2440 modify the default font of frames that use this fontset.
2441 (num_auto_fontsets): New variable.
2442 (fontset_from_font): Use num_auto_fontsets to decide a fontset
2443 name. Be sure to set FONTSET_ASCII to the correct font name.
2444 (update_auto_fontset_alist): New function.
2445
df4e8455
JB
24462009-03-11 Juanma Barranquero <lekktu@gmail.com>
2447
2448 * makefile.w32-in: Update dependencies.
2449
0a375797
AR
24502009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2451
2452 * nsfns.m (syms_of_nsfns): Remove Qbuffered.
2453
61313fa3
SM
24542009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
2455
2456 * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
2457
b55103fb
CY
24582009-03-10 Chong Yidong <cyd@stupidchicken.com>
2459
2460 * lread.c (Feval_buffer): Doc fix.
2461
dde2559c
KH
24622009-03-09 Kenichi Handa <handa@m17n.org>
2463
2464 * charset.c (Qfile_name_handler_alist): Extern it.
2465 (load_charset_map_from_file): Temporarily bind
2466 `file-name-handler-alist' to nil while calling openp. (Bug#2435)
2467
df4e8455 24682009-03-06 Aaron Ecay <aaronecay@gmail.com> (tiny change)
340e08a4 2469
47f588bb
GM
2470 * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
2471 not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352)
340e08a4 2472
4ddf94bd
AR
24732009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2474
4c9bdfc2
AR
2475 * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
2476 (x_set_window_size): Change back to calculated method of setting
2477 toolbar height under Cocoa. (Bug#2546)
4ddf94bd
AR
2478 (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
2479 (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
2480
fe41ae9e
AR
2481 * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
2482
4c9bdfc2
AR
2483 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
2484 accelerator in parens under GNUstep.
2485
825d0875
KH
24862009-03-06 Kenichi Handa <handa@m17n.org>
2487
2488 These changes are to detect incorrect composition sequence without
f3b3be74 2489 looking ahead the source. (Bug#2370)
825d0875
KH
2490
2491 * coding.h: Include "composite.h".
2492 (enum compisition_state): New enum.
2493 (struct compisition_status): New struct.
2494 (struct iso_2022_spec): New member cmp_status.
2495 (struct emacs_mule_spec): New struct.
2496 (struct coding_system): New members ctext_extended_segment_len and
2497 embedded_utf_8. Change the union member
2498 spec.emacs_mule_full_support to spec.emacs_mule.
2499
2500 * coding.c (CODING_ISO_CMP_STATUS): New macro.
2501 (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
98a326f7 2502 (MAX_ANNOTATION_LENGTH): Define to 5.
825d0875
KH
2503 (ADD_COMPOSITION_DATA): New arg nbytes.
2504 (emacs_mule_char): New arg cmp_status.
2505 (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
2506 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
2507 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
2508 (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
2509 (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
2510 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
2511 (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
2512 (EMACS_MULE_COMPOSITION_END): New macro.
2513 (emacs_mule_finish_composition): New function.
2514 (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
2515 (decode_coding_emacs_mule): Avoid long looking ahead while
2516 handling composition.
2517 (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
2518 (ENCODE_COMPOSITION_RULE): New macro.
2519 (finish_composition): New function.
2520 (MAYBE_FINISH_COMPOSITION): Call finish_composition.
2521 (DECODE_COMPOSITION_START): New implementation.
2522 (DECODE_COMPOSITION_END): Likewise.
2523 (STORE_COMPOSITION_RULE): New macro.
2524 (decode_coding_iso_2022): Avoid long looking ahead while handling
2525 composition, CTEXT extended segment, and embedded UTF-8.
2526 (setup_coding_system): For a coding of type iso-2022, reset
2527 CODING_ISO_EXTSEGMENT_LEN (coding) and
2528 CODING_ISO_EMBEDDED_UTF_8 (coding).
2529 (get_translation): Delete arguments last_block, from_nchars,
2530 to_nchars. Callers changed.
2531 (produce_chars): Don't modify charbuf. Adjusted for the change of
2532 get_translation.
98a326f7 2533 (produce_composition): Adjust for the new annotation sequence.
825d0875 2534 (handle_composition_annotation): Likewise.
98a326f7 2535 (consume_chars): Adjust for the change of get_translation.
825d0875 2536
ccbc4452
AR
25372009-03-05 Adrian Robert <Adrian.B.Robert@gmail.com>
2538
4ddf94bd 2539 * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564)
ccbc4452 2540
988a7ddb
KH
25412009-03-05 Kenichi Handa <handa@m17n.org>
2542
2543 * font.c (font_select_entity): New function.
2544 (font_find_for_lface): Use font_select_entity to select a font.
2545
2546 * fontset.c (fontset_find_font): If a font found without
a8a3728b 2547 restricting to the characters C doesn't support C, try to find a
988a7ddb
KH
2548 font with C restriction.
2549
98a326f7 25502009-03-04 Nikolaj Schumacher <me@nschum.de>
2f462d73 2551
be1bce46 2552 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
2f462d73 2553
10ea2b82
JR
25542009-03-04 Jason Rumney <jasonr@gnu.org>
2555
2c93b248 2556 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
4891ba1d 2557 characters that have already been read. (Bug#2569)
2c93b248 2558
10ea2b82
JR
2559 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
2560 Log an error message if check_image_size failed.
2561 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
4891ba1d 2562 (gs_load): Mention max-image-size in size error message. (Bug#2560)
10ea2b82 2563
71a0c011
EZ
25642009-03-02 Eli Zaretskii <eliz@gnu.org>
2565
2566 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
2567 when decoding process output.
2568
2f63bba8
RS
25692009-03-01 Richard M Stallman <rms@gnu.org>
2570
2571 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
2572
2573 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
2574
0a9564cb
EZ
25752009-02-28 Eli Zaretskii <eliz@gnu.org>
2576
2577 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
2578 (decode_coding_emacs_mule, decode_coding_iso_2022)
2579 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
2580 (decode_coding_raw_text, decode_coding_charset)
2581 (setup_coding_system, decode_eol, decode_coding, consume_chars):
2582 Honor inhibit-eol-conversion. (Bug #2186)
2583
449148b3
JR
25842009-02-28 Jason Rumney <jasonr@gnu.org>
2585
2586 * coding.c (detect_coding_charset): If not checking latin extra,
2587 fail on characters between 0x80 and 0xA0. (Bug#2354)
2588
a4aee864
EZ
25892009-02-28 Eli Zaretskii <eliz@gnu.org>
2590
2591 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
2a1573ff 2592 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
a4aee864 2593
d88bee5a
GM
25942009-02-27 Glenn Morris <rgm@gnu.org>
2595
2596 * callint.c (Finteractive): Doc fix.
2597
a808f22d
KH
25982009-02-27 Kenichi Handa <handa@m17n.org>
2599
2600 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
2601
caf8d60c
CY
26022009-02-27 Chong Yidong <cyd@stupidchicken.com>
2603
2604 * font.c (font_style_to_value): Set value for unknown symbols to
2605 100 instead of 255.
b61137ea
CY
2606 (weight_table, slant_table, width_table): Treat "unspecified" as
2607 the default value.
caf8d60c 2608
1a0de25c
JB
26092009-02-26 Juanma Barranquero <lekktu@gmail.com>
2610
2611 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
2612
8fc45744
JB
26132009-02-25 Juanma Barranquero <lekktu@gmail.com>
2614
107bd7d1
JB
2615 * lread.c (Fload): Stop checking Vloads_in_progress and signal
2616 error as soon as a recursive load is detected.
8fc45744 2617
f097e223
AR
26182009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2619
2620 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
2621 before caching.
2622
8810a12f
KH
26232009-02-24 Kenichi Handa <handa@m17n.org>
2624
2625 * fontset.c (fontset_find_font): Fix the condition for checking
2626 unavailable font.
2627
2c7d1565
GM
26282009-02-24 Glenn Morris <rgm@gnu.org>
2629
2630 * xfaces.c (Finternal_set_font_selection_order): Remove leading
2631 whitespace that confuses documentation.
2632
a20878b6
MB
26332009-02-23 Miles Bader <miles@gnu.org>
2634
2635 * process.c (Flist_system_processes, Fprocess_attributes)
2636 (syms_of_process): Rename `system-process-attributes' to
2637 `process-attributes'.
2638
b3b58c01
AS
26392009-02-22 Andreas Schwab <schwab@linux-m68k.org>
2640
1b3b981b
AS
2641 * coding.h (struct coding_system): Make safe_charsets a pointer to
2642 unsigned char.
2643 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
2644 being 255.
2645 (SAFE_CHARSET_P): Likewise.
2646 (setup_iso_safe_charsets): Properly setup safe_charsets.
2647 (Fdefine_coding_system_internal): Likewise.
2648 (setup_coding_system): Likewise. Remove unneeded casts.
2649 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
2650 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
2651 unneeded casts.
2652
b3b58c01
AS
2653 * insdel.c (del_range_2): Don't modify gap contents when called
2654 from decode_coding_object. (Bug#1809)
2655
0b6f228c
CY
26562009-02-21 Chong Yidong <cyd@stupidchicken.com>
2657
2658 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
2659 Qfont_object.
2660 (Ftype_of): Recognize font objects.
2661
2662 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
2663
2664 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
2665 moved to data.c.
2666
52f8870b
AR
26672009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2668
2669 * nsterm.m (x_make_frame_invisible): Unset async_visible,
2670 async_iconified. Based on a patch by Christian Lynbech
2671 <christian.lynbech@tieto.com>.
2672 (EmacsView-windowDidMiniaturize:): Unset async_visible.
2673
7087d5e9
GM
26742009-02-20 Glenn Morris <rgm@gnu.org>
2675
2676 * syntax.c (Fskip_chars_forward): Fix doc typo.
2677
41d2ceef
CY
26782009-02-20 Chong Yidong <cyd@stupidchicken.com>
2679
2680 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
2681
1a3b7ca6
CY
26822009-02-19 Chong Yidong <cyd@stupidchicken.com>
2683
2684 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
2685
73cce38d
KH
26862009-02-19 Kenichi Handa <handa@m17n.org>
2687
2688 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 2689 Don't overflow coding->carryover. (Bug#2370)
73cce38d 2690
a51092ee
DN
26912009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
2692
2693 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
2694
c423ecca
KH
26952009-02-18 Kenichi Handa <handa@m17n.org>
2696
2697 * font.c (font_check_otf_features): Fix handling of `nil' element.
2698 (Ffont_spec): Describe :lang and :otf in the docstring.
2699
4c1958f4
AS
27002009-02-16 Andreas Schwab <schwab@suse.de>
2701
2702 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
2703 string.
2704
5704f39a
KH
27052009-02-16 Kenichi Handa <handa@m17n.org>
2706
2707 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 2708 (Bug#1723)
5704f39a 2709
8f0085aa
CY
27102009-02-14 Chong Yidong <cyd@stupidchicken.com>
2711
a057d86a 2712 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
2713
2714 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
2715 (handle_line_prefix): Suppress wrapping of wrap prefixes.
2716
aff01dd9
EZ
27172009-02-14 Eli Zaretskii <eliz@gnu.org>
2718
2719 * msdos.c (MAX_SCREEN_BUF): New macro.
2720 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
2721 Encode the entire run of glyphs sharing the same face, instead of
2722 doing that one glyph at a time (fixes a bug with displaying
2723 double-size characters).
2724
ba301db3
AR
27252009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
2726
2727 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
2728
2729 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
2730 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 2731 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
2732
2733 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 2734 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 2735
51d861de
SM
27362009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
2737
2738 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
2739 invisible areas.
2740
7fed8996
JR
27412009-02-12 Jason Rumney <jasonr@gnu.org>
2742
631ea4fb
JR
2743 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
2744 (add_font_entity_to_list): Call check_face_name even when family
2745 is unspecified.
2746
cb4a3e42
JR
2747 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2748 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 2749 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 2750
7fed8996 2751 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 2752 raster fonts. (Bug#2219)
7fed8996 2753
895416e3
KH
27542009-02-12 Kenichi Handa <handa@m17n.org>
2755
2756 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
2757 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
2758 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 2759 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
2760 (find_automatic_composition): While looking forward and backward,
2761 check static composition. Fix where to stop looking forward.
2762 (composition_adjust_point): Fix checking of static composition.
2763 (Fcomposition_get_gstring): Pay attention to
1dacf998 2764 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
2765
2766 * lisp.h (fast_looking_at): Extern it.
2767
2768 * search.c (fast_looking_at): New function.
2769
51d861de 2770 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
2771 <struct glyph>.u.cmp.to.
2772 (append_composite_glyph): Likewise.
2773
51d861de 2774 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
2775 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
2776 composition.
51d861de 2777 (append_composite_glyph): Adjust for the change of
895416e3
KH
2778 <strcut glyph>.u.cmp.to.
2779
8510724d
JB
27802009-02-11 Juanma Barranquero <lekktu@gmail.com>
2781
2782 * casetab.c (init_casetab_once):
2783 * coding.c (ALLOC_CONVERSION_WORK_AREA):
2784 * font.c (font_update_lface):
2785 * fontset.c (Fnew_fontset):
2786 * ftfont.c (ftfont_drive_otf):
2787 * xfont.c (xfont_open):
2788 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
2789
294fa707
SM
27902009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
2791
2792 * fileio.c (Fwrite_region): !NILP -> CONSP.
2793
b5bfebec
AS
27942009-02-10 Andreas Schwab <schwab@suse.de>
2795
2796 * process.c (send_process): Properly relocate pointer into data
adab88bd 2797 when using encoded data. (Bug#2272)
b5bfebec 2798
cb84a2be
KH
27992009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
2800
2801 * coding.c (detect_coding_charset): Fix previous change.
2802
89e09428
JR
28032009-02-08 Jason Rumney <jasonr@gnu.org>
2804
2805 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 2806 disappeared while hourglass was displayed. (Bug #2193)
89e09428 2807
4470a277
AS
28082009-02-07 Andreas Schwab <schwab@suse.de>
2809
2810 * unexelf.c (unexec): Fix error message.
2811
3175b12a
AR
28122009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
2813
2814 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 2815 when modal window is active. (Bug #2152)
3175b12a
AR
2816 (applicationShouldTerminate:): Remove now-unneeded while loop
2817 around NSRunAlertPanel.
2818
2819 * nsmenu.m (popupSession): New file-global variable.
2820 (pop_down_menu): End the popupSession before closing dialog.
2821 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
2822 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
2823 don't query NSApp for events (just sleep instead).
2824
8434d0b8
EZ
28252009-02-07 Eli Zaretskii <eliz@gnu.org>
2826
51d861de
SM
2827 * coding.c (syms_of_coding) <translation-table-for-input>:
2828 Modify doc string to discourage use for character code unification.
8434d0b8 2829
aa82edfd
CY
28302009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2831
2832 * atimer.c (run_timers): Update pending_atimers.
2833
2d283c7c
CY
28342009-02-06 Chong Yidong <cyd@stupidchicken.com>
2835
eb306cab
CY
2836 * image.c (svg_load_image): Fix last change.
2837
2d283c7c
CY
2838 * xfns.c (Fx_create_frame): Signal an error if no font is
2839 found (Bug#2147).
2840
4d8e170e
JB
28412009-02-05 Juanma Barranquero <lekktu@gmail.com>
2842
2843 * character.c (syms_of_character) <script-representative-chars>:
2844 Fix typo in docstring.
2845
c96169a0
AR
28462009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2847
2848 * nsmenu.m (pop_down_menu): New function.
2849 (ns_popup_dialog): Call it on unwind.
2850 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
2851 call timer_check() (Bug#2154).
2852 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
2853 handling_signal is set.
2854 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
2855
31fd7c5c 2856 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G.
c96169a0
AR
2857
2858 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
2859
2860 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
2861
51d861de
SM
2862 * keyboard.c (poll_for_input_1, handle_async_input):
2863 Set handling_signal under HAVE_NS.
c96169a0 2864
aacd8ba1
GM
28652009-02-04 Glenn Morris <rgm@gnu.org>
2866
2867 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
2868
4cb75c4b
KH
28692009-02-04 Kenichi Handa <handa@m17n.org>
2870
2871 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
2872
2873 * charset.c (Fchar_charset): New optional arg restriction.
2874
2875 * coding.h (coding_system_charset_list): Extern it.
2876
2877 * coding.c (coding_system_charset_list): New function.
2878
2879 * composite.c: Include coding.h and termhooks.h.
2880 (composition_gstring_p): Fix for the terminal case.
2881 (composition_gstring_width): Likewise.
2882 (fill_gstring_body): Likewise.
2883 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
2884 the frame.
2885 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
2886 is within a composition.
867d4bb3 2887 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
2888
2889 * term.c (encode_terminal_code): Fix handling of composition.
2890 (produce_composite_glyph): For static composition, get pixel_width
2891 from struct composition.
2892
826ba17e
AS
28932009-02-02 Andreas Schwab <schwab@suse.de>
2894
2895 * unexelf.c (unexec): Handle unaligned bss offset.
2896
8ad093db
AR
28972009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2898
2899 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
2900 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 2901
8ad093db
AR
2902 * keyboard.c (handle_interrupt): Don't call
2903 quit_throw_to_read_char() under NS.
d0a76a6e 2904
8ad093db
AR
2905 * blockinput.h: Remove NS-specific code.
2906
4d18a7a2
DN
29072009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
2908
db878925
DN
2909 * dispnew.c (window_change_signal): Don't try to get the size of a
2910 suspended tty frame.
2911 * term.c (Fresume_tty): Resize if the size has changed while the
2912 tty was suspended.
2913
4d18a7a2
DN
2914 * alloc.c (mark_stack): Properly conditionalize previous change.
2915
8984df7c
JB
29162009-01-30 Juanma Barranquero <lekktu@gmail.com>
2917
2918 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
2919 * w32term.c (w32_read_socket) [SYNC_INPUT]:
2920 Remove; this code is not used on Windows.
2921
75f4f1ac
EZ
29222009-01-30 Eli Zaretskii <eliz@gnu.org>
2923
2924 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
2925 EOLs that also has stray ^M characters.
2926
07a1e794
JB
29272009-01-30 Juanma Barranquero <lekktu@gmail.com>
2928
2929 * atimer.c (run_timers, alarm_signal_handler):
2930 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
2931 * w32inevt.c (w32_console_read_socket):
2932 * w32term.c (w32_read_socket):
2933 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
2934
a8b11cc9
CY
29352009-01-30 Chong Yidong <cyd@stupidchicken.com>
2936
2937 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
2938 Initialize it as a relative filename pattern.
2939 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
2940 (Fcall_process_region): Simplify temp file creation using
2941 temporary-file-directory.
2942
c279587b
EZ
29432009-01-29 Eli Zaretskii <eliz@gnu.org>
2944
2945 * msdos.c: Rename pending_signals to msdos_pending_signals.
2946 (sig_suspender, sigprocmask): Adjust.
2947
a8fe3242
CY
29482009-01-29 Chong Yidong <cyd@stupidchicken.com>
2949
2950 * keyboard.c (pending_signals): New var.
2951 (poll_for_input, input_available_signal, init_keyboard): Set it.
2952 (process_pending_signals): New function.
2953
2954 * lisp.h (QUIT): Check pending_signals instead of
2955 interrupt_input_pending. Use process_pending_signals.
2956
51d861de 2957 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 2958
51d861de 2959 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
2960
2961 * sysdep.c (emacs_write): Use process_pending_signals.
2962
2963 * xterm.c (XTread_socket): Update pending_signals.
2964
2965 * w32term.c (w32_read_socket): Update pending_signals.
2966
2967 * w32inevt.c (w32_console_read_socket): Update pending_signals.
2968
6570a1c4
KH
29692009-01-29 Kenichi Handa <handa@m17n.org>
2970
2971 * xftfont.c (xftfont_has_char): New function.
2972 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
2973
d72a4afa
AR
29742009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
2975
2976 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
2977 under GNUstep.
2978 (ns_query_color): New declaration.
2979
2980 * nsterm.m (ns_confirm_quit): New variable.
2981 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
2982 (EmacsApp-applicationShouldTerminate:): Use it.
2983 (EmacsPrefsController): Let user set it.
2984 (ns_query_color): New function.
2985 (ns_defined_color): Use it.
2986 (ns_initialize): Drop.
2987 (ns_term_init): Add two lines from ns_initialize(), and set
2988 input_interrupt_mode to nil.
2989
2990 * image.c (svg_load_image): Don't right-shift background RGB when
6af84d77 2991 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
d72a4afa 2992
9fe78804
KH
29932009-01-28 Kenichi Handa <handa@m17n.org>
2994
2995 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
2996 (fontset_get_font_group): Remember that no font-group is specified
2997 for C.
9fe78804 2998
fa57de36
CY
29992009-01-27 Chong Yidong <cyd@stupidchicken.com>
3000
930600e9
CY
3001 * fns.c (concat): Check for string overflow (bug#1787).
3002
fa57de36
CY
3003 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
3004 Quadruple undo limits (bug#1501).
3005
7179ce7b
KH
30062009-01-27 Kenichi Handa <handa@m17n.org>
3007
3008 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
3009 directly use GT_Get_Char_index.
3010
3011 * xftfont.c (struct xftfont_info): New member `index'.
3012
3013 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 3014 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 3015
5be8fcc0
CY
30162009-01-26 Kenichi Handa <handa@m17n.org>
3017
3018 * fontset.c (fontset_find_font): Fix handling of non-cons return
3019 value of fontset_get_font_group.
3020 (fontset_font): Revert last change.
3021
19ae3e61
JR
30222009-01-26 Jason Rumney <jasonr@gnu.org>
3023
3024 * w32font.c (w32font_list_internal): Return quickly if registry is
3025 unknown. Simplify final return.
3026 (add_font_entity_to_list): Break complex logic down into more
3027 manageable chunks. Move unknown registry check to
3028 w32font_list_internal.
3029
8612b71a
AR
30302009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
3031
3032 Changes to remove Feval calls from GUI under NS.
3033
d8038940
JB
3034 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
3035 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
3036 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
3037
3038 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
3039 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
3040 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
3041 instead of NON_ASCII_KEYSTROKE_EVENT.
3042 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
3043 (EmacsApp-applicationShouldTerminate:): Query user.
3044 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
3045 instead of Feval.
3046
3047 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
3048
3049 * keyboard.c (kbd_buffer_get_event): Check for it.
3050 (keys_of_keyboard): Define lispy keys for
3051 ns-put/unput-working-text.
3052
3053 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
3054 versions.
3055 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
3056
6288ae55
CY
30572009-01-25 Chong Yidong <cyd@stupidchicken.com>
3058
3059 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 3060 setting current_buffer directly. (Bug#2044)
6288ae55 3061
289e7f8f
CY
30622009-01-24 Chong Yidong <cyd@stupidchicken.com>
3063
5ce87308 3064 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 3065 any work. (Bug#1952, bug#1990).
5ce87308 3066
64cc3cf6 3067 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 3068
b3243e6f
AR
30692009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
3070
3071 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
3072 (ns_no_defaults): New declaration.
3073 (main): Use it.
e0d2e69a 3074
d900b2af 3075 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 3076
d900b2af 3077 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 3078
d900b2af
AR
3079 * nsterm.m (ns_no_defaults): New variable.
3080 (ns_initialize): Don't read defaults when ns_no_defaults.
3081 (EmacsView-readSelectionFromPasteboard:)
3082 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 3083 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
3084 (ns_dumpglyphs_stretch): New function.
3085 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 3086 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 3087
e0d2e69a
AR
3088 * nsimage.m (setPixmapData:): Set to ignore image DPI.
3089
3ac71f5d
CY
30902009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
3091
3092 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
3093 call for Sparc64.
3094
3fe53a83
AR
30952009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3096
3097 * nsfns.m:
3098 * nsgui.h:
3099 * nsmenu.m:
3100 * nsselect.m:
3101 * nsterm.h:
3102 * nsterm.m: Remove '23' comments that indicated code added during
3103 update from emacs-20 -> emacs-23.
3104
10f87c6f 31052009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
3106
3107 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 3108 ns_alternate_modifier. (Bug#1217)
a3b53a85 3109
c7cef62d
AR
3110 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
3111 Display all shortcuts, including those w/o super modifier.
3112
575fb8bd
AR
3113 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
3114
918b848b
CY
31152009-01-22 Chong Yidong <cyd@stupidchicken.com>
3116
3117 * fileio.c (Vwrite_region_post_annotation_function)
3118 (Vwrite_region_annotation_buffers): New vars.
3119 (build_annotations_unwind): Just reset
3120 Vwrite_region_annotation_buffers.
3121 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
3122 Call write-region-post-annotation-function.
3123 (build_annotations): Add to Vwrite_region_annotation_buffers if
3124 buffer changes.
3125
a39e2539
AR
31262009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3127
3128 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
3129 Tiger.
51d861de
SM
3130 * nsfns.m (ns_do_applescript):
3131 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 3132
35ed44db
AR
31332009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
3134
3135 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
3136
cbe0b5bf
AR
31372009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3138
3139 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 3140
6049d3a0
AR
3141 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
3142
3143 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
3144 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
3145 handle Ctrl-tab. (Bug#1841)
3146 (ns_get_color): Use unsigned long long for scanned hex string value.
3147 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 3148 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
b71ac3dd 3149 (EmacsPrefsController-setPanelFromDefaultValues): New function.
3a88a825 3150 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 3151 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 3152 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 3153 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 3154
d3810c21 3155 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 3156 DPI. (Bug#1316)
d3810c21
AR
3157 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
3158 values in onTiger section.
4c7077c3 3159
e301e634
CY
31602009-01-19 Chong Yidong <cyd@stupidchicken.com>
3161
7f82490b
CY
3162 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
3163 Check return value of font_spec_from_name.
64cc3cf6 3164 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
3165
3166 * font.c (font_spec_from_name): Return Qnil if font name could not
3167 be parsed.
3168 (font_parse_name): Treat a `?' character as part of an XLFD.
3169
e301e634
CY
3170 * fns.c (Fsubstring): Doc fix.
3171
1c0db158
KH
31722009-01-19 Kenichi Handa <handa@m17n.org>
3173
51d861de 3174 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
3175 (ftfont_list): Likewise.
3176
acf20901
JB
31772009-01-18 Juanma Barranquero <lekktu@gmail.com>
3178
fff4e459
JB
3179 * dbusbind.c (Fdbus_register_signal):
3180 * process.c (conv_sockaddr_to_lisp):
3181 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
3182
acf20901
JB
3183 * callproc.c (Fgetenv_internal): Doc fix.
3184
e7abcdfb
CY
31852009-01-16 Chong Yidong <cyd@stupidchicken.com>
3186
3187 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
3188 it is not even used.
3189
b60861e6
GM
31902009-01-16 Glenn Morris <rgm@gnu.org>
3191
3192 * font.c (Ffont_variation_glyphs): Silence compiler.
3193
8db52afe
JB
31942009-01-15 Juanma Barranquero <lekktu@gmail.com>
3195
3196 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
3197 Reported by David Robinow <drobinow@gmail.com>.
3198
4cddb209
KH
31992009-01-15 Kenichi Handa <handa@m17n.org>
3200
51d861de 3201 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 3202
f247f67b
JR
32032009-01-14 Jason Rumney <jasonr@gnu.org>
3204
3205 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 3206 never a fontset. (Bug#1562)
f247f67b 3207
f56a4450
KH
32082009-01-14 Kenichi Handa <handa@m17n.org>
3209
3210 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 3211 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 3212
4e99855e
CY
32132009-01-13 Chong Yidong <cyd@stupidchicken.com>
3214
3215 * font.c (font_clear_prop): If clearing the family, clear the font
3216 width index too.
3217
fff4e459 3218 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 3219
24f01470
JB
32202009-01-12 Juanma Barranquero <lekktu@gmail.com>
3221
3222 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
3223 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
3224 functions, use sizeof.
3225
a41240a3
MR
32262009-01-12 Martin Rudalics <rudalics@gmx.at>
3227
3228 * keyboard.c (read_char): Fix case where last_nonmenu_event
3229 returned a bad value with submenus. (Bug#447)
3230
944636b8
CY
32312009-01-12 Chong Yidong <cyd@stupidchicken.com>
3232
3233 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
3234 family, clear the font width index too.
3235
0dad7c6f
JR
32362009-01-11 Jason Rumney <jasonr@gnu.org>
3237
3238 * keyboard.c (cmd_error_internal): Exit when errors occur before
3239 frame creation and not in daemon mode. (Bug#1836)
3240
7c2363af
CY
32412009-01-10 Chong Yidong <cyd@stupidchicken.com>
3242
3243 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
3244 of a display vector, backtrack.
3245 (try_window_reusing_current_matrix): Check glyph type before
3246 referencing charpos member.
3247
97b1b294
EZ
32482009-01-10 Eli Zaretskii <eliz@gnu.org>
3249
3250 Fix Bug #876:
3251
3252 * coding.c (inhibit_null_byte_detection): New variable.
3253 (detect_coding, detect_coding_system): Don't pay attention to null
3254 bytes if inhibit_null_byte_detection is non-zero.
51d861de 3255 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
3256 <inhibit-iso-escape-detection>: Doc fix.
3257
4624b6e3
JR
32582009-01-09 Jason Rumney <jasonr@gnu.org>
3259
3260 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 3261 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
3262 Only report Unicode Plane 2 fonts as unicode-sip.
3263
323b840c
CY
32642009-01-09 Chong Yidong <cyd@stupidchicken.com>
3265
51d861de
SM
3266 * xfaces.c (Fx_font_family_list): Delete function.
3267 Move compatibility version to faces.el.
323b840c 3268
51d861de 3269 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 3270
eba7400d
MR
32712009-01-09 Martin Rudalics <rudalics@gmx.at>
3272
3273 * frame.c (x_set_frame_parameters): Remember requested value for
3274 fullscreen before it's reset by the parameter handler.
3275
4b09796d
GM
32762009-01-09 Glenn Morris <rgm@gnu.org>
3277
3278 * keyboard.c (last_command_char): For clarity, rename to...
46e722a9 3279 (last_command_event): ... and update all users.
4b09796d
GM
3280 (last_input_char): For clarity, rename to...
3281 (last_input_event): ... and update all users.
3282 (last-command-char, last-input-char): Move to subr.el as aliases.
3283 * cmds.c, commands.h: Update for last_command_char rename.
3284
14ccea62
CY
32852009-01-08 Chong Yidong <cyd@stupidchicken.com>
3286
51d861de 3287 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 3288
5f004711
JR
32892009-01-08 Jason Rumney <jasonr@gnu.org>
3290
3291 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
3292 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
3293 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
3294 Don't declare.
fff4e459 3295 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
3296 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
3297
b71f6f73
KH
32982009-01-07 Kenichi Handa <handa@m17n.org>
3299
50b06221 3300 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 3301 remember the coding system used for decoding in
50b06221
KH
3302 coding_system (Bug#1039).
3303
b71f6f73 3304 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 3305 breaking the loop. (Bug#870)
b71f6f73
KH
3306 (decode_coding_utf_16, decode_coding_emacs_mule)
3307 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
3308 (decode_coding_charset): Likewise.
3309
56f668f7
MR
33102009-01-05 Martin Rudalics <rudalics@gmx.at>
3311
3312 * frame.c (x_set_frame_parameters): Make sure height (width) get
3313 applied when fullwidth (fullheight) is set. (Bug#1522)
3314
5da9424d
JB
33152009-01-04 Juanma Barranquero <lekktu@gmail.com>
3316
3317 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
3318 (utc_base): Declare as ULONGLONG, not long double.
3319 (convert_time_raw): Delete.
3320 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
3321 (initialize_utc_base): New function.
3322 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
3323 (convert_from_time_t): Use initialize_utc_base; compute result with
3324 64-bit arithmetic.
3325 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
3326
c4605e09
EZ
33272009-01-03 Eli Zaretskii <eliz@gnu.org>
3328
9acef61c 3329 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
3330 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
3331 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
3332 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
3333 [!subprocesses]: Define.
3334 (syms_of_process) [!subprocesses]: Intern and staticpro them.
3335 (Flist_system_processes, Fsystem_process_attributes)
3336 [!subprocesses]: Call list_system_processes and
3337 system_process_attributes instead of returning Qnil.
3338
9acef61c
JB
3339 * dosfns.c (system_process_attributes, list_system_processes):
3340 New functions.
c4605e09
EZ
3341
3342 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
3343
3344 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
3345 Don't use the default (no-op) implementation.
3346
8b7d0a16
JR
33472009-01-03 Jason Rumney <jasonr@gnu.org>
3348
a6d46bc1
JR
3349 * keyboard.c (parse_modifiers_uncached): Wheel events are
3350 clicks (bug#687).
3351
8b7d0a16
JR
3352 * w32term.c (x_query_colors, x_query_color): New functions.
3353
3354 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
3355 (svg_load_image): Cast returned pointers from dynamically loaded
3356 functions. Eliminate W32 specific code.
3357
bfe11752
DN
33582009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
3359
89e2438a
DN
3360 * nsfns.m (x_set_foreground_color, x_set_background_color)
3361 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
3362 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
3363 x_ prefix instead of ns_. Update references.
3364 (syms_of_nsfns): Add a FIXME comment.
3365
3366 * nsterm.m (x_set_cursor_type): New prototype.
3367 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
3368
bfe11752
DN
3369 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
3370 for Solaris instead of incorrectly providing Qutime and Qcutime.
3371
031da700
EZ
33722009-01-02 Eli Zaretskii <eliz@gnu.org>
3373
3374 * w32.c (process_times): Compute sum of utime and stime.
3375 (system_process_attributes): Add Qtime to the alist.
3376
3377 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
3378 and add them to the alist.
3379
3380 * process.c (top level) <Qtime, Qctime>: New variables.
3381 (syms_of_process): staticpro them.
3382 (Fsystem_process_attributes): Add their documentation to the doc
3383 string.
3384
3385 * process.h: Declare Qtime and Qctime.
3386
df23bf08
JR
33872009-01-02 Jason Rumney <jasonr@gnu.org>
3388
9acef61c 3389 * image.c (Qgobject): New symbol.
df23bf08
JR
3390 (syms_of_image): Initialize it.
3391 (init_svg_functions): Load some functions from gobject library.
3392
5bbdf7aa
DN
33932009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
3394
3395 * frame.c (make_terminal_frame): Remove redundant code and useless
3396 block.
3397
63136da6
AS
33982009-01-01 Andreas Schwab <schwab@suse.de>
3399
3400 * process.c (conv_sockaddr_to_lisp): Add workaround for
3401 getsockname bug on BSD.
3402
9ef69046
CY
34032009-01-01 Chong Yidong <cyd@stupidchicken.com>
3404
d6fafbe0
CY
3405 * xfns.c (x_create_tip_frame): Set border width of the X window.
3406
51d861de 3407 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 3408
f9c34147
JR
34092009-01-01 Jason Rumney <jasonr@gnu.org>
3410
9acef61c 3411 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
3412 Don't block input, as per earlier xterm.c changes.
3413
f5497e45
AR
34142008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
3415
3416 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
3417 (ns_appkit_version_int): New function.
3418 (x-server-version): Use ns_appkit_version_int and follow 21+
3419 convention of returning 3 integers.
3420
c19cab20
KH
34212008-12-30 Kenichi Handa <handa@m17n.org>
3422
3423 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
3424 (CHAR_SURROGATE_PAIR_P): New macro.
3425
3426 * font.h (struct font_driver): New member get_variation_glyphs.
3427
9acef61c 3428 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
3429 (Ffont_variation_glyphs): New function.
3430 (syms_of_font): Defsubr it.
3431
3432 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
3433 ftfont_variation_glyphs.
3434 (setup_otf_gstring): New function.
3435 (ftfont_drive_otf): Use it.
3436 (ftfont_shape_by_flt): Handle variation selector.
3437 (ftfont_variation_glyphs): New function.
3438
28cd591f
MR
34392008-12-30 Martin Rudalics <rudalics@gmx.at>
3440
3441 * frame.c (Vemacs_iconified): Remove.
3442
7f714baf
JR
34432008-12-30 Jason Rumney <jasonr@gnu.org>
3444
3445 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 3446 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 3447
9d2d22ab
CY
34482008-12-30 Chong Yidong <cyd@stupidchicken.com>
3449
3450 * indent.c (Fvertical_motion): Don't advance iterator if we have
3451 reseated to the desired position.
3452
3453 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
3454 checking for pos match.
3455
545312c2
KH
34562008-12-30 Kenichi Handa <handa@m17n.org>
3457
1ede3eb6
KH
3458 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
3459 just get the low 8-bit of the code.
3460
545312c2
KH
3461 * font.c (font_intern_prop): Validate str as multibyte.
3462
bd7bbf29
DN
34632008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
3464
31e0750e
DN
3465 * dispextern.h (struct face): Move lface and hash from the middle
3466 of bitfields.
3467
bd7bbf29
DN
3468 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
3469
b5672e7c
DN
34702008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
3471
3472 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
3473 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
3474 instead of intervals.h.
3475
d704470f
AS
34762008-12-26 Andreas Schwab <schwab@suse.de>
3477
3478 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
3479 cons.
3480
54b33868
MR
34812008-12-26 Martin Rudalics <rudalics@gmx.at>
3482
3483 * textprop.c (Qminibuffer_prompt): New variable.
3484 (syms_of_textprop): Initialize it.
3485 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
3486 in minibuffer-prompt face. (Bug#1662)
3487
40b615d6
JR
34882008-12-25 Jason Rumney <jasonr@gnu.org>
3489
3490 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
3491
baae5c2d
JR
34922008-12-24 Jason Rumney <jasonr@gnu.org>
3493
3494 * ralloc.c (r_alloc_reset_variable): New function.
3495
3496 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 3497 record of what points where. (Bug#716)
baae5c2d 3498
a9051c88
DN
34992008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
3500
3501 * minibuf.c (read_minibuf): Follow the non-interactive case when
3502 running as a daemon, before detaching.
3503
8b146312
AS
35042008-12-22 Andreas Schwab <schwab@suse.de>
3505
3506 * buffer.c (init_buffer): Use realloc instead of xrealloc.
3507 * gtkutil.c (free_widget_value): Use xfree instead of free.
3508
56f2de10
MR
35092008-12-22 Martin Rudalics <rudalics@gmx.at>
3510
3511 * frame.c (delete_frame): New function derived from
3512 Fdelete_frame to handle Qnoelisp value for FORCE argument.
3513 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
3514 (Fdelete_frame): Call delete_frame. Remove line from doc-string
3515 saying that FORCE non-nil doesn't run `delete-frame-functions'.
3516 * frame.h: Extern delete_frame.
3517 * window.c (window_loop):
3518 * terminal.c (delete_terminal):
3519 * xterm.c (x_connection_closed):
3520 * xfns.c (Fx_hide_tip):
9acef61c 3521 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 3522
1fc200d6
JR
35232008-12-21 Jason Rumney <jasonr@gnu.org>
3524
3525 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
3526 when character maps to .notdef character.
3527
5e252df2
SM
35282008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
3529
3530 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
3531
99b72cc4
JR
35322008-12-20 Jason Rumney <jasonr@gnu.org>
3533
3534 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 3535 a graphical frame on Windows. (Bug#1325)
99b72cc4 3536
acc49a52
JD
35372008-12-20 Jan Djärv <jan.h.d@swipnet.se>
3538
3539 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
3540
6ea15123
CY
35412008-12-20 Chong Yidong <cyd@stupidchicken.com>
3542
3543 * minibuf.c (Fread_buffer): Doc fix.
3544
b2dab6c8
JR
35452008-12-20 Jason Rumney <jasonr@gnu.org>
3546
54ea0c87 3547 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 3548 server name in UNC paths. (Bug#719)
54ea0c87 3549
b2dab6c8 3550 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 3551 charbuf. (Bug#1035)
b2dab6c8 3552
6d1921be
DN
35532008-12-19 Daniel Engeler <engeler@gmail.com>
3554
3555 * sysdep.c (serial_configure): Fix typo.
3556
53934c98
DN
35572008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
3558
3559 * sysdep.c: Include alloca.h.
f4f634e8
DN
3560 (system_process_attributes): Add implementation for Solaris.
3561
3562 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 3563
06e111a6
DN
35642008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
3565
3566 Reorganize implementation of Flist_system_processes and
3567 Fsystem_process_attributes. No functional changes.
3568 * process.c: Don't #include pwd.h, grp.h and limits.h.
3569 (Flist_system_processes): Just call list_system_processes.
3570 (Fsystem_process_attributes): Just call system_process_attributes.
3571 (procfs_list_system_processes, time_from_jiffies)
3572 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
3573 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
3574
3575 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
3576 (list_system_processes): Rename from
3577 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
3578 Provide a do nothing implementation.
3579 (system_process_attributes): Rename from
3580 procfs_list_system_processes.
3581 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 3582 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
3583
3584 * w32.c (list_system_processes): Rename from
3585 w32_list_system_processes.
3586 (system_process_attributes): Rename from
3587 w32_system_process_attributes.
3588
3589 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
3590
3591 * process.h (w32_list_system_processes)
3592 (w32_system_process_attributes): Remove.
3593 (list_system_processes, system_process_attributes): New
3594 prototypes.
3595
6a705b23
KH
35962008-12-19 Kenichi Handa <handa@m17n.org>
3597
3598 * xfont.c (xfont_decode_coding_xlfd): New function.
3599 (xfont_encode_coding_xlfd): New function.
3600 (xfont_list_pattern): Decode XLFD by iso-8859-1.
3601 (xfont_list): Decode and encode XLFD by iso-8859-1.
3602 (xfont_match): Likewise.
3603 (xfont_list_family): Likewise.
3604 (xfont_open): Likewise.
3605
d66c0241 3606 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
3607 names are utf-8.
3608
d66c0241 3609 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
3610 names are utf-8.
3611
5a130941
JD
36122008-12-18 Jan Djärv <jan.h.d@swipnet.se>
3613
3614 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
3615 changed.
bfd20325
JD
3616 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
3617 clicked on a detached tool bar button.
5a130941 3618
fd95644b
DN
36192008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
3620
3621 * emacs.c (main): Print and error and exit when no data is read
3622 from the pipe.
3623
e6eee6ae
JR
36242008-12-17 Jason Rumney <jasonr@gnu.org>
3625
3626 * w32font.c (w32font_has_char): Always return -1.
3627
a35dd56b
KH
36282008-12-16 Kenichi Handa <handa@m17n.org>
3629
3630 * font.c (font_open_entity): Fix previous change.
3631
0e3635c2
DN
36322008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
3633
3634 * process.c: Include <limits.h>.
3635
d4835507 36362008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
3637
3638 * font.c (font_update_drivers): Fix mistake in reconstructing the
3639 driver list.
3640
36412008-12-16 Chong Yidong <cyd@stupidchicken.com>
3642
3643 * font.c (font_clear_cache): Fix format of font cache data.
3644
e2cbc401
CY
36452008-12-15 Chong Yidong <cyd@stupidchicken.com>
3646
3647 * xftfont.c (xftfont_open): Free Xft font pattern if
3648 XftFontOpenPattern fails.
3649
3650 * xterm.c (x_free_frame_resources): Remove extraneous call to
3651 free_frame_faces.
3652
b131d535
CY
36532008-12-13 Chong Yidong <cyd@stupidchicken.com>
3654
3655 * xterm.c (x_delete_display): Move xim_close_dpy call to
3656 x_delete_terminal.
3657 (x_delete_terminal): Call xim_close_dpy.
3658
e6df5336
JR
36592008-12-13 Jason Rumney <jasonr@gnu.org>
3660
3661 * w32font.c (intern_font_name): New function.
3662 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
3663 (w32font_open_internal, Fx_select_font): Decode font name.
3664 (fill_in_logfont, list_all_matching_fonts): Encode font name.
3665
3666 * w32font.h (intern_font_name): Declare new function.
3667
3668 * w32uniscribe.c (add_opentype_font_name_to_list):
3669 Use intern_font_name.
3670
20d68145
CY
36712008-12-13 Chong Yidong <cyd@stupidchicken.com>
3672
9f2554de
CY
3673 * frame.c (Fdelete_frame): Call free_font_driver_list.
3674
3d9bec9a
CY
3675 * font.c (free_font_driver_list): Implement missing function.
3676
20d68145
CY
3677 * w32term.c (w32_term_init): Don't initialize the image cache
3678 here; it will be done in init_frame_faces.
3679
3680 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
3681 (struct x_display_info): Remove unused member null_pixel. New
3682 member xim_callback_data.
3683
3684 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
3685 (xim_initialize): Save pointer to callback function data.
3686 (xim_close_dpy): Free callback function data. Call XCloseIM,
3687 reverting 2008-11-04 change by David Smith.
3688 (x_term_init): Don't initialize the image cache here; it will be
3689 done in init_frame_faces. Remove ancient "null_pixel" cruft.
3690 (x_delete_display): Free x_dnd_atoms member.
3691
96f9306b
KH
36922008-12-13 Kenichi Handa <handa@m17n.org>
3693
6dec9044
JB
3694 * font.c (font_rescale_ratio): Moved from xfaces.c.
3695 Argument type changed. Handle a font-spec too.
96f9306b 3696 (font_score): Check Vface_font_rescale_alist.
6dec9044 3697 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
3698
3699 * xfaces.c (font_rescale_ratio): Moved to font.c.
3700
8d5b4964
CY
37012008-12-13 Chong Yidong <cyd@stupidchicken.com>
3702
3703 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
3704
e6df5336
JR
37052008-12-12 Jason Rumney <jasonr@gnu.org>
3706
3707 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
3708 Vwindow_system_version to the real w32 major version.
3709
97c6058a
DN
37102008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
3711
3712 * term.c (init_tty): Move setting the terminal name before the
3713 potential user: maybe_fatal.
3714
ec4e88d7
CY
37152008-12-11 Chong Yidong <cyd@stupidchicken.com>
3716
d4835507
JB
3717 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
3718 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 3719
b4233ec9
JR
37202008-12-11 Jason Rumney <jasonr@gnu.org>
3721
8ec71e23 3722 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 3723 SYMBOL_CHARSET. (Bug#547)
8ec71e23 3724
b4233ec9 3725 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 3726 size for surrogates. (Bug#1096, bug#872)
b4233ec9 3727
011a0143
JB
37282008-12-11 Juanma Barranquero <lekktu@gmail.com>
3729
3730 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
3731
3c309f34
JB
37322008-12-11 Juanma Barranquero <lekktu@gmail.com>
3733
3734 * process.c (Fsystem_process_attributes, syms_of_process):
3735 Fix typo in name of Ssystem_process_attributes.
3736 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
3737
fedc6ab5
JB
37382008-12-11 Juanma Barranquero <lekktu@gmail.com>
3739
3740 * syntax.c (Fmodify_syntax_entry): Doc fix.
3741
ba3de0e8
JB
37422008-12-10 Juanma Barranquero <lekktu@gmail.com>
3743
3744 * font.c (Ffont_spec): Move usage to end of docstring.
3745
174f1c74
JR
37462008-12-10 Jason Rumney <jasonr@gnu.org>
3747
3748 * w32font.c (Qcham): New symbol.
3749 (font_supported_scripts): Add cham, and comments for other new
3750 scripts in bitfield from OpenType spec.
9d32f818
JR
3751 (add_font_entity_to_list): Limit unicode-sip fonts to those that
3752 contain characters beyond the bmp.
174f1c74 3753
7b649478
KH
37542008-12-10 Kenichi Handa <handa@m17n.org>
3755
3756 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 3757 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
3758 Qunicode_sip.
3759
2133e2d1
JB
37602008-12-10 Juanma Barranquero <lekktu@gmail.com>
3761
3762 * coding.c (QCdefault_char): Rename from QCdefalut_char.
3763 (Fcoding_system_put): Use QCdefault_char.
3764 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
3765
9af886ee
CY
37662008-12-09 Chong Yidong <cyd@stupidchicken.com>
3767
74d819eb
CY
3768 * xftfont.c (syms_of_xftfont): Fix typo.
3769
4ccfa1c0 3770 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 3771
7c19d3ae
DN
37722008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
3773
3774 * emacs.c (main): Close daemon_pipe on exec.
3775
567826bb
CY
37762008-12-08 Chong Yidong <cyd@stupidchicken.com>
3777
3778 * termchar.h (struct tty): New members termcap_term_buffer and
3779 termcap_strings_buffer.
3780
3781 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 3782 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
3783 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
3784 All callers changed.
3785 (init_tty): Store termcap data and string buffers in new struct
3786 tty members termcap_term_buffer and termcap_strings_buffer.
3787 (delete_tty): Free them.
4ccfa1c0 3788 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 3789
aa96c42b
SZ
37902008-12-07 Seiji Zenitani <zenitani@mac.com>
3791
3792 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 3793 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 3794
b7e1d896
CY
37952008-12-06 Chong Yidong <cyd@stupidchicken.com>
3796
3797 * coding.c (make_conversion_work_buffer): Disable buffer
3798 modification hooks in the work buffer.
3799
b5ec91a5
EZ
38002008-12-05 Eli Zaretskii <eliz@gnu.org>
3801
3802 * process.c (procfs_system_process_attributes): If `nread' has a
3803 negative value, assign zero to it.
3804
a5d2a52b
CY
38052008-12-05 Chong Yidong <cyd@stupidchicken.com>
3806
68c5540b 3807 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 3808
7bf1bb21
KH
38092008-12-05 Kenichi Handa <handa@m17n.org>
3810
3811 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
3812 second character is a combining character.
3813
2fdc7d00
EZ
38142008-12-05 Eli Zaretskii <eliz@gnu.org>
3815
3816 * process.c (procfs_system_process_attributes): Don't use cmd,
3817 cmdsize, and q without initializing them first.
3818
bf6bfba8
JR
38192008-12-04 Jason Rumney <jasonr@gnu.org>
3820
3821 * w32font.c (w32font_draw): Initialize orig_clip before getting
3822 it, and delete it when finished.
3823
a3b1a468
DN
38242008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
3825
3826 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
3827 case when running as a daemon before detaching.
3828
8b8be8eb
JB
38292008-12-03 Juanma Barranquero <lekktu@gmail.com>
3830
805f2638 3831 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 3832
b1bde622
KH
38332008-12-03 Kenichi Handa <handa@m17n.org>
3834
e500c47d
KH
3835 * font.c (font_at): Set `multibyte' at first.
3836
ca516334
KH
3837 * coding.c (decode_coding_charset): Check type of an element of
3838 vector VALIDS.
7bf1bb21 3839 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 3840
4ccfa1c0 3841 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
3842 (font_for_char): Likewise.
3843
1e5ecd37
CY
38442008-12-03 Chong Yidong <cyd@stupidchicken.com>
3845
d5b01609 3846 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
3847 (font_update_lface): Handle fonts with corrupted size specs,
3848 i.e. non-int and non-float.
d5b01609 3849
11e3a6e4 3850 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 3851 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 3852 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 3853
ab06788b
CY
3854 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
3855
1e5ecd37 3856 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 3857 underline_minimum_offset for underline position.
1e5ecd37 3858
63c125ab
DN
38592008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
3860
3861 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
3862
3863 * character.c (c_string_width): Specify the type for LEN.
3864
3a8406e1
KH
38652008-12-03 Kenichi Handa <handa@m17n.org>
3866
4ccfa1c0 3867 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 3868 (decode_coding_utf_8): Likewise.
4ccfa1c0 3869 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 3870 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 3871
651df7d9
CY
38722008-12-02 Chong Yidong <cyd@stupidchicken.com>
3873
3874 * keyboard.c (make_lispy_position): Only use PT if the selected
3875 window is current.
3876
1f625c6c
AS
38772008-12-02 Andreas Schwab <schwab@suse.de>
3878
f7741ce9
AS
3879 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
3880
1f625c6c
AS
3881 * doprnt.c (doprnt1): Fix size of charbuf.
3882
92bc2678
CY
38832008-12-02 Chong Yidong <cyd@stupidchicken.com>
3884
3885 * keyboard.c (timer_check): Revert last change.
3886
93b9e8cc
JB
38872008-12-02 Juanma Barranquero <lekktu@gmail.com>
3888
3889 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
3890
fd7a37d5
JB
38912008-12-01 Juanma Barranquero <lekktu@gmail.com>
3892
3893 * makefile.w32-in: Update dependencies.
3894 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
3895
c115043b
AS
38962008-12-01 Andreas Schwab <schwab@suse.de>
3897
3898 * font.c (register_font_driver): Use xmalloc.
3899 (font_put_frame_data): Likewise.
3900
f5668d2a
CY
39012008-12-01 Chong Yidong <cyd@stupidchicken.com>
3902
860d96be
CY
3903 * xfaces.c (realize_x_face): Make abort condition clearer.
3904
f5668d2a
CY
3905 * gtkutil.c (update_frame_tool_bar): Initialize variable.
3906
379c17e7
CY
39072008-11-30 Chong Yidong <cyd@stupidchicken.com>
3908
3909 * keyboard.c (timer_check): After a timer runs, ensure that the
3910 selected window's buffer is current.
3911
35f36d65
JB
39122008-11-30 Juanma Barranquero <lekktu@gmail.com>
3913
f952c61c
JB
3914 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
3915 It was accidentally restored by the Unicode merge.
3916
35f36d65
JB
3917 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
3918
b23077df
JB
39192008-11-29 Juanma Barranquero <lekktu@gmail.com>
3920
3921 * w32proc.c: Include "coding.h".
3922 (Fw32_short_file_name): Encode filename passed to Windows API.
3923 (Fw32_long_file_name): Encode filename passed to Windows API and
3924 decode back the result. (Bug#1433)
3925
b8ebe9dd
KH
39262008-11-29 Kenichi Handa <handa@m17n.org>
3927
8cc53f96
KH
3928 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
3929 not before accessing it.
3930
b8ebe9dd
KH
3931 * charset.c (Fdefine_charset_internal): After calculating
3932 min_char, max_char, and fastmap, copy the charset structure again.
3933 (encode_char): Fix the previous change.
3934
59bc82c0
SZ
39352008-11-28 Seiji Zenitani <zenitani@mac.com>
3936
3937 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
3938
3939 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
3940
3941 * nsterm.m (x_set_frame_alpha): New function.
3942
32247e3d
EZ
39432008-11-27 Eli Zaretskii <eliz@gnu.org>
3944
3945 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
3946
b003e5ff
JB
39472008-11-27 Juanma Barranquero <lekktu@gmail.com>
3948
3949 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
3950 pointer to check_face_name.
3951
708550f5
KH
39522008-11-27 Kenichi Handa <handa@m17n.org>
3953
3954 * category.h (SET_CATEGORY_SET): Call set_category_set.
3955 (set_category_set): Extern it.
3956
3957 * category.c (hash_get_category_set): New function.
3958 (Fmodify_category_entry): Adjusted for the change of
3959 char_table_ref_and_range. Call hash_get_category_set to get a
3960 category set to store in the table.
3961
3962 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
3963 Funify_charset.
3964
2ae37cf0 3965 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
3966 (DECODE_CHAR): Check if the decoder vector is ready.
3967 (ENCODE_CHAR): Check if the encoder char-table is ready.
3968 (maybe_unify_char): Extern it.
3969
3970 * charset.c (Vchar_unified_charset_table): Delete it.
3971 (inhibit_load_charset_map): New variable.
3972 (temp_charset_work): New variable.
3973 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
3974 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
3975 New macros.
3976 (load_charset_map): Meaning of control_flag changed. If
3977 inhibit_load_charset_map is nonzero, setup a table in
3978 temp_charset_work.
3979 (load_charset): New argument control_flag.
3980 (map_charset_for_dump): New function.
3981 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
3982 map_charset_for_dump.
3983 (Fdefine_charset_internal): If the charset method is MAP, load
3984 mapping tables by calling load_charset.
3985 (Funify_charset): Don't load a mapping table but directly set
3986 Vchar_unify_table.
3987 (maybe_unify_char): New function.
3988 (decode_char): Don't handle the deleted method MAP_DEFERRED.
3989 Handle the case of inhibit_load_charset_map being nonzero.
3990 (encode_char): Don't handle the deleted method MAP_DEFERRED.
3991 Handle the case of inhibit_load_charset_map being nonzero.
3992 (Fclear_charset_maps): Just free temp_charset_work.
3993 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
3994 variable.
3995
3996 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
3997 change of char_table_ref_and_range.
3998 (char_table_ref_and_range): Change the meaning of argument FROM
3999 and TO. Now the caller must provide initial values for *FROM
4000 and *TO.
4001
4002 * fontset.c (fontset_add): Adjusted for the change of
4003 char_table_ref_and_range.
4004 (fontset_get_font_group): Likewise.
4005 (Ffontset_info): Likewise.
4006
4007 * keymap.c (describe_vector): Adjusted for the change of
4008 char_table_ref_and_range. For char-table, put boundary between
4009 non-ASCII and 8-bit characters.
4010
4011 * print.c (print_object): For bool-vector, delete unnecessary
4012 check of ASCII_BYTE_P.
4013
9196133b
JR
40142008-11-26 Jason Rumney <jasonr@gnu.org>
4015
4016 * w32font.c (w32font_open_internal): Don't include external
9acef61c 4017 leading in font height. (Bug#879)
9196133b 4018
9f688acf
GM
40192008-11-26 Glenn Morris <rgm@gnu.org>
4020
4021 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
4022 redefinition with ifdef. (Bug#1383)
4023
90d19aff
AR
40242008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
4025
4026 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
4027
4ccfa1c0 40282008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
4029
4030 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
4031 New EmacsView methods.
4032 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
4033 Fixes bug #1048,1357,1414.
4034
40352008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
4036
4037 Fix bug #1362.
4038 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
4039 is not an indexed color.
4040 * nsterm.m (free_indexed_color): Add argument checking.
4041 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
4042
e7d5ecb3
CY
40432008-11-24 Chong Yidong <cyd@stupidchicken.com>
4044
4045 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
4046 Document confirm-after-completion value for
4047 minibuffer-completion-confirm.
4048
c285743c
JR
40492008-11-24 Jason Rumney <jasonr@gnu.org>
4050
4051 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
4052 warning.
4053
b0857706
JR
40542008-11-23 Jason Rumney <jasonr@gnu.org>
4055
4056 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
4057 restored before returning.
4058
4059 * w32font.c (check_face_name): New function.
4060 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 4061 fonts. (Bug#642)
b0857706 4062
ee50ff07
MR
40632008-11-22 Martin Rudalics <rudalics@gmx.at>
4064
4065 * buffer.c (Fswitch_to_buffer): Reword and mention new option
4066 confirm-nonexistent-file-or-buffer in doc-string.
4067
b8ff72fa
SM
40682008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
4069
4070 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
4071 Fix copy/paste typo. Add checks.
4072
cee53ed4
KH
40732008-11-21 Kenichi Handa <handa@m17n.org>
4074
4075 * coding.c (detect_coding_iso_2022): Reject invalid composition
4076 sequence.
4077 (DECODE_COMPOSITION_START): If the current source is the last
4078 block, and the current composition doesn't end, regard this
4079 sequence as invalid.
4080 (decode_coding_iso_2022): Handle invalid composition sequence.
4081
f6ef1e65
MR
40822008-11-20 Martin Rudalics <rudalics@gmx.at>
4083
4084 * window.c (coordinates_in_window): Don't return
4085 ON_VERTICAL_BORDER for the rightmost position of a mode/header
4086 line when the window is not the rightmost one. (Bug#1372)
4087
e08b1705
MR
40882008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
4089
4090 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
4091
ad98e89f
EZ
40922008-11-15 Eli Zaretskii <eliz@gnu.org>
4093
4094 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
4095 and bright_bg if noninteractive is non-zero.
4096
fb098a4b
CY
40972008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4098
4099 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
4100 x_draw_glyph_string_background.
4101
4102 * w32term.c (x_draw_glyph_string): Likewise.
4103
ce952b6e
CY
41042008-11-15 Chong Yidong <cyd@stupidchicken.com>
4105
4106 * xterm.c (x_draw_glyph_string): Stop drawing the background of
4107 the next glyph string once past the overhang width.
4108
4109 * nsterm.m (ns_draw_glyph_string): Likewise.
4110
4111 * w32term.c (x_draw_glyph_string): Likewise.
4112
26ea7079
CY
41132008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
4114
4115 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
4116 double file close.
4117
1c33c906
MR
41182008-11-14 Martin Rudalics <rudalics@gmx.at>
4119
4120 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
4121 dedicated status of window before attempting to display another
4122 buffer in it.
4123
8fc29035
JB
41242008-11-14 Juanma Barranquero <lekktu@gmail.com>
4125
4126 * msdos.c (Fmsdos_long_file_names):
4127 (syms_of_msdos) <dos-unsupported-char-glyph>:
4128 * dosfns.c (Fint86): Fix typos in docstrings.
4129
55fb4286
EZ
41302008-11-14 Eli Zaretskii <eliz@gnu.org>
4131
4132 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
4133
3fda0315
KY
41342008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
4135
4136 * puresize.h (BASE_PURESIZE): Increase to 1260000.
4137
7e849c17
CY
41382008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
4139
4140 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
4141
4142 * frame.h: Negative alpha means "don't touch".
4143
4144 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
4145
4146 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
4147
b9fd67bd
DN
41482008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
4149
4150 * hftctl.c:
4151 * chpdef.h:
4152 * acldef.h: Remove files used only for systems no longer supported.
4153
4154 * Makefile.in: Fix .o alphabetical ordering.
4155 (hftctl.o): Remove dependency, file removed.
4156 (keymap.o, print.o): Depend on charset.h.
4157
d5998e03
KH
41582008-11-10 Kenichi Handa <handa@m17n.org>
4159
2ae37cf0 4160 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 4161
be70e183
CY
41622008-11-08 Chong Yidong <cyd@stupidchicken.com>
4163
4164 * dired.c (file_name_completion): If completion_ignore_case is
4165 enabled, ignore case when checking completion-regexp-list.
4166
7cf94eac
EZ
41672008-11-08 Eli Zaretskii <eliz@gnu.org>
4168
4169 * vm-limit.c (get_lim_data): Fix last change.
4170
ee107a89
KH
41712008-11-08 Kenichi Handa <handa@m17n.org>
4172
4173 * character.c (Fget_byte): New function.
4174 (syms_of_character): Defsubr Fget_byte.
4175
5fd15622
CY
41762008-11-07 Chong Yidong <cyd@stupidchicken.com>
4177
4178 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
4179 cursor position is valid after scrolling.
4180
13d62fad
JB
41812008-11-06 Juanma Barranquero <lekktu@gmail.com>
4182
4183 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
4184
a1dd2936
GM
41852008-11-06 Glenn Morris <rgm@gnu.org>
4186
4187 * xterm.c (handle_one_xevent): Don't let popup menus cause
4188 mouse-autoselect-window related window switching. (Bug#1261)
4189
860cd236
CY
41902008-11-04 David Smith <davidsmith@acm.org> (tiny change)
4191
4192 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
4193
653a3150
AS
41942008-11-04 Andreas Schwab <schwab@suse.de>
4195
4196 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
4197
870f5cac
CY
41982008-11-03 Chong Yidong <cyd@stupidchicken.com>
4199
4200 * xfns.c (Fx_wm_set_size_hint): New function.
4201
1e02f3cb
MR
42022008-11-03 Martin Rudalics <rudalics@gmx.at>
4203
4204 * textprop.c (Fprevious_single_char_property_change): Return 0
4205 when there's no change in a string. (Bug#1301)
4206
e630dfc6
MR
42072008-11-02 Martin Rudalics <rudalics@gmx.at>
4208
4209 * frame.c (do_switch_frame): New argument NORECORD passed to
4210 Fselect_window.
4211 (Fselect_frame): New argument NORECORD passed to
4212 do_switch_frame.
4213 (Fset_frame_selected_window): New argument NORECORD passed to
4214 Fselect_frame.
4215 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
4216 in call of do_switch_frame.
4217 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
4218 Handle NORECORD argument in call of Fselect_frame.
4219 * lisp.h (do_switch_frame, Fselect_frame)
4220 (Fset_frame_selected_window): Adjust declarations.
4221 * window.c (select_frame_norecord): New function.
4222 (run_window_configuration_change_hook): Use it and call
4223 Fselect_frame with NORECORD set.
4224 (Fselect_window): Pass NORECORD to Fselect_frame.
4225 (Fset_window_configuration): Handle NORECORD argument in call of
4226 do_switch_frame.
4227 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
4228 Fset_frame_selected_window.
4229 * keyboard.c (command_loop_1): Handle NORECORD in call of
4230 Fselect_frame (currently ifdefd).
4231
9020b223
GM
42322008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
4233
4234 * emacs.c (USAGE2): Untabify.
4235
793ffee8
SM
42362008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
4237
4238 * composite.c (fill_gstring_header): Fix copy/paste typo.
4239
ab6d1131
MR
42402008-10-31 Martin Rudalics <rudalics@gmx.at>
4241
4242 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
4243 (Fother_window): Rename argument and rewrite doc-string.
4244 (select_window_norecord): Fix return value. (Bug#1276)
4245
601a9cf1
JB
42462008-10-30 Juanma Barranquero <lekktu@gmail.com>
4247
4248 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
4249 new frames overriding foreground for tooltips. Based on similar patch
4250 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
4251
813b0652
CY
42522008-10-29 Chong Yidong <cyd@stupidchicken.com>
4253
4254 * emacs.c (Fdaemon_initialized): Initialize nfd.
4255
4414f58f
MR
42562008-10-29 Martin Rudalics <rudalics@gmx.at>
4257
4258 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
4259 (Fwindow_text_height): Clarify doc-strings.
4260 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
4261 doc-string of window-scroll-functions.
4262
ecdcaa09
RS
42632008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
4264
4265 * category.c (syms_of_category): Fix typo in docstring.
4266
23fe745a
JB
42672008-10-28 Juanma Barranquero <lekktu@gmail.com>
4268
4269 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
4270 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
4271 Fix typos in docstrings.
4272
ff808935
DN
42732008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
4274
4275 * emacs.c (daemon_pipe): Make non-static.
4276 (IS_DAEMON): Move definition ...
4277 * lisp.h (IS_DAEMON): ... here.
4278 (daemon_pipe): Declare.
4279 (is_daemon): Remove.
4280 * dispnew.c (init_display): Use IS_DAEMON.
4281
fc012771
SM
42822008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
4283
4284 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
4285 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
4286
4287 * emacs.c (is_daemon): Remove.
4288 (main): Don't set is_daemon.
4289 (IS_DAEMON): New macro.
4290 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 4291 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
4292 parent exits.
4293 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
4294
d8bdbe6f
CY
42952008-10-27 Chong Yidong <cyd@stupidchicken.com>
4296
d1a072bf
CY
4297 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
4298 over-sized glyph, draw it with the default glyph width.
4299
e2e325aa
CY
4300 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
4301 glyph, draw it with the default glyph width.
4302
4303 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
4304 glyph, draw it with the default glyph width.
4305
d8bdbe6f
CY
4306 * xdisp.c (try_scrolling): When computing the distance from the
4307 scroll margin to PT, try moving some distance past the window
4308 bottom before giving up.
4309
7bfac547
MR
43102008-10-27 Martin Rudalics <rudalics@gmx.at>
4311
4312 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
4313 (Fset_window_buffer): Explain in doc-string that a window can be
4314 "strongly" dedicated to its buffer.
4315
4ff029f6
DN
43162008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
4317
4318 * emacs.c (daemon_name): New variable.
4319 (main): Deal with --daemon=SERVER_NAME.
4320 (Fdaemonp): Return a name if one was passed to --daemon.
4321
5790ef40
DN
43222008-10-26 Romain Francoise <romain@orebokech.com>
4323
f9bd0df9 4324 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
4325 (main): Create a pipe before forking, make the parent exit only after
4326 the child has closed its end of the pipe. Move closing the
4327 descriptors ...
4328 (Fdaemon_initialized): ... here. New function.
4329
f5385255
SM
43302008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
4331
4d632321
SM
4332 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
4333 the previous unoptimized table.
4334
f5385255
SM
4335 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
4336 the distinction between non-nil and non-t value of `dedicated'.
4337
6c56a0f3
CY
43382008-10-25 Chong Yidong <cyd@stupidchicken.com>
4339
4340 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 4341 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 4342
fec89261
MR
43432008-10-25 Martin Rudalics <rudalics@gmx.at>
4344
4345 * window.c (Fget_buffer_window, Fdelete_windows_on)
4346 (Freplace_buffer_in_windows): Make buffer argument optional and
4347 rename to buffer_or_name.
4348
34fcddd0
CY
43492008-10-24 Chong Yidong <cyd@stupidchicken.com>
4350
f5385255
SM
4351 * xdisp.c (handle_single_display_spec, handle_display_prop):
4352 Undo 2005-05-16 change.
34fcddd0
CY
4353 (handle_stop): Pop iterator if it's loaded with an empty string.
4354 (get_overlay_strings_1): Don't save iterator if it's loaded with
4355 an empty string (bug#1201).
4356
064766f2
KH
43572008-10-24 Kenichi Handa <handa@m17n.org>
4358
4359 * ftfont.c (ftfont_otf_features): Fix previous change.
4360 (ftfont_otf_capability): Check FeatureList.FeatureCount before
4361 calling ftfont_otf_features.
4362
f9bd0df9 43632008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
4364
4365 * font.c (font_match_p): Fix for the case that a vector of
4366 characters is in script-representative-chars.
4367
1dae9197
MA
43682008-10-24 Michael Albinus <michael.albinus@gmx.de>
4369
4370 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 4371 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
4372 (xd_read_queued_messages): Catch Qdbus_error from the macros.
4373 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
4374 macro. (Bug#1186).
4375
f9bd0df9 43762008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
4377
4378 * s/sol2-10.h: New file.
4379
878a4584
JB
43802008-10-23 Juanma Barranquero <lekktu@gmail.com>
4381
4382 * xdisp.c (fill_glyph_string): Fix typo in source (though the
4383 poor beast has survived 9+ years and the jump from xterm.c!).
4384
cd265ca6
MR
43852008-10-23 Martin Rudalics <rudalics@gmx.at>
4386
4387 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
4388 Reword doc-string.
f5385255 4389 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 4390
472a4dc9
JB
43912008-10-23 Juanma Barranquero <lekktu@gmail.com>
4392
4393 * character.c (syms_of_character) <script-representative-chars>:
4394 <unicode-category-table>: Doc fixes.
4395
159bd5a2
NF
43962008-10-23 Noah Friedman <friedman@splode.com>
4397
4398 * coding.c (make_conversion_work_buffer): Check that
4399 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
4400 Fget_buffer_create.
4401
49f9c344
KH
44022008-10-23 Kenichi Handa <handa@m17n.org>
4403
4404 * font.c (font_add_log): Check the values of extra properties.
4405
12bb3111
MR
44062008-10-22 Martin Rudalics <rudalics@gmx.at>
4407
4408 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
4409 Reword doc-string.
4410 (Fset_window_parameter): Use NILP.
4411 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 4412 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 4413
bbeb4e99
JB
44142008-10-22 Juanma Barranquero <lekktu@gmail.com>
4415
4416 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
4417
44182008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
4419
4420 * nsfns.m (ns_appkit_version): New function.
4421 (x-server-version): Use it.
4422 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
4423 (x-server-vendor): Don't check_ns().
4424
4425 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
4426
a9b555d3
JB
44272008-10-22 Juanma Barranquero <lekktu@gmail.com>
4428
4429 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
4430 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
4431
4626499f
KH
44322008-10-22 Kenichi Handa <handa@m17n.org>
4433
e3681952
KH
4434 * syntax.c (scan_words): Call word_boundary_p instead of comparing
4435 scripts.
4436
4626499f
KH
4437 * category.c (word_boundary_p): Check scripts instead of charset.
4438 Handle nil value in word-separating-categories and
4439 word-combining-categories.
4440 (syms_of_category): Fix docstrings of word-separating-categories
4441 and word-combining-categories.
4442
1560f91a
EZ
44432008-10-21 Eli Zaretskii <eliz@gnu.org>
4444
4445 * coding.c (Fencode_coding_region, Fdecode_coding_region)
4446 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
4447
f4668441
MR
44482008-10-21 Martin Rudalics <rudalics@gmx.at>
4449
4450 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
4451 Rename arg "buffer" to "buffer_or_name".
4452 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
4453 it optional.
4454 (no_switch_window): Remove since the return value is not used.
a9b555d3 4455 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
4456 Consider window as dedicated when Fwindow_dedicated_p returns a
4457 non-nil value.
4458 * lisp.h: Remove prototype for no_switch_window.
4459
fd75ddb2
JD
44602008-10-21 Jan Djärv <jan.h.d@swipnet.se>
4461
4462 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 4463 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 4464
07295713
KH
44652008-10-21 Kenichi Handa <handa@m17n.org>
4466
4467 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
4468 check Vlatin_extra_code_table.
4469
712adc82
EZ
44702008-10-20 Eli Zaretskii <eliz@gnu.org>
4471
4472 * fileio.c (Fset_file_modes): Doc fix.
4473
f549eb0b
MA
44742008-10-19 Michael Albinus <michael.albinus@gmx.de>
4475
4476 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
4477 in arrays.
4478
aac0c6e3
MR
44792008-10-19 Martin Rudalics <rudalics@gmx.at>
4480
4481 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
4482 Mention kill-buffer in doc-string.
4483 (Fset_window_buffer): Reinsert tem check removed in last commit.
4484 (Fenlarge_window, Fshrink_window): Have argument names and
4485 doc-string follow Elisp manual more closely.
4486
44872008-10-18 Eli Zaretskii <eliz@gnu.org>
4488
4489 * fileio.c (Fset_file_modes): Doc fix.
4490
44912008-10-18 Martin Rudalics <rudalics@gmx.at>
4492
4493 * window.c (Fwindow_width, Fset_window_start)
4494 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
4495 (Fdelete_windows_on, Freplace_buffer_in_windows):
4496 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
4497 (Fwindow_dedicated_p): Make window argument optional.
4498 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
4499 (Fset_window_buffer): Respect any non-nil dedicated value for
4500 window. Rename "buffer" argument to "buffer_or_name".
4501
45022008-10-18 Ulrich Mueller <ulm@gentoo.org>
4503
4504 * m/sh3.h: New file, machine description for SuperH.
4505
45062008-10-17 Martin Rudalics <rudalics@gmx.at>
4507
4508 * window.c (Fsplit_window): Rename arg horflag to horizontal.
4509
45102008-10-17 Kenichi Handa <handa@m17n.org>
4511
4512 * ftfont.c (ftfont_otf_features): Fix indexing
4513 gsub_gpos->FeatureList.Feature. Check the validity of indices.
4514
45152008-10-16 Magnus Henoch <mange@freemail.hu>
4516
4517 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
4518 (Fdbus_call_method_asynchronously): Ditto.
4519 This change makes C-h f display the argument list.
4520
45212008-10-16 Chong Yidong <cyd@stupidchicken.com>
4522
4523 * fileio.c (Fexpand_file_name): Doc fix.
4524
4525 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
4526 of :foreground and :background equivalent to unspecified (20.x
4527 compatibility).
4528
45292008-10-15 Eli Zaretskii <eliz@gnu.org>
4530
4531 * buffer.c (syms_of_buffer): Doc fix.
4532
45332008-10-14 Kenichi Handa <handa@m17n.org>
4534
4535 * font.c (font_clear_prop): When clearing font width, clear the
4536 average width field too.
4537
45382008-10-12 Andreas Schwab <schwab@suse.de>
4539
4540 * ftfont.c (ftfont_shape_by_flt): Make static.
4541 * ftfont.h (ftfont_shape_by_flt): Don't declare.
4542
4543 * font.c: Don't include <m17n-flt.h>.
4544
45452008-10-10 Eli Zaretskii <eliz@gnu.org>
4546
4547 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
4548
45492008-10-09 Eli Zaretskii <eliz@gnu.org>
4550
4551 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
4552 away code.
4553
45542008-10-09 Chong Yidong <cyd@stupidchicken.com>
4555
4556 * dispnew.c (update_text_area): Avoid looping due to large glyph
4557 overhangs (bug#1070).
4558
45592008-10-09 Kenichi Handa <handa@m17n.org>
4560
4561 * fontset.c (face_for_char): If face->fontset is negative, just
4562 return ascii_face.
4563
f5385255
SM
4564 * font.c (font_delete_unmatched): Fix previous change.
4565 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
4566
45672008-10-09 Martin Rudalics <rudalics@gmx.at>
4568
4569 * frame.c (Fraise_frame): On text-only terminals select frame in
4570 order to make it visible. (Bug#1061)
4571
45722008-10-08 Chong Yidong <cyd@stupidchicken.com>
4573
4574 * fontset.c (fontset_find_font): Check frame validity.
4575
45762008-10-07 Chong Yidong <cyd@stupidchicken.com>
4577
a9b555d3 4578 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
4579 (xg_display_close): Allow Emacs to close all displays (bug#985).
4580
45812008-10-06 Andreas Schwab <schwab@suse.de>
4582
f5385255 4583 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
4584
45852008-10-06 Chong Yidong <cyd@stupidchicken.com>
4586
f5385255 4587 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 4588
a9b555d3 4589 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
4590
4591 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
4592 during initialization.
4593
45942008-10-04 Eli Zaretskii <eliz@gnu.org>
4595
4596 * xdisp.c (redisplay_internal): If frame switched, redisplay the
4597 whole thing on MSDOS frames as well as on a TTY.
4598
4599 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
4600 well as for TTY.
4601 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
4602 well as on a TTY.
4603
4604 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
4605 as well as for TTY.
4606
4607 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
4608
4609 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
4610 MSDOS frames as well.
4611
46122008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
4613
4614 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
4615 correct arguments.
b71ac3dd 4616 * menu.c (find_and_return_menu_selection): Add cast.
aac0c6e3
MR
4617
46182008-10-03 Glenn Morris <rgm@gnu.org>
4619
4620 * emacs.c (USAGE1): Add --daemon.
4621
46222008-10-02 Eli Zaretskii <eliz@gnu.org>
4623
4624 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
4625 100, so it's in percents as advertised.
4626
46272008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
4628
4629 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
4630 (ns_output.current_cursor, ns_output.desired_cursor)
4631 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
4632 (FRAME_NEW_CURSOR_COLOR): Remove.
4633
4634 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 4635 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
4636 enumeration (HOLLOW_BOX_CURSOR, etc.).
4637
4638 * nsterm.m (ns_frame_rehighlight): Remove commented code.
4639 (draw_window_cursor): Simplify code.
f5385255
SM
4640 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
4641 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 4642 updates manually.
a9b555d3
JB
4643 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
4644 Use core Emacs cursor types.
aac0c6e3 4645
b8ff72fa 4646 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
4647
46482008-10-02 Martin Rudalics <rudalics@gmx.at>
4649
4650 * process.c (Faccept_process_output): Fix doc-string.
4651
46522008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
4653
4654 * gmalloc.c (__sbrk): Also define for uClibc.
4655
4656 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
4657 for uClibc.
4658
46592008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4660
4661 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
4662 styles.
4663 (nsfont_open): Reenable the cache.
4664
46652008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4666
4667 * font.c (font_matching_entity): Reflect ATTRS in font selection.
4668 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
4669
46702008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
4671
4672 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
4673 a suspended terminal.
4674
46752008-09-30 Michael Albinus <michael.albinus@gmx.de>
4676
4677 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
4678
46792008-09-30 Eli Zaretskii <eliz@gnu.org>
4680
4681 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
4682
46832008-09-30 Chong Yidong <cyd@stupidchicken.com>
4684
4685 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
4686 in a continued line coincides with a line beginning.
4687
46882008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
4689
4690 * nsfont.m (nsfont_trait_distance): Fix bug.
4691 (nsfont_list): Return a list rather than a vector (syncs with Handa
4692 changes of 2008-05-14).
4693 (nsfont_open): Improve logging.
4694
46952008-09-29 Andreas Schwab <schwab@suse.de>
4696
4697 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
4698
46992008-09-28 Martin Rudalics <rudalics@gmx.at>
4700
4701 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
4702 name as char-resolve-modifiers.
4703 Reported by: Markus Triska <markus.triska@gmx.at>
4704
47052008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
4706
4707 * dispnew.c (init_display): Return earlier when running as a daemon.
4708
47092008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4710
4711 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
4712
47132008-09-27 Eli Zaretskii <eliz@gnu.org>
4714
4715 * composite.c (Fcomposition_get_gstring)
4716 (Fcompose_region_internal, Fcompose_string_internal)
4717 (Ffind_composition_internal): Doc fix.
4718 (syms_of_composite) <compose-chars-after-function>: Doc fix.
4719 (syms_of_composite) <auto-composition-function>: Doc fix.
4720 (syms_of_composite) <composition-function-table>: Doc fix.
4721
47222008-09-25 Chong Yidong <cyd@stupidchicken.com>
4723
4724 * search.c (wordify): New argument for lax word-ends.
4725 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
4726
47272008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
4728
4729 * lisp.h (is_daemon): Declare.
4730 * dispnew.c (init_display): Do not try to initialize the terminal
4731 when running as a daemon.
4732
47332008-09-22 Chong Yidong <cyd@stupidchicken.com>
4734
4735 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
4736 x_display_pixel_height.
4737
47382008-09-22 Martin Rudalics <rudalics@gmx.at>
4739
4740 * undo.c (record_point): Don't call Fundo_boundary for first
4741 change. (Bug#731)
4742
47432008-09-22 Juanma Barranquero <lekktu@gmail.com>
4744
4745 * emacs.c (Fdaemonp): Doc fix.
4746
47472008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
4748
4749 * emacs.c (main): Place #ifdef in the proper place.
4750
47512008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
4752
4753 * emacs.c (standard_args): Add --daemon.
4754 (main): Disconnect from the terminal when --daemon is passed.
4755 (is_daemon): New variable.
4756 (Fdaemonp): New function.
4757 (syms_of_emacs): Defsubr it.
4758
47592008-09-20 Chong Yidong <cyd@stupidchicken.com>
4760
4761 * xdisp.c (get_next_display_element): Handle string display
4762 correctly when checking for the end of a box run.
4763
47642008-09-20 Glenn Morris <rgm@gnu.org>
4765
4766 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
4767 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
4768 (Frename_file): Avoid copying to trash if a rename involves
4769 a delete. (Bug#964).
4770
47712008-09-20 Eli Zaretskii <eliz@gnu.org>
4772
4773 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
4774 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
4775 frames as well as termcap frames.
4776 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
4777 get_named_tty.
4778
47792008-09-19 Eli Zaretskii <eliz@gnu.org>
4780
4781 * process.c (procfs_system_process_attributes): Fix cmdline in
4782 case /proc/PID/cmdline is empty.
4783
4784 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
4785 x_display_pixel_height.
4786
47872008-09-19 Juanma Barranquero <lekktu@gmail.com>
4788
4789 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
4790
4791 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
4792 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
4793
47942008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
4795
4796 * dispextern.h (struct it): Move line_wrap away from the middle of
4797 bitfields. Move voffset in struct iterator_stack_entry after the
4798 bitfields. Move tab_width near after another short.
4799
48002008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
4801
4802 * frame.h (struct frame): Move alpha from the middle of bitfields.
4803
4804 * window.h (struct window): Move frozen_window_start_p after the
4805 rest of the bitfields to reduce padding.
4806
48072008-09-18 Chong Yidong <cyd@stupidchicken.com>
4808
4809 * xterm.h (x_display_info): Remove `height' and `width' members.
4810
4811 * nsterm.h (ns_display_info): Remove `height' and `width' members.
4812
4813 * w32term.h (w32_display_info): Remove `height', `width',
4814 `height_in', and `width_in' members.
4815
b8ff72fa
SM
4816 * xterm.c (x_display_pixel_height, x_display_pixel_width):
4817 New functions.
aac0c6e3
MR
4818 (x_calc_absolute_position): Use them.
4819 (x_term_init): Omit removed `height' and `width' members.
4820
b8ff72fa
SM
4821 * w32term.c (x_display_pixel_height, x_display_pixel_width):
4822 New functions.
aac0c6e3
MR
4823 (w32_read_socket, x_calc_absolute_position): Use them.
4824 (w32_initialize_display_info, w32_term_init): Omit removed members
4825 of w32_display_info.
4826
b8ff72fa
SM
4827 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
4828 New functions.
4829 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 4830
b8ff72fa
SM
4831 * xterm.c (x_display_pixel_height, x_display_pixel_width):
4832 New functions.
aac0c6e3
MR
4833 (x_calc_absolute_position): Use them.
4834 (x_term_init): Omit removed `height' and `width' members.
4835
4836 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
4837 (compute_tip_xy):
4838 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
4839 * xmenu.c (menu_position_func): Use x_display_pixel_height and
4840 x_display_pixel_width.
4841
48422008-09-18 Kenichi Handa <handa@m17n.org>
4843
4844 * composite.c (fill_gstring_header): Don't check FROM and TO here.
4845 (composition_compute_stop_pos): Fix handling of static composition.
4846 (Fcomposition_get_gstring): Check FROM and TO at first.
4847
48482008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
4849
46e722a9 4850 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
aac0c6e3
MR
4851 mixup (YAILOM).
4852
48532008-09-17 Chong Yidong <cyd@stupidchicken.com>
4854
4855 * indent.c (Fvertical_motion): Use position reported by iterator
4856 instead of PT for determining screen motion (bug#943).
4857
48582008-09-17 Romain Francoise <romain@orebokech.com>
4859
4860 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
4861
48622008-09-17 Kenichi Handa <handa@m17n.org>
4863
4864 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
4865
4866 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
4867 if necessary.
4868
48692008-09-16 Kenichi Handa <handa@m17n.org>
4870
4871 * coding.c (make_conversion_work_buffer): Avoid calling
4872 Fget_buffer_create if it is not necessary.
4873
48742008-09-15 Martin Rudalics <rudalics@gmx.at>
4875
4876 * window.c (Fselect_window): Don't update window_select_count and
4877 use_time when norecord is not nil.
4878
48792008-09-14 Kenichi Handa <handa@m17n.org>
4880
4881 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
4882 specpdl_ptr.
4883
48842008-09-12 Kenichi Handa <handa@m17n.org>
4885
4886 * indent.c (scan_for_column): Don't handle automatic composition
4887 if the current buffer is not associated with a window.
4888
4889 * composite.c (composition_reseat_it): If the current buffer is
4890 not associated with a window, ignore the automatic composition.
4891 (find_automatic_composition): Likewise.
4892
48932008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
4894
4895 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
4896 (Fgpm_mouse_stop): Use it.
4897 * termhooks.h (close_gpm): Declare.
4898 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
4899 connection if Gpm_GetEvent fails.
4900
4901 * window.c (set_window_buffer): Always preserve current-buffer.
4902
49032008-09-12 Glenn Morris <rgm@gnu.org>
4904
4905 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
4906
49072008-09-11 Glenn Morris <rgm@gnu.org>
4908
4909 * charset.c (charset-map-path): Doc fix.
4910
49112008-09-10 Kenichi Handa <handa@m17n.org>
4912
4913 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
4914
4915 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
4916 compose a grapheme cluster with the preceding base glyph.
4917
4918 * composite.c (composition_compute_stop_pos): Fix previous change.
4919 Reset cmp_it->id to -1 at first.
4920
49212008-09-10 Glenn Morris <rgm@gnu.org>
4922
4923 * Makefile.in (character.o, chartab.o): Fix config.h typo.
4924
49252008-09-09 Chong Yidong <cyd@stupidchicken.com>
4926
4927 * keyboard.c (read_key_sequence): Reapply translation maps when
4928 switching keyboards.
4929
49302008-09-09 Kenichi Handa <handa@m17n.org>
4931
4932 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
4933 characters.
4934
4935 * composite.c (FORWARD_CHAR): Fix calculation
4936 of (POSITION).pos_byte.
4937 (composition_compute_stop_pos): Limit the search of composition to
4938 at most 500 characters ahead. If we reach the limit or find a
4939 newline, set cmp_it->ch to -2 and return 0.
4940 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
4941
49422008-09-08 Kenichi Handa <handa@m17n.org>
4943
4944 * indent.c (Fvertical_motion): Be sure to set
4945 it_overshoot_expected if it.cmp_it.id is non-negative.
4946
49472008-09-07 Andreas Schwab <schwab@suse.de>
4948
4949 * callproc.c (Fcall_process): Don't hold references to string data
4950 across garbage collection. Move initialisation of new_argv down
4951 to avoid compiler bug.
4952
49532008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
4954
4955 * process.c (Fsystem_process_attributes): Doc fix.
4956
49572008-09-07 Chong Yidong <cyd@stupidchicken.com>
4958
4959 * callproc.c (Fcall_process): Canonicalize current directory name.
4960
4961 * xdisp.c (move_it_to): When moving by vpos, ensure that the
4962 iterator advances to the next line if the current line ends in a
4963 continued tab.
4964
49652008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
4966
4967 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
4968 member to point to cmp_from.
4969
4970 * xdisp.c: Doc fix for references to gidx data member.
4971
49722008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
4973
4974 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
4975
49762008-09-07 Kenichi Handa <handa@m17n.org>
4977
4978 * composite.c (FORWARD_CHAR): Check STOP after
4979 incrementing (POSITION).pos.
4980
49812008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
4982
4983 * process.c (Fsystem_process_attributes): Doc fix.
4984
49852008-09-06 Chong Yidong <cyd@stupidchicken.com>
4986
4987 * keyboard.c (Ftop_level): Doc fix.
4988
49892008-09-06 Eli Zaretskii <eliz@gnu.org>
4990
4991 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
4992 minibuffer, don't let lower part of menu invade the echo area.
4993
4994 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
4995 "char *q" to access menu text and advance through it. Revert the
4996 change that displayed ">" instead of ASCII character 0x10.
4997
49982008-09-05 Eli Zaretskii <eliz@gnu.org>
4999
5000 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
5001 toggle boxes and radio buttons on MS-DOS as well.
5002
50032008-09-05 Kenichi Handa <handa@m17n.org>
5004
5005 * composite.c (autocmp_chars): Check lookback count.
5006 (composition_compute_stop_pos): Set cmp_it->lookback.
5007 (composition_reseat_it): Check lookback count.
5008 (struct position_record): New struct.
5009 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
5010 (find_automatic_composition): New function.
5011 (composition_adjust_point): Use find_automatic_composition.
5012
5013 * dispextern.h (struct composition_it): New member lookback.
5014
50152008-09-02 Chong Yidong <cyd@stupidchicken.com>
5016
5017 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
5018 if moving by a single line.
5019
50202008-09-02 Andreas Schwab <schwab@suse.de>
5021
5022 * xterm.c (x_delete_display): Fix merge error.
5023
5024 * fileio.c (Fexpand_file_name): Remove unused variables.
5025
50262008-09-02 Eli Zaretskii <eliz@gnu.org>
5027
5028 * fileio.c (Fexpand_file_name): Copy argument `name' into local
5029 storage on all platforms, not just on DOS_NT.
5030
50312008-09-02 Jason Rumney <jasonr@gnu.org>
5032
b8ff72fa
SM
5033 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
5034 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
5035
50362008-09-01 Chong Yidong <cyd@stupidchicken.com>
5037
5038 * xfaces.c (Finternal_set_alternative_font_family_alist)
5039 (Finternal_set_alternative_font_registry_alist): Properly copy
5040 entire alist structure.
5041
50422008-09-01 Kenichi Handa <handa@m17n.org>
5043
d66c0241 5044 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 5045 representative chars of the script is a vector.
d66c0241
JB
5046 (ftfont_list): Handle the case where the representative chars of
5047 the script is a vector.
aac0c6e3
MR
5048
5049 * character.c (syms_of_character): Docstring of
5050 script-representative-chars fixed.
5051
50522008-08-31 Eli Zaretskii <eliz@gnu.org>
5053
5054 * msdos.c (BUILD_CHAR_GLYPH): New macro.
5055 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
5056 the menu. Allocate larger buffer for `text', to account for
5057 possible ^C characters.
5058
50592008-08-31 Martin Rudalics <rudalics@gmx.at>
5060
5061 * xdisp.c (prepare_menu_bars): Don't call
5062 Vwindow_size_change_functions with arg Qt.
5063
50642008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
5065
5066 * font.h (font_range):
5067 * fileio.c (report_file_error):
46e722a9
SM
5068 * composite.c (composition_update_it): Yet another int/Lisp_Object
5069 mixup (YAILOM).
aac0c6e3
MR
5070
50712008-08-30 Glenn Morris <rgm@gnu.org>
5072
5073 * data.c (Fmake_variable_frame_local): Doc fix.
5074
5075 * frame.c (Fmodify_frame_parameters): Doc fix.
5076
50772008-08-30 Eli Zaretskii <eliz@gnu.org>
5078
5079 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
5080 needed by GetTokenInformation.
5081 (w32_system_process_attributes): Check return values of all system
5082 APIs.
5083
5084 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
5085 only when the state changes.
5086 (IT_update_begin, IT_update_end): Add termscript trace.
5087
5088 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
5089 clipboard is unavailable. Set dst to NULL if it doesn't point to
5090 malloc'ed data.
5091 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
5092 passing random values to xfree.
5093
5094 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 5095 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
5096
50972008-08-29 Jason Rumney <jasonr@gnu.org>
5098
5099 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
5100
51012008-08-29 Eli Zaretskii <eliz@gnu.org>
5102
5103 * composite.c (fill_gstring_body): Avoid compiler warnings.
5104
5105 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
5106 LGLYPH_SET_CODE to avoid compiler warnings.
5107
2ae37cf0 5108 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
5109
5110 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
5111
5112 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
5113 LGLYPH_SET_CODE.
5114
51152008-08-29 Kenichi Handa <handa@m17n.org>
5116
5117 * fileio.c (report_file_error): Don't downcase the first character
5118 of errstring if it is still unibyte.
5119
51202008-08-29 Kenichi Handa <handa@m17n.org>
5121
5122 These changes are to re-implement the automatic composition so
5123 that it doesn't use text properties.
5124
5125 * Makefile.in (ftfont.o): Depend on composite.h.
5126 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
5127
5128 * character.h (Vunicode_category_table): Extern it.
5129
5130 * character.c (Vunicode_category_table): New variable.
5131 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
5132
5133 * chartab.c (optimize_sub_char_table): Perform more greedy
5134 optimization.
5135
b8ff72fa
SM
5136 * composite.h (enum composition_method):
5137 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
5138 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
5139 (Vcomposition_function_table): Extern it.
5140 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
5141 (composition_gstring_put_cache, composition_gstring_from_id)
5142 (composition_gstring_p, composition_gstring_width)
5143 (composition_compute_stop_pos, composition_reseat_it)
5144 (composition_update_it, composition_adjust_point): Extern them.
5145 (Fcomposition_get_gstring): EXFUN it.
5146
d66c0241 5147 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
5148 (Vcomposition_function_table)
5149 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
5150 (gstring_hash_table, gstring_work, gstring_work_headers):
5151 New variables.
aac0c6e3
MR
5152 (gstring_lookup_cache, composition_gstring_put_cache)
5153 (composition_gstring_from_id, composition_gstring_p)
5154 (composition_gstring_width, fill_gstring_header)
5155 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
5156 (composition_reseat_it, composition_update_it)
b8ff72fa 5157 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
5158 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
5159 and gstring_work_headers. DEFVAR_LISP composition-function-table.
5160 Defsubr compostion_get_gstring.
5161
5162 * dispextern.h (struct glyph): New union u.cmp. Delete the member
5163 cmp_id.
5164 (struct glyph_string): Delete the member gidx. New members
5165 cmp_id, cmp_from, and cmp_to.
5166 (enum it_method): Delete GET_FROM_COMPOSITION.
5167 (struct composition_it): New struct.
5168 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
5169 Delete c, len, cmp_id, cmp_len in u.comp.
5170
5171 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 5172 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 5173 (enum lglyph_indices): Likewise.
b8ff72fa 5174 (font_range): Adjust extern.
aac0c6e3
MR
5175 (font_fill_lglyph_metrics): Extern it.
5176
5177 * font.c (QCf): New variable.
5178 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
5179 (font_prepare_composition): Delete this function.
5180 (font_range): Type and arguments changed.
5181 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
5182 (font_fill_lglyph_metrics): New function.
b8ff72fa 5183 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 5184 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
5185 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
5186 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
5187
5188 * fontset.h (font_for_char): Extern it.
5189
5190 * fontset.c (font_for_char): New function.
5191
5192 * ftfont.c: Include composite.h.
5193 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 5194 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
5195
5196 * indent.c: Include composite.h and dispextern.h.
5197 (check_composition): Delete this function.
5198 (scan_for_column): Handle composition by
5199 composition_compute_stop_pos, composition_reseat_it, and
5200 composition_update_it.
5201 (compute_motion): Likewise.
5202 (Fvertical_motion): Fix checking of composition.
5203
5204 * keyboard.c (adjust_point_for_property): Check composition by
5205 composition_adjust_point.
5206
b8ff72fa 5207 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
5208 struct glyph_string.
5209
b8ff72fa
SM
5210 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
5211 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
5212 struct glyph.
5213 (produce_composite_glyph): Likewise.
5214
b8ff72fa
SM
5215 * w32term.c (x_draw_composite_glyph_string_foreground):
5216 Adjust for the change of struct glyph_string.
aac0c6e3
MR
5217 (x_draw_glyph_string): Likewise.
5218
5219 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
5220 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
5221
5222 * xdisp.c: Include font.h.
5223 (it_props): Delete the entry for Qauto_composed.
5224 (init_iterator): Initialize it->cmp_it.id to -1.
5225 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 5226 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
5227 (handle_auto_composed_prop): Delete it.
5228 (handle_composition_prop): Handle only static composition.
5229 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
5230 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 5231 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
5232 (pop_it): Likewise.
5233 (get_next_element): Delete next_element_from_composition.
5234 (CHAR_COMPOSED_P): New macro.
5235 (get_next_display_element): For automatic composition, get a face
5236 from the font in the glyph-string.
5237 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 5238 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
5239 (next_element_from_string): Check if the character at the current
5240 position is composed by CHAR_COMPOSED_P.
5241 (next_element_from_buffer): Likewise.
d66c0241
JB
5242 (next_element_from_composition): Adjust for the change of struct it.
5243 Update it->cmp_it.
b8ff72fa
SM
5244 (dump_glyph): Adjust for the change of struct glyph.
5245 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
5246 it and struct glyph. Don't handle automatic composition here.
5247 (fill_gstring_glyph_string): New function.
5248 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 5249 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
5250 (BUILD_GSTRING_GLYPH_STRING): New macro.
5251 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
5252 automatic composition.
b8ff72fa 5253 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 5254 struct glyph.
b8ff72fa 5255 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 5256
b8ff72fa 5257 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
5258 the change of struct glyph_string.
5259 (x_draw_glyph_string): Likewise.
5260
52612008-08-29 Glenn Morris <rgm@gnu.org>
5262
5263 * buffer.c (word-wrap): Doc fix.
5264 * xdisp.c (truncate-partial-width-windows): Doc fix.
5265 Increase default to 50.
5266
52672008-08-29 Chong Yidong <cyd@stupidchicken.com>
5268
5269 * xdisp.c (update_tool_bar_unwind): New function.
5270 (update_tool_bar): Temporarily set selected frame before building
5271 tool-bar items.
5272
52732008-08-28 Michael Albinus <michael.albinus@gmx.de>
5274
5275 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
5276 snprintf, respectively.
5277 (xd_append_arg): Convert strings with Fstring_make_unibyte.
5278
52792008-08-28 Chong Yidong <cyd@stupidchicken.com>
5280
5281 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
5282 LDFLAGS to GNUstep CC invocation.
5283
52842008-08-27 Chong Yidong <cyd@stupidchicken.com>
5285
5286 * indent.c (Fvertical_motion): Revert last change. Handle the
5287 general case where we are moving forward, and PT spans multiple
5288 screen lines.
5289
5290 * eval.c (find_handler_clause): Temporarily increase
5291 max-lisp-eval-depth while printing the backtrace buffer, to
5292 guarantee that help-mode code can run.
5293
52942008-08-27 Eli Zaretskii <eliz@gnu.org>
5295
5296 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
5297 colors under -rv.
5298 (IT_set_frame_parameters): Don't swap foreground and background
5299 colors if `(reverse . t)' is present in the frame properties.
5300 (internal_terminal_init): Call init_frame_faces only for the
5301 initial frame.
5302
53032008-08-27 Andreas Schwab <schwab@suse.de>
5304
5305 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
5306
53072008-08-27 Andreas Schwab <schwab@suse.de>
5308
5309 * search.c (search_buffer): Set char_base to zero only at the end.
5310
53112008-08-27 Kenichi Handa <handa@m17n.org>
5312
b8ff72fa 5313 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
5314
53152008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
5316
5317 * xterm.c (x_term_init): Temporarily hide the partially
5318 initialized terminal while calling vendor-specific-keysyms.
5319
53202008-08-26 Eli Zaretskii <eliz@gnu.org>
5321
5322 * msdos.c (internal_terminal_init): Most initializations done only
5323 once, especially initial_screen_colors[] and termscript open.
5324
53252008-08-26 Chong Yidong <cyd@stupidchicken.com>
5326
5327 * eval.c (Fcondition_case): Doc fix.
5328
5329 * widgetprv.h (EmacsFramePart): Change font member to the new font
5330 struct.
5331
5332 * widget.c: Include character.h and font.h for XSETFONT.
5333 (setup_frame_gcs): Compute X font id from font struct, just once.
5334
53352008-08-26 Eli Zaretskii <eliz@gnu.org>
5336
5337 * term.c (get_named_tty): Fix last change.
5338
53392008-08-26 Chong Yidong <cyd@stupidchicken.com>
5340
5341 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 5342 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
5343
53442008-08-25 Eli Zaretskii <eliz@gnu.org>
5345
5346 * frame.c (do_switch_frame): Mark previously displayed frame as
5347 obscured for FRAME_MSDOS_P frames as well.
5348
53492008-08-24 Eli Zaretskii <eliz@gnu.org>
5350
5351 * frame.c (make_terminal_frame): Initialize f->terminal,
5352 f->terminal->reference_count, and scroll bars on MS-DOS as well.
5353 Set the top frame to newly created frame.
5354 (Fmake_terminal_frame): Reuse the_only_display_info.
5355
5356 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
5357 estimating available memory.
5358
b97439ce 53592008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
5360
5361 * nsterm.m (ns_draw_window_cursor): Don't call
5362 NSDisableScreenUpdates and NSEnableScreenUpdates on
5363 non-NS_IMPL_COCOA systems.
5364
53652008-08-23 Andreas Schwab <schwab@suse.de>
5366
5367 * process.c (procfs_system_process_attributes): Fix use of
5368 uninitialized variables.
5369
53702008-08-23 Eli Zaretskii <eliz@gnu.org>
5371
5372 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
5373
5374 * dispnew.c (init_display): Remove MS-DOS specific conditions for
5375 calling tty-set-up-initial-frame-faces.
5376
b8ff72fa
SM
5377 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
5378 Allow MSDOS frames along with X frames.
aac0c6e3
MR
5379
5380 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
5381 addition to output_termcap.
5382
5383 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
5384
5385 * termchar.h (FRAME_TTY): Support output_msdos_raw.
5386 (struct tty_display_info) [MSDOS]: Add fields related to mouse
5387 highlight.
5388
5389 * process.c [!subprocesses]: Define QCname.
5390 (syms_of_process): Intern and staticpro it.
5391
5392 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
5393 Adjust for changes in encoding/decoding routines.
5394 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
5395 encode_coding and decode_coding.
5396
b8ff72fa 5397 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
5398
5399 * dosfns.c: Include frame.h before termhooks.h.
5400 (dos_cleanup): Use CURTTY ()->termscript instead of a global
5401 variable termscript.
5402
5403 * s/msdos.h (USER_FULL_NAME): Define.
5404 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
5405
5406 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
5407 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
5408 pw->pw_gecos.
5409
5410 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
5411 SELECTED_FRAME as additional (1st) argument.
5412 (tty_read_avail_input): Handle output_msdos_raw in
5413 addition to output_termcap.
5414
5415 * msdos.c: Include frame.h before termhooks.h.
5416 (mouse_on, mouse_off, mouse_moveto, mouse_init)
5417 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
5418 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
5419 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
5420 (IT_set_terminal_modes, IT_reset_terminal_modes)
5421 (IT_set_frame_parameters): Use tty->termscript instead of a global
5422 variable termscript.
5423 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
5424 global variable terminal_coding. Don't refer to
5425 Vnonascii_translation_table.
5426 (internal_terminal_init): Set Vwindow_system in current_kboard.
5427 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
5428 Announce date and time of session start, if termscript is open.
5429 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
5430 term.c:init_tty). Open termscript only of not already open.
5431 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
5432 here instead of dos_ttraw. Don't initialize display if this is an
5433 initial tty. Don't set FRAME_FONT.
5434 (Vwindow_system_version): Bump to 23.
5435 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
5436 is available, set up mouse_position_hook.
5437 (dos_ttraw, IT_set_terminal_modes): If called with initial
5438 terminal, do nothing.
5439 (IT_set_frame_parameters): Handle the Qtty_type frame
5440 parameter by calling internal_terminal_init.
5441 (dos_set_window_size, show_mouse_face)
5442 (clear_mouse_face, IT_note_mode_line_highlight)
5443 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
5444 (dos_rawgetc): Use tty_display_info instead of x_display_info.
5445 (initialize_msdos_display): New function.
5446 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
5447 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
5448 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
5449 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 5450 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
5451 (request_sigio, unrequest_sigio): Don't define, now defined on
5452 sysdep.c.
5453 (IT_write_glyphs): Rewrite to use encode_terminal_code.
5454
5455 * term.c [MSDOS]: Include msdos.h.
5456 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
5457 conditional to DOS_NT. Allow only one call to this function in a
5458 session. Don't allocate a new struct tty_display_info; instead,
5459 reuse the_only_display_info. Call get_tty_size to get screen
5460 dimensions. Call init_baud_rate to set bad_rate.
5461 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
5462 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 5463 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
5464 (get_tty_terminal, get_named_tty, Ftty_type)
5465 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
5466 output_termcap.
b8ff72fa
SM
5467 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
5468 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 5469 only when subprocesses are supported.
aac0c6e3
MR
5470
5471 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
5472 f->output_data.x.
5473 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
5474 terminal devices.
5475
5582fbc7 5476 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
5477 x_output.
5478 (FRAME_FONT): Use output_data.tty.
5479 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
5480 (struct x_display_info): Rename from display_info. Update all users in
5481 msdos.c.
aac0c6e3 5482 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 5483 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
5484 (dos_ttraw): Update prototype.
5485
5486 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
5487 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
5488
54892008-08-23 Jason Rumney <jasonr@gnu.org>
5490
5491 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
5492 (fn_TIFFSetDirectory): New library function used.
5493 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
5494 (tiff_load): Use :index to select among multiple images. Set count
5495 property when multiple images exist.
5496 (gif_format): Use :index, not :image.
5497
54982008-08-23 Chong Yidong <cyd@stupidchicken.com>
5499
5500 * xdisp.c (try_scrolling): Check INT_MAX instead of
5501 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
5502 to obtain INT_MAX.
5503
55042008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
5505
5506 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
5507
55082008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
5509
5510 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
5511 GNUstep library location.
5512
55132008-08-21 Chong Yidong <cyd@stupidchicken.com>
5514
5515 * xfaces.c (x_update_menu_appearance): Check validity of menu font
5516 before using it.
5517
5518 * puresize.h (BASE_PURESIZE): Increase to 1250000.
5519
55202008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
5521
5522 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
5523 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
5524 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
5525 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
5526 (EmacsApp-cursor_blink_handler): Remove declaration.
5527 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
5528 match 01 Feb 2008 changes in xterm.c.
5529 (ns_read_socket): Add cast to avoid warning.
5530 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
5531 GNUstep.
5532
55332008-08-20 Chong Yidong <cyd@stupidchicken.com>
5534
5535 * xselect.c (x_get_foreign_selection): Return nil if desired
5536 selection could not be obtained, instead of signalling an error.
5537
55382008-08-20 David Reitter <david.reitter@gmail.com>
5539
5540 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
5541 * nsterm.m: Remove ns-specific code for cursor blinking.
5542 (ns_draw_window_cursor): Clear cursor properly rather than
5543 redrawing the area. Respect width of bar cursors.
5544 These changes enable the use of generic blink-cursor-mode and
5545 generic cursor types in NS and support smooth cursor movements (do
5546 not blink off after command).
5547 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
5548 Nextstep, too.
5549
55502008-08-19 Kenichi Handa <handa@m17n.org>
5551
5552 * font.c (Vfont_log_deferred): New variable.
5553 (font_add_log): Check Vfont_log_deferred.
5554 (font_deferred_log): New function.
5555
5556 * font.h (font_deferred_log): Extern it.
5557
5558 * fontset.c (reorder_font_vector): Use encoding charset of fonts
5559 for sorting.
5560 (face_for_char): Use deferred log.
5561
55622008-08-18 Kenichi Handa <handa@m17n.org>
5563
5564 * fontset.c (face_for_char): Add font log.
5565
5566 * font.c (font_add_log): Add the font properties :script, :lang,
5567 and :otf in the log.
5568
55692008-08-17 Chong Yidong <cyd@stupidchicken.com>
5570
5571 * xdisp.c: Remove dead code.
5572 (handle_invisible_prop, next_overlay_string): Defer call to
5573 setup_for_ellipsis.
5574 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
5575
55762008-08-15 Chong Yidong <cyd@stupidchicken.com>
5577
5578 * xfaces.c (lookup_derived_face): Properly handle possible zero
5579 return value of get_lface_attributes.
5580 (merge_faces): Don't tell lookup_derived_face to signal an error
5581 if face is not found.
5582
5583 * dired.c (Fdirectory_files): Doc fix.
5584
5585 * process.c (make_process): Initialize kill_without_query struct
5586 member.
5587
55882008-08-15 Eli Zaretskii <eliz@gnu.org>
5589
5590 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
5591 Alternative calculation of totphys for Visual Studio 6.
5592
5593 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
5594
5595 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
5596 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
5597 All users changed.
5598 (stat): Only root directory passed to GetDriveType. Allow RAM
5599 disk as well as local fixed disk when w32-get-true-file-attributes
5600 is set to `local'.
5601 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
5602 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
5603 (w32_cached_id, w32_add_to_cache): New functions.
5604 (get_name_and_id): Look account names in the cache before calling
5605 lookup_account_sid.
5606 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
5607 New initialization flags.
5608 (globals_of_w32): Initialize them to zero.
5609 (w32_system_process_attributes): Use w32_cached_id and
5610 w32_add_to_cache.
5611
56122008-08-14 Lawrence Mitchell <wence@gmx.li>
5613
5614 * lread.c (Fread_char, Fread_char_exclusive): If no character
5615 event is read before timeout is reached, return nil, rather than
5616 converting to a number.
5617
56182008-08-14 Chong Yidong <cyd@stupidchicken.com>
5619
5620 * fns.c (use_dialog_box): Doc fix.
5621
5622 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
5623 on OS X.
5624
56252008-08-13 Chong Yidong <cyd@stupidchicken.com>
5626
5627 * frame.c (Qns_parse_geometry): New var.
5628 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
5629
56302008-08-11 Chong Yidong <cyd@stupidchicken.com>
5631
5632 * xdisp.c (x_produce_glyphs): Handle the case when font has no
5633 space character in calculating tabs.
5634
56352008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
5636
5637 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
5638
56392008-08-10 Glenn Morris <rgm@gnu.org>
5640
5641 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
5642 silence gcc "limited range of data type" warnings in some
5643 make_fixnum_or_float calls.
5644
56452008-08-09 Eli Zaretskii <eliz@gnu.org>
5646
5647 * w32.c (w32_system_process_attributes): If the process does not
5648 exist, return nil.
5649
5650 * w32.c: Include thelp32.h, psapi.h and coding.h.
5651 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
5652 declarations.
5653 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
5654 (Process32Next_Proc): New typedefs.
5655 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
5656 (g_b_init_process32_next, g_b_init_open_thread_token)
5657 (g_b_init_impersonate_self, g_b_init_revert_to_self)
5658 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
5659 (g_b_init_get_process_working_set_size)
5660 (g_b_init_global_memory_status_ex): New static variables.
5661 (globals_of_w32): Initialize them.
5662 (create_toolhelp32_snapshot, process32_first, process32_next)
5663 (open_thread_token, impersonate_self, revert_to_self)
5664 (get_process_memory_info, get_process_working_set_size)
5665 (global_memory_status, global_memory_status_ex): New wrapper
5666 functions.
5667 (w32_list_system_processes, w32_system_process_attributes)
5668 (enable_privilege, restore_privilege, ltime, process_times):
5669 New functions.
5670 (convert_time_raw): New function.
5671 (convert_time): Remove conversion of FILETIME into time in 100
5672 nsec units, call convert_time_raw instead.
5673
5674 * process.h (w32_list_system_processes, w32_system_process_attributes):
5675 Add prototypes.
5676 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
5677 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
5678 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
5679 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
5680
5681 * process.c (Fsystem_process_attributes): Doc fix.
5682
56832008-08-08 Chong Yidong <cyd@stupidchicken.com>
5684
5685 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
5686 a continued multi-char glyph; if so, advance to the actual glyph.
5687
56882008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
5689
5690 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
5691
5692 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
5693 (.m.o): Use it.
5694 * config.in: Regenerate.
5695
56962008-08-07 Chong Yidong <cyd@stupidchicken.com>
5697
5698 * xdisp.c (redisplay_window): Revert last change.
5699 (try_window): Check bottom scroll margin too.
5700
57012008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
5702
5703 * config.in: Regenerate.
5704
5705 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
5706 -list-load-path-shadows'.
5707 (nsgui.h): Reduce number of things depending on it.
5708
57092008-08-06 Chong Yidong <cyd@stupidchicken.com>
5710
5711 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
5712 instead of window-end which does the wrong thing at eob.
5713 (try_cursor_movement): Minor optimization.
5714 (redisplay_window): If scroll margin is defined, don't assume
5715 window doesn't need scrolling.
5716
57172008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
5718
5719 * config.in: Regenerate.
5720
5721 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
5722 (mostlyclean): Don't delete *.d under NS.
5723
5724 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
5725
57262008-08-06 Kenichi Handa <handa@m17n.org>
5727
5728 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
5729
57302008-08-06 Andreas Schwab <schwab@suse.de>
5731
5732 * config.in: Regenerate.
5733
57342008-08-05 Chong Yidong <cyd@stupidchicken.com>
5735
5736 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
5737 forcing a window start.
5738
5739 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
5740 (auto_save_1): Update modtime when auto-save-list-file-name is on.
5741
57422008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
5743
5744 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
5745 argument.
5746
57472008-08-05 Juanma Barranquero <lekktu@gmail.com>
5748
5749 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
5750 <scroll-down-aggressively, before-change-functions>:
5751 <after-change-functions>: Reflow docstrings.
5752
57532008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
5754 Ken Raeburn <raeburn@gnu.org>
5755
5756 Dock menu customization, based on a patch by Ken Raeburn, plus some
5757 other fixes.
5758 * nsmenu.m (dockMenu): New variable.
5759 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
5760
5761 * nsterm.h (dockMenu): Declare.
5762
5763 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
5764 (ns_term_init): Initialize dockMenu.
5765 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
5766 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
5767 left.
5768
5769 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
5770
57712008-08-04 Chong Yidong <cyd@stupidchicken.com>
5772
5773 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
5774
5775 * config.in: Regenerate.
5776
57772008-08-04 Seiji Zenitani <zenitani@mac.com>
5778
5779 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
5780
57812008-08-04 Chong Yidong <cyd@stupidchicken.com>
5782
5783 * nsterm.h (find_and_call_menu_selection): Fix prototype.
5784
57852008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
5786
5787 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
5788
5789 * keyboard.h: Comment an #endif.
5790
5791 * lisp.h (have_menus_p): Adjust comment.
5792
5793 * menu.c (find_and_return_menu_selection): Fix comparison with
5794 client_data.
5795
5796 * nsmenu.m (popup_activated_flag): New variable.
5797 (popup_activated): New function.
5798 (menu-or-popup-active-p): New exported lisp definition.
5799 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
5800 when popup done.
5801 (ns_popup_dialog): Set popup_activated_flag.
5802
5803 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
5804 version for GNUstep (handled by conditional typedef in nsterm.m).
5805 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
5806 in rgb.txt).
5807
5808 * process.c (init_process): Use DARWIN_OS, not DARWIN.
5809
5810 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
5811
5812 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
5813
5814 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
5815 shortcircuit if popup_activated like GTK and X toolkit.
5816
5817 * m/inter386.h: Change DARWIN to DARWIN_OS.
5818
5819 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
5820 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
5821 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
5822 comment on NO_SOCK_SIGIO.
5823
58242008-08-03 Chong Yidong <cyd@stupidchicken.com>
5825
5826 * nsterm.m (windowDidResize): Remove stopModal call.
5827
58282008-08-03 Andreas Schwab <schwab@suse.de>
5829
5830 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
5831 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
5832
58332008-08-02 Chong Yidong <cyd@stupidchicken.com>
5834
5835 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
5836 Don't use uninitialized pointer variable when using getrlimit.
5837
58382008-08-02 Jason Rumney <jasonr@gnu.org>
5839
5840 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
5841
58422008-08-02 Eli Zaretskii <eliz@gnu.org>
5843
5844 * alloc.c (NSTATICS): Bump to 0x640.
5845
5846 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
5847
5848 * lisp.h: Add prototype for directory_files_internal.
5849
5850 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
5851 New functions.
5852 (syms_of_process): Defsubr them. Add initializations for various
5853 Q* symbols used in procfs_system_process_attributes.
5854 (procfs_list_system_processes, procfs_system_process_attributes)
5855 [HAVE_PROCFS]: New functions.
5856 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
5857 (procfs_get_total_memory): New functions.
5858
58592008-08-01 Juanma Barranquero <lekktu@gmail.com>
5860
5861 * xfaces.c (Fx_load_color_file): Fix previous change;
5862 it is #ifdef WINDOWSNT, not WINDOWS_NT.
5863
58642008-08-01 Michael Albinus <michael.albinus@gmx.de>
5865
5866 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
5867
58682008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5869
5870 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
5871
58722008-08-01 Chong Yidong <cyd@stupidchicken.com>
5873
5874 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
5875
5876 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
5877 define NSApplicationDelegateReplySuccess.
5878 (EmacsView -converstationIdentifier): Use long instead of
5879 NSInteger for GNUstep, since it doesn't have NSInteger.
5880
5881 * xmenu.c: Revert last change.
5882
5883 * keyboard.h: Fix last change.
5884
58852008-08-01 Juanma Barranquero <lekktu@gmail.com>
5886
5887 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
5888 on Windows.
5889
58902008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5891
5892 Warning clearing and clean-up in NS port.
5893 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
5894 Add prototypes.
5895 * nsgui.h (FACE_DEFAULT): Remove, unused.
5896 (XGCValues): Change colors to unsigned long.
5897 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
5898 nsterm.m.
5899 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
5900 (ns_list_fonts): Remove, unused.
5901 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
5902 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
5903 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
5904 (nsfont_draw): Compare face colors to 0, not nil.
5905 * nsmenu.m (struct widget_value): Drop unneeded declaration.
5906 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
5907 (-addSubmenuWithTitle:): Use NSMenuItem class.
5908 (ns_popup_menu): Use NO, not NULL, for enabled setting.
5909 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
5910 (ns_clip_to_row): Make gc arg a BOOL.
5911 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
5912 ns_clip_to_row() call.
5913 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
5914 used). Cast FRAME_FONT assignments.
5915 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
5916 (ns_string_to_lispmod): Change arg to const char.
5917 (ns_term_init): Use NSMenuItem class.
5918 (EmacsApp -openFile:): Move to different section of file.
5919 (EmacsApp -application:openFiles:): Don't return a value, call
5920 -replyToOpenOrPrint:.
5921 (EmacsView -keyDown:): Fix up cast.
5922 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
5923 (EmacsView -menuDown:): Cast tag in call to
5924 find_and_call_menu_selection().
5925 (ns_list_fonts): Remove, unused.
5926 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
5927 (ns_fontname_to_xlfd): Make static.
5928 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
5929 Remove prototypes (now in keyboard.h).
5930 (next_menubar_widget_id): Remove, unused.
5931 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
5932 Remove prototypes (now in keyboard.h).
5933 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
5934
59352008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
5936
5937 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
5938 (floatfns.o): Depend on syssignal.h.
5939 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
5940
5941 * systty.h: Fix previous change that removed BSD_TERMIOS.
5942 Add comments to #ifdefs.
5943
59442008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5945
5946 * w32fns.c (w32-load-color-file): Remove.
5947 (x-open-connection): Use renamed Fx_load_color_file.
5948 * xfaces.c (x-load-color-file): Add.
5949 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
5950 Emacs.clr.
5951 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
5952
59532008-07-31 Michael Albinus <michael.albinus@gmx.de>
5954
5955 * dbusbind.c (Fdbus_call_method_asynchronously)
5956 (Fdbus_method_error_internal): New defuns.
5957 (xd_read_message): Handle also reply messages.
5958 (Vdbus_registered_functions_table): Extend docstring.
5959
59602008-07-31 Juanma Barranquero <lekktu@gmail.com>
5961
5962 * keyboard.c (gobble_input): Fix previous change.
5963
59642008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
5965
5966 * bitmaps/README:
5967 * xfns.c:
5968 * termcap.c:
5969 * term.c:
5970 * syswait.h:
5971 * systty.h:
5972 * systime.h:
5973 * syssignal.h:
5974 * sysdep.c:
5975 * process.h:
5976 * process.c:
5977 * print.c:
5978 * ndir.h:
5979 * lread.c:
5980 * keyboard.c:
5981 * getpagesize.h:
5982 * floatfns.c:
5983 * fileio.c:
5984 * emacs.c:
5985 * doc.c:
5986 * dispnew.c:
5987 * dired.c:
5988 * data.c:
5989 * callproc.c:
5990 * buffer.c:
5991 * README:
5992 * Makefile.in:
5993 * s/template.h:
5994 * s/msdos.h:
5995 * m/vax.h: Remove VMS support.
5996 * s/vms.h:
5997 * vlimit.h:
5998 * uaf.h:
5999 * temacs.opt:
6000 * param.h:
6001 * ioctl.h: Remove file.
6002
60032008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
6004
6005 * s/ms-w32.h (MULTI_KBOARD): Remove.
6006 * xterm.c:
6007 * xselect.c:
6008 * xfns.c:
6009 * window.c:
6010 * w32term.c:
6011 * w32fns.c:
6012 * terminal.c:
6013 * termhooks.h:
6014 * term.c:
6015 * sysdep.c:
6016 * keyboard.h:
6017 * keyboard.c:
6018 * frame.h:
6019 * frame.c:
6020 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
6021 * config.in: Regenerate.
6022
60232008-07-30 Jason Rumney <jasonr@gnu.org>
6024
6025 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
6026
6027 * w32font.c (w32font_encode_char): Leave as unicode if in range.
6028 (w32font_open_internal): Get unicode version of textmetrics.
6029 Don't enable or disable glyph indices here.
6030 (w32font_open): Disable use of glyph indices.
6031
6032 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
6033
60342008-07-30 Chong Yidong <cyd@stupidchicken.com>
6035
6036 * minibuf.c (Vread_buffer_function): Doc fix.
6037
60382008-07-30 John Paul Wallington <jpw@pobox.com>
6039
6040 * minibuf.c (read_buffer_completion_ignore_case): New var.
6041 (Fread_buffer): Use it.
6042
60432008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
6044
6045 * systty.h (sensemode): Remove empty #if. Remove reference to
6046 BSD_TERMIOS, unused.
6047
6048 * sysdep.c: Remove reference to DGUX.
6049 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
6050
6051 * config.in: Regenerate.
6052
60532008-07-30 Jason Rumney <jasonr@gnu.org>
6054
6055 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
6056
60572008-07-29 Jason Rumney <jasonr@gnu.org>
6058
6059 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
6060 is populated.
6061 (uniscribe_encode_char): Always use uniscribe.
6062 Avoid using context if cache is populated.
6063
60642008-07-29 Jan Djärv <jan.h.d@swipnet.se>
6065
6066 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
6067 open menu.
6068
6069 * gtkutil.c (menu_nav_ended): Remove.
6070 (create_menus): Remove signal connect for menu_nav_ended.
6071
60722008-07-28 Chong Yidong <cyd@stupidchicken.com>
6073
6074 * xdisp.c (redisplay_window): Check return value of
6075 compute_window_start_on_continuation_line before forcing a window
6076 start.
6077
60782008-07-28 Jason Rumney <jasonr@gnu.org>
6079
6080 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
6081
6082 * w32term.c (w32_enable_unicode_output, cleartype_active):
6083 Remove obsolete display options.
6084 (x_draw_glyph_string_background): Don't use old cleartype_active
6085 workaround.
6086 (w32_initialize): Remove cleartype_active initialization.
6087 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
6088
60892008-07-28 Andreas Schwab <schwab@suse.de>
6090
6091 * lisp.h (init_weak_hash_tables, syms_of_font)
6092 (xd_read_queued_messages, syms_of_dbusbind): Declare.
6093 (remove_hash_entry): Don't declare.
6094 * eval.c (maybe_call_debugger): Make static and move before use.
6095 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
6096 * xdisp.c: Include "gtkutil.h" if USE_GTK.
6097 * xterm.h (x_set_frame_alpha): Declare.
6098
60992008-07-28 Jan Djärv <jan.h.d@swipnet.se>
6100
6101 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
6102 (create_menus): Connect selection-done to menu_nav_ended.
6103
61042008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
6105
6106 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
6107 Set Vx_resource_name to a fallback. Replace read of 'buffered'
6108 parameter with read of 'alpha' one.
6109 (Qns_frame_parameter): Remove.
5582fbc7 6110 * nsselect.m (selection-coding-system)
aac0c6e3
MR
6111 (next-selection-coding-system, Vselection_coding_system)
6112 (Vnext_selection_coding_system): Drop.
6113
61142008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
6115
6116 * nsfns.m (do-applescript, do_applescript): Rename to
6117 ns-do-applescript, ns_do_applescript, and move within file.
6118
61192008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
6120
6121 Remove support for Mac Carbon.
6122 * mactoolbox.c:
6123 * macterm.h:
6124 * macterm.c:
6125 * macselect.c:
6126 * macmenu.c:
6127 * macgui.h:
6128 * macfns.c:
6129 * mac.c: Remove file.
6130 * s/darwin.h:
6131 * m/intel386.h:
6132 * xfaces.c:
6133 * xdisp.c:
6134 * window.c:
6135 * tparam.c:
6136 * termhooks.h:
6137 * termcap.c:
6138 * term.c:
6139 * syssignal.h:
6140 * sysselect.h:
6141 * sysdep.c:
6142 * process.c:
6143 * lread.c:
6144 * lisp.h:
6145 * keyboard.c:
6146 * image.c:
6147 * fringe.c:
6148 * frame.h:
6149 * frame.c:
6150 * fontset.c:
6151 * font.h:
6152 * font.c:
6153 * fns.c:
6154 * fileio.c:
6155 * emacs.c:
6156 * dispnew.c:
6157 * dispextern.h:
6158 * config.in:
6159 * atimer.c:
2ae37cf0 6160 * Makefile.in: Remove code for Carbon.
aac0c6e3 6161
f0131492 61622008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
6163
6164 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
6165
61662008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6167
6168 * macterm.h (kCGBitmapByteOrder32Host): New define for
6169 non-universal SDKs.
6170
6171 * image.c (mac_create_cg_image_from_image, image_load_image_io)
6172 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
6173
6174 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
6175 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
6176
61772008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
6178
6179 * w32inevt.c: Include dispextern.h.
6180
61812008-07-26 Andreas Schwab <schwab@suse.de>
6182
6183 * print.c (print_object): Fix off-by-one in last change.
6184
61852008-07-25 Juanma Barranquero <lekktu@gmail.com>
6186
6187 * term.c (syms_of_term): Don't initialize default_orig_pair,
6188 default_set_foreground and default_set_background on Windows.
6189
61902008-07-25 Jason Rumney <jasonr@gnu.org>
6191
6192 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
6193 ScriptItemize. Clean up return value checking. Remove unused
6194 variables.
6195 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
6196 shaping engine.
6197
6198 * w32font.c (w32font_has_char): Handle the case where we can't
6199 determine the script for a character.
6200
62012008-07-25 Chong Yidong <cyd@stupidchicken.com>
6202
6203 * term.c (syms_of_term): Initialize default_orig_pair,
6204 default_set_foreground, and default_set_background.
6205
6206 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
6207 clash (bug#86).
6208 (getloadavg): Callers changed.
6209
6210 * image.c (svg_load_image): Fix last change.
6211 (svg_load_image): Use rsvg_handle_get_dimensions to check that
6212 image size is valid. Use g_object_unref instead of deprecated
6213 rsvg_handle_free to free rsvg handle.
6214 (x_from_xcolors): Don't initialize pixmap (silence compiler).
6215
62162008-07-25 Jason Rumney <jasonr@gnu.org>
6217
6218 * w32font.c (w32font_encode_char): Encode characters outside BMP as
6219 surrogates before looking up glyph index.
6220 (w32font_text_extents): Encode as surrogates if falling back to
6221 functions that need UTF-16 wide chars.
6222
6223 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
6224 BMP as surrogates before looking up glyph index.
6225
62262008-07-25 Chong Yidong <cyd@stupidchicken.com>
6227
6228 * image.c (svg_load_image): Check for failure in return value of
6229 rsvg_handle_get_pixbuf. Free rsvg handle when done.
6230
62312008-07-25 Jason Rumney <jasonr@gnu.org>
6232
6233 * w32font.c (Fx_select_font): Reverse sense of second arg.
6234
62352008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
6236
6237 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
6238 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
6239
6240 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
6241 (PURESIZE): Use it.
6242
62432008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
6244
6245 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
6246 * m/alpha.h (TEXT_END):
6247 * m/ibmrs6000.h (TEXT_END):
6248 * m/macppc.h (TEXT_END):
6249 * s/darwin.h (TEXT_END):
6250 * s/msdos.h (TEXT_END): Remove, unused.
6251 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
6252 * s/cygwin.h: Remove comment.
6253
6254 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
6255 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
6256 * m/intel386.h (DOT_GLOBAL_START):
6257 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
6258 (USG): Remove, file not used on USG platforms.
6259
6260 * Makefile.in (HAVE_X11): Remove empty #else.
6261
62622008-07-24 Andreas Schwab <schwab@suse.de>
6263
6264 * fileio.c (Finsert_file_contents): Properly adjust undo list
6265 after format conversion.
6266
62672008-07-24 Jan Djärv <jan.h.d@swipnet.se>
6268
6269 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
6270 (menu_nav_ended): Remove.
6271 (create_menus): Remove signal connect for menu_nav_ended.
6272 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
6273 create_menus.
6274 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
6275
62762008-07-23 Jason Rumney <jasonr@gnu.org>
6277
6278 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
6279 with opened font.
6280 (w32font_open): Set font type to gdi.
6281
6282 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
6283
62842008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
6285
6286 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
6287 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
6288 defines it.
6289 * unexec.c (ADDR_CORRECT): Define unconditionally.
6290
6291 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
6292
6293 * unexec.c: Remove code depending on !COFF and USG, the file is
6294 not used for such systems.
6295
6296 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
6297 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
6298 (LD_SWITCH_SYSTEM_1): Remove, update users.
6299
6300 * s/darwin.h (DATA_END):
6301 * m/intel386.h (DATA_END):
6302 * m/ibmrs6000.h (DATA_END):
6303 * m/alpha.h (DATA_END): Remove, unused.
6304
6305 * config.in: Regenerate.
6306 * s/ms-w32.h (subprocesses): Define unconditionally.
6307 * s/template.h (subprocesses): Update comment.
6308 * s/vms.h (subprocesses):
6309 * s/usg5-4.h (subprocesses):
6310 * s/hpux10-20.h (subprocesses):
6311 * s/gnu-linux.h (subprocesses):
6312 * s/cygwin.h (subprocesses):
6313 * s/bsd-common.h (subprocesses):
6314 * s/aix4-2.h (subprocesses):
6315 * s/darwin.h (subprocesses): Do not define, defined by default now.
6316
6317 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
6318 Remove all references.
6319 (temacs): Add GNUstep specific ld flags.
6320
6321 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
6322 similarly to what X does.
6323
63242008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
6325
6326 * nsfns.m (x-list-fonts): Remove.
6327 (syms_of_nsfns): Drop the x-list-fonts declaration.
6328 * nsterm.m: Get rid of remaining "//" comments.
6329
63302008-07-22 Chong Yidong <cyd@stupidchicken.com>
6331
6332 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
6333
6334 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
6335 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
6336 (Fns_own_selection_internal, Fx_disown_selection_internal)
6337 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
6338
6339 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
6340 ... */' style of docstrings. Doc fixes.
6341
63422008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
6343
6344 * terminfo.c (UP, BC, PC): Undo previous change.
6345
6346 * nsfns.m: Rename ns prefixed functions/variables to the
6347 corresponding x versions. Update references.
6348
63492008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
6350
6351 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
6352
63532008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
6354
6355 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
6356 Remove forwarding functions.
6357 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
6358 non-static.
6359 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
6360 non-static.
6361 (ns_frame_parm_handlers): Use the new names.
6362 (syms_of_nsfns): Move to the end of file.
6363
6364 * nsterm.m (syms_of_nsterm): Move to the end of file.
6365
6366 * dispnew.c (init_display): Remove code for X10.
6367
63682008-07-22 Jason Rumney <jasonr@gnu.org>
6369
6370 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
6371 bare drive.
6372
63732008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
6374
6375 * nsterm.m (syms_of_nsterm): Remove debugging println.
6376
63772008-07-22 David Reitter <david.reitter@gmail.com>
6378
6379 * nsfns.m (do_applescript, F_do_applescript): NS version of the
6380 Carbon implementation of the same functionality: execute arbitrary
6381 AppleScript code.
6382
63832008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
6384
6385 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
6386 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
6387 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
6388 (Fx_display_mm_height, Fx_display_mm_width)
6389 (Fx_display_backing_store, Fx_display_visual_class)
6390 (Fx_display_save_under, Fx_open_connection)
6391 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
6392 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
6393 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
6394 (Fx_display_pixel_width, Fx_display_pixel_height)
6395 (Fx_display_usable_bounds, Fx_display_planes)
6396 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
6397 ... */' style of docstrings.
6398
63992008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
6400
6401 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
6402 on this platform.
6403 (mips):
6404 * m/iris4d.h (mips): Do not define.
6405 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
6406
6407 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
6408
6409 * image.c:
6410 * nsfns.m:
6411 * nsselect.m:
6412 * nsterm.h:
6413 * nsterm.m: Rename ns prefixed functions/variables to the
6414 corresponding x versions. Update references.
6415
6416 * m/ibms390x.h (NO_REMAP): Do not undefine.
6417
6418 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
6419
64202008-07-21 Chong Yidong <cyd@stupidchicken.com>
6421
6422 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
6423 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
6424 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
6425 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
6426 (Fns_display_mm_height, Fns_display_mm_width)
6427 (Fns_display_backing_store, Fns_display_visual_class)
6428 (Fns_display_save_under, Fns_open_connection)
6429 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
6430 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
6431 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
6432 (Fns_display_pixel_width, Fns_display_pixel_height)
6433 (Fns_display_usable_bounds, Fx_display_planes)
6434 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
6435
64362008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
6437
6438 * print.c (print_object): Check print_depth before searching for
6439 circularities.
6440
64412008-07-21 Michael Albinus <michael.albinus@gmx.de>
6442
6443 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
6444 only sprintf.
6445
64462008-07-21 Kenichi Handa <handa@m17n.org>
6447
6448 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
6449
64502008-07-20 Andreas Schwab <schwab@suse.de>
6451
6452 * syntax.c (find_start_pos, find_start_value)
6453 (find_start_value_byte, find_start_begv, find_defun_start)
6454 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
6455
64562008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
6457
6458 * s/sol2-3.h: Insert contents of s/sol2.h.
6459 (LD_SWITCH_SYSTEM): Remove redundant definition.
6460 * s/sol2.h: Remove, unused.
6461
64622008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
6463
6464 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
6465
64662008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
6467
6468 * Makefile.in (ns_appdir): Fix typo in find command.
6469
64702008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
6471
6472 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
6473
6474 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
6475 added not supported anymore.
6476
6477 * s/usg5-4-2.h (LIBS_SYSTEM):
6478 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
6479
6480 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
6481 * s/lynxos.h (GETPGRP_NO_ARG):
6482 * s/hpux10-20.h (NO_SIOCTL_H):
6483 * s/gnu.h (GETPGRP_NO_ARG):
6484 * s/gnu-linux.h (NO_SIOCTL_H):
6485 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
6486 * s/cygwin.h (GETPGRP_NO_ARG):
6487 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
6488 (C_DEBUG_SWITCH): Remove duplicate definition.
6489
6490 * m/ibms390.h: Remove boilerplate comments.
6491
6492 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
6493
6494 * process.c (HAVE_SERIAL): Consolidate ifdefs.
6495 (wait_reading_process_output): Remove code for SunOS, platform not
6496 supported anymore. Use SOLARIS2 instead of sun.
6497
64982008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
6499
6500 * font.c (font_open_by_name): Under NS, default lface height to zero.
6501 (font_open_for_lface): Under NS, set size based on frame fontsize.
6502 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
6503 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
6504
65052008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
6506
6507 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
6508 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
6509 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
6510 YES/NO.
6511 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
6512 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
6513 * Makefile.in (clean): Clear out build destination dir.
6514
65152008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
6516
6517 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
6518 xterm, xselect.
6519 * lisp.h: Remove declaration of hash_remove.
6520 * nsgui.h: Remove redefinitions of hash_remove.
6521 * fns.c (hash_remove): Rename to hash_remove_from_table.
6522
65232008-07-19 Seiji Zenitani <zenitani@mac.com>
6524
6525 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
6526 strdup() the family UTF8String before modifying it.
6527
65282008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
6529
6530 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
6531 NS_FACE_BACKGROUND with 0 instead of nil.
6532 * nsfont.m (nsfont_draw): Same.
6533
65342008-07-19 Chong Yidong <cyd@stupidchicken.com>
6535
6536 * nsfns.m (ns_set_background_color): Fix crash.
6537
65382008-07-18 Chong Yidong <cyd@stupidchicken.com>
6539
6540 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
6541
65422008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
6543
6544 * puresize.h (BASE_PURESIZE): Increase to 1240000.
6545
65462008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6547
6548 * gtkutil.c: Include <config.h> instead of "config.h".
6549
6550 * lisp.h (Foverlay_buffer): Add EXFUN.
6551
6552 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
6553 child process to complete child_setup. Undo 2005-09-21 change.
6554
6555 * s/darwin.h: Mention setsid after vfork.
6556
65572008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6558
6559 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
6560 Depend on macgui.h.
6561
6562 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
6563 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
6564
6565 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
6566 and f19.
6567 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
6568
6569 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
6570 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
6571 Remove enumerators.
6572
6573 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
6574 Check if FACE_FROM_ID returns NULL.
6575
65762008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
6577
6578 * w32inevt.c (change_frame_size): Remove extern declaration.
6579 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
6580 change_frame_size.
6581
65822008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
6583
6584 * getloadavg.c: Revert last change (2008-07-15).
6585
65862008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
6587
6588 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
6589 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
6590 from configure.
6591
65922008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
6593
6594 * s/sol2.h:
6595 * s/sol2-4.h: Reorganize conditionals.
6596
6597 * ecrt0.c: Remove code depending on m68000, not used anymore.
6598
6599 * fns.c (hash_remove): Make static.
6600 * lisp.h (hash_remove): Don't prototype.
6601
6602 * m/ibmrs6000.h:
6603 * m/ibms390x.h:
6604 * m/macppc.h: Remove boilerplate comments.
6605
6606 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
6607 Solaris, which does not need them.
6608
6609 * m/vax.h: Remove comments about unsupported systems.
6610
6611 * s/darwin.h: Reorganize ifdefs.
6612
66132008-07-17 Andreas Schwab <schwab@suse.de>
6614
6615 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
6616
66172008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
6618
6619 Use SDATA. Follow coding convention of placing operators at
6620 beginning of next line rather than end of previous line, and placing
6621 spaces around infix operators.
6622
6623 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
6624 in case it was defined already.
6625 USE @GNUSTEP_MAKEFILES@ rather than envvars.
6626 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
6627 ns_default.
6628 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
6629 Lisp_Objects.
6630 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
6631 (ns_defined_color, ns_color_to_lisp): Declare.
6632 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
6633 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
6634 it's accepted even with USE_LISP_UNION_TYPE.
6635 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
6636 (update_frame_tool_bar): Remove apparently obsolete tests for
6637 non-integerness of f->tool_bar_lines.
6638 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
6639 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
6640 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
6641 (nsfont_open): Don't confuse NULL for Qnil.
6642 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
6643 * menu.h (find_and_call_menu_selection):
6644 * menu.c (find_and_call_menu_selection): Use just int for vector size.
6645 (find_and_return_menu_selection): Always return something.
6646 * frame.h: Include dispextern.h for Display_Info.
6647 (display_x_get_resource): Declare.
6648
66492008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
6650
6651 * syntax.c: Remove stdio.h include accidentally introduced in
6652 Emacs.app commit.
6653 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
6654 NS_IMPL_COCOA.
6655 * keyboard.c (handle_async_input, input_available_signal): Remove
6656 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
6657
66582008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
6659
6660 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
6661 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
6662 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
6663 Use SDATA.
6664
6665 * keymap.c: Remove all NS-specific code.
6666 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
6667 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
6668 where_is_preferred_modifier, return a different value depending on how
6669 preferred is the binding.
6670 (where_is_internal): Adjust accordingly.
6671 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
6672 Adjust to new preferred_sequence_p.
6673 (syms_of_keymap): Declare `where-is-preferred-modifier'.
6674 * keyboard.c (parse_solitary_modifier): Not static any more.
6675 * keyboard.h (parse_solitary_modifier): Declare.
6676
66772008-07-16 Andreas Schwab <schwab@suse.de>
6678
6679 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
6680 of easymenu.
6681
66822008-07-16 Chong Yidong <cyd@stupidchicken.com>
6683
6684 * xdisp.c (move_it_in_display_line): Account for word wrap, so
6685 that we don't move off the line.
6686
66872008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
6688
6689 * keyboard.c (Qsuper): Remove.
6690 (parse_menu_item): Don't call where_is_internal specially for NS.
6691
66922008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
6693
6694 * s/gnu-linux.h: Remove boilerplate comments.
6695
6696 * m/alpha.h (__ELF__): Consolidate conditions.
6697
6698 * m/m68k.h (linux): Use GNU_LINUX instead.
6699 Remove boilerplate comments.
6700
6701 * m/intel386.h: Undo refactoring from previous change.
6702 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
6703 too, remove dead code.
6704 (linux): Use GNU_LINUX instead.
6705
67062008-07-16 Jason Rumney <jasonr@gnu.org>
6707
6708 * w32gui.h: Repeat 26 June changes lost by last change.
6709
67102008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
6711
6712 * systty.h: Remove code for Aix on 386, unsupported platform.
6713
6714 * s/ms-w32.h: Remove boilerplate comments.
6715 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
6716
6717 * s/gnu-linux.h (TERM): Remove support.
6718 (HAVE_SYSVIPC): Remove, unused.
6719 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
6720 for this system.
6721
6722 * process.c: Remove support for IRIS, unused.
6723 Remove support for TERM, not relevant anymore.
6724
6725 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
6726 used with the definition.
6727
6728 * s/aix4-2.h (static): Do not undef.
6729
6730 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
6731 only used on Aix.
6732 (HAVE_SYSVIPC): Remove, unused.
6733
6734 * m/hp800.h (CANNOT_DUMP): Do not undef.
6735
6736 * m/alpha.h: Fix comment.
6737
6738 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
6739 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
6740 used by this configuration.
6741 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
6742 * unexec.c: Remove code depending on HPUX and
6743 USG_SHARED_LIBRARIES, not used with this file. Remove code
6744 depending on IRIS, unused. Remove if 0-ed code.
6745
6746 * s/template.h: Remove comments about static.
6747
6748 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
6749 Remove if 0-ed code.
6750 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
6751 were the same as the default.
6752 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
6753 Remove boilerplate comments.
6754 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
6755 (HAVE_SYSVIPC): Remove, unused.
6756 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
6757
6758 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
6759 Remove boilerplate comments.
6760 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
6761 Remove boilerplate comments.
6762 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
6763 Remove boilerplate comments.
6764 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
6765
6766 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
6767 USG systems which do not use DATA_SEG_BITS.
6768 Refactor code. Remove boilerplate comments.
6769
6770 * m/ibms390.h:
6771 * m/m68k.h:
6772 * s/bsd-common.h:
6773 * s/cygwin.h:
6774 * s/darwin.h:
6775 * s/freebsd.h:
6776 * s/gnu.h:
6777 * s/msdos.h: Remove boilerplate comments.
6778
6779 * m/iris4d.h: Remove boilerplate comments and code for systems that
6873acca 6780 do not use this file.
aac0c6e3
MR
6781 (IRIS_4D): Remove, unused.
6782
6783 * m/mips.h: Remove boilerplate comments and code for systems that
6873acca 6784 do not use this file.
aac0c6e3
MR
6785 (SIGN_EXTEND_CHAR):
6786 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
6787 * unexmips.c: Remove file, unused.
6788
6789 * editfns.c (Fuser_full_name): Replace the only use of
6790 USER_FULL_NAME with its value.
6791 * config.in: Regenerate.
6792
67932008-07-16 David Reitter <david.reitter@gmail.com>
6794
6795 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
6796 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
6797
67982008-07-16 Glenn Morris <rgm@gnu.org>
6799
6800 * emacs.c (system-type): Doc fix.
6801
68022008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
6803
6804 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
6805 If the cache doesn't work, let's fix it, rather than work around it.
6806
68072008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
6808
6809 * Makefile.in: Correct additions for nsfont.o in last commit.
6810 * nsfont.m: New file (forgot last commit).
6811
68122008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
6813
6814 * callproc.c (set_initial_environment): Initialize
6815 Vprocess_environment under CANNOT_DUMP (fixes crash when
6816 batch-compiling for bootstrap).
6817
68182008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
6819 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6820
6821 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
6822 fix crash due to different init order.
6823
68242008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
6825
6826 Changes and additions for NeXTstep windowing system (Cocoa and
6827 GNUstep) support.
6828
6829 * Makefile.in:
6830 * config.in: Support defines and build commands for NS port.
6831 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
6832 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
6833 * dispextern.h: Include nsgui.h and add needed typedefs under NS
6834 windowing.
6835 (struct face): Add synth_ital field.
6836 * dispnew.c: Include nsterm.h when compiling under NS windowing.
6837 (init_display): Initialize Vinitial_window_system to "ns" when so
6838 compiled.
6839 * emacs.c: Include GSConfig.h when compiling under GNUstep.
6840 (display_arg): Use under NS.
6841 (main): Under NS, allocate autorelease pool and handle command line
6842 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
6843 (standard_args): Add NS-specific args.
6844 (shut_down_emacs): Shut down NS terminal if compiled under NS.
6845 * font.c (DEFAULT_ENCODING): New variable.
6846 (font_find_for_lface): Use it.
6847 (syms_of_font): Load syms_of_nsfont under NS.
6848 * font.h: Declare nsfont_driver when compiled under NS.
6849 * fontset.c: When compiling under NS, include nsterm.h.
6850 (fontset_from_font): Autoconstruct fontset under NS.
6851 * frame.c (various): Under NS, include nsterm.h, add Qns window system
6852 symbol, document and use it.
6853 (do_switch_frame): When for_deletion under Cocoa, add
6854 Fraise_frame(Qnil).
6855 (x_set_frame_parameters): Ensure font attribute changes are picked up.
6856 (x_get_arg): Allow "yes" and "no" as boolean values.
6857 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
6858 Qright under Cocoa.
6859 (focus-follows-mouse): Default to 0 under NS.
6860 * frame.h (enum output_method): Add output_ns.
6861 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
6862 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
6863 (FRAME_WINDOW_P): NS-specific definition.
6864 * fringe.c (max_used_fringe_bitmap): Make public.
6865 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
6866 (getloadavg): Use NeXT code under descendant OS's.
6867 * image.c (includes and header section, x_create_bitmap_from_data)
6868 (x_create_bitmap_from_file, free_bitmap_record, image_background)
6869 (image_background_transparent, x_clear_image_1)
6870 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
6871 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
6872 (x_to_xcolors, x_from_xcolors, x_disable_image)
6873 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
6874 other GUIs, including XPM support using code originally written for
6875 Carbon GUI.
6876 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
6877 using NS API.
6878 (image_ascent): Use font metrics macros instead of direct struct field
6879 access.
6880 * keyboard.c (includes): Add nsterm.h when compiling under NS.
6881 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
6882 Also, handle NS as GTK for menu bar purposes.
6883 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
6884 toolkit where they differ.
6885 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
6886 use cachelist, still needed under NS.
6887 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
6888 (struct widget_value): Define it here for menu.c.
6889 * keymap.c (includes): Include modifier internals.
6890 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
6891 NS.
6892 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
6893 support for preferring sequences using certain modifiers, specified by
6894 the FIRSTONLY argument.
6895 * lisp.h (hash_remove): Rename to avoid name clash when compiling
6896 under NS GNUstep implementation.
6897 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
6898 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
6899 * menu.c: Include nsterm.h under NS.
6900 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
6901 (free_menubar_widget_tree_value, update_submenu_strings)
6902 (find_and_call_menu_selection): Treat NS as X and NT.
6903 (find_and_return_menu_selection): New function, used for popup menus.
6904 * nsgui.h:
6905 * nsterm.h:
6906 * nsfns.m:
6907 * nsimage.m:
6908 * nsmenu.m:
6909 * nsselect.m:
6910 * nsterm.m: New files.
6911 * process.c (wait_reading_process_output): Under NS, call ns_select()
6912 instead of plain select().
6913 * syntax.c (char_quoted): Under NS, avoid a crash when called near
6914 beginning of buffer.
6915 * sysselect.h (init_process): Rename when compiling under Cocoa to
6916 avoid name conflict.
6917 * termhooks.h (display_info): Add ns_display_info to union.
6918 * terminal.c (Fterminal_live_p): Add ns to terminal types.
6919 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
6920 COCOA environment.
6921 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
6922 unexec() signature. (Note, this will dump, but the resulting file
6923 crashes; unexosx is used instead; keeping around for reference and
6924 possible aid in getting dump working under GNUstep.)
6925 * w32gui.h (button_type, widget_value): Remove definitions (now in
6926 keyboard.h).
6927 * window.c: Include nsterm.h when compiling under NS.
6928 * xdisp.c (includes): Include nsterm.h when compiling under NS.
6929 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
6930 other GUI windowing systems.
6931 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
6932 GTK.
6933 (x_consider_frame_title): Under NS, set icon type and frame
6934 modified-state indicator; use ns_set_name_as_filename() when using
6935 formatted title.
6936 (update_window_cursor): Make public when compiling under NS.
6937 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
6938 (hourglass_atimer, Vhourglass_delay
6939 * xfaces.c (header section, init_frame_faces, clear_font_table)
6940 (defined_color, unload_color, x_face_list_fonts)
6941 (prepare_face_for_display): Add NS support parallel to other GUIs.
6942 Emulate GCs like other non-X GUIs.
6943 (split_font_name): Don't lowercase font name under NS.
6944 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
6945 under NS.
6946 * s/darwin.h: Add support for compilation under NS.
6947
69482008-07-15 Jason Rumney <jasonr@gnu.org>
6949
6950 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
6951 (w32_show_hourglass): Rename from show_hourglass.
6952 (w32_hide_hourglass): Rename from hide_hourglass.
6953 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
6954 (Vhourglass_delay): Declare extern.
6955 (hourglass_started): Remove.
6956
6957 * xdisp.c (Vhourglass_delay): Remove static.
6958 (hourglass_started, start_hourglass, cancel_hourglass):
6959 Don't include these versions on WINDOWSNT.
6960
69612008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
6962
6963 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
6964 variables (formerly in xfns.c).
6965 (show_hourglass, hide_hourglass): New prototypes (same).
6966 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
6967 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
6968 in xfns.c).
6969 (syms_of_xdisp): Declare/initialize display-hourglass,
6970 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
6971 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
6972 formerly in xfns.c.
6973 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
6974 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
6975 (start_hourglass, cancel_hourglass): Remove.
6976 (show_hourglass, hide_hourglass): Remove prototypes and static
6977 modifiers.
6978 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
6979 hourglass_atimer, hourglass_shown_p declaration/initialization.
6980 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
6981 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
6982 (start_hourglass, cancel_hourglass): Remove.
6983 (show_hourglass, hide_hourglass): Remove prototypes and static
6984 modifiers.
6985 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
6986 hourglass_atimer, hourglass_shown_p declaration/initialization.
6987 * w32fns.c (display_hourglass_p, Vhourglass_delay)
6988 (DEFAULT_HOURGLASS_DELAY): Remove.
6989 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
6990 hourglass_shown_p declaration/initialization.
6991
69922008-07-14 Jason Rumney <jasonr@gnu.org>
6993
6994 * w32fns.c (w32_get_arg): Remove wrapper function.
6995 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
6996 directly.
6997 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
6998
69992008-07-14 Kenichi Handa <handa@m17n.org>
7000
7001 * xfont.c (xfont_open): Add workaround for X's bug.
7002
70032008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
7004
7005 * fontset.c: Include <stdio.h> unconditionally.
7006
70072008-07-13 Michael Albinus <michael.albinus@gmx.de>
7008
7009 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
7010 for filtering.
7011
70122008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
7013
7014 * s/vms.h: Use __GNUC__ instead of _GNUC_.
7015
7016 * m/macppc.h:
7017 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
7018
7019 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
7020 (SPECIAL_EMACS_INT):
7021 * m/ia64.h (SPECIAL_EMACS_INT):
7022 * m/amdx86-64.h (SPECIAL_EMACS_INT):
7023 * s/gnu.h (NLIST_STRUCT):
7024 * s/aix4-2.h (X11R5_INHIBIT_I18N):
7025 * s/gnu-linux.h (LINUX):
7026 * s/msdos.h (HAVE_FACES):
7027 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
7028
7029 * systty.h:
7030 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
7031 anymore.
7032
70332008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
7034
7035 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
7036 always defined as int.
7037
7038 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
7039 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
7040 * s/gnu-linux.h (HAVE_WAIT_HEADER):
7041 * s/freebsd.h (HAVE_WAIT_HEADER):
7042 * s/bsd-common.h (HAVE_UNION_WAIT):
7043 * s/aix4-2.h (HAVE_WAIT_HEADER):
7044 * m/mips.h (HAVE_UNION_WAIT):
7045 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
7046 (COFF, static): Do not define, they are undefined later in the file.
7047
7048 * process.c (update_status): Don't use a union.
7049 (status_convert):
7050 (sigchld_handler): Use int instead of WAITTYPE.
7051
70522008-07-12 Chong Yidong <cyd@stupidchicken.com>
7053
7054 * indent.c (Fvertical_motion): Restore hscroll before moving to
7055 goal column.
7056
70572008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
7058
7059 * lisp.h: Remove left over code.
7060
70612008-07-11 Andreas Schwab <schwab@suse.de>
7062
7063 * lisp.h: Fix logic in last change.
7064
7065 * menu.h: New file.
7066 * menu.c: Include it.
7067 * xmenu.c: Likewise.
7068 * Makefile.in: Update dependencies.
7069
70702008-07-11 Kenichi Handa <handa@m17n.org>
7071
7072 * fontset.c (fontset_from_font): Cancel the previous change.
7073
70742008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
7075
7076 * lisp.h:
7077 * w32heap.c:
7078 * emacs.c:
7079 * alloc.c: Replace all references of NO_UNION_TYPE with
7080 USE_LISP_UNION_TYPE.
7081
7082 * m/xtensa.h (NO_UNION_TYPE):
7083 * m/vax.h (NO_UNION_TYPE):
7084 * m/template.h (NO_UNION_TYPE):
7085 * m/sparc.h (NO_UNION_TYPE):
7086 * m/mips.h (NO_UNION_TYPE):
7087 * m/macppc.h (NO_UNION_TYPE):
7088 * m/m68k.h (NO_UNION_TYPE):
7089 * m/iris4d.h (NO_UNION_TYPE):
7090 * m/intel386.h (NO_UNION_TYPE):
7091 * m/ibms390x.h (NO_UNION_TYPE):
7092 * m/ibms390.h (NO_UNION_TYPE):
7093 * m/ibmrs6000.h (NO_UNION_TYPE):
7094 * m/ia64.h (NO_UNION_TYPE):
7095 * m/hp800.h (NO_UNION_TYPE):
7096 * m/arm.h (NO_UNION_TYPE):
7097 * m/amdx86-64.h (NO_UNION_TYPE):
7098 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
7099 defining it the same.
7100
71012008-07-10 Chong Yidong <cyd@stupidchicken.com>
7102
7103 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
7104
71052008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
7106
7107 * fileio.c:
7108 * sysdep.c
7109 * systty.h:
7110 * m/ibmrs6000.h:
7111 * m/iris4d.h:
7112 * s/aix4-2.h:
7113 * s/freebsd.h:
7114 * s/gnu-linux.h:
7115 * s/hpux10-20.h:
7116 * s/hpux11.h:
7117 * s/netbsd.h:
7118 * s/sol2-3.h:
7119 * s/sol2-4.h:
7120 * s/sol2.h:
7121 * s/usg5-4.h:
7122 * s/vms.h: Remove references to unused variables.
7123
71242008-07-10 Andreas Schwab <schwab@suse.de>
7125
7126 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
7127 pattern before matching the generic family.
7128
71292008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
7130
7131 * unexec.c:
7132 * s/vms.h:
7133 * s/usg5-4-2.h:
7134 * s/sol2-5.h:
7135 * s/freebsd.h:
7136 * s/darwin.h: Remove dead code.
7137
7138 * m/template.h:
7139 * m/sparc.h:
7140 * m/mips.h:
7141 * m/m68k.h:
7142 * m/iris4d.h:
7143 * m/intel386.h:
7144 * m/ibms390x.h:
7145 * m/ibms390.h:
7146 * m/ia64.h:
7147 * m/hp800.h:
7148 * m/arm.h:
7149 * m/amdx86-64.h: Remove dead code and references to unused
7150 and compiler defined symbols.
7151
7152 * unexmips.c:
7153 * unexelf.c: Remove references to desupported systems.
7154
7155 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
7156
7157 * m/powermac.h: Remove boilerplate comments.
7158 (NO_REMAP): Remove unused definition.
7159
7160 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
7161 define them.
7162
71632008-07-10 Kenichi Handa <handa@m17n.org>
7164
7165 * xfont.c (xfont_open): Log the reason of failure.
7166
71672008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
7168
7169 * fontset.c (fontset_get_font_group):
7170 * font.c (font_check_otf): Specify argument types.
7171
71722008-07-09 Kenichi Handa <handa@m17n.org>
7173
7174 * coding.c (detect_coding_utf_8): Set detect_info->found only when
7175 non-ASCII char is found.
7176
7177 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
7178 (reorder_font_vector): Change the arg preferred_family to font.
7179 Prefer the spec matching with font.
7180 (fontset_get_font_group): New function.
7181 (fontset_find_font): Change the format of an element of a realized
7182 fontset. Use fontset_get_font_group.
7183 (fontset_font): Try the current fontset, the default fontset, the
7184 fallbacks of the current fontset, and the fallbacks of the default
7185 fontset in this order.
7186 (face_for_char): Delete the shortcut to use the current font.
7187 (fontset_from_font): Don't set fonts for Latin in the fontset.
7188
7189 * font.h (font_make_object, font_match_p): Adjust prototypes.
7190
7191 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
7192
7193 * font.c (font_make_object): New arg entity and pixelsize.
7194 (font_check_otf_features, font_check_otf): New functions.
7195 (font_match_p): Check :lang, :script, and :otf properties.
7196
7197 * xfont.c (xfont_open): Adjust it for the change of
7198 font_make_object.
7199 (xfont_text_extents): Fix initial setting of metrics.
7200
7201 * ftfont.c (struct ftfont_info): New member index, delete member
7202 fc_charset_idx. Make the member order compatible with struct
7203 xftfont_info.
7204 (fc_charset_table): Change charset names to registry names.
7205 (ftfont_pattern_entity): Delete the args registry and
7206 fc_charset_idx. Change the value of :font-entity property
7207 to (FONTNAME . INDEX). Always set :registry property to
7208 `iso10646-1'.
7209 (struct ftfont_cache_data): New struct.
7210 (ftfont_lookup_cache): New arg for_face.
7211 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
7212 (ftfont_driver): Set the member otf_capability.
7213 (ftfont_get_charset): Adjust it for the change of
7214 fc_charset_table.
7215 (OTF_TAG_SYM): New macro.
7216 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
7217 for the change of fc_charset_table.
7218 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
7219 ftfont_pattern_entity. Add FC_INDEX to objset.
7220 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
7221 and ftfont_pattern_entity.
7222 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
7223 font_make_object, struct ftfont_info.
7224 (ftfont_has_char): Use ftfont_get_fc_charset.
7225 (ftfont_otf_features, ftfont_otf_capability): New functions.
7226 (ftfont_shape): Use ftfont_get_otf.
7227 (ftfont_text_extents): Fix initial setting of metrics.
7228
7229 * xftfont.c (struct xftfont_info): New member ft_size. Make the
7230 member order compatible with struct ftfont_info.
7231 (xftfont_open): Add FC_CHARSET to the pattern. Set
7232 xftfont_info->ft_size. Don't unlock the face. Check BDF
7233 properties if appropriate.
7234 (xftfont_close): Unlock the face.
7235 (xftfont_anchor_point, xftfont_shape): Deleted.
7236 (syms_of_xftfont): Don't set members anchor_point and shape of
7237 xftfont_driver.
7238
7239 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
7240 font_make_object.
7241
7242 * w32font.c (w32font_open): Adjust it for the change of
7243 font_make_object.
7244 (w32font_open_internal): Don't set properties of font_object here.
7245
72462008-07-08 Chong Yidong <cyd@stupidchicken.com>
7247
7248 * macfns.c (x_create_tip_frame):
7249 * w32fns.c (x_create_tip_frame):
7250 * xfns.c (x_create_tip_frame): Pass parameter argument to
7251 face-set-after-frame-default.
7252
7253 * xfaces.c (Finternal_merge_in_global_face): Save merged
7254 attributes for the default face back into the face vector.
7255
72562008-07-08 Andreas Schwab <schwab@suse.de>
7257
7258 * fontset.h: Declare fontset_from_font. Don't declare
7259 new_fontset_from_font and fontset_from_font_name.
7260 * xterm.c: Include "fontset.h".
7261 * Makefile.in (xterm.o): Update dependencies.
7262
72632008-07-08 Glenn Morris <rgm@gnu.org>
7264
7265 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
7266 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
7267
72682008-07-07 Chong Yidong <cyd@stupidchicken.com>
7269
7270 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
7271 (x_set_frame_parameters): Don't bind it.
7272
72732008-07-07 Juanma Barranquero <lekktu@gmail.com>
7274
7275 * w32fns.c (map_w32_filename): Declare extern.
7276
72772008-07-07 Jason Rumney <jasonr@gnu.org>
7278
7279 * w32term.c (WS_EX_LAYERED): Define if not already.
7280
72812008-07-06 Chong Yidong <cyd@stupidchicken.com>
7282
7283 * xfaces.c (set_font_frame_param): Don't try to set the font
7284 parameter if it is still unspecified in the lface.
7285
72862008-07-05 Chong Yidong <cyd@stupidchicken.com>
7287
7288 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
7289 face if it didn't already exist.
7290
7291 * xdisp.c (try_window_id): Give up if word-wrapping is on.
7292
72932008-07-05 Andreas Schwab <schwab@suse.de>
7294
7295 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
7296
72972008-07-05 Chong Yidong <cyd@stupidchicken.com>
7298
7299 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
7300 word-wrapping.
7301 (IT_DISPLAYING_WHITESPACE): New macro.
7302 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
7303 when word-wrapping. Simplify word-wrapping logic. Use correct
7304 pixel positions when saving copies of the iterator.
7305 (display_line): Use proper wrap point if the last character on a
7306 line was preceded by whitespace.
7307
73082008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
7309
7310 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
7311
73122008-07-04 Kenichi Handa <handa@m17n.org>
7313
7314 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
7315
7316 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
7317
73182008-07-02 Jason Rumney <jasonr@gnu.org>
7319
7320 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 7321 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
7322
7323 * xdisp.c (next_element_from_display_vector): Move assignment out
7324 of if statement.
7325
73262008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
7327
7328 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
7329
7330 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
7331 (syms_of_fileio): Initialize and export them.
7332 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
7333
7334 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
7335 (Fsystem_move_file_to_trash): New function.
7336 (syms_of_w32fns): Export it to lisp.
7337
73382008-07-01 Jason Rumney <jasonr@gnu.org>
7339
7340 * w32font.c (w32font_text_extents): Don't count overhang as part
7341 of width.
7342
73432008-06-30 Miles Bader <miles@gnu.org>
7344
7345 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
7346 Add `avoid_cursor_p' field.
7347
7348 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
7349 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
7350 (append_glyph, append_composite_glyph, produce_image_glyph)
7351 (append_stretch_glyph): Initialize avoid_cursor_p.
7352 (get_it_property): Rename from `get_line_height_property'.
7353 (x_produce_glyphs): Use get_it_property.
7354 (handle_line_prefix, push_display_prop): New functions.
7355 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
7356 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
7357 New variables.
7358 (syms_of_xdisp): Initialize them.
7359
73602008-06-30 Kenichi Handa <handa@m17n.org>
7361
7362 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
7363 XftDefaultSubstitute (they are called in XftFontMatch).
7364 (xftfont_open): Fix args to ftfont_font_format.
7365
7366 * ftfont.c (fc_charset_table): New member lang.
7367 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 7368 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
7369 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
7370 (ftfont_open): Fix args to ftfont_font_format.
7371 (ftfont_font_format): New arg filename.
7372
73732008-06-30 Chong Yidong <cyd@stupidchicken.com>
7374
7375 * xfaces.c (Finternal_merge_in_global_face): If default face was
7376 modified, realize it again. Update the font face attribute.
7377
73782008-06-29 Jason Rumney <jasonr@gnu.org>
7379
7380 * w32term.c (x_set_frame_alpha): Fix logic.
7381
73822008-06-29 Kenichi Handa <handa@m17n.org>
7383
7384 * fontset.c (Finternal_char_font): Return font-object instead of
7385 font-name.
7386
7387 * composite.c (get_composition_id): Fix the width calculation for TAB.
7388
73892008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
7390
7391 * indent.c (Fvertical_motion): Properly handle float column arg.
7392
73932008-06-28 Jason Rumney <jasonr@gnu.org>
7394
7395 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
7396 (pfnSetLayeredWindowAttributes): New function pointer.
7397 (w32_initialize): Initialize it when supported.
7398 (x_set_frame_alpha): New function.
7399
7400 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
7401 (w32_frame_parm_handlers): Set alpha handler.
7402
7403 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
7404
74052008-06-27 Jason Rumney <jasonr@gnu.org>
7406
7407 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
7408 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
7409 (w32_to_x_charset, x_to_w32_charset)
7410 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
7411 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
7412 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
7413 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
7414 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
7415 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
7416 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
7417 (Qw32_charset_unicode): Remove.
7418 (syms_of_w32fns): Update for above changes.
7419
7420 * w32font.c (w32_to_x_charset, x_to_w32_charset)
7421 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
7422 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
7423 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
7424 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
7425 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
7426 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
7427 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
7428 (syms_of_w32font): Update for above changes.
7429
74302008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
7431
7432 * s/usg5-4.h: Fix previous change: keep the correct branch of a
7433 removed #if.
7434 (USG_SHARED_LIBRARIES): Remove duplicate definition.
7435
74362008-06-26 Juanma Barranquero <lekktu@gmail.com>
7437 Eli Zaretskii <eliz@gnu.org>
7438
7439 * makefile.w32-in (LOCAL_FLAGS):
7440 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
7441
7442 * sysdep.c (_spawnlp, _getpid):
7443 Declare with explicit _cdecl instead of _CRTAPI1.
7444
7445 * editfns.c (Fget_internal_run_time):
7446 Check for WINDOWSNT with #ifdef, not #if.
7447
74482008-06-26 Jason Rumney <jasonr@gnu.org>
7449
7450 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
7451
7452 * w32term.c (x_draw_glyph_string_foreground)
7453 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
7454 Use FONT_HANDLE macro.
7455 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
7456
7457 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
7458 (uniscribe_encode_char): Use FONT_HANDLE macro.
7459
7460 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
7461 (w32font_text_extents): Use precast w32_font.
7462 (w32font_close): Free cached metrics.
7463 (w32font_open_internal): Allocate space for name on stack.
7464
74652008-06-26 Chong Yidong <cyd@stupidchicken.com>
7466
7467 * xdisp.c (extend_face_to_end_of_line): Fix last change.
7468
74692008-06-26 Jason Rumney <jasonr@gnu.org>
7470
7471 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
7472 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
7473
74742008-06-26 Juanma Barranquero <lekktu@gmail.com>
7475
7476 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
7477
74782008-06-26 Jason Rumney <jasonr@gnu.org>
7479
7480 * w32bdf.c, w32bdf.h: Remove obsolete files.
7481
7482 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
7483
7484 * w32gui.h: Don't include w32bdf.h.
7485 (XCharStruct, enum w32_char_font_type, W32FontStruct):
7486 Remove obsolete font support.
7487
7488 * w32font.h (struct w32font_info): Remove compat_w32_font.
7489 Add hfont member.
7490 (FONT_COMPAT): Remove obsolete macro.
7491
7492 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
7493 (w32font_encode_char, w32font_text_extents): Use new hfont member.
7494 (w32font_open_internal): Remove compat code. Set new hfont member.
7495 (Fx_select_font): Use new hfont member.
7496
7497 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
7498 (uniscribe_encode_char): Use new hfont member.
7499
7500 * w32term.c (x_draw_glyph_string_foreground)
7501 (x_draw_composite_glyph_string_foreground): Use new hfont member.
7502 (x_draw_glyph_string): Use metrics in w32font_info.
7503
75042008-06-26 Kenichi Handa <handa@m17n.org>
7505
7506 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
7507
75082008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
7509
7510 * unexnext.c:
7511 * m/ews4800.h:
7512 * m/hp9000s300.h:
7513 * m/ibm370aix.h:
7514 * m/mips-siemens.h:
7515 * m/ncr386.h:
7516 * m/next.h:
7517 * m/pmax.h:
7518 * m/powerpcle.h:
7519 * m/tandem-s2.h:
7520 * s/386bsd.h:
7521 * s/bsd386.h:
7522 * s/bsd4-1.h:
7523 * s/bsd4-2.h:
7524 * s/bsdos2-1.h:
7525 * s/bsdos2.h:
7526 * s/bsdos3.h:
7527 * s/bsdos4.h:
7528 * s/nextstep.h:
7529 * s/ultrix4-3.h:
7530 * s/usg5-0.h:
7531 * s/usg5-2-2.h:
7532 * s/usg5-2.h:
7533 * s/usg5-4-3.h:
7534 * s/ux4800.h:
7535 * s/uxpds.h:
7536 * s/uxpv.h: Remove support for obsolete systems.
7537 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 7538 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
7539 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
7540 Remove, insert contents in s/aix4-2.h.
7541 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
7542 * s/bsd4-3.h: Rename to ...
7543 * s/bsd-common.h: ... this.
7544 * data.c:
7545 * doc.c:
7546 * ecrt0.c:
7547 * emacs.c:
7548 * fileio.c:
7549 * floatfns.c:
7550 * keyboard.c:
7551 * mem-limits.h:
7552 * print.c:
7553 * process.c:
7554 * sysdep.c:
7555 * syssignal.h:
7556 * systty.h:
7557 * syswait.h:
7558 * term.c:
7559 * unexec.c:
7560 * unexelf.c:
7561 * unexhp9k800.c:
7562 * m/hp800.h:
7563 * m/ibmrs6000.h:
7564 * m/mips.h:
7565 * m/vax.h:
7566 * s/darwin.h:
7567 * s/freebsd.h:
7568 * s/gnu.h:
7569 * s/ms-w32.h:
7570 * s/msdos.h:
7571 * s/netbsd.h:
7572 * s/template.h: Remove references to obsolete variables.
7573
7574 * Makefile.in: Add dependencies for all unexec files.
7575 (admindir): Remove unused variable.
7576 (UNEXEC_SRC): Remove references.
7577
75782008-06-25 Chong Yidong <cyd@stupidchicken.com>
7579
7580 * xfns.c (x_default_font_parameter): If Xft is available, first
7581 try Monospace-12 for the default font.
7582
75832008-06-25 Jason Rumney <jasonr@gnu.org>
7584
7585 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
7586
75872008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
7588
7589 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
7590
7591 * buffer.c (syms_of_buffer): Remove default-word-wrap.
7592
75932008-06-25 Juanma Barranquero <lekktu@gmail.com>
7594
7595 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
7596 <scroll-conservatively>: Fix typo in docstring.
7597
7598 * xselect.c (Fx_send_client_event): Doc fix.
7599
76002008-06-25 Kenichi Handa <handa@m17n.org>
7601
7602 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
7603
7604 * font.c (font_parse_fcname): Remove unused variables.
7605 (font_sort_entites): Delete the arg SPEC. Caller changed.
7606 Fix for the case of ! best_only.
7607 (font_delete_unmatched): Check DPI and AVGWIDTH too.
7608
7609 * lisp.h (Fstring_to_unibyte): EXFUN it.
7610
7611 * character.h (str_to_unibyte): Extern it.
7612
7613 * character.c (str_to_unibyte): New function.
7614
7615 * fns.c (Fstring_to_unibyte): New function.
7616 (syms_of_fns): Defsubr it.
7617
76182008-06-24 Kenichi Handa <handa@m17n.org>
7619
7620 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
7621 DPI too.
7622 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
7623
76242008-06-24 Andreas Schwab <schwab@suse.de>
7625
7626 * Makefile.in (${lispsource}loaddefs.el): Rename from
7627 ../lisp/loaddefs.el.
7628 (bootstrap-clean): Do what distclean does but don't remove
7629 Makefile.
7630 (distclean): Depend on bootstrap-clean and remove Makefile.
7631
76322008-06-24 Chong Yidong <cyd@stupidchicken.com>
7633
7634 * buffer.h (struct buffer): New member word_wrap.
7635
7636 * buffer.c (syms_of_buffer): New variables default-word-wrap and
7637 word-wrap.
7638 (init_buffer_once): Initialize them.
7639
7640 * dispextern.h (struct it): Replace bool truncate_lines_p with a
7641 line_wrap enum possessing three possible values.
7642
7643 * termopts.h: Replace truncate_partial_width_windows with
7644 Vtruncate_partial_width_windows.
7645
7646 * dispnew.c (direct_output_for_insert): Avoid direct output when
7647 inserting a space with word wrap on.
7648
7649 * indent.c (compute_motion): Obey integer values of
7650 truncate-partial-width-windows.
7651
7652 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
7653 replacing truncate_partial_width_windows.
7654 (init_iterator): If Vtruncate_partial_width_windows is an integer,
7655 truncate only if the window width is below that integer.
7656 (start_display, resize_mini_window, produce_stretch_glyph)
7657 (display_string, move_it_in_display_line_to): Use line_wrap.
7658 (back_to_previous_visible_line_start, reseat_1): Reset
7659 string_from_display_prop_p.
7660 (display_line): Extend default face to end of line when wrapping.
7661
76622008-06-24 Kim F. Storm <storm@cua.dk>
7663
7664 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
7665 to wrap continued lines at word boundaries.
7666
76672008-06-24 Jason Rumney <jasonr@gnu.org>
7668
7669 * font.c (Ffont_face_attributes): Multiply pixel size before point
7670 conversion to avoid multiplying rounding error.
7671
76722008-06-23 Jason Rumney <jasonr@gnu.org>
7673
7674 * w32term.c (x_draw_glyph_string_background)
7675 (x_draw_glyph_string): Remove old bdf font code.
7676
7677 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
7678
76792008-06-22 Kenichi Handa <handa@m17n.org>
7680
7681 * font.c (font_find_for_lface): Try the adstyle specified in
7682 the property of LFACE_FONT of LFACE (if any).
7683
76842008-06-21 Seiji Zenitani <zenitani@mac.com>
7685 Ryo Yoshitake <ryo@shiftmode.net>
7686
7687 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
7688
76892008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
7690
7691 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
7692 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
7693 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
7694 (witness-emacs): Remove.
7695 (lisp, shortlisp): Move loaddefs.el earlier.
7696 (mostlyclean): Forget about witness-emacs.
7697
76982008-06-22 Glenn Morris <rgm@gnu.org>
7699
7700 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
7701 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
7702
77032008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
7704
7705 * Makefile.in (PRECOMP): Remove.
7706 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
7707 (witness-emacs): Run `compile-first'.
7708 (.el.elc): Use the new compile-onefile target.
7709
77102008-06-21 Kenichi Handa <handa@m17n.org>
7711
7712 * xftfont.c (xftfont_open): Handle QCembolden only when
7713 FC_EMBOLDEN is defined.
7714
77152008-06-21 Andreas Schwab <schwab@suse.de>
7716
7717 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
7718 (.el.elc): Likewise.
7719
77202008-06-21 Miles Bader <miles@gnu.org>
7721
7722 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
7723 build dir, not the lisp source dir.
7724
77252008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
7726
7727 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
7728 (bootstrapclean): Remove.
7729 (.el.elc): New rule.
7730 (PRECOMP): New var.
7731 (../lisp/subdirs.el): Remove.
7732 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
7733 (witness-emacs): New target.
7734 (mostlyclean): Remove witness-emacs as well.
7735 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
7736 Add witness-emacs dependency.
7737
77382008-06-20 Chong Yidong <cyd@stupidchicken.com>
7739
7740 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
7741 defined by the font.
7742
77432008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
7744
7745 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
7746 (bootstrap-clean): New target that keeps TAGS around.
7747 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
7748 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
7749
77502008-06-20 Jason Rumney <jasonr@gnu.org>
7751
7752 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
7753 Remove obsolete font code.
7754
7755 * w32font.c (font_matches_spec): Use csb bitfield from font signature
7756 to determine language support.
7757
77582008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
7759
7760 * sysdep.c (cfsetspeed): New fun extracted from the code.
7761 (cfmakeraw): Move before first use.
7762
77632008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
7764
7765 * sysdep.c (cfmakeraw): Provide fallback implementation.
7766 (serial_configure): Provide fallback implementation of cfsetspeed.
7767
77682008-06-20 Kenichi Handa <handa@m17n.org>
7769
7770 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
7771 the pattern.
7772
7773 * fontset.c (fontset_from_font): Copy font_spec before changing
7774 the elements.
7775
7776 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
7777
77782008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
7779
7780 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
7781 for explicit `font' parameters.
7782
7783 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
7784
77852008-06-19 Kenichi Handa <handa@m17n.org>
7786
7787 * frame.c: Include <ctype.h>.
7788 (x_set_font_backend): Allow spacing characters in the X resource
7789 for FontBackend.
7790
77912008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
7792
7793 * w32fns.c, xfns.c (Qfont_param): New var.
7794 (syms_of_w32fns): Initialize it.
7795 (x_default_font_parameter): Record explicit `font' into
7796 `font-parameter'.
7797
77982008-06-18 Kenichi Handa <handa@m17n.org>
7799
7800 * font.c (font_parse_xlfd): Fix previous change.
7801 (font_parse_fcname): Don't use :fc-unknown-spec.
7802 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
7803 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
7804 (font_add_log): Prepend the driver name to the resulting fonts.
7805
7806 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
7807 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
7808 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
7809
7810 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
7811 (QCembolden): New variables.
7812 (syms_of_xftfont): DEFSYM them.
7813 (xftfont_open): Call XftFontMatch. Don't trust the result of
7814 XftTextExtents8 if the pixel_size is less than 5.
7815
78162008-06-18 Andreas Schwab <schwab@suse.de>
7817
7818 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
7819 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
7820
78212008-06-18 Jason Rumney <jasonr@gnu.org>
7822
7823 * w32font.c (w32font_list, w32font_match): Add logging.
7824
7825 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
7826
78272008-06-17 Chong Yidong <cyd@stupidchicken.com>
7828
7829 * font.c (font_parse_fcname): Store divider characters for
7830 unknown-spec list. For known key symbols, intern using correct
7831 symbol name.
7832
78332008-06-17 Kenichi Handa <handa@m17n.org>
7834
7835 * xfaces.c (realize_default_face): If the frame is not on window
7836 system, set the fontset of face to nil.
7837
78382008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
7839
7840 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
7841
78422008-06-16 Juanma Barranquero <lekktu@gmail.com>
7843
7844 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
7845 (build_font_name_from_vector): Delete externs.
7846
7847 * xfaces.c (struct font_name): Don't declare.
7848
78492008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
7850
7851 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
7852
78532008-06-16 Chong Yidong <cyd@stupidchicken.com>
7854
7855 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
7856
78572008-06-16 Juanma Barranquero <lekktu@gmail.com>
7858
7859 * font.c (Ffont_spec): Fix usage in docstring.
7860 (Ffont_face_attributes): Doc fix.
7861
78622008-06-16 Andreas Schwab <schwab@suse.de>
7863
7864 * font.c (Ffont_face_attributes): Fix definition.
7865
78662008-06-16 Jason Rumney <jasonr@gnu.org>
7867
7868 * font.h (font_style_symbolic_from_value): Remove.
7869
7870 * font.c (font_style_symbolic_from_value): Remove.
7871 (font_style_symbolic): Revert to pre 2008-06-13 version.
7872
7873 * w32font.c (w32_to_fc_weight): New function.
7874 (w32font_full_name, logfont_to_fcname): Use it.
7875
78762008-06-16 Kenichi Handa <handa@m17n.org>
7877
7878 * font.c (font_check_object): Delete it.
7879 (font_clear_cache): Check if a font-object is alive.
7880 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
7881 font-object to nil.
7882 (font_close_object): Don't check FONT_CLOSE_OBJECT.
7883 (font_at): Don't call font_check_object.
7884 (Ffont_get): Return a symbol for :weight, :slant, and :width.
7885
78862008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
7887
7888 * puresize.h (BASE_PURESIZE): Increase to 1230000.
7889
78902008-06-16 Chong Yidong <cyd@stupidchicken.com>
7891
7892 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
7893
78942008-06-15 Chong Yidong <cyd@stupidchicken.com>
7895
7896 * font.c (font_parse_fcname): Only one decimal point.
7897 (font_unparse_fcname): Handle data in family and foundry indices
7898 as symbols, not strings.
7899 (font_unparse_gtkname, Ffont_face_attributes): New functions.
7900
7901 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
7902
7903 * font.h (font_unparse_gtkname): Add prototype.
7904
79052008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
7906
7907 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
7908
79092008-06-15 Andreas Schwab <schwab@suse.de>
7910
7911 * font.c (font_update_drivers): Fix crash when no drivers match.
7912
79132008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
7914
7915 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
7916 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
7917
79182008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
7919
7920 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
7921
79222008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
7923
7924 * process.c (Fserial_process_configure, Fprocess_send_eof):
7925 Use EQ to compare Lisp_Objects.
7926
79272008-06-13 Jason Rumney <jasonr@gnu.org>
7928
7929 * w32fns.c (Fw32_select_font): Remove old font API function.
7930
7931 * w32font.c (logfont_to_fcname): New function.
7932 (Fx_select_font): New font dialog function compatible with
7933 GTK/fontconfig version.
7934
7935 * font.c (font_style_symbolic_from_value): New function.
7936 (font_style_symbolic): Use it.
7937
7938 * font.h (font_style_symbolic_from_value): Declare new function.
7939
79402008-06-13 Juanma Barranquero <lekktu@gmail.com>
7941
7942 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
7943 <font-width-table>: Fix typos in docstrings.
7944
79452008-06-13 Daniel Engeler <engeler@gmail.com>
7946
7947 These changes add serial port access.
7948 * process.c: Add HAVE_SERIAL.
7949 (Fdelete_process, Fprocess_status, Fset_process_buffer)
7950 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
7951 (list_processes_1, select_wrapper, Fstop_process)
7952 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
7953 (status_notify): Modify to handle serial processes.
7954 [HAVE_SERIAL] (Fserial_process_configure)
7955 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
7956 New functions.
7957 * process.h (struct Lisp_Process): Add `type'.
7958 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
7959 New functions.
7960 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
7961 serial ports.
b71ac3dd 7962 (serial_open, serial_configure): New functions.
aac0c6e3
MR
7963 * w32.h: Add FILE_SERIAL.
7964 (struct _child_process): Add ovl_read, ovl_write.
7965
79662008-06-13 Kenichi Handa <handa@m17n.org>
7967
7968 * dispextern.h (enum lface_attribute_index): New member
7969 LFACE_FOUNDRY_INDEX.
7970
7971 * font.c (font_score): Delete arg alternate_families. Check only
7972 weight, slant, width, and size. Ignore the difference of alias
7973 style symbols.
7974 (font_sort_entites): Adjust for the above change. Reflect the
7975 order of font-driver to scores.
7976 (font_list_entities): Don't check alternate_familes here.
7977 (font_clear_prop): Handle foundry.
7978 (font_update_lface): Don't parse "foundry-family" form here.
7979 Handle FONT_FOUNDRY_INDEX.
7980 (font_find_for_lface): Likewise. Handle alternate families here.
7981 If registry is nil, try iso8859-1 and ascii-0.
7982 (font_open_for_lface): Pay attention to size in ENTITY.
7983 (font_open_by_name): Simplify by calling font_load_for_lface.
7984 (free_font_driver_list): Delete it.
7985 (font_update_drivers): Preserve the order of backends.
7986 (syms_of_font): Setting of sort_shift_bits adjusted for the change
7987 of font_score and font_sort_entites.
7988 (font_update_sort_order): Likewise.
7989
7990 * xfaces.c (LFACE_FOUNDRY): New macro.
7991 (check_lface_attrs): Check foundry.
7992 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
7993 (merge_face_vectors): Check foundry.
7994 (merge_face_ref): Likewise.
7995 (Finternal_set_lisp_face_attribute): Likewise.
7996 (x_update_menu_appearance): Likewise.
7997 (Finternal_get_lisp_face_attribute): Likewise.
7998 (lface_hash): Likewise.
7999 (lface_same_font_attributes_p): Likewise.
8000 (x_supports_face_attributes_p): Likewise.
8001 (tty_supports_face_attributes_p): Likewise.
8002 (Finternal_set_alternative_font_family_alist): Intern strings.
8003 (Finternal_set_alternative_font_registry_alist): Downcase strings.
8004 (realize_default_face): Set LFACE_FOUNDRY (lface).
8005
8006 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
8007 font-driver at first.
8008
8009 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
8010
80112008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
8012
8013 * lread.c (Fload): Use xfree, not free on saved_doc_string.
8014
80152008-06-12 Jim Meyering <meyering@redhat.com>
8016
8017 Make unexec_free handle NULL the same way free does.
8018 * unexmacosx.c (unexec_free): Ignore a NULL argument.
8019
80202008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
8021
8022 * character.h (CHAR_TO_BYTE_SAFE): New macro.
8023 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
8024 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
8025 (WEAK_ALIAS): Simplify.
8026 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
8027 when searching a unibyte buffer.
8028
80292008-06-12 Chong Yidong <cyd@stupidchicken.com>
8030
8031 * xfns.c (Fx_select_font): Rename from x-font-dialog.
8032
80332008-06-12 Juanma Barranquero <lekktu@gmail.com>
8034
8035 * w32font.c: Include ctype.h.
8036
80372008-06-11 Jason Rumney <jasonr@gnu.org>
8038
8039 * w32font.c (w32font_encode_char): Detect missing glyphs that are
8040 misreported as space.
8041 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
8042 as aliases for registry iso10646-1.
8043
80442008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
8045
8046 * buffer.c (clone_per_buffer_values): Skip `name'.
8047
80482008-06-11 Chong Yidong <cyd@stupidchicken.com>
8049
8050 * font.c (font_parse_fcname): Fix last change; accept decimal
8051 points in font size.
8052
80532008-06-10 Jason Rumney <jasonr@gnu.org>
8054
8055 * w32uniscribe.c (add_opentype_font_name_to_list):
8056 Skip non unicode fonts.
8057
80582008-06-10 Chong Yidong <cyd@stupidchicken.com>
8059
8060 * xfns.c (Fx_font_dialog): New function.
8061
8062 * gtkutil.c (xg_dialog_response_cb): Rename from
8063 xg_file_response_callback.
8064 (pop_down_dialog): Rename from pop_down_file_dialog.
8065 (xg_get_file_name): Callers changed.
8066 (xg_get_font_name): New function.
8067
8068 * gtkutil.h (xg_get_font_name): Insert prototype.
8069
80702008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
8071
8072 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
8073 x_underline_minimum_display_offset.
8074 (syms_of_xdisp): Declare it here rather than in xterm.c.
8075 * dispextern.h (underline_minimum_offset): Declare it.
8076 * w32term.c (x_draw_glyph_string): Use it.
8077 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
8078 (syms_of_xterm): Don't declare it any more.
8079 (x_draw_glyph_string): Adjust to the new name.
8080
80812008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
8082
8083 * xterm.c (x_underline_minimum_display_offset): New var.
8084 (x_draw_glyph_string): Use it.
8085 (syms_of_xterm): Declare it.
8086
80872008-06-10 Chong Yidong <cyd@stupidchicken.com>
8088
8089 * font.c (font_parse_fcname): Accept GTK-style font names too.
8090
80912008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
8092
8093 * dired.c (file_name_completion): Don't return t if the match is exact
8094 but with different capitalization.
8095 * minibuf.c (Ftry_completion): Simplify.
8096
8097 * window.c (Vwindow_point_insertion_type): New var.
8098 (set_window_buffer): Use it.
8099 (syms_of_window): Init and export it to Lisp.
8100
81012008-06-10 Kenichi Handa <handa@m17n.org>
8102
8103 * font.h (font_intern_prop): Prototype adjusted.
8104
8105 * font.c (font_intern_prop): New arg force_symbol.
8106 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
8107 Adjust for the change of font_intern_prop.
8108
8109 * ftfont.c (ftfont_pattern_entity):
8110 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
8111 (w32_registry):
8112 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
8113 the change of font_intern_prop.
8114
81152008-06-09 Juanma Barranquero <lekktu@gmail.com>
8116
8117 * w32menu.c (digest_single_submenu): Declare extern.
8118
81192008-06-09 Jason Rumney <jasonr@gnu.org>
8120
8121 * w32term.c (x_make_frame_visible): Use alternate restore flags.
8122
8123 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
8124 (parse_single_submenu): Remove.
8125 (digest_single_submenu): Remove.
8126 (syms_of_w32menu): Don't initialise variables that have moved
8127 to menu.c.
8128 (set_frame_menubar): Sync with version in xmenu.c.
8129 (w32_menu_show): Sync with xmenu_show in xmenu.c.
8130
8131 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
8132 Make static again.
8133
81342008-06-09 Jason Rumney <jasonr@gnu.org>
8135
8136 Changes to w32 files related to the move of common menu code
8137 to menu.c on 2008-06-08 by Chong Yidong.
8138
8139 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
8140 defs to w32gui.h.
8141 (single_keymap_panes, push_menu_item, push_menu_pane):
8142 Make globally visible.
8143
8144 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
8145 (local_free, malloc_widget_value, free_widget_value)
8146 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
8147 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
8148 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
8149 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
8150 (menu_items, menu_items_allocated, menu_items_used)
8151 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
8152 (init_menu_items, finish_menu_items, discard_menu_items)
8153 (grow_menu_items, push_submenu_start, push_submenu_end)
8154 (push_left_right_boundary, push_menu_pane, push_menu_item)
8155 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
8156 (free_menubar_widget_tree_value, parse_single_submenu)
8157 (update_submenu_strings): Remove functions.
8158 (xmalloc_widget_value): Remove and declare extern.
8159
8160 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
8161 (OBJ1): Build it.
8162
8163 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
8164 (local_heap, local_alloc, local_free, malloc_widget_value)
8165 (free_widget_value): Define here.
8166
81672008-06-09 Kenichi Handa <handa@m17n.org>
8168
8169 * font.h (Qascii_0): Extern it.
8170
8171 * font.c (Qascii_0): New variable.
8172 (syms_of_font): DEFSYM it.
8173 (font_open_by_name): If the registry "iso8859-1" fails, try also
8174 "ascii-0".
8175
8176 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
8177
81782008-06-08 Kenichi Handa <handa@m17n.org>
8179
8180 * .gdbinit (xfont): New command.
8181
81822008-06-08 Andreas Schwab <schwab@suse.de>
8183
8184 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
8185 * Makefile.in (menu.o): Update dependencies.
8186
8187 * Makefile.in (obj): Always add menu.o.
8188 * emacs.c (main): Always call syms_of_menu.
8189 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
8190
81912008-06-08 Chong Yidong <cyd@stupidchicken.com>
8192
8193 * Makefile.in: Compile menu.c.
8194
8195 * lisp.h: Declare syms_of_menu.
8196
8197 * emacs.c (main): Call syms_of_menu.
8198
8199 * keyboard.h: Relocate platform-independent menu definitions from
8200 xmenu.c.
8201
8202 * menu.c: New file. Relocate platform-independent menu
8203 definitions from xmenu.c. Suggested by Adrian Robert.
8204
8205 * xmenu.c: Remove platform-independent menu definitions.
8206 (menu_items menu_items_inuse, menu_items_allocated)
8207 (menu_items_used, menu_items_n_panes)
8208 (menu_items_submenu_depth): Move to keyboard.h.
8209 (init_menu_items, finish_menu_items, unuse_menu_items)
8210 (discard_menu_items, restore_menu_items, save_menu_items)
8211 (grow_menu_items, push_submenu_start, push_submenu_end)
8212 (push_left_right_boundary, push_menu_pane, push_menu_item)
8213 (keymap_panes, single_keymap_panes, single_menu_item)
8214 (list_of_panes, list_of_items, find_and_call_menu_selection)
8215 (xmalloc_widget_value, free_menubar_widget_value_tree)
8216 (parse_single_submenu, digest_single_submenu)
8217 (update_submenu_strings): Move to menu.c.
8218
82192008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
8220
8221 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
8222
82232008-06-06 Miles Bader <miles@gnu.org>
8224
8225 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
8226 face, not frame default.
8227
82282008-06-05 Martin Rudalics <rudalics@gmx.at>
8229
8230 * window.c (pop_up_windows, pop_up_frames)
8231 (display_buffer_reuse_frames, Vpop_up_frame_function)
8232 (Vdisplay_buffer_function, Veven_window_heights)
8233 (Vspecial_display_buffer_names, Vspecial_display_regexps)
8234 (Vspecial_display_function, Vsame_window_buffer_names)
8235 (Vsame_window_regexps, split_height_threshold)
8236 (Vsplit_window_preferred_function): Move those vars to window.el.
8237 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
8238 (Fdisplay_buffer): Move those functions to window.el.
8239 (syms_of_window): Remove corresponding declarations.
8240 (display_buffer): New function.
8241 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
8242 * dispnew.c (Flast_nonminibuf_frame): New function.
8243 * buffer.c (Fpop_to_buffer): Move to window.el.
8244
82452008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
8246
8247 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
8248
82492008-06-05 Kenichi Handa <handa@m17n.org>
8250
8251 * coding.c (detect_coding): Fix previous change.
8252 (detect_coding_system): Likewise.
8253
82542008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
8255
8256 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
8257
8258 * keymap.c (Vminibuffer_local_filename_must_match_map):
8259 Rename from Vminibuffer_local_must_match_filename_map.
8260 (syms_of_keymap):
8261 * minibuf.c (Fcompleting_read): Adjust accordingly.
8262 * commands.h: Rename declaration as well.
8263
82642008-06-05 Kenichi Handa <handa@m17n.org>
8265
8266 * font.c (Ffont_spec): Don't use font_parse_family_registry for
8267 family name.
8268 (Ffont_put): Likewise.
8269
8270 * fontset.c (fontset_find_font): Call font_open_for_lface with the
8271 current font-spec.
8272
8273 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
8274 is unspecified.
8275
8276 * xfaces.c (realize_x_face): If the font-related face attributes
8277 are the same as those of default face, realize a new fontset from
8278 default->fontset.
8279 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
8280
82812008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
8282
8283 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
8284 (move_it_in_display_line): New wrapper.
8285
8286 * window.c (window_scroll_pixel_based_preserve_x)
8287 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
8288 (window_scroll_pixel_based, window_scroll_line_based):
8289 Use them to preserve column positions.
8290 (syms_of_window): Initialize them.
8291
8292 * indent.c (Fvertical_motion): Extend first arg to allow passing an
8293 (HPOS . VPOS) pair.
8294
8295 * dispextern.h (move_it_in_display_line): Declare.
8296
82972008-06-05 Juanma Barranquero <lekktu@gmail.com>
8298
8299 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
8300 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
8301 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
8302
83032008-06-04 Juanma Barranquero <lekktu@gmail.com>
8304
8305 * window.c (Fset_window_parameter): Doc fix.
8306 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
8307
83082008-06-04 Joakim Verona <joakim@verona.se>
8309
8310 * window.h (struct window): Add new member window_parameters.
8311
8312 * window.c (Fwindow_parameters, Fwindow_parameter)
8313 (Fset_window_parameter): New defuns.
8314 (syms_of_window): Defsubr the new defuns.
8315 (make_window): Initialize window_parameters to nil.
8316
83172008-06-04 John Paul Wallington <jpw@pobox.com>
8318
8319 * eval.c (Fdefmacro): Doc fix.
8320
83212008-06-04 Kenichi Handa <handa@m17n.org>
8322
8323 * coding.c (detect_coding): Fix handling of coding->head_ascii.
8324 Be sure to call setup_coding_system when we find a proper coding system.
8325 (detect_coding_system): Fix handling of coding->head_ascii.
8326
83272008-06-03 Andreas Schwab <schwab@suse.de>
8328
8329 * font.c (font_prop_validate_spacing): Fix last change.
8330
83312008-06-03 Kenichi Handa <handa@m17n.org>
8332
8333 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
8334 (font_parse_fcname): Fix handling of unknown key.
8335
8336 * xfont.c (xfont_list): Try an alias.
8337
8338 * charset.c (char_charset): Return NULL if the arg charset_list is
8339 specified and C doesn't belong to any of them.
8340
83412008-06-02 Chip Coldwell <coldwell@redhat.com>
8342
8343 * font.c (font_pixel_size): Don't take cdr of an integer.
8344
83452008-06-02 Jim Meyering <meyering@redhat.com>
8346
8347 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
8348 * alloc.c (xfree): Return right away for a NULL arg.
8349 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
8350 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
8351 * mac.c (create_apple_event_from_event_ref): Likewise.
8352 (create_apple_event_from_drag_ref, cfstring_create_normalized):
8353 Likewise.
8354 * doprnt.c (doprnt1): Likewise.
8355 * frame.c (frame): Likewise.
8356 * keyboard.c (wipe_kboard): Likewise.
8357 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
8358 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
8359 * term.c (tty_default_color_capabilities, maybe_fatal)
8360 (delete_tty): Likewise.
8361 * w16select.c (string): Likewise.
8362 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
8363 * w32bdf.c (w32_free_bdf_font): Likewise.
8364 * w32fns.c (w32_unload_font): Likewise.
8365 * w32font.c (w32font_close): Likewise.
8366 * window.c (size_window): Likewise.
8367 * xselect.c (receive_incremental_selection): Likewise.
8368 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
8369 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
8370 * w32.c (stat): Likewise.
8371
8372 Remove useless if-before-free tests.
8373 * editfns.c (Fset_time_zone_rule): Likewise.
8374 * lread.c (nosuffix): Likewise.
8375 * ralloc.c (get_bloc): Likewise.
8376 * regex.c (reg_free): Likewise.
8377 * xftfont.c (xftfont_open, xftfont_close): Likewise.
8378 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
8379 * xsmfns.c (smc_save_yourself_CB): Likewise.
8380
83812008-06-02 Kenichi Handa <handa@m17n.org>
8382
8383 * font.c (font_find_for_lface): Handle float font size.
8384 (font_open_for_lface): Likewise.
8385
8386 * xfaces.c (x_supports_face_attributes_p): Check face->font before
8387 comparing the properties.
8388
83892008-06-01 Jason Rumney <jasonr@gnu.org>
8390
8391 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
8392 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
8393 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
8394 Don't add empty script list.
8395 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
8396
83972008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
8398
8399 * Makefile.in (dot, dotdot): Remove, update users.
8400 ".." has been used elsewhere in the file for a long time.
8401 (LIBXT_STATIC): Remove conditional based on unused variable.
8402
84032008-06-01 Miles Bader <miles@gnu.org>
8404
8405 * xfaces.c (Vface_remapping_alist): New variable.
8406 (syms_of_xfaces): Initialize it.
8407 (enum named_merge_point_kind): New type.
8408 (struct named_merge_point): Add `named_merge_point_kind' field.
8409 (push_named_merge_point): Make cycle detection respect different
8410 named-merge-point kinds.
8411 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
8412 Remove face-name alias resolution.
8413 (lface_from_face_name): New definition using
8414 `lface_from_face_name_no_resolve'.
8415 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
8416 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
8417 (get_lface_attributes): New definition that layers face-remapping on
8418 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
8419 (lookup_basic_face): New function.
8420 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
8421 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
8422 `get_lface_attributes'.
8423 (face_at_buffer_position): Use `lookup_basic_face' to lookup
8424 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
8425 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
8426
8427 * xdisp.c (init_iterator): Pass base_face_id through
8428 `lookup_basic_face' when we actually use it as a face-id.
8429 (handle_single_display_prop): Use `lookup_basic_face' to lookup
8430 DEFAULT_FACE_ID.
8431
8432 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
8433 lookup the initial face-id.
8434
8435 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
8436
84372008-06-01 Juanma Barranquero <lekktu@gmail.com>
8438
8439 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
8440 (Fremove_text_properties): Fix typos in docstrings.
8441
84422008-05-31 Kenichi Handa <handa@m17n.org>
8443
8444 * font.c (font_list_entities): Fix the car part of data to be
8445 stored in the cache.
8446
8447 * ftfont.c (ftfont_font_format): Don't use strcasestr.
8448
84492008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
8450
8451 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
8452 Add a `test' argument so another predicate than `equal' can be used.
8453 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
8454 (map_char_table): Remove unused vars `c' and `i'.
8455 * lisp.h (Foptimize_char_table): Adjust declaration.
8456 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
8457
84582008-05-30 Kenichi Handa <handa@m17n.org>
8459
8460 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
8461 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
8462 defined.
8463
84642008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
8465
8466 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
8467 (Fmake_variable_frame_local): Disallow mixing buffer-local and
8468 frame-local settings for the same variable.
8469
84702008-05-30 Kenichi Handa <handa@m17n.org>
8471
8472 * fontset.c (Ffont_info): Move to font.c.
8473 (syms_of_fontset): Delete defsubr of Sfont_info.
8474
8475 * font.c (font_style_to_value, font_score): Delete casting of the
8476 args to xstcasecmp.
8477 (register_font_driver): Increment num_font_drivers only when
8478 registering the driver globally.
8479 (Ffont_info): Move from fontset.c. Handle a font object too.
8480 (syms_of_font): Defsubr Sfont_info.
8481
84822008-05-29 Kenichi Handa <handa@m17n.org>
8483
8484 * coding.h (enum define_coding_utf8_arg_index): New enum.
8485 (enum coding_attr_index): Change coding_attr_utf_16_bom to
8486 coding_attr_utf_bom.
8487 (enum utf_bom_type): Rename from utf_16_bom_type.
8488 (struct utf_16_spec): Adjust for the above change.
8489 (struct coding_system): Add utf_8_bom in `spec' union.
8490
8491 * coding.c (CODING_UTF_8_BOM): New macro.
8492 (enum coding_category): Delete coding_category_utf_8, add
8493 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
8494 coding_category_utf_8_sig.
8495 (CATEGORY_MASK_UTF_8): Delete it.
8496 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
8497 (CATEGORY_MASK_UTF_8_SIG): New macros.
8498 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
8499 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
8500 CATEGORY_MASK_UTF_8_SIG.
8501 (CATEGORY_MASK_UTF_8): New macro.
8502 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
8503 (detect_coding_utf_8): Check BOM.
8504 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
8505 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
8506 (encode_coding_utf_16): Likewise.
8507 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
8508 (detect_coding, detect_coding_system): Handle utf-8-auto.
8509 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
8510 (syms_of_coding): Fix setting up of Vcoding_category_table.
8511
85122008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
8513
8514 * process.c (Faccept_process_output): If `millisec' is non-nil,
8515 `seconds' default to 0.
8516 (wait_reading_process_output): Also return non-nil if we read output
8517 from a non-running process.
8518
85192008-05-29 Jason Rumney <jasonr@gnu.org>
8520
8521 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
8522 `raster' specified.
8523 (add_font_entity_to_list): Allow non-opentype truetype fonts back
8524 in the uniscribe backend, but disallow any font that has no
8525 unicode subrange support.
8526
85272008-05-29 Juanma Barranquero <lekktu@gmail.com>
8528
8529 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
8530 Fix typos in docstrings.
8531
85322008-05-29 Kenichi Handa <handa@m17n.org>
8533
8534 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
8535 (Fx_family_fonts): Set frame correctly.
8536
85372008-05-28 Jason Rumney <jasonr@gnu.org>
8538
8539 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
8540
85412008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
8542
8543 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
8544 calling build_annotations.
8545
85462008-05-28 Juanma Barranquero <lekktu@gmail.com>
8547
8548 * coding.c (Fdecode_coding_region, Fencode_coding_region)
8549 (Fencode_coding_string):
8550 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
8551 <latin-extra-code-table>: Fix typos in docstrings.
8552 (syms_of_coding) <coding-system-alist>: Doc fix.
8553 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
8554
85552008-05-28 Kenichi Handa <handa@m17n.org>
8556
8557 * fontset.c (Ffont_info): Don't call font_close_object.
8558
8559 * font.c (font_parse_family_registry): Use Ffont_put to validate
8560 foundry and family.
8561 (font_delete_unmatched): Don't check spacing.
8562 (font_list_entities): Add spacing to the spec to list fonts.
8563
8564 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
8565 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
8566
8567 * coding.c (encode_coding_raw_text): Fix previous change.
8568 (encode_coding_object): When the dst_object is a buffer and is
8569 different from src_object, move gap to PT.
8570
85712008-05-27 Chong Yidong <cyd@stupidchicken.com>
8572
8573 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
8574
85752008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
8576
8577 * coding.c (encode_coding_raw_text): Set coding->produced_char for
8578 all branches. Compute it differently.
8579
8580 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
8581
85822008-05-27 Juanma Barranquero <lekktu@gmail.com>
8583
8584 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
8585 into "else if () ... else ...".
8586
85872008-05-27 Jason Rumney <jasonr@gnu.org>
8588
8589 * w32font.c (w32font_open_internal): Determine if glyph indices
8590 are likely to work here.
8591
85922008-05-27 Chong Yidong <cyd@stupidchicken.com>
8593
8594 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
8595 draw overlap glyphs with appropriate highlighting.
8596
85972008-05-27 Kenichi Handa <handa@m17n.org>
8598
8599 * xfont.c (xfont_open): Fix calculation of font->average_width.
8600
86012008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
8602
8603 * casefiddle.c (casify_object): Try to guess better whether the
8604 argument is a byte or a char.
8605
86062008-05-26 Andreas Schwab <schwab@suse.de>
8607
8608 * xselect.c (x_reply_selection_request): Properly handle format == 32.
8609 Always send multiples of format size.
8610
8611 * xterm.c (x_set_frame_alpha): Fix type mismatch.
8612
86132008-05-26 Jason Rumney <jasonr@gnu.org>
8614
8615 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
8616 (compute_metrics): Don't set failure if we just cleared the cache.
8617 (w32_weight_table): Remove unused variable.
8618 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
8619 backwards compatibility.
8620
86212008-05-25 Kenichi Handa <handa@m17n.org>
8622
8623 * w32term.c (x_draw_glyph_string):
8624 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
8625
8626 * xfaces.c: Delete unused function prototypes.
8627 (xstrlwr, font_frame): Delete them.
8628 (clear_face_cache): Delete unused variable.
8629
8630 * xftfont.c (xftfont_open): Delete unused variable.
8631 If underline_thickness is not 1, adjust underline_position.
8632
8633 * ftxfont.c (ftxfont_open): Delete unused variable.
8634
8635 * fontset.c (face_for_char): Optimize for the case of no charset
8636 property.
8637
8638 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
8639 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
8640 (otf_open, font_otf_capability, generate_otf_features)
8641 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8642 Comment out by surrounding "#if 0" and "#endif" for the moment.
8643 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
8644 (syms_of_font): Codes for accessing above commented out.
8645
86462008-05-24 Eli Zaretskii <eliz@gnu.org>
8647
8648 * w32proc.c: Include dispextern.h.
8649
8650 * w32.c: Include dispextern.h.
8651
86522008-05-23 Juanma Barranquero <lekktu@gmail.com>
8653
8654 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
8655 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
8656 Fix typos in docstrings.
8657
86582008-05-23 Jason Rumney <jasonr@gnu.org>
8659
8660 * xsmfns.c: Remove includes that are already included by config.h.
8661
86622008-05-23 Kenichi Handa <handa@m17n.org>
8663
8664 * charset.c (Qemacs, charset_emacs): New variables.
8665 (char_charset): Fix for non-Unicode characters.
8666 (syms_of_charset): Define charset_emacs.
8667
8668 * w32term.c (x_draw_glyph_string): Be sure to update
8669 s->underline_thickness and s->underline_position. Be sure to draw
8670 underline within the current line area.
8671
8672 * xterm.c (x_draw_glyph_string): Be sure to update
8673 s->underline_thickness and s->underline_position. Be sure to draw
8674 underline within the current line area.
8675
8676 * fontset.c: Delete unused variables and add casting for char *
8677 throughout the file.
8678 (fontset_font): Try the fallback fonts of the current fontset
8679 before consulting the default fontset.
8680
8681 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
8682
8683 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
8684
86852008-05-22 Jason Rumney <jasonr@gnu.org>
8686
8687 * font.c: Don't include strings.h.
8688
8689 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
8690
8691 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
8692 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
8693 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
8694 to call xstrcasecmp.
8695
8696 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
8697
8698 * fontset.c (fs_query_fontset): Use xstrcasecmp.
8699
8700 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
8701
8702 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
8703
87042008-05-22 Kenichi Handa <handa@m17n.org>
8705
8706 * puresize.h (BASE_PURESIZE): Increase to 1220000.
8707
8708 * font.c (font_prop_validate_style): Adjust for the format
8709 change of font_style_table.
8710
8711 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
8712 two args.
8713
8714 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
8715 two args.
8716
87172008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
8718
8719 * minibuf.c (keys_of_minibuf): Delete.
8720 * lisp.h (keys_of_minibuf): Delete.
8721 * emacs.c (main): Don't call keys_of_minibuf.
8722
87232008-05-22 Kenichi Handa <handa@m17n.org>
8724
8725 * ftfont.c (ftfont_resolve_generic_family): Rename from
8726 ftfont_list_generic_family. Return a single family for each
8727 generic family.
8728 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
8729 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
8730 Call font_add_log.
8731 (ftfont_match): Call font_add_log.
8732
8733 * font.h (Ffont_xlfd_name): EXFUN adjusted.
8734 (FONT_DEBUG): Define it.
8735 (font_add_log): Extern it.
8736 (font_assert): Rename from xassert.
8737
8738 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
8739 (xfont_list_family): Call font_add_log.
8740 (xfont_match): Likewise.
8741 (memq_no_quit): Delete.
8742
8743 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
8744 call of Ffont_xlfd_name.
8745
8746 * xfaces.c (struct table_entry, slant_table, weight_table)
8747 (swidth_table): Move to font.c.
8748
8749 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
8750 xassert are changed to font_assert. Delete many unused variables.
8751 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
8752 New variables.
8753 (struct table_entry): Move from xfaces.c and modified.
8754 (weight_table, slant_table, width_table): Move from xfaces.c and
8755 contents adjusted for the change of struct table_entry.
8756 (font_style_to_value, font_style_symbolic): Adjust for the
8757 format change of font_style_table.
8758 (font_parse_family_registry): Don't overwrite existing foundry and
8759 family of font_spec.
8760 (font_score): Fix calculation of diff for sizes.
8761 (font_sort_entites): Call font_add_log.
8762 (font_delete_unmatched): Return a newly created list.
8763 (font_list_entities): Fix previous change. Call font_add_log.
8764 (font_matching_entity, font_open_entity, font_close_entity):
8765 Call font_add_log.
8766 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
8767 (Finternal_set_font_style_table): Delete.
8768 (BUILD_STYLE_TABLE): New macro.
8769 (build_style_table): New function.
8770 (Vfont_log, font_log_env_checked): New variables.
8771 (font_add_log): New function.
8772 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
8773 Declare Lisp variables "font-weight-table", "font-slant-table",
8774 "font-width-table", and "font-log". Initialize font_style_table.
8775
87762008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
8777
8778 * xterm.c (x_set_frame_alpha): Move declarations before statements.
8779
87802008-05-21 Seiji Zenitani <zenitani@mac.com>
8781 Ryo Yoshitake <ryo@shiftmode.net>
8782
8783 * frame.c (Qalpha): Add a new frame parameter `alpha'.
8784 (Vframe_alpha_lower_limit): New variable.
8785 (x_set_alpha): New function.
8786
8787 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
8788
8789 * xfns.c (x-create-frame, Qalpha):
8790 Initialize the frame parameter `alpha'.
8791 * xterm.c (OPAQUE, OPACITY): New.
8792 (x_set_frame_alpha): New function.
8793 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
8794
8795 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
8796 * w32fns.c (w32_frame_parm_handlers): Likewise.
8797
87982008-05-20 Jason Rumney <jasonr@gnu.org>
8799
8800 * w32font.c (add_font_entity_to_list): Don't add non-opentype
8801 truetype fonts to opentype list.
8802
88032008-05-20 Juanma Barranquero <lekktu@gmail.com>
8804
8805 * fontset.c (Ffontset_info): Doc fix.
8806 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
8807 <ignore-relative-composition>: Fix typos in docstrings.
8808
8809 * font.c (syms-of-font) <font-encoding-alist>:
8810 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
8811 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
8812 (Ffont_otf_alternates): Doc fixes.
8813
88142008-05-20 Kenichi Handa <handa@m17n.org>
8815
8816 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
8817 font.h through out the file.
8818 (FONT_DRIVERS): Rename from FONTOBJ.
8819 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
8820 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
8821
8822 * emacs.c (main): Call syms_of_font unconditionally.
8823
8824 * font.h (find_font_encoding): Extern it.
8825
8826 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
8827 fontset.c.
8828 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
8829 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
8830 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
8831 only when HAVE_WINDOW_SYSTEM is defined.
8832 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
8833 when HAVE_WINDOW_SYSTEM is defined.
8834
8835 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
8836 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
8837
8838 * xfaces.c: Include font.h unconditionally.
8839 (merge_face_ref, merge_face_vectors)
8840 (Finternal_set_lisp_face_attribute): Cancel the previous change.
8841
88422008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
8843
8844 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
8845 indirect_variable.
8846 * eval.c (lisp_indirect_variable): New fun.
8847 (Fuser_variable_p): Use it.
8848
88492008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
8850
8851 * lisp.h (indirect_variable):
8852 * data.c (indirect_variable, let_shadows_buffer_binding_p):
8853 Use Lisp_Symbol pointers rather than Lisp_Object.
8854 Adjust callers.
8855 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
8856 To this end, change calling-convention.
8857
8858 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
8859 if some non-hidden buffers are selected by string&pred.
8860
88612008-05-19 Chong Yidong <cyd@stupidchicken.com>
8862
8863 * process.c (wait_reading_process_output): Always check status
8864 when in batch mode.
8865
88662008-05-19 Kenichi Handa <handa@m17n.org>
8867
8868 * font.c (font_list_entities): Fix handling of cache.
8869 (font_matching_entity): Likewise.
8870
8871 * ftfont.c (cs_iso8859_1): Delete.
8872 (ft_face_cache): New variable.
8873 (struct ftfont_info): New member fc_charset_idx.
8874 (ftfont_build_basic_charsets): Delete.
8875 (fc_charset_table): New variable.
8876 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
8877 . FC_CHARSET_IDX) as :font-entity property in the font entity.
8878 Callers changed.
8879 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8880 (ftfont_spec_pattern): New argument fc_charset_idx.
8881 Check registry more rigidly. Change callers.
8882 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
8883 change of :font-entity property of the font.
8884
8885 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
8886 property of the font.
8887
88882008-05-18 Juanma Barranquero <lekktu@gmail.com>
8889
8890 * coding.c (Fcoding_system_p): Rename argument to match docstring.
8891 (Funencodable_char_position, Fcheck_coding_systems_region)
8892 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
8893 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
8894 (Ffind_operation_coding_system, Fset_coding_system_priority)
8895 (Fcoding_system_eol_type): Doc fixes.
8896
88972008-05-17 Glenn Morris <rgm@gnu.org>
8898
8899 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
8900
89012008-05-16 Eli Zaretskii <eliz@gnu.org>
8902
8903 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
8904 and st_gid.
8905
8906 * frame.c (Fdelete_frame): Don't call font_update_drivers if
8907 HAVE_WINDOW_SYSTEM is not defined.
8908
8909 * xfaces.c (merge_face_ref, merge_face_vectors)
8910 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
8911 HAVE_WINDOW_SYSTEM is defined.
8912 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
8913
89142008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
8915
8916 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
8917
89182008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8919
8920 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
8921
89222008-05-15 Kenichi Handa <handa@m17n.org>
8923
8924 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
8925 preference.
8926
89272008-05-15 Glenn Morris <rgm@gnu.org>
8928
8929 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
8930
89312008-05-15 Chong Yidong <cyd@stupidchicken.com>
8932
8933 * fns.c (init_fns): Don't initialize weak_hash_tables here.
8934 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
8935
8936 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
8937
89382008-05-15 Kenichi Handa <handa@m17n.org>
8939
8940 * ftfont.c (ftfont_list): Downcase family name to check generic
8941 families.
8942
8943 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
8944 font-spec for QCfont value.
8945
8946 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
8947 buffer. Check the return value of it.
8948
89492008-05-14 Jason Rumney <jasonr@gnu.org>
8950
8951 * w32term.c (w32_get_glyph_overhangs): Remove.
8952 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
8953
89542008-05-14 Kenichi Handa <handa@m17n.org>
8955
8956 * font.c (font_prop_validate): Make nil a valid value.
8957 (font_clear_cache): Check if the cached vector of entities is nil
8958 or not.
8959
89602008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8961
8962 * emacs.c (main_thread): Conditionalize on
8963 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
8964 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
8965
8966 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
8967 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
8968 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
8969
89702008-05-14 Kenichi Handa <handa@m17n.org>
8971
8972 * coding.c (detect_coding_iso_2022): Ignore a coding category that
8973 has no corresponding coding system.
8974
89752008-05-14 Jason Rumney <jasonr@gnu.org>
8976
8977 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
8978
8979 * w32font.h (w32font_open_internal): Update declaration.
8980
8981 * w32font.c (w32font_open_internal): Change last argument from
8982 w32font_info struct to font object. Fill in font object from
8983 font_entity. Get Outline metrics if possible. Use them to
8984 calculate underline position and thickness. Use xlfd name as name
8985 property. Don't set codepage.
8986 (w32font_open): Pass font_object to w32font_open_internal. Don't
8987 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
8988 (w32font_draw): Use s->font.
8989 (clear_cached_metrics): Don't clear non-existent blocks.
8990
8991 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
8992 font was not found.
8993 (x_draw_glyph_string): Use underline position and thickness from font.
8994
8995 * w32uniscribe.c (uniscribe_open): Pass font_object to
8996 w32font_open_internal.
8997
89982008-05-14 Kenichi Handa <handa@m17n.org>
8999
9000 These changes are to delete all legacy font-handling codes, and
9001 make Emacs use only font-backends.
9002
9003 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
9004 (frame.o, image.o, print.o): Depend on $(FONTSRC).
9005
9006 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
9007
9008 * charset.h (Vcharset_non_preferred_head)
9009 (Vcurrent_iso639_language): Extern them.
9010
9011 * charset.c (Vcharset_non_preferred_head): New variable.
9012 (Vcurrent_iso639_language): New variable.
9013 (syms_of_charset): Declare it as a Lisp variable.
9014 (char_charset): Don't check non preferred charsets. As a last
9015 resort, return charset_unicode.
9016 (Fset_charset_priority): Update Vcharset_non_preferred_head.
9017
9018 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
9019 conditionals. Don't check enable_font_backend. Delete all codes
9020 used only when USE_FONT_BACKEND is not defined.
9021
9022 * dispextern.h (struct glyph_string): Change type of `font' to
9023 `struct font *'.
9024 (struct glyph_string): New member underline_position and
9025 underline_thickness.
9026 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
9027 (struct face): Change type of `font' to `struct font *'. Remove
9028 members `font_name', `font_info_id'.
9029 (per_char_metric, encode_char): Delete externs.
9030 (calc_pixel_width_or_height): Adjust the prototype.
9031
9032 * emacs.c (enable_font_backend): Delete extern.
9033 (main): Don't set enable_font_backend. Don't check the command
9034 line argument "-disable-font-backend".
9035
9036 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
9037 (enum font_property_index): New members FONT_DPI_INDEX,
9038 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
9039 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
9040 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
9041 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
9042 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
9043 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
9044 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
9045 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
9046 (struct font_spec, struct font_entity): New structs.
9047 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
9048 (struct font): Many members from old "struct font_info" moved to
9049 here. Members font and entity deleted.
9050 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
9051 the new font-related objects.
9052 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
9053 (CHECK_FONT_GET_OBJECT): Likewise.
9054 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
9055 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
9056 (struct font_driver): New members case_sensitive anc check. Type
9057 of the member list and open changed.
9058 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
9059 (font_symbolic_width, font_find_object, font_get_spec)
9060 (font_set_lface_from_name): Delete extern.
9061 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
9062
9063 * font.c: Include <strings.h>.
9064 (enable_font_backend): Delete it.
9065 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
9066 (CHECK_VALIDATE_FONT_SPEC): Delete it.
9067 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
9068 (null_string): Delete it.
9069 (null_vector): Make it static.
9070 (font_family_alist): Delete it.
9071 (Qnormal): Extern it.
9072 (QCextra, QClanguage): Delete it.
9073 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
9074 (font_make_spec, font_make_entity, font_make_object)
9075 (font_intern_prop): Renamed from intern_downcase. Don't downcase
9076 the string. Callers changed.
9077 (font_pixel_size): Adjusted for the format change of font-related
9078 objects.
9079 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
9080 (font_style_to_value, font_style_symbolic): New function.
9081 (build_font_family_alist): Delete it.
9082 (font_registry_charsets): Use Fassoc_string instead of
9083 assq_no_quit.
9084 (font_prop_validate_symbol): Don't return null_string.
9085 (font_prop_validate_style): Adjusted for the change of
9086 style-related values in a font vector.
9087 (font_property_table): Delete entries for QClanguage and
9088 QCantialias, add entries for QCavgwidth.
9089 (get_font_prop_index): Delete the 2nd argument FROM.
9090 (font_prop_validate): Arguments changed.
9091 (font_put_extra): Adjusted for the change of font-related objects.
9092 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
9093 (font_parse_fcname, font_unparse_fcname)
9094 (font_prepare_composition): Likewise.
9095 (font_parse_family_registry): Renamed from font_merge_old_spec.
9096 (otf_open): Delete the 1st arg entity.
9097 (font_otf_capability): Adjusted for the above change.
9098 (font_score): New arg alternate_families. Adjusted for the change
9099 of font-related objects.
9100 (font_sort_entites): New arg best_only.
9101 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
9102 Delete them.
9103 (font_match_p): Check alternate families.
9104 (font_find_object): Delete it.
9105 (font_check_object): New function.
9106 (font_clear_cache): Adjusted for the change of font-related objects.
9107 (font_delete_unmatched): New arg.
9108 (font_list_entities): Call font_driver->list with a spec that
9109 doesn't specify style-related properties.
9110 (font_matching_entity): Arguments changed. Caller changed.
9111 (font_open_entity): Adjusted for the change of font-related objects.
9112 (font_close_object, font_has_char, font_encode_char)
9113 (font_get_name, font_get_spec): Likewise.
9114 (font_spec_from_name, font_clear_prop, font_update_lface):
9115 New functions.
9116 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
9117 (font_prepare_for_face, font_done_for_face, font_open_by_name)
9118 (font_at): Adjusted for the change of font-related objects.
9119 (font_range): New function.
9120 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
9121 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
9122 (Fcopy_font_spec, Fmerge_font_spec): New function.
9123 (Ffont_family_list): Renamed from list-families.
9124 (Finternal_set_font_style_table): Arguments changed.
9125 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
9126 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
9127 change of font-related objects.
9128 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
9129
9130 * fontset.h (struct font_info): Delete it. Most members go to
9131 struct font.
9132 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
9133 (enum FONT_SPEC_INDEX): Delete it.
9134 (font_info, list_fonts_func, load_font_func, query_font_func)
9135 (set_frame_fontset_func, find_ccl_program_func)
9136 (get_font_repertory_func, new_fontset_from_font_name): Delete
9137 externs.
9138 (fontset_from_font_name): Extern it.
9139 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
9140 (FONT_INFO_FROM_FACE): Deleted.
9141 (face_for_font): Adjust prototype.
9142
9143 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
9144 conditionals. Don't check enable_font_backend. Delete all codes
9145 used only when USE_FONT_BACKEND is not defined.
9146 (get_font_info_func, list_font_func, load_font_func)
9147 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
9148 (get_font_repertory_func): Delete them.
9149 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
9150 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
9151 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
9152 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
9153 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
9154 (fontset_compare_rfontdef): New function.
9155 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
9156 rfont-defs by qsort. Adjusted for the change of font-group vector.
9157 (load_font_get_repertory): Deleted.
9158 (fontset_find_font): Use new macros to ref/set elements of
9159 font-def and rfont-def.
9160 (fontset_font): Fix the timing of remembering that no font for C.
9161 (free_face_fontset): Do nothing if the face has no fontset.
9162 (face_suitable_for_char_p): Use new macros to ref/set elements of
9163 rfont-def.
9164 (face_for_char): Likewise. Call face_for_char with font_object.
9165 (fs_load_font): Delete. Delete #pragma surrounding it.
9166 (fs_query_fontset): Use strcasecmp instead of strcmp.
9167 (generate_ascii_font_name): Adjusted for the format change of
9168 font-spec.
9169 (Fset_fontset_font): Likewise. Use new macros to set elements of
9170 font-def.
9171 (Fnew_fontset): Use font_unparse_xlfd to generate
9172 FONTSET_ASCII (fontset).
9173 (new_fontset_from_font_name): Deleted.
9174 (fontset_from_font): Renamed from new_fontset_from_font. Check if
9175 a fontset is already created for the font. FIx updating of
9176 Vfontset_alias_alist.
9177 (fontset_ascii_font): Deleted.
9178 (Ffont_info): Adjusted for the format change of font-spec.
9179 (Finternal_char_font): Likewise.
9180 (Ffontset_info): Likewise.
9181 (syms_of_fontset): Don't check load_font_func.
9182
9183 * fns.c (internal_equal): Handle PREV_FONT.
9184
9185 * frame.h: Delete USE_FONT_BACKEND conditional.
9186
9187 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
9188 conditionals. Don't check enable_font_backend. Delete all codes
9189 used only when USE_FONT_BACKEND is not defined.
9190 (x_set_font): Call x_new_font, not x_new_fontset2.
9191 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
9192 already set for the frame.
9193
9194 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
9195 a font-entity by font_make_entity. Use font_intern_prop instead
9196 of intern_downcase. Use FONT_SET_STYLE to set a style-related
9197 font property. If a font is scalable, set avgwidth property to 0.
9198 Set font-entity property by font_put_extra.
9199 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
9200 (ffont_driver): Adjusted for the change of struct font_driver.
9201 (ftfont_spec_pattern): New function.
9202 (ftfont_list): Return a list, not vector.
9203 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
9204 (ftfont_list_family): Don't downcase names.
9205 (ftfont_free_entity): Deleted.
9206 (ftfont_open): Return a font-object. Adjusted for the change of
9207 struct font. Get underline_thickness and underline_position from
9208 font property. Don't update dpyinfo->smallest_font_height and
9209 dpyinfo->smallest_char_width.
9210 (ftfont_close): Don't free `struct font'.
9211 (ftfont_has_char): Adjusted for the format change of font-entity.
9212 (ftfont_encode_char, ftfont_text_extents): Likewise.
9213
9214 * ftxfont.c (ftxfont_list): Return a list, not vector.
9215 (ftxfont_open): Return a font-object. Adjusted for the change of
9216 struct font. Get underline_thickness and underline_position from
9217 font property. Don't update dpyinfo->smallest_font_height and
9218 dpyinfo->smallest_char_width.
9219 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
9220 (ftxfont_draw): Adjusted for the change of struct font.
9221
9222 * image.c (image_ascent): Don't include "charset.h". Include
9223 "character.h" and "font.h".
9224
9225 * lisp.h (enum pvec_type): New member PREV_FONT.
9226 (Fassoc_string): EXFUN it.
9227
9228 * print.c: Include font.h.
9229 (print_object): Handle font-related objects.
9230
9231 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
9232 conditionals. Don't check enable_font_backend. Delete all codes
9233 used only when USE_FONT_BACKEND is not defined.
9234 (handle_auto_composed_prop): Do nothing if it->f is not on a
9235 window system. Check how many following characters can be
9236 displayed by the same font.
9237 (calc_pixel_width_or_height): Type of the 4th arg is changed to
9238 'struct font *'.
9239 (get_char_face_and_encoding): Assign the whole encoding task to
9240 the `encode-char' method of a font driver.
9241 (fill_composite_glyph_string): Adjusted for the change of `struct
9242 face' and `struct glyph_string'.
9243 (fill_glyph_string): Likewise.
9244 (get_per_char_metric): Arguments changed.
9245 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
9246 and `struct glyph_string'.
9247 (produce_stretch_glyph, calc_line_height_property)
9248 (x_produce_glyphs): Likewise.
9249
9250 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
9251 conditionals. Don't check enable_font_backend. Delete all codes
9252 used only when USE_FONT_BACKEND is not defined. Use
9253 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
9254 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
9255 (Qp): Extern them.
9256 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
9257 Deleted.
9258 (struct font_name): Deleted.
9259 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
9260 (compare_fonts_by_sort_order): New function.
9261 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
9262 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
9263 Deleted.
9264 (Fx_family_fonts): Use font_list_entities, and sort fonts by
9265 compare_fonts_by_sort_order.
9266 (Fx_font_family_list): Call Ffont_family_list.
9267 (face_numeric_value, face_numeric_weight, face_numeric_slant)
9268 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
9269 (face_symbolic_slant, face_symbolic_swidth)
9270 (split_font_name_into_vector, build_font_name_from_vector)
9271 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
9272 (font_rescale_ratio, split_font_name, build_font_name)
9273 (free_font_names, sort_fonts, x_face_list_fonts)
9274 (face_font_available_p, sorted_font_list, cmp_font_names)
9275 (font_list_1, concat_font_list, font_list, remove_duplicates):
9276 Deleted.
9277 (Fx_list_fonts): Use Ffont_list.
9278 (LFACE_AVGWIDTH): Deleted.
9279 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
9280 by FONTP.
9281 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
9282 (set_lface_from_font_name): Delete it.
9283 (set_lface_from_font): Renamed from
9284 set_lface_from_font_and_fontset. Caller changed. Don't set
9285 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
9286 for face.
9287 (merge_face_vectors): Copy font-spec if necessary.
9288 Clear properties of the font-spec if necessary.
9289 (merge_face_ref): Clear properties of the font-spec if necessary.
9290 (Finternal_set_lisp_face_attribute): Likewise.
9291 (set_font_frame_param): Use font_load_for_lface to load a
9292 font-object, and call Fmodify_frame_parameters with it.
9293 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
9294 font name by Ffont_xlfd_name.
9295 (Finternal_lisp_face_attribute_values): Don't check QCweight,
9296 QCslant, and QCwidth.
9297 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
9298 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
9299 Compare fonts by EQ.
9300 (lookup_non_ascii_face): Deleted.
9301 (face_for_font): The 2nd argument changed.
9302 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
9303 Check atomic font properties by case insensitive.
9304 (realize_non_ascii_face): Set face->overstrike correctly.
9305 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
9306 (dump_realized_face): Get font name from
9307 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
9308
9309 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
9310 conditionals. Don't check enable_font_backend. Delete all codes
9311 used only when USE_FONT_BACKEND is not defined.
9312 (xic_create_xfontset): Original code deleted and renamed from
9313 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
9314 (x_make_gc): Don't set GCFont in GCs.
9315 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
9316 opened by "fixed".
9317 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
9318 find_ccl_program_func, query_font_func, set_frame_fontset_func,
9319 get_font_repertory_func.
9320
9321 * xfont.c: Include <stdlib.h> and "ccl.h".
9322 (struct xfont_info): New structure.
9323 (xfont_query_font): Deleted.
9324 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
9325 moved from xterm.c.
9326 (xfont_driver): Adjusted for the change of struct font_driver.
9327 (compare_font_names): New function.
9328 (xfont_list_pattern): Sort font names case insensitively. Make
9329 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
9330 (xfont_list): Return a list, not vector.
9331 (xfont_match): If the font doesn't have QCname property, generate
9332 a name from the other font properties.
9333 (xfont_open): Return a font-object. Adjusted for the change of
9334 struct font. Get underline_thickness and underline_position from
9335 font property. Don't update dpyinfo->smallest_font_height and
9336 dpyinfo->smallest_char_width.
9337 (xfont_close): Don't free struct font.
9338 (xfont_prepare_face): Adjusted for the change of struct font.
9339 (xfont_done_face): Deleted.
9340 (xfont_has_char): Adjusted for the change of struct font.
9341 (xfont_encode_char, xfont_draw): Likewise.
9342 (xfont_check): New function.
9343
9344 * xftfont.c (xftfont_list): Adjusted for the change of `list'
9345 callback function.
9346 (xftfont_match): Adjusted for the format change of font-entity.
9347 (xftfont_open): Adjusted for the format change of font-entity and
9348 font-object. Adjusted for the change of struct font. Return a
9349 font-object. Don't update dpyinfo->smallest_font_height and
9350 dpyinfo->smallest_char_width.
9351 (xftfont_close): Block input while calling XftFontClose.
9352 (xftfont_prepare_face): Don't block input while calling
9353 xftfont_get_colors. Adjusted for the change of struct font.
9354 (xftfont_shape): Return value of error case fixed.
9355
9356 * xrdb.c (x_load_resources): Don't setup a fontset resource.
9357
9358 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
9359 conditionals.
9360 (FONT_WIDTH): Return (f)->max_width.
9361 (struct x_display_info): Delete member `font'.
9362 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
9363 (x_find_ccl_program, x_get_font_repertory): Delete externs.
9364 (struct x_output): Change type of `font' to `struct font *'.
9365
9366 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
9367 conditionals. Don't check enable_font_backend. Delete all codes
9368 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
9369 (x_per_char_metric, x_encode_char): Deleted.
9370 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
9371 (x_compute_glyph_string_overhangs): Adjusted for the change of
9372 `struct face'.
9373 (x_draw_glyph_string_foreground)
9374 (x_draw_composite_glyph_string_foreground): Likewise.
9375 (x_draw_glyph_string): Likewise. Use font->underline_position and
9376 font->underline_thickness.
9377 (x_new_font): Renamed from x_new_fontset2.
9378 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
9379 (x_check_font): Call `check' method of a font driver.
9380 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
9381 (x_query_font, x_get_font_repertory): Deleted.
9382 (x_find_ccl_program): Renamed and moved to xfont.c.
9383 (x_redisplay_interface): Adjusted for the change of `struct
9384 redisplay_interface'.
9385
9386 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
9387 conditionals. Don't check enable_font_backend. Delete all codes
9388 used only when USE_FONT_BACKEND is not defined. Surround non-used
9389 code by "#ifdef OLD_FONT" and "endif".
9390 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
9391
9392 * w32font.h (struct w32font_info): New member.
9393 (FONT_COMPAT): New macro.
9394 (w32font_open_internal): Prototype adjusted.
9395
9396 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
9397 OLD_FONT" and "endif".
9398
9399 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
9400 conditionals. Don't check enable_font_backend. Delete all codes
9401 used only when USE_FONT_BACKEND is not defined.
9402 (w32font_open): Return a font-object. Make a font-object by
9403 font_make_object. Adjusted for the change of struct w32font_info.
9404 (w32font_close): Don't free struct font. Adjusted for the change
9405 of struct w32font_info.
9406 (w32font_encode_char, w32font_text_extents, w32font_draw):
9407 Adjusted for the change of struct w32font_info.
9408 (w32font_draw): Likewise.
9409 (w32font_list_internal): Return a list, not vector.
9410 (w32font_open_internal): Change the 4th arg to font-object.
9411 Adjusted for the change of struct w32font_info and font-object format.
9412 (add_font_name_to_list): Don't downcase names.
9413 (w32_enumfont_pattern_entity): Make a font-entity by
9414 font_make_entity. Adjusted for the format change of font-entity.
9415 Use FONT_SET_STYLE to set a style-related font property. If a
9416 font is scalable, set avgwidth property to 0. Set font-entity
9417 property by font_put_extra.
9418 (font_matches_spec): Adjusted for the format change of font-entity.
9419 (w32_weight_table, w32_decode_weight): New variables.
9420 (w32_encode_weight): New function.
9421 (fill_in_logfont): Adjusted for the format change of font-spec.
9422 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
9423 weight value.
9424 (w32font_driver): Adjusted for the change of struct font_driver.
9425
9426 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
9427 conditionals. Don't check enable_font_backend. Surround non-used
9428 code by "#ifdef OLD_FONT" and "endif".
9429 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
9430 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
9431
9432 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
9433 conditionals. Don't check enable_font_backend. Delete all codes
9434 used only when USE_FONT_BACKEND is not defined. Surround non-used
9435 code by "#ifdef OLD_FONT" and "endif".
9436
9437 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
9438 (uniscribe_open): Return value changed to font-object.
9439 Adjusted for the format change of font-object.
9440 (uniscribe_otf_capability): Adjusted for the change of struct font.
9441 (add_opentype_font_name_to_list): Don't downcase names.
9442 (uniscribe_font_driver): Adjusted for the change of struct
9443 font_driver.
9444
94452008-05-13 Chong Yidong <cyd@stupidchicken.com>
9446
9447 * dispnew.c (update_frame_1): Check if tty output is still valid
9448 before flushing it.
9449
94502008-05-13 Jan Djärv <jan.h.d@swipnet.se>
9451
9452 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
9453 to Gtk+ menus.
9454
94552008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
9456
9457 * dired.c (file_name_completion): Tweak the code so as to always do it
9458 in a single pass. Tighten the scope of some variables.
9459
9460 * dired.c (Qdefault_directory): New var.
9461 (file_name_completion): Use it instead of Fexpand_file_name.
9462 (syms_of_dired): Initialize it.
9463
94642008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
9465
9466 * fileio.c (double_dollars): Remove dead code.
9467
94682008-05-10 Eli Zaretskii <eliz@gnu.org>
9469
9470 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
9471 Mention w32-get-true-file-attributes in doc string.
9472
9473 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
9474
94752008-05-09 Glenn Morris <rgm@gnu.org>
9476
9477 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
9478 2008-04-23.
9479
94802008-05-09 Eli Zaretskii <eliz@gnu.org>
9481
9482 Support for reporting owner and group of each file on MS-Windows:
9483 * dired.c (stat_uname, stat_gname): New functions, with special
9484 implementation for w32.
9485 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
9486
9487 * w32.c: Rename the_passwd_* to dflt_passwd_*.
9488 (dflt_group_name): New static variable.
9489 (dflt_group): Rename from the_group.
9490 (init_user_info): Init dflt_group fields. Get user's group name
9491 from LookupAccountSid.
9492 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
9493 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
9494 New initialization states.
9495 (globals_of_w32): Initialize them to zero. Initialize the default
9496 group name to "None".
9497 (GetFileSecurity_Name): New global var, the name of the function
9498 to call for GetFileSecurity.
9499 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
9500 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
9501 (get_file_security, get_security_descriptor_owner)
9502 (get_security_descriptor_group, is_valid_sid)
9503 (get_file_security_desc, get_rid, get_name_and_id)
9504 (get_file_owner_and_group): New functions.
9505 (stat): Use get_file_security_desc and get_file_owner_and_group to
9506 report the owner and primary group of each file. Don't ignore the
9507 high 32 bits of file's size, now that st_size is 64-bit wide.
9508 Fix test when to get true file attributes.
9509 (init_user_info): Use get_rid instead of equivalent inline code.
9510 (fstat): Don't ignore the high 32 bits of file's size.
9511
95122008-05-09 Chong Yidong <cyd@stupidchicken.com>
9513
9514 * image.c (png_load): Use correct bit-depth for setting background
9515 color.
9516
95172008-05-08 Eli Zaretskii <eliz@gnu.org>
9518
9519 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
9520 epa-hook.elc.
9521
95222008-05-08 Juanma Barranquero <lekktu@gmail.com>
9523
9524 * font.c (Ffont_match_p): Don't use `iff' in docstring.
9525
95262008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
9527
9528 * macfns.c (Fx_create_frame): Make a copy of frame parameters
9529 because the original parameters are in pure storage now.
9530 (mac_window): Remove unused params. Update callers.
9531
95322008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
9533
9534 * lread.c (substitute_object_recurse): Use lower-level primitives.
9535 Don't signal errors when traversing sub-char-tables.
9536 Don't loop over all the possible characters when traversing char-tables.
9537
9538 * print.c (print_preprocess): Add sub-char-tables to the print-table,
9539 just like we do in print.c.
9540
95412008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
9542
9543 * minibuf.c (Ftry_completion): Remove code left over from when we used
9544 scmp instead of Fcompare_strings.
9545
95462008-05-04 Juanma Barranquero <lekktu@gmail.com>
9547
9548 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
9549
95502008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9551
9552 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
9553 Create bitmap context in native byte order.
9554
9555 * macterm.c (XDrawLine)
9556 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
9557 context in native byte order.
9558
95592008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9560
9561 * config.in: Regenerate.
9562
9563 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
9564 New definitions for Image I/O support.
9565 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
9566 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
9567 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
9568 (mac_data_provider_release_data, image_load_image_io)
9569 [USE_MAC_IMAGE_IO]: New functions.
9570 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
9571 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
9572 (init_image_func_pointer) [MAC_OSX]: Remove function.
9573 (image_load_quartz2d) [MAC_OSX]: Check availability of
9574 CGImageCreateWithPNGDataProvider at compile time.
9575 Use lowercase `false' for boolean constant.
9576 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
9577 Use image_load_image_io.
9578 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
9579 Don't check MyCGImageCreateWithPNGDataProvider.
9580 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
9581 Don't call init_image_func_pointer.
9582
9583 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
9584
9585 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
9586 Make variable non-static.
9587 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
9588 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
9589
9590 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
9591 (RED_FROM_ULONG): Mask off higher bits.
9592 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
9593
9594 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
9595 Include AvailabilityMacros.h.
9596 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
9597 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
9598
95992008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
9600
9601 * chartab.c (Fset_char_table_range): If range is t, really set all
9602 chars to that value.
9603
96042008-05-03 Eli Zaretskii <eliz@gnu.org>
9605
9606 * dired.c (Ffile_attributes): Don't allow the device number become
9607 negative.
9608
96092008-05-02 Daiki Ueno <ueno@unixuser.org>
9610
9611 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
9612
96132008-05-02 Juri Linkov <juri@jurta.org>
9614
9615 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
9616 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
9617 DEFAULT argument as a list of default values in docstrings.
9618
96192008-05-01 Chong Yidong <cyd@stupidchicken.com>
9620
9621 * puresize.h (BASE_PURESIZE): Increase to 1210000.
9622
96232008-05-01 Martin Rudalics <rudalics@gmx.at>
9624
9625 * dispnew.c (change_frame_size_1): Preserve small windows when
9626 shrinking frames by calling set_window_height|width with third
9627 arg 2.
9628
9629 * window.h (struct window): Replace field too_small_ok by field
9630 resize_proportionally.
9631
9632 * window.c (make_window): Initialize resize_proportionally.
9633 (enlarge_window): Temporarily set resize_proportionally to make
9634 sure that shrink_windows does scale the window proportionally.
9635 (shrink_windows): When window has resize_proportionally set try
9636 to shrink it proportionally by stealing from other windows.
9637 (struct saved_window, Fset_window_configuration)
9638 (compare_window_configurations): Handle resize_proportionally.
9639 (WINDOW_TOTAL_SIZE): New macro.
9640 (window_min_size, shrink_windows, size_window): Use it.
9641 (check_min_window_sizes): Remove. Invalid values of
9642 window-min-height|width are handled by window_min_size_2 now.
9643 (size_window, Fsplit_window, enlarge_window)
9644 (adjust_window_trailing_edge, grow_mini_window): Don't call
9645 check_min_window_sizes.
9646 (window_min_size_2, window_min_size_1, window_min_size):
9647 New argument safe_p for retrieving "safe" minimum sizes.
9648 (Fdisplay_buffer, Fsplit_window, enlarge_window)
9649 (adjust_window_trailing_edge, grow_mini_window):
9650 Adjust arguments of window_min_size... functions.
9651 (shrink_windows): Argument min_size removed. New argument
9652 safe_p allows shrinking windows to their safe minimum sizes.
9653 Calculate minimum size and decide whether a window shall be
9654 deleted for each window individually.
9655 (size_window): When nodelete_p equals 2, tell shrink_windows to
9656 delete windows only if their new minimum size is no more safe.
9657 (shrink_window_lowest_first): Call window_min_size_1 to make
9658 sure to preserve modeline of bottom-most window when resizing
9659 the minibuffer.
9660 (Fset_window_configuration, Fcurrent_window_configuration)
9661 (compare_window_configurations): Do not handle
9662 window-min-height|width any more.
9663 (syms_of_window): Clarify window-min-height|width doc-strings.
9664
96652008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
9666
9667 * dired.c (file_name_completion): Fix up the encoding/decoding issue
9668 some more. Copy some of the code from Ftry_completions.
9669 Remove special case code that dates back to initial revision when the
9670 slash was only added when necessary and that can't trigger nowadays.
9671
96722008-04-27 Kenichi Handa <handa@m17n.org>
9673
9674 * font.c (font_prop_validate): Signal `error' instead of `font'.
9675
96762008-04-29 Jason Rumney <jasonr@gnu.org>
9677
9678 * w32fns.c (Fw32_battery_status): New defun.
9679 (syms_of_w32fns): Defsubr it.
9680
96812008-04-28 Andreas Schwab <schwab@suse.de>
9682
9683 * dired.c (file_name_completion): Fix another mixing of encoded
9684 and decoded names.
9685
96862008-04-28 Juanma Barranquero <lekktu@gmail.com>
9687
9688 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
9689
96902008-04-27 Juanma Barranquero <lekktu@gmail.com>
9691
9692 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
9693
96942008-04-27 Andreas Schwab <schwab@suse.de>
9695
9696 * dired.c (file_name_completion): Fix inappropriate mixing of
9697 encoded and decoded names.
9698
9699 * xterm.c (XTread_socket): Fix use of uninitialized variable.
9700
9701 * puresize.h (BASE_PURESIZE): Increase to 1200000.
9702
97032008-04-26 Eli Zaretskii <eliz@gnu.org>
9704
9705 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
9706 2008-03-31, it's not needed anymore with `struct stat' definition
9707 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
9708 for the same reasons.
9709
97102008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
9711
9712 * m/sparc.h: Additional redefinitions for GNU/Linux.
9713
97142008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9715
9716 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
9717 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
9718 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
9719 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
9720 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
9721 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
9722 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
9723 Likewise.
9724
9725 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
9726 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
9727 (mac_ax_number_of_characters): Add externs.
9728 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
9729 [USE_MAC_TSM]: Likewise.
9730 (mac_handle_text_input_event) [MAC_OSX]:
9731 Handle kEventTextInputOffsetToPos for no active input area case.
9732 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
9733 (mac_handle_document_access_event)
9734 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
9735 (install_application_handler) [MAC_OSX]: Register handlers for
9736 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
9737 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
9738 Register mac_handle_document_access_event.
9739
9740 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
9741 Make functions non-static.
9742
97432008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
9744
9745 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
9746 (read_file_name_completion_ignore_case, insert_default_directory)
9747 (Qdefault_directory): Move to minibuffer.el.
9748 (Fread_file_name): Call the new `read-file-name' instead.
9749
97502008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9751
9752 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
9753 Make function non-static.
9754 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
9755 Remove function.
9756 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
9757 Move to mactoolbox.c.
9758 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
9759
9760 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
9761 (mac_rect_make): New macro.
9762
9763 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
9764 instead of float.
9765 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
9766 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
9767 (XSetBackground) [USE_CG_DRAWING]: Likewise.
9768 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
9769 CGRectMake.
9770 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
9771 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
9772 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
9773 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
9774 instead of WindowRef in argument type.
9775 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
9776 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
9777 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
9778 instead of DISPLAY. All uses changed.
9779 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
9780 (x_calc_absolute_position): Simplify so as not to use
9781 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
9782
9783 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
9784 instead of WindowRef in argument type.
9785 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
9786 [TARGET_API_MAC_CARBON]: Remove externs.
9787 (create_apple_event, mac_event_parameters_to_lisp)
9788 [TARGET_API_MAC_CARBON]: Add externs.
9789
9790 * mactoolbox.c (Vmac_ts_script_language_on_focus)
9791 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
9792 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
9793 is clicked.
9794 (x_activate_menubar): Remove extern for saved_menu_event_location.
9795 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
9796 Move from mac.c.
9797
97982008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9799
9800 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
9801 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
9802
98032008-04-23 Jason Rumney <jasonr@gnu.org>
9804
9805 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
9806 attributes only for local files.
9807
9808 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
9809 default to Qlocal.
9810
98112008-04-22 Juri Linkov <juri@jurta.org>
9812
9813 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
9814 read-buffer-to-switch instead of using the letter "B".
9815
98162008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
9817
9818 * fileio.c (Qdefault_directory): New variable.
9819 (Fread_file_name): Use it to pass `dir' to the completion functions.
9820
98212008-04-20 Chong Yidong <cyd@stupidchicken.com>
9822
9823 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
9824
98252008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
9826
9827 * keyboard.c (Vpre_help_message): Remove.
9828 (show_help_echo): Remove default C code.
9829
9830 * dired.c (directory_files_internal, file_name_completion):
9831 Only call ENCODE_FILE if the string is indeed decoded.
9832
98332008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
9834
9835 * Makefile.in (TOOLKIT_DEFINES): Remove.
9836 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
9837
98382008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9839
9840 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
9841 (mactoolbox.o): New target.
9842
9843 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
9844 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
9845
9846 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
9847 Use mac_set_frame_window_background instead of XSetWindowBackground.
9848 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
9849 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
9850 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
9851 instead of SetWindowTitleWithCFString.
9852 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
9853 Move function to mactoolbox.c.
9854 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
9855 Use mac_set_window_modified instead of SetWindowModified.
9856 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
9857 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
9858 (Fx_focus_frame): Use mac_front_non_floating_window instead of
9859 FrontNonFloatingWindow. Use mac_activate_window instead of
9860 ActivateWindow. Use mac_active_non_floating_window instead of
9861 ActiveNonFloatingWindow.
9862 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
9863 Use mac_show_hourglass and mac_hide_hourglass.
9864 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
9865 instead of GetGlobalMouse.
9866 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
9867 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
9868 Use mac_bring_window_to_front instead of BringToFront.
9869 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
9870 mactoolbox.c.
9871 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
9872 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
9873 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
9874 mactoolbox.c.
9875
9876 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
9877 (XtPointer): Move typedef from macmenu.c.
9878 (enum button_type): Move enum from macmenu.c.
9879 (widget_value): Move typedef from macmenu.c.
9880 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
9881 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
9882 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
9883 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
9884 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
9885 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
9886 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
9887 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
9888 (Selection): Move typedef from macselect.c.
9889 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
9890 macterm.c.
9891 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
9892 (mac_is_window_collapsed, mac_bring_window_to_front)
9893 (mac_send_window_behind, mac_hide_window, mac_show_window)
9894 (mac_collapse_window, mac_front_non_floating_window)
9895 (mac_active_non_floating_window, mac_activate_window)
9896 (mac_move_window_structure, mac_move_window, mac_size_window)
9897 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
9898
9899 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
9900 (enum mac_menu_kind): Move enum to mactoolbox.c.
9901 (min_menu_id): Move variable to mactoolbox.c.
9902 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
9903 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
9904 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
9905 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
9906 [TARGET_API_MAC_CARBON]: Likewise.
9907 (XtPointer): Move typedef to macgui.h.
9908 (enum button_type): Move enum to macgui.h.
9909 (widget_value): Move typedef to macgui.h.
9910 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
9911 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
9912 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
9913 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
9914 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
9915 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
9916 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
9917 (popup_activated_flag): Make variable non-static.
9918 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
9919 (add_menu_item, fill_menu, dispose_menus):
9920 Move functions to mactoolbox.c.
9921 (restore_show_help_function, menu_target_item_handler)
9922 (install_menu_target_item_handler, mac_handle_dialog_event)
9923 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
9924 [TARGET_API_MAC_CARBON]: Likewise.
9925 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
9926 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
9927 (find_and_call_menu_selection, name_is_separator): Make function
9928 non-static.
9929 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
9930 to mactoolbox.c.
9931 (set_frame_menubar): Don't call install_menu_quit_handler.
9932 (menu_item_selection): New variable.
9933 (mac_menu_show): Use create_and_show_popup_menu.
9934 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
9935 selection but set variable menu_item_selection. All uses changed.
9936 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
9937 Call install_menu_quit_handler. Move to mactoolbox.c.
9938
9939 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
9940 (Selection): Move typedef to macgui.h.
9941 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
9942 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
9943 Make variables non-static.
9944 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
9945 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
9946 Make functions non-static.
9947 (Vmac_service_selection) [MAC_OSX]: Likewise.
9948 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
9949 (mac_valid_selection_target_p, mac_clear_selection)
9950 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
9951 (mac_put_selection_value, mac_selection_has_target_p)
9952 (mac_get_selection_value, mac_get_selection_target_list)
9953 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
9954 Move functions to mactoolbox.c.
9955 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
9956 Likewise.
9957 (copy_scrap_flavor_data, mac_handle_service_event)
9958 (install_service_handler) [MAC_OSX]: Likewise.
9959 (syms_of_macselect) <Vmac_dnd_known_types>:
9960 Use mac_dnd_default_known_types.
9961
9962 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
9963 Move to mactoolbox.c.
9964 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
9965 (Fx_selection_owner_p): Add EXFUN.
9966 (install_window_handler, remove_window_handler, XSetWindowBackground):
9967 Remove externs.
9968 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
9969 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
9970 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
9971 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
9972 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
9973 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
9974 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
9975 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
9976 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
9977 (create_and_show_popup_menu, mac_get_selection_from_symbol)
9978 (mac_valid_selection_target_p, mac_clear_selection)
9979 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
9980 (mac_put_selection_value, mac_selection_has_target_p)
9981 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
9982 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
9983 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
9984 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
9985 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
9986 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
9987 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
9988 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
9989 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
9990
9991 * mactoolbox.c: New file.
9992
99932008-04-18 Jason Rumney <jasonr@gnu.org>
9994
9995 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
9996
99972008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
9998
9999 * character.c (Fmultibyte_char_to_unibyte):
10000 Return latin1 chars unchanged.
10001
10002 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
10003 relocated if it points to `name'.
10004
100052008-04-17 Kenichi Handa <handa@m17n.org>
10006
10007 * data.c (Faset): Allow setting a multibyte character in an
10008 ASCII-only unibyte string.
10009
10010 * lisp.h (STRING_SET_MULTIBYTE): New macro.
10011
100122008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
10013
10014 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
10015 done in config.h.
10016
100172008-04-16 Juanma Barranquero <lekktu@gmail.com>
10018
10019 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
10020 (Fchar_direction): Add usage in the docstring.
10021
100222008-04-15 Chong Yidong <cyd@stupidchicken.com>
10023
10024 * keyboard.c (read_key_sequence): Remove always-true checks.
10025
100262008-04-14 Jason Rumney <jasonr@gnu.org>
10027
10028 * w32font.c (w32font_open_internal): Set max_bounds.descent in
10029 compatibility struct, for better underline positioning.
10030
100312008-04-13 David Hansen <david.hansen@gmx.net>
10032
10033 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
10034 string.
10035
100362008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
10037
10038 * m/hp800.h (XUINT, XSET): Remove.
10039
100402008-04-12 Juanma Barranquero <lekktu@gmail.com>
10041
10042 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
10043 previous change.
10044
100452008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
10046
10047 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
10048 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
10049
100502008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
10051
10052 * keymap.h (map_keymap_canonical): Declare.
10053 * xmenu.c (single_keymap_panes): Use it.
10054
100552008-04-11 Glenn Morris <rgm@gnu.org>
10056
10057 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
10058 set the target's value to that of the alias.
10059
100602008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
10061
10062 * term.c (set_tty_color_mode): Left over typo.
10063
100642008-04-10 Michael Albinus <michael.albinus@gmx.de>
10065
10066 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
10067 only after check for file name handler functions. Signal, when
10068 native functionality is not supported.
10069 (syms_of_fileio): Declare it unconditionally.
10070
100712008-04-10 Jason Rumney <jasonr@gnu.org>
10072
10073 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
10074 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
10075
10076 * w32.c (logon_network_drive): Also logon to remote drives that
10077 are mapped to drive letters.
10078
100792008-04-10 Glenn Morris <rgm@gnu.org>
10080
10081 * xdisp.c (truncate-partial-width-windows): Doc fix.
10082
100832008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
10084
10085 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
10086 Move functions to minibuffer.el.
10087 (syms_of_fileio): Don't declare them.
10088
100892008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
10090
10091 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
10092 (syms_of_minibuf): Remove its initialization.
10093
10094 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
10095
100962008-04-09 Juanma Barranquero <lekktu@gmail.com>
10097
10098 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
10099
101002008-04-09 Jason Rumney <jasonr@gnu.org>
10101
10102 * makefile.w32-in (distclean): Delete makefile too.
10103 (maintainer-clean): New target.
10104
10105 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
10106
10107 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
10108 for new font backend and composite cases.
10109
101102008-04-09 Jan Djärv <jan.h.d@swipnet.se>
10111
10112 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
10113 Most of the code moved to run_timers.
10114 (do_pending_atimers): Call run_timers.
10115 (run_timers): New function.
10116
10117 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
10118 run atimers.
10119
10120 * process.c (wait_reading_process_output): The same as above.
10121
101222008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
10123
10124 * minibuf.c (last_exact_completion): Remove variable.
10125 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
10126 (complete_and_exit_1, complete_and_exit_2)
10127 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
10128 (Fdisplay_completion_list, display_completion_list_1)
10129 (Fminibuffer_completion_help, Fself_insert_and_exit)
10130 (Fexit_minibuffer, Fminibuffer_message): Move functions to
10131 minibuffer.el.
10132 (syms_of_minibuf): Remove corresponding initializations.
10133
10134 * keyboard.c (Qdeactivate_mark): New var.
10135 (command_loop_1): Use it to call `deactivate-mark'.
10136 (syms_of_keyboard): Initialize it.
10137
10138 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
10139 to another frame.
10140 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
10141 Don't call set_tty_color_mode.
10142 (store_frame_param): Reset previous_frame rather than call
10143 set_tty_color_mode.
10144 * term.c (set_tty_color_mode): Rewrite.
10145 * dispextern.h (set_tty_color_mode): New type.
10146 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
10147
101482008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
10149
10150 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
10151 for generic chars, which do not exist any more in emacs-unicode.
10152
101532008-04-08 Michael Albinus <michael.albinus@gmx.de>
10154
10155 * coding.c (detect_coding_emacs_mule)
10156 (Ffind_operation_coding_system): Fix typo.
10157
101582008-04-08 Jason Rumney <jasonr@gnu.org>
10159
10160 * w32uniscribe.c (SNAME): Extract only symbol name.
10161
10162 * w32font.h (struct w32_metric_cache): New struct.
10163 (w32font_info): Use it.
10164 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
10165 (CACHE_BLOCKSIZE): New constants.
10166
10167 * w32font.c (Qja, Qko, Qzh): New symbols.
10168 (syms_of_w32font): Initialise them.
10169 (font_matches_spec): Use them to filter by language.
10170 (recompute_cached_metrics): Remove function.
10171 (compute_metrics, clear_cached_metrics): New functions.
10172 (w32font_encode_char): Use them to manage metric cache.
10173 (w32font_text_extents): Cache metrics for all glyphs on demand.
10174 Delay converting glyph indices to WORD until needed.
10175 (w32font_open_internal): Initialize metric cache to empty.
10176 (registry_to_w32_charset): Charset should always be a symbol.
10177 (fill_in_logfont, list_all_matching_fonts): Family should
10178 always be a symbol.
10179
101802008-04-06 Jason Rumney <jasonr@gnu.org>
10181
10182 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
10183 Give up if glyph indices not supported. Use uniscribe obtained
10184 ABC widths for individual metrics. Map glyph clusters back to
10185 characters using fClusterStart flag. Return number of glyphs
10186 produced, not chars processed.
10187 (uniscribe_shape): Map char at FROM to current glyph.
10188
101892008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10190
10191 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
10192 Use SetMenuItemHierarchicalMenu.
10193
101942008-04-05 Jason Rumney <jasonr@gnu.org>
10195
10196 * image.c (pbm_load): Allow color values up to 65535.
10197 Throw an error if max_color_idx is outside the supported range.
10198 Report an error when image size is invalid.
10199 Read two bytes at a time when raw images have max_color_idx above 255.
10200
102012008-04-05 Eli Zaretskii <eliz@gnu.org>
10202
10203 * w32.c (readdir): If FindFirstFile/FindNextFile return in
10204 cFileName a file name that includes `?' characters, use the 8+3
10205 alias in cAlternateFileName instead.
10206
102072008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
10208
10209 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
10210 append "CCL: Quitted" when the CCL program is quitted.
10211 (setup_ccl_program): Initialize ccl->quit_silently to zero.
10212
10213 * ccl.h (struct ccl_program): New member quit_silently.
10214
102152008-04-05 Chong Yidong <cyd@stupidchicken.com>
10216
10217 * search.c (compile_pattern_1): Treat non-nil and non-string of
10218 search-spaces-regexp as nil.
10219
10220 * minibuf.c (Fassoc_string): Tweak docstring.
10221
102222008-04-05 Eli Zaretskii <eliz@gnu.org>
10223
10224 * dired.c (Ffile_attributes): Support inode numbers wider than 32
10225 bits. Remove ugly WINDOWSNT-specific kludge introduced on
10226 2008-03-14 to force inode be positive.
10227
10228 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
10229 _S_* ones, since we now use our own sys/stat.h.
10230 (stat, fstat): Don't mangle the inode number.
10231 (init_user_info): Don't restrict UID and GID to 0-60000 range.
10232
102332008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
10234
10235 * frame.h (struct frame): Give one more bit to `visible' since we use
10236 values larger than 1 to indicate obscured frames on ttys.
10237
10238 * keymap.c (Qkeymap_canonicalize): New var.
10239 (Fmap_keymap_internal): New fun.
10240 (describe_map): Use keymap-canonicalize.
10241
10242 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
10243 (Fundo_boundary): Set them.
10244 (syms_of_undo): Initialize them.
10245 (record_point): Use them instead of last_point_position*.
10246 (last_undo_buffer): Change type.
10247
102482008-04-04 Jason Rumney <jasonr@gnu.org>
10249
10250 * w32font.c (w32font_text_extents): Use font's ascent and descent.
10251 (recompute_cached_metrics): Don't set ascent and descent per char.
10252
10253 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
10254 (uniscribe_check_otf): Add GC protection before consing.
10255 Rearrange loop for counting features.
10256
102572008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
10258
10259 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
10260 buffer with byte-size of source buffer.
10261
102622008-04-03 Chong Yidong <cyd@stupidchicken.com>
10263
10264 * callint.c (Fcall_interactively): Handle temporary region even
10265 when shift-select-mode is off.
10266
102672008-04-03 Jason Rumney <jasonr@gnu.org>
10268
10269 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
10270
102712008-04-03 Kenichi Handa <handa@m17n.org>
10272
10273 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
10274 (CATEGORY_MASK_UTF_16): Likewise.
10275 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
10276 binary file.
10277 (detect_coding): Add null-byte detection for a binary file.
10278 (detect_coding_system): Likewise.
10279
102802008-04-03 Jason Rumney <jasonr@gnu.org>
10281
10282 * w32uniscribe.c: New file.
10283
10284 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
10285
10286 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
10287
10288 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
10289 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
10290 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
10291 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
10292 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
10293 (Qphonetic): New symbols.
10294 (syms_of_w32font): Initialize them.
10295 (font_supported_scripts): Use them.
10296 (w32font_list_family): List all charsets.
10297 (w32font_text_extents, recompute_cached_metrics): Fix metric
10298 calculations.
10299 (w32_enumfont_pattern_entity): Make full_type a DWORD.
10300 Give opentype fonts their own format.
10301 (font_matches_spec): New arguments backend and logfont.
10302 Handle :otf spec for uniscribe backend.
10303 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
10304 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
10305
10306 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
10307 font backend.
10308 (globals_of_w32fns): Initialize uniscribe font backend.
10309
10310 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
10311 dependencies.
10312 (w32uniscribe.$(O)): New file to build.
10313 (FONT_OBJ): Include w32uniscribe.$(O).
10314 (LIBS): Add uniscribe libraries.
10315
10316 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
10317
103182008-04-02 Chong Yidong <cyd@stupidchicken.com>
10319
10320 * callint.c (Vshift_select_mode): New var.
10321 (Finteractive): Document new ^ spec.
10322 (Fcall_interactively): Call handle-shift-selection if the ^ spec
10323 is present.
10324
10325 * keyboard.c (Vthis_command_keys_shift_translated): New var.
10326 (command_loop_1): Avoid running the direct display versions of
10327 forward-char and backward-char if shift-selection may occur.
10328 (read_key_sequence): Set Vthis_command_keys_shift_translated if
10329 shift-translation takes place.
10330
10331 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
10332 avoid clobbering by define-minor-mode.
10333
10334 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
10335 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
10336
10337 * syntax.c (Fforward_word): Add ^ interactive spec.
10338
10339 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
10340 (Fscroll_right): Add ^ interactive spec.
10341
103422008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
10343
10344 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
10345
10346 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
10347
10348 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
10349
103502008-03-31 Juri Linkov <juri@jurta.org>
10351
10352 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
10353
103542008-03-30 Jan Djärv <jan.h.d@swipnet.se>
10355
10356 * gtkutil.c (xg_set_geometry): Fix indentation.
10357 (xg_resize_outer_widget): Remove.
10358 (x_wm_size_hint_off): Fix indentation.
10359 (xg_frame_set_char_size): Call flush_and_sync after
10360 gtk_window_resize.
10361 (x_wm_set_size_hint): Pass NULL as geometry window to
10362 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
10363 Add menu bar and tool bar height to base height.
10364 (xg_update_frame_menubar, free_frame_menubar)
10365 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
10366 (update_frame_tool_bar, free_frame_tool_bar):
10367 Change xg_resize_outer_widget to xg_frame_set_char_size.
10368
103692008-03-30 Michael Albinus <michael.albinus@gmx.de>
10370
10371 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
10372 (Fdbus_call_method): New parameter TIMEOUT.
10373 (dbus-send-signal): Optimize UNGCPRO call.
10374
103752008-03-29 Juri Linkov <juri@jurta.org>
10376
10377 * window.c (Fdisplay_buffer): Move call to
10378 Vsplit_window_preferred_function out of conditions that check
10379 if window is eligible for vertical splitting.
10380 When Vsplit_window_preferred_function is non-nil, call it and use
10381 its non-nil return value as window. Otherwise, continue doing
10382 vertical splitting using Fsplit_window with arg horflag=nil.
10383 (syms_of_window) <Vsplit_window_preferred_function>: Change the
10384 default value from `split-window' to nil.
10385
103862008-03-29 Juri Linkov <juri@jurta.org>
10387
10388 * callint.c (Fcall_interactively): Revert 2008-03-16 change
10389 for interactive code letters 'b' and 'B'.
10390
103912008-03-29 Eli Zaretskii <eliz@gnu.org>
10392
10393 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
10394 multibyte string.
10395
103962008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
10397
10398 * keyboard.c (pending_funcalls): New var.
10399 (timer_check): Run it.
10400 (syms_of_keyboard): Initialize it.
10401 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
10402 (Vdelete_terminal_functions): New vars.
10403 (syms_of_terminal): Initialize them.
10404 (Fdelete_terminal): Run delete-terminal-functions.
10405 * xdisp.c (safe_eval): Rewrite.
10406 (safe_call2): New fun.
10407 * frame.c (Qdelete_frame_functions): New var.
10408 (syms_of_frame): Initialize it.
10409 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
10410 * lisp.h (safe_call2, pending_funcalls): Declare.
10411
104122008-03-28 Andreas Schwab <schwab@suse.de>
10413
10414 * indent.c (Fmove_to_column): Move declaration before statements.
10415
104162008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
10417
10418 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
10419 (struct frame): Use bit fields for boolean vars.
10420
10421 * process.c (server_accept_connection): Simplify naming.
10422 (emacs_get_tty_pgrp): Use SDATA.
10423
10424 * coding.c (decode_coding_object): Fix last change.
10425
104262008-03-27 Jason Rumney <jasonr@gnu.org>
10427
10428 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
10429
104302008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
10431
10432 * charset.c (Fdefine_charset_internal): Change the way of
10433 registering charsets in Vcharset_order_list.
10434 (syms_of_charset): Make the charset `eight-bit' supplementary.
10435
104362008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
10437
10438 * regex.c (EXTEND_BUFFER): Change order of pointer addition
10439 operations, to avoid having the difference between pointers
10440 overflow.
10441
104422008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
10443
10444 * indent.c (check_display_width): New fun.
10445 (scan_for_column): Use it.
10446
10447 * data.c (syms_of_data): Mark most-positive-fixnum and
10448 most-negative-fixnum as constants.
10449
10450 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
10451
10452 * indent.c (scan_for_column): Extract from current_column_1.
10453 Merge with the same code from Fmove_to_column.
10454 (current_column_1, Fmove_to_column): Use it.
10455
104562008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
10457
10458 * keymap.c (map_keymap_internal): New fun.
10459 (map_keymap): Use it.
10460 (Fmap_keymap_internal): New fun.
10461 (Fmap_keymap): Remove left-out test from before make_save_value.
10462
10463 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
10464
10465 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
10466 Use XCAR/XCDR.
10467
10468 * process.h (struct Lisp_Process): Remove filter_multibyte.
10469 * process.c (QCfilter_multibyte): Remove.
10470 (setup_process_coding_systems): Don't use filter_multibyte.
10471 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
10472 (read_process_output): Don't adjust multibyteness to filter_multibyte.
10473 (Fset_process_filter_multibyte): Change the coding-system to
10474 approximate the previous behavior.
10475 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
10476 coding-system.
10477
10478 * coding.c (decode_coding_object): When not decoding into a buffer,
10479 obey the coding system's preference of (uni|multi)byte.
10480
104812008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
10482
10483 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
10484 every char is changed and has a different byte-length.
10485 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
10486 Fix int -> EMACS_INT.
10487
104882008-03-23 David Hansen <david.hansen@gmx.net>
10489
10490 * dbusbind.c (xd_read_message): Remove extra copying of message
10491 strings. Check for NULL `interface' or `member'.
10492
104932008-03-22 Eli Zaretskii <eliz@gnu.org>
10494
10495 * w32.c (readdir): If FindFirstFile/FindNextFile return in
10496 cFileName a file name that includes `?' characters, use the 8+3
10497 alias in cAlternateFileName instead.
10498
104992008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
10500
10501 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
10502
105032008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
10504
10505 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
10506 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
10507 work on current_buffer only instead (that was already the case
10508 for some of the code anyway).
10509 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
10510 (temp_set_point, temp_set_point_both): Use EMACS_INT.
10511 (SET_PT, SET_PT_BOTH): Adjust.
10512 * intervals.h (set_point, temp_set_point, set_point_both)
10513 (temp_set_point_both): Remove redundant declarations.
10514
105152008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
10516
10517 * fileio.c (Finsert_file_contents):
10518 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
10519 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
10520 when buffer != current_buffer anyway.
10521
105222008-03-20 Andreas Schwab <schwab@suse.de>
10523
10524 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
10525 as default.
10526
105272008-03-19 Jason Rumney <jasonr@gnu.org>
10528
10529 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
10530 (syms_of_w32fns): Initialize them.
10531 (HOURGLASS_ID): New constant.
10532 (x_window_to_frame): Don't check hourglass_window.
10533 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
10534 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
10535 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
10536 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
10537 Only change the cursor if hourglass is not active.
10538 (Fx_create_frame): Initialize frame's current_cursor.
10539 (hourglass_atimer): Remove.
10540 (hourglass_started): New function.
10541 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
10542 (show_hourglass): Adapt to w32, changing argument to frame.
10543
10544 * w32term.h (struct w32_output): Remove hourglass_window.
10545 Add current_cursor.
10546
10547 * eval.c (call_debugger, Fsignal):
10548 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
10549 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
10550 (Fexecute_extended_command, cancel_hourglass_unwind):
10551 * minibuf.c (read_minibuf):
10552 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
10553
105542008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
10555
10556 * window.c (run_funs): New fun.
10557 (run_window_configuration_change_hook): Use it to run the buffer-local
10558 and the global part of the hook.
10559
10560 * xdisp.c (format_mode_line_unwind_data): Add window argument.
10561 (unwind_format_mode_line): Restore selected window.
10562 (x_consider_frame_title, Fformat_mode_line): Set selected window.
10563
105642008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
10565
10566 * editfns.c (Fchar_equal): Check they are valid characters.
10567
10568 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
10569
105702008-03-17 Andreas Schwab <schwab@suse.de>
10571
10572 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
10573 against a charset.
10574
10575 * lisp.h (Fbuffer_list): Declare.
10576
105772008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 10578
aac0c6e3
MR
10579 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
10580 handlebox_widget is != 0.
10581
105822008-03-16 Juri Linkov <juri@jurta.org>
10583
10584 * callint.c (Fcall_interactively): For interactive code letters
10585 'b' and 'B' put the buffer list into the list of default "future"
10586 values of the minibuffer.
10587
105882008-03-16 Andreas Schwab <schwab@suse.de>
10589
10590 * keyboard.c (read_key_sequence): Fix downcasing of letters with
10591 modifiers.
10592
10593 * regex.c (re_match_2_internal): Correct matching of a charset
10594 against latin-1 characters.
10595
105962008-03-16 Kenichi Handa <handa@m17n.org>
10597
10598 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
10599 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
10600 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
10601 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
10602 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
10603 CHAR_STRING_ADVANCE.
10604 (produce_chars): Fix for the case that the source and the
10605 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
10606 instead of CHAR_STRING_ADVANCE.
10607 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
10608 STRING_CHAR_ADVANCE.
10609
106102008-03-15 Andreas Schwab <schwab@suse.de>
10611
10612 * regex.c (re_match_2_internal): Correct matching of eight bit
10613 characters in unibyte strings.
10614
106152008-03-15 Martin Rudalics <rudalics@gmx.at>
10616
10617 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
10618 at end of range when it coincides with the end of the buffer.
10619
106202008-03-14 Eli Zaretskii <eliz@gnu.org>
10621
10622 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
10623
10624 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
10625
106262008-03-14 Jason Rumney <jasonr@gnu.org>
10627
10628 * editfns.c (initial_tz): New variable.
10629 (syms_of_editfns): Initialize it.
10630 (Fset_time_zone_rule): Set it when first called.
10631 Use it when TZSTRING is nil.
10632
10633 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
10634 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
10635 (monitor_from_point_fn, get_monitor_info_fn): New globals.
10636 (globals_of_w32fns): Initialize them.
10637 (compute_tip_xy): Use them to position tooltips.
10638
106392008-03-14 Glenn Morris <rgm@gnu.org>
10640
10641 * emacs.c (main): Revert previous change.
10642 (standard_args): Revert -internal-script back to -scriptload,
10643 and remove the long-option form.
10644
106452008-03-13 Glenn Morris <rgm@gnu.org>
10646
10647 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
10648 Remove option -enable-font-backend.
10649
106502008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
10651
10652 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
10653
106542008-03-11 Jan Djärv <jan.h.d@swipnet.se>
10655
10656 * xterm.c (x_connection_closed): For GTK: If this is the last
10657 terminal just exit without closing the display.
10658
106592008-03-11 Jason Rumney <jasonr@gnu.org>
10660
10661 * w32font.c (w32font_full_name): Use floor to round.
10662
f0131492 106632008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
10664
10665 * sound.c (alsa_configure): Declare vol at beginning of block.
10666
10667 * fontset.c (Ffontset_info): Remove extra semicolon.
10668
106692008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
10670
10671 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
10672 size of resulting string.
10673
106742008-03-10 Jason Rumney <jasonr@gnu.org>
10675
10676 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
10677
106782008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10679
10680 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
10681 Don't pretend as if characters with display property haven't been
10682 consumed for string-replacing-string case.
10683
106842008-03-08 Kim F. Storm <storm@cua.dk>
10685
10686 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
10687 (get_next_display_element, next_element_from_string)
10688 (next_element_from_ellipsis, next_element_from_buffer): Use it.
10689
106902008-03-08 Andreas Schwab <schwab@suse.de>
10691
10692 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
10693
106942008-03-06 Jason Rumney <jasonr@gnu.org>
10695
10696 * w32font.c (w32_registry): Take font_type argument. Use ANSI
10697 when charset not specified. Only translate ANSI to unicode when
10698 font_type is truetype.
10699 (w32font_coverage_ok): New function.
10700 (add_font_entity_to_list): Use it to filter unsuitable fonts.
10701
107022008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
10703
10704 * lread.c (Fread_char): Resolve modifiers.
10705 (Fread_char_exclusive): Likewise.
10706
10707 * character.c (char_resolve_modifier_mask): New function.
10708 (char_string): Use char_resolve_modifier_mask.
10709 (Fchar_resolve_modifiers): New function.
10710 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
10711 function.
10712
107132008-03-04 Jason Rumney <jasonr@gnu.org>
10714
10715 * makefile.w32-in: Always include w32font.c in the build.
10716 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
10717
107182008-03-04 Andreas Schwab <schwab@suse.de>
10719
10720 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
10721 (versionclean): Likewise.
10722
107232008-03-04 Juanma Barranquero <lekktu@gmail.com>
10724
10725 * .cvsignore: Add oo.
10726
107272008-03-03 Andreas Schwab <schwab@suse.de>
10728
10729 * coding.c (decode_coding_object): Inhibit gap shrinking while
10730 decoding in place.
10731
107322008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
10733
10734 * w32term.c: Remove unused include "gnu.h".
10735 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
10736
10737 * gnu.h: Rename to ...
10738 * emacs-icon.h: ... this.
10739 * xterm.c: Use emacs-icon.h instead of gnu.h.
10740 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
10741
107422008-03-03 Juanma Barranquero <lekktu@gmail.com>
10743
10744 * w32font.c: Include math.h.
10745
107462008-03-03 Jason Rumney <jasonr@gnu.org>
10747
10748 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
10749 Compute options separately.
10750 (w32font_open_internal): Set glyph_idx before caching metrics.
10751
10752 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
10753 Define if system headers don't.
10754 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
10755 (w32font_encode_char): Don't declare here.
10756
10757 * w32font.c (Quniscribe, QCformat): New symbols.
10758 (syms_of_w32font): Define them.
10759 (w32font_has_char): Indicate uncertainty.
10760 (w32font_encode_char): Encode as glyph point. Make static.
10761 (recompute_cached_metrics): New function.
10762 (w32font_open_internal): Use it. Set font to use glyph points
10763 initially. Set format based on type of font.
10764 (w32font_text_extents, w32font_draw): Optionally use glyph points.
10765 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
10766 on it. Set format based on information available here.
10767 (add_font_entity_to_list): Identify backend based on opentype_only.
10768
107692008-03-02 Andreas Schwab <schwab@suse.de>
10770
10771 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
10772
10773 * coding.c (decode_coding_big5, produce_chars):
10774 Fix typos in last change.
10775
107762008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
10777
10778 * gnu.h: New icon.
10779
107802008-03-02 Kenichi Handa <handa@m17n.org>
10781
10782 * coding.c (decode_coding_utf_8): When eol-type of CODING is
10783 `dos', don't decode '\r' if that is the last in the source.
10784 (decode_coding_utf_16, decode_coding_emacs_mule)
10785 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10786 (decode_coding_raw_text, decode_coding_charset): Likewise.
10787 (produce_chars): Don't decode EOL here. Use EMACS_INT.
10788
107892008-03-01 Jason Rumney <jasonr@gnu.org>
10790
10791 * w32font.c (w32font_full_name): Report point size for scalable fonts.
10792
107932008-03-01 Kim F. Storm <storm@cua.dk>
10794
10795 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
10796
107972008-03-01 Jason Rumney <jasonr@gnu.org>
10798
10799 * w32font.c (w32font_full_name): New function.
10800 (w32font_open_internal): Use it.
10801
108022008-03-01 Kim F. Storm <storm@cua.dk>
10803
10804 * dispnew.c (line_draw_cost): Fix invalid glyph check.
10805
108062008-03-01 Jason Rumney <jasonr@gnu.org>
10807
10808 * font.c (font_unparse_fcname): Increase len when style is a symbol.
10809
108102008-03-01 Jan Djärv <jan.h.d@swipnet.se>
10811
10812 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
10813 xg_frame_resized when the event is for the edit widget.
10814
10815 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
10816
10817 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
10818 set_char_size.
10819 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
10820 operations on widgets here. Just set frame size if needed.
10821 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
10822 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
10823 (x_wm_set_size_hint): Set size hints on the edit widget only, not
10824 the whole frame.
10825 (xg_create_tool_bar): Move attachment of the tool bar to
10826 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
10827 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
10828
108292008-03-01 Jason Rumney <jasonr@gnu.org>
10830
10831 * w32fns.c (w32_msg_pump): Disable debug code.
10832
108332008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10834
10835 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
10836
108372008-02-29 Chong Yidong <cyd@stupidchicken.com>
10838
10839 * xdisp.c (next_overlay_string): Don't set
10840 overlay_strings_at_end_processed_p if we're currently reading from
10841 a display string.
10842
108432008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
10844
10845 * xdisp.c (get_overlay_strings_1): Fix typo.
10846
108472008-02-29 Chong Yidong <cyd@stupidchicken.com>
10848
10849 * xdisp.c (get_overlay_strings_1): Add missing argument type.
10850
108512008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
10852
10853 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
10854
10855 * xdisp.c (display_mode_element): Cancel the previous change.
10856 (decode_mode_spec): Likewise.
10857 (handle_auto_composed_prop): Don't make composition if it->string
10858 is a string.
10859
108602008-02-27 Kim F. Storm <storm@cua.dk>
10861
10862 * lisp.h (GLYPH): Change type from int to struct with separate char
10863 and face_id members.
10864 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
10865 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
10866 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
10867 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
10868 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
10869 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
10870 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
10871 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
10872 handle new Lisp glyph code encoding, either an integer or a cons.
10873
10874 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
10875 (GLYPH_ALIAS): Delete.
10876 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
10877 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
10878 (GLYPH_FROM_CHAR): Replace macro by ...
10879 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
10880
10881 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
10882 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
10883 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
10884 (GLYPH_INVALID_P): New macro.
10885 (spec_glyph_lookup_face): Update prototype.
10886
10887 * dispnew.c (line_draw_cost): Adapt to new glyph type.
10888 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
10889 new glyph code encoding.
10890 (spec_glyph_lookup_face): No return value; update passed glyph instead.
10891 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
10892
10893 * xdisp.c (get_next_display_element, next_element_from_display_vector):
10894 Adapt to new glyph type and new glyph code encoding.
10895
10896 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
10897
10898 * indent.c (current_column, current_column_1, Fmove_to_column)
10899 (compute_motion): Adapt to new glyph code encoding.
10900
10901 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
10902
109032008-02-27 Chong Yidong <cyd@stupidchicken.com>
10904
10905 * process.c (wait_reading_process_output): Check for window
10906 changes caused by timers.
10907 Suggested by Johan Bockgård.
10908
109092008-02-27 Glenn Morris <rgm@gnu.org>
10910
10911 * emacs.c (USAGE1): Add `--disable-font-backend'.
10912
109132008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
10914
10915 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
10916 is made to the buffer.
10917
109182008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
10919
10920 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
10921 (face_at_string_position):
10922 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
10923 (face_at_string_position):
10924 * xdisp.c (display_string, next_overlay_change):
10925 * buffer.h (overlays_at):
10926 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
10927 Update callers.
10928
109292008-02-26 Chong Yidong <cyd@stupidchicken.com>
10930
10931 * editfns.c (Fformat): Doc fix.
10932
109332008-02-26 Juanma Barranquero <lekktu@gmail.com>
10934
10935 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
10936 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
10937 (Ffont_otf_alternates, Fquery_font): Doc fixes.
10938
109392008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
10940
10941 * buffer.c (Fbuffer_swap_text): New function.
10942 (syms_of_buffer): Defsubr it.
10943
109442008-02-25 Chong Yidong <cyd@stupidchicken.com>
10945
10946 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
10947
109482008-02-25 Jason Rumney <jasonr@gnu.org>
10949
10950 * w32font.c (w32font_draw): Draw one character at a time when padding.
10951
109522008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
10953
10954 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
10955 Handle a nil arg. Use run_window_configuration_change_hook.
10956 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
10957 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
10958 Use run_window_configuration_change_hook.
10959
109602008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
10961
10962 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
10963 1-pixel width.
10964
109652008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
10966
10967 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
10968 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
10969 if the glyph in the font is zero pixel with.
10970
10971 * dispextern.h (struct glyph_string): New member padding_p.
10972
10973 * w32font.c (w32font_draw): Pay attention to s->padding_p.
10974
10975 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
10976
10977 * xfont.c (xfont_draw): Pay attention to s->padding_p.
10978
10979 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
10980
10981 * font.c: If the font driver doesn't have `shape' function, return Qnil.
10982
109832008-02-25 Jason Rumney <jasonr@gnu.org>
10984
10985 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
10986
109872008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
10988
10989 Allow fine-grained image-cache flushing.
10990 * dispextern.h (struct image): Add `dependencies' field.
10991 (clear_image_caches): Change arg to Lisp_Object.
10992 * image.c (make_image): Initialize `dependencies' field.
10993 (clear_image_cache): Change arg to allow fine-grained flushing.
10994 Perform the flush even if image-cache-eviction-delay is nil.
10995 (clear_image_caches): Change arg to Lisp_Object.
10996 (Fclear_image_cache): Expand meaning of the argument.
10997 (mark_image): Mark `dependencies' field.
10998 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
10999 (lface_hash): Use XHASH rather than XFASTINT.
11000 (face_at_buffer_position): Fix int -> EMACS_INT position.
11001 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
11002 (select_frame_for_redisplay): Remove code duplication.
11003 (redisplay_internal): Adapt arg to call to clear_image_caches.
11004
110052008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
11006
11007 * s/vms4-0.h:
11008 * s/vms4-2.h:
11009 * s/vms4-4.h:
11010 * s/vms5-5.h: Remove, unused.
11011
11012 * s/irix5-2.h:
11013 * s/irix6-0.h:
11014 * s/riscos5.h:
11015 * s/mach-bsd4-3.h:
11016 * m/mips4.h: Remove files for obsolete systems.
11017
11018 * Makefile.in:
11019 * filelock.c:
11020 * unexmips.c:
11021 * m/hp9000s300.h:
11022 * m/iris4d.h:
11023 * s/aix3-1.h:
11024 * s/hpux.h:
11025 * s/msdos.h:
11026 * s/usg5-0.h:
11027 * s/usg5-2-2.h:
11028 * s/usg5-2.h:
11029 * s/usg5-3.h: Remove references to obsolete variables.
11030
11031 * s/irix5-0.h: Remove, move all the contents ...
11032 * s/irix6-5.h: ... here. Simplify.
11033 * config.in: Regenerate.
11034
110352008-02-24 Jason Rumney <jasonr@gnu.org>
11036
11037 * w32term.c (x_draw_glyph_string_background): Clear the background
11038 manually when cleartype is in use.
11039 (x_draw_glyph_string_foreground): Draw text transparently when
11040 cleartype is in use.
11041
11042 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
11043 a font into it unless we have to.
11044
110452008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
11046
11047 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
11048 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 11049
aac0c6e3
MR
110502008-02-18 Jason Rumney <jasonr@gnu.org>
11051
11052 * w32fns.c (Fw32_shell_execute): Encode parameters.
11053
110542008-02-09 Eli Zaretskii <eliz@gnu.org>
11055
11056 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
11057
110582008-02-05 Juanma Barranquero <lekktu@gmail.com>
11059
11060 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
11061
110622008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
11063
11064 * xterm.c (x_set_offset): Don't change the gravity if
11065 CHANGE_GRAVITY is -1.
11066
110672008-02-23 Chong Yidong <cyd@stupidchicken.com>
11068
11069 * fileio.c (auto_save_error_occurred): New var.
11070 (auto_save_error): Set it.
11071 (Fdo_auto_save): Don't overwrite the error message if an auto-save
11072 error occurred.
11073
110742008-02-23 Eli Zaretskii <eliz@gnu.org>
11075
11076 * w32.c (globals_of_w32): Add initializations for
11077 g_b_init_get_sid_sub_authority and
11078 g_b_init_get_sid_sub_authority_count.
11079
110802008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
11081
11082 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
11083 (font_parse_xlfd): Use them for sanity check.
11084 (Finternal_set_font_style_table): Make sure the table is bijective.
11085
11086 Consolidate the image_cache to the terminal struct.
11087 * termhooks.h (P_): Remove redundant def.
11088 (struct terminal): New field `image_cache'.
11089 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
11090 of FRAME_X_IMAGE_CACHE.
11091 * xterm.h (struct x_display_info): Remove image_cache field.
11092 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
11093 * w32term.h (struct w32_display_info): Remove image_cache field.
11094 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
11095 * macterm.h (struct mac_display_info): Remove image_cache field.
11096 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
11097 * xterm.c (x_term_init):
11098 * w32term.c (w32_term_init):
11099 * macterm.c (mac_term_init): Set the image_cache in the terminal.
11100 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
11101 Remove declarations.
11102 (clear_image_caches, mark_image_cache): New declarations.
11103 * xfaces.c (clear_face_cache):
11104 * xdisp.c (redisplay_internal): Use clear_image_caches.
11105 * image.c (clear_image_cache): Don't check that a frame is on
11106 a window-system before checking if it shares the same cache.
11107 (clear_image_caches): New function.
11108 (Fclear_image_cache): Use it.
11109 (mark_image): Move from allo.c.
11110 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
11111 * alloc.c (mark_image, mark_image_cache): Move to image.c.
11112 (mark_object): Don't call mark_image_cache for frames.
11113 (mark_terminals): Call mark_image_cache.
11114
11115 * lisp.h (Fdelete_terminal): Declare.
11116
11117 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
11118 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
11119 wrong_type_argument.
11120
111212008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
11122
11123 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
11124 malayalam.el, and tamil.el. Add sinhala.el.
11125
111262008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
11127
11128 * xterm.c (x_connection_closed): Consolidate identical tests.
11129 (x_delete_terminal): Don't crash if called via x_connection_closed.
11130
111312008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
11132
11133 * xdisp.c (decode_mode_spec): New arg string.
11134 (display_mode_element): Adjust for the above change.
11135
111362008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
11137
11138 * callint.c (Fcall_interactively): Use AREF.
11139
111402008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
11141
11142 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
11143
111442008-02-18 Jan Djärv <jan.h.d@swipnet.se>
11145
11146 * xfns.c (Fx_show_tip): Set string to " " if empty.
11147
111482008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
11149
11150 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
11151 with Qt.
11152
111532008-02-17 Kenichi Handa <handa@m17n.org>
11154
11155 * ftfont.c (ftfont_shape): Return Lispy number.
11156
11157 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
11158 for GCs.
11159 (Finternal_set_font_selection_order): Call font_update_sort_order
11160 only when enable_font_backend is set.
11161 (realize_x_face): Set face->font_info to that of default face only
11162 when enable_font_backend is set.
11163
11164 * xdisp.c (handle_composition_prop): Set it->c to the fist
11165 character of the composed region.
11166 (fill_composite_glyph_string): Set base_face->font_info to
11167 s->font_info. Get a face for ascii from base_face->ascii_face.
11168 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
11169 with a face already decided.
11170 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
11171 non-negative.
11172 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
11173 call font_prepare_composition unconditionally.
11174
11175 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
11176
11177 * xterm.h (struct x_display_info): New member font.
11178
11179 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
11180 (x_set_mouse_face_gc, x_new_font): Likewise.
11181 (x_term_init): Setup display_info->font.
11182 (x_delete_terminal): Free display_info->font.
11183
11184 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
11185
11186 * ftxfont.c (ftxfont_default_fid): Delete it.
11187 (ftxfont_open): Set xfont->fid to 0.
11188 (ftxfont_end_for_frame): Clear data specific to the frame and the
11189 font-driver.
11190
11191 * xftfont.c (xftfont_default_fid): Delete it.
11192 (xftfont_open): Set xfont->fid to 0.
11193
11194 * fontset.c (FONTSET_OBJLIST): New macro.
11195 (fontset_find_font): Update font-object list of the fontset.
11196 (free_realized_fontset): New function.
11197 (free_face_fontset): Call free_realized_fontset.
11198 (Ffont_info): Call font_close_object only when enable_font_backend
11199 is set.
11200
11201 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
11202 [HAVE_NTGUI]: Include w32term.h.
11203 [MAC_OS]: Include macterm.ch.
11204 (font_otf_ValueRecord): Use make_number.
11205 (font_finish_cache): Fix handling of reference count.
11206 (font_clear_cache): Update num_fonts.
11207 (font_open_entity): Update smallest_char_width and
11208 smallest_font_height of the frame.
11209 (font_close_object): Update num_fonts.
11210 (Fclear_font_cache): Fix finding the target cache data.
11211
112122008-02-16 Glenn Morris <rgm@gnu.org>
11213
11214 * fontset.c (Finternal_char_font): Fix compilation warning.
11215
112162008-02-16 Eli Zaretskii <eliz@gnu.org>
11217
11218 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
11219 instead of char arrays. Enlarge the size of array passed to
11220 get_token_information.
11221
11222 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
11223 warnings.
11224
112252008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
11226
11227 * .gdbinit: Don't set `args', it breaks gdb --args.
11228
112292008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
11230
11231 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
11232 within a narrowed buffer.
11233
112342008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
11235
11236 * coding.c (decode_coding_object, encode_coding_object):
11237 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
11238
112392008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
11240
11241 * coding.c (coding_set_destination): Use BEG_BYTE rather than
11242 hardcoding 1.
11243 (detect_coding_system):
11244 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
11245 (string_char_to_byte, string_byte_to_char, insert_from_gap):
11246 * insdel.c (insert_from_gap):
11247 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
11248 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
11249 (string_to_multibyte):
11250 * character.c (chars_in_text, multibyte_chars_in_text):
11251 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
11252
11253 * character.h (FETCH_STRING_CHAR_ADVANCE)
11254 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
11255 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
11256 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
11257
11258 * casefiddle.c (casify_region): Only call after-change and composition
11259 functions on the part of the region that was changed.
11260
11261 * keyboard.c (read_avail_input):
11262 * frame.c (Fdelete_frame): Call Fdelete_terminal.
11263
112642008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
11265
11266 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
11267 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
11268
112692008-02-11 Juanma Barranquero <lekktu@gmail.com>
11270
11271 * w32menu.c (push_submenu_start, push_submenu_end)
11272 (push_left_right_boundary, push_menu_pane, push_menu_item):
11273 * keyboard.c (read_key_sequence): Don't pass args with side effects
11274 to AREF, it fails when compiling with -DENABLE_CHECKING.
11275
112762008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
11277
11278 * Makefile.in (${lispsource}international/charprop.el):
11279 Delete this target.
11280
11281 * search.c (boyer_moore): Fix incorrect synching of the trunk and
11282 emacs-unicode-2.
11283
112842008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
11285
11286 * terminal.c (Fdelete_terminal): Clean up the `force' path.
11287
112882008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
11289
11290 * frame.c (Qnoelisp): New symbol.
11291 (syms_of_frame): Initialize it.
11292 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
11293 harmless Elisp code, from a strong `force' from x_connection_closed.
11294 * frame.h (Qnoelisp): Declare.
11295 * xterm.c (x_connection_closed): Pass `noelisp'.
11296
11297 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
11298 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
11299 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
11300 rather than `int' for the type of `type'.
11301
113022008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
11303
11304 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
11305
11306 * Makefile.in (GNUC): Remove support for gcc-1.x.
11307
113082008-02-10 Richard Stallman <rms@gnu.org>
11309
11310 * lisp.h (ASET): Use AREF, not ASLOT.
11311
113122008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
11313
11314 * lisp.h (ASET): Check bounds.
11315
113162008-02-10 Glenn Morris <rgm@gnu.org>
11317
11318 * buffer.c (mode-name): Doc fix.
11319
113202008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
11321
11322 * Makefile.in:
11323 * emacs.c:
11324 * gmalloc.c:
11325 * keyboard.c:
11326 * lisp.h:
11327 * m/ibm370aix.h:
11328 * process.c:
11329 * regex.c:
11330 * s/hpux.h:
11331 * sysdep.c:
11332 * sysselect.h:
11333 * systty.h:
11334 * unexec.c:
11335 * w32term.c:
11336 * xsmfns.c:
11337 * xterm.c: Remove code that deals with obsolete variables.
11338
11339 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
11340
11341 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
11342 nothing else needs it anymore.
11343
113442008-02-09 Eli Zaretskii <eliz@gnu.org>
11345
11346 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
11347 instead of unibyte_char_to_multibyte.
11348
113492008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
11350
11351 * s/gnu-linux.h: Remove commented out code.
11352
11353 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
11354
11355 * Makefile.in: Update what RMS says about using autoconf.
11356 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
11357 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
11358 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
11359 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
11360
113612008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
11362
11363 * keymap.c (Fkey_description): Move side effect outside of macro call.
11364
11365 * xfaces.c (Finternal_make_lisp_face):
11366 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
11367
11368 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
11369 (syms_of_fontset): Use ASET.
11370
11371 * fns.c (concat): Move side effect outside of macro call.
11372 (hash_clear): Use ASET.
11373
113742008-02-08 Richard Stallman <rms@gnu.org>
11375
11376 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
11377 If FORCE, and frame has a surrogate minibuffer for another frame,
11378 delete the other frame first.
11379
113802008-02-07 Timo Savola <timo.savola@iki.fi>
11381
11382 * xterm.c (x_detect_focus_change): Handle embed client message.
11383 (handle_one_xevent): Ditto.
11384 (handle_one_xevent): If embedded and we get a button press/release,
11385 request focus.
11386 (xembed_set_info, xembed_send_message): New functions.
11387 (x_make_frame_visible): Call xembed_set_info if embedded.
11388 (x_make_frame_invisible): Call xembed_set_info if embedded.
11389 (x_term_init): Initialize Xatom_XEMBED.
11390 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
11391 (x_iconify_frame): Ditto.
11392
11393 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
11394 (enum xembed_info, enum xembed_message, enum xembed_focus)
11395 (enum xembed_modifier, enum xembed_accelerator): New.
11396 (xembed_set_info, xembed_send_message): Declare.
11397 (FRAME_X_EMBEDDED_P): New.
11398
11399 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
11400 gtk_plug_new.
11401
11402 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
11403 window ID of a frame.
11404 (x_window): Reparent frame if embedded.
11405 (Fx_create_frame): Don't set border width if embedded.
11406
11407 * emacs.c (USAGE3): Add --parent-id.
11408 (standard_args): Ditto.
11409
114102008-02-07 Jan Djärv <jan.h.d@swipnet.se>
11411
11412 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
11413
114142008-02-07 Jim Meyering <meyering@redhat.com>
11415
11416 Use "do...while (0)", not "if (1)...else" in macro definitions.
11417 The latter provokes a warning from gcc about the empty else, when
11418 followed by ";". Also, without that trailing semicolon, it would
11419 silently swallow up any following statement.
11420 * syntax.h (SETUP_SYNTAX_TABLE)
11421 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
11422 * buffer.h (DECODE_POSITION): Likewise.
11423 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
11424 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
11425 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
11426 (FETCH_CHAR_ADVANCE): Likewise.
11427 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
11428
114292008-02-07 Jim Meyering <meyering@redhat.com>
11430
11431 * lread.c [lint]: Don't include <sys/inode.h>.
11432
114332008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
11434
11435 * xselect.c (x_handle_dnd_message):
11436 * xmenu.c (digest_single_submenu, xmenu_show):
11437 * xdisp.c (with_echo_area_buffer_unwind_data)
11438 (format_mode_line_unwind_data, unwind_format_mode_line)
11439 (display_menu_bar):
11440 * eval.c (Ffetch_bytecode):
11441 * doc.c (store_function_docstring):
11442 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
11443 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
11444 * buffer.c (add_overlay_mod_hooklist): Use ASET.
11445
114462008-02-07 Kenichi Handa <handa@m17n.org>
11447
11448 * ftxfont.c (ftxfont_open): Don't set
11449 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
11450
11451 * ftfont.c (ftfont_open): Fix previous change.
11452
114532008-02-06 Jason Rumney <jasonr@gnu.org>
11454
11455 * w32font.c (w32font_text_extents): Fill in lbearing metric.
11456 Use cached metrics for ASCII characters.
11457 (w32font_open_internal): Don't set font's owning_frame.
11458 Cache metrics for ASCII characters.
11459
11460 * w32font.h (struct w32font_info): Add ascii_metrics.
11461 Remove owning_frame.
11462
114632008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
11464
11465 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
11466 to negative value.
11467
11468 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
11469
11470 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
11471
11472 * charset.c (syms_of_charset): Set QCtest and Qeq.
11473
114742008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
11475
11476 * process.c (Fstart_process):
11477 * callproc.c (Fcall_process): Handle the case where
11478 Funhandled_file_name_directory returns nil.
11479
11480 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
11481 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
11482 * font.c (check_gstring): Use them and AREF to access the vector before
11483 we know it's really a gstring.
11484 (Ffont_shape_text): Fix typo.
46e722a9 11485 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
aac0c6e3
MR
11486
11487 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
11488 Declare.
11489
11490 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
11491
114922008-02-05 Jason Rumney <jasonr@gnu.org>
11493
11494 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
11495 Set smallest_font_height and smallest_char_width in display info.
11496
114972008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
11498
11499 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
11500
115012008-02-05 Miles Bader <miles@gnu.org>
11502
11503 * xfaces.c (get_lface_attributes, merge_named_face)
11504 (lookup_named_face, lookup_derived_face, realize_named_face):
11505 Revert 2008-02-01 change by cyd@stupidchicken.com.
11506
115072008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
11508
11509 * fontset.c (Ffontset_info): Handle the case of inhibitting the
11510 fallback fonts.
11511 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
11512
115132008-02-04 Jason Rumney <jasonr@gnu.org>
11514
11515 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
11516 set full_name.
11517 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
11518
115192008-02-03 Jason Rumney <jasonr@gnu.org>
11520
11521 * makefile.w32-in (OBJ1): Include font.o here.
11522 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
11523
115242008-02-02 Jason Rumney <jasonr@gnu.org>
11525
11526 * makefile.w32-in (temacs): Bump EMHEAP to 21.
11527
115282008-02-01 Jason Rumney <jasonr@gnu.org>
11529
11530 * s/cygwin.h: Define VIRT_ADDR_VARIES.
11531
11532 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
11533
115342008-02-01 Andreas Schwab <schwab@suse.de>
11535
11536 * Makefile.in (shortlisp, lisp): Update for rename of
11537 ../lisp/language/myanmar.el.
11538
115392008-02-01 Chong Yidong <cyd@stupidchicken.com>
11540
11541 * xfaces.c (get_lface_attributes): Delete function.
11542 (merge_named_face, lookup_named_face, lookup_derived_face)
11543 (realize_named_face): Call lface_from_face_name directly, and use
11544 the fact that merge_face_vectors does not alter its FROM argument.
11545
115462008-02-01 Jason Rumney <jasonr@gnu.org>
11547
11548 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
11549 input in the default locale. Handle non-Unicode multibyte input.
11550
115512008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11552
11553 * fontset.c (reorder_font_vector): Exclude nil elements from the
11554 font group. Don't try multiple fonts.
11555 (fontset_font): Adjust for the above change.
11556 (Finternal_char_font): Return nil if the found font doesn't
11557 contain the character ch.
11558
11559 * Makefile.in (lisp, shortlisp): Add cham.el.
11560
115612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11562
11563 * font.h (FONTP): Make it return 1 also for a font-object.
11564
11565 * .gdbinit (xfontset): New function.
11566
11567 * font.c (font_find_for_lface): Check if the character C is
11568 supported or not only for the first font.
11569
11570 * fontset.c (reorder_font_vector): Fix typo.
11571 (fontset_find_font): Don't add a font-spec specifying a script.
11572 Use 0 (not Qt) for the indication of empty font-group. Change the
11573 format of RFONT-DEF. Return Qt if no font in the font-group
11574 support the character.
11575 (fontset_font): Adjust for the above change. If no font was
11576 found the character, remember that.
11577 (face_for_char): Adjust for the change of RFONT-DEF.
11578 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
11579 no font for the target.
11580 (Finternal_char_font): Adjust for the change of RFONT-DEF.
11581
115822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11583
11584 * font.c (font_load_for_face): Handle the case that the font in
11585 face->lface is a string.
11586
115872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11588
11589 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
11590
115912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11592
11593 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
11594 Fix previous change. If the frame is not on a window system,
11595 signal an error.
11596
115972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11598
11599 * coding.c (decode_coding_object, encode_coding_object): Adjust
11600 marker positions after conversion.
11601
11602 * lisp.h (struct Lisp_Marker): New member need_adjustment.
11603
116042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11605
11606 * font.c (font_find_for_lface): Fix the handling of the return
11607 value of font_has_char.
11608 (Ffont_shape_text): Fix previous change.
11609
11610 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
11611 (fontset_ref_and_range): Delete it.
11612 (fontset_find_font): Call char_table_ref_and_range instead of
11613 FONTSET_REF_AND_RANGE.
11614 (make_fontset): Don't setup font groups of Latin here.
11615 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
11616 (new_fontset_from_font): Make the specified font the default for
11617 all Latin characters.
11618
116192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11620
11621 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
11622 is on a window system before accessing the fontset of the frame.
11623
116242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11625
11626 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
11627
11628 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
11629 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
11630
11631 * font.c (Ffont_shape_text): If the font driver doesn't have a
11632 shaper function, make zero-width glyphs to have at least one-pixel
11633 width. Fix setting of `to' field of glyphs.
11634
116352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11636
11637 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
11638 glyphs.
11639
11640 * font.h (struct font_driver): Improve docstring of member `shape'.
11641
116422008-02-01 Kenichi Handa <handa@m17n.org>
11643
11644 * composite.c (syms_of_composite): Fix docstring of
11645 auto-composition-function.
11646
11647 * font.h (LGLYPH_SIZE): New macro.
11648
11649 * font.c (Ffont_fill_gstring): Stop filling when a character not
11650 supported by the font is found.
11651 (Ffont_shape_text): When a shape callback function returns nil,
11652 try at most two more times with larger gstring.
11653 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
11654
11655 * xdisp.c (handle_auto_composed_prop): Change the argument to
11656 auto-composition-function.
11657
11658 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
11659 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
11660 Lispy glyph and store it in the lgstring.
11661
11662 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
11663
11664 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
11665
116662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11667
11668 * font.c (Ffont_shape_text): Avoid unnecessary composition.
11669
11670 * fontset.c (Vfont_encoding_charset_alist): New variable.
11671 (syms_of_fontset): DEFVAR it.
11672 (reorder_font_vector, fontset_find_font): Optimize for the case of
11673 no need of reordering.
11674 (face_for_char): Map the charset property by
11675 Vfont_encoding_charset_alist.
11676
116772008-02-01 Jason Rumney <jasonr@gnu.org>
11678
11679 * w32font.c (logfonts_match): Don't check adstyle here.
11680 (font_matches_spec): Check here against physical font instead.
11681 (add_font_entity_to_list): Avoid some substitutions.
11682
11683 * font.c (font_parse_fcname): Default weight and slant to normal.
11684 (font_score): Prefer normal fonts if weight or slant unspecified.
11685 (font_score) [WINDOWSNT]: Scale weight difference down to closer
11686 match freetype scores.
11687
116882008-02-01 Jason Rumney <jasonr@gnu.org>
11689
11690 * w32font.c (w32font_text_extents): Don't use the frame stored in the
11691 font, as it may have been deleted.
11692 (w32_enumfont_pattern_entity): Map generic family to adstyle using
11693 most common hyphenless variation.
11694 (logfonts_match): Check generic family.
11695 (font_matches_spec): Don't check generic family here.
11696 (fill_in_logfont): Set generic family based on adstyle.
11697
11698 * w32font.h (w32font_get_cache): Update declaration.
11699
117002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11701
11702 * ftfont.c (ftfont_get_cache): Adjust the argument type.
11703
11704 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
11705 If none of the new drivers are available, call font_update_drivers
11706 with the old drivers.
11707
11708 * w32font.c (w32font_get_cache): Adjust the argument type.
11709
11710 * xfont.c (xfont_get_cache): Adjust the argument type.
11711
11712 * font.h (struct font_driver): Change argument type of get_cache.
11713
11714 * xftfont.c (xftfont_start_for_frame): Delete prototype.
11715
11716 * font.c (Ffont_get): Fix arguments to Fassoc.
11717 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
11718 (font_clear_cache): New function.
11719 (font_list_entities, font_matching_entity): Use font_get_cache.
11720 (font_update_drivers): Call font_clear_cache when finishing a driver.
11721
11722 * fontset.c (fontset_find_font): Fix previous change.
11723
117242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11725
11726 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
11727 dpyinfo->font_table.
11728 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
11729 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
11730
11731 * font.c (font_at): Handle the case that the arg C is negative.
11732 Handle the unibyte case.
11733 (Ffont_at): Call font_at with the arg C -1.
11734
11735 * xdisp.c (handle_auto_composed_prop): Don't get a character at
11736 the position here, and call font_at with the arg C -1.
11737 Don't check the range of the existing composition at the point.
11738
117392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11740
11741 * fontset.c (fontset_add): New args charset_id and family.
11742 Change caller.
11743 (load_font_get_repertory, fontset_find_font): Assume that
11744 font_spec is always a font-spec object.
11745 (Fset_fontset_font): Always store a font-spec object in a fontset.
11746
11747 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
11748 instead of get_property_and_range.
11749
117502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11751
11752 * xftfont.c (struct xftfont_info): Delete the member ft_face.
11753 (xftfont_open): Don't keep locking face.
11754 (xftfont_close): Don't unlock face.
11755 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
11756
11757 * fontset.c (fontset_find_font): Don't prefer a font of
11758 supplementary charset.
11759
117602008-02-01 Kenichi Handa <handa@m17n.org>
11761
11762 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
11763 script, langsys_tag to langsys, new member script.
11764 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 11765 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
11766 listing to the script specified in that property. Fix arg to
11767 OTF_check_features.
11768
117692008-02-01 Jason Rumney <jasonr@gnu.org>
11770
11771 * w32font.h: New file.
11772
11773 * w32font.c: Include it.
11774 (struct w32font_info): Add owning_frame field. Move to w32font.h.
11775 (w32font_open): Set owning_frame.
11776 (w32font_text_extents): Use owning_frame.
11777 (struct font_callback_data): Add opentype_only field.
11778 (add_font_entity_to_list): Use it to filter fonts.
11779 Don't check against full name.
11780 (w32font_list_internal): New function.
11781 (w32font_list): Use it.
11782 (w32font_match_internal): New function.
11783 (w32font_match): Use it.
11784 (w32font_open_internal): New function.
11785 (w32font_open): Use it.
11786 (w32font_get_cache, w32font_close, w32font_has_char)
11787 (w32font_encode_char, w32font_text_extents, w32font_draw):
11788 Make non-static.
11789
11790 * makefile.w32-in (w32font.o): Depend on w32font.h.
11791
117922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11793
11794 * charset.c (Fdefine_charset_internal): Record a supplementary
11795 charset at the tail of Vcharset_order_list.
11796
11797 * font.c (Ffont_shape_text): Fix the return value.
11798
11799 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
11800
11801 * xdisp.c (handle_auto_composed_prop): Fix previous change.
11802
118032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11804
11805 * ftfont.c (struct OpenTypeSpec): New struct.
11806 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
11807 (ftfont_get_open_type_spec): New function.
11808 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
11809
11810 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
11811
118122008-02-01 Jason Rumney <jasonr@gnu.org>
11813
11814 * w32font.c (add_font_entity_to_list): Compare only the beginning
11815 of full name.
11816
118172008-02-01 Kenichi Handa <handa@m17n.org>
11818
11819 * xdisp.c (handle_auto_composed_prop): Simplify the code.
11820 Never return HANDLED_RECOMPUTE_PROPS.
11821
118222008-02-01 Kenichi Handa <handa@m17n.org>
11823
11824 * font.c (font_gstring_produce): Delete it.
11825
11826 * composite.h (COMPOSITION_METHOD):
11827 Handle COMPOSITION_WITH_GLYPH_STRING.
11828
118292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11830
11831 * xfont.c (Qx): Delete.
11832 (syms_of_xfont): Don't initialize Qx.
11833
11834 * composite.h (enum composition_method):
11835 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
11836
118372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11838
11839 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
11840 (choose_face_font): Accept new form of font-spec.
11841
11842 * frame.h (font_driver_list): Declare it unconditionally.
11843 (struct frame): Define members font_driver_list and font_data_list
11844 unconditionally.
11845
11846 * fontset.c: Include "font.h" unconditionally.
11847 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
11848 (Fset_fontset_font): Accept a font-spec object.
11849
11850 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
11851 PIXEL_SIZE part a wild card.
11852
11853 * dispextern.h (struct glyph_string): Define members clip and
11854 num_clips unconditionally.
11855 (struct face): Define members font_info and extra unconditionally.
11856
11857 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
11858 ftfont_info only when HAVE_LIBOTF is defined.
11859
118602008-02-01 Andreas Schwab <schwab@suse.de>
11861
11862 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
11863 and end.
11864
118652008-02-01 Jason Rumney <jasonr@gnu.org>
11866
11867 * w32font.c (w32font_driver): Add new fields.
11868
118692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11870
11871 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
11872 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
11873 (LIBES): Add @M17N_FLT_CFLAGS@.
11874
11875 * composite.c (compose_text): Don't treat the new style
11876 composition specially.
11877
11878 * emacs.c (main): Call syms_of_font unconditionally.
11879
11880 * font.h (FONT_ENTITY_NOT_LOADABLE)
11881 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
11882 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
11883 (struct font_driver): New member shape.
11884 (font_registry_charsets): Extern it.
11885 (font_find_for_lface, font_prepare_composition): Adjust prototype.
11886 (font_otf_capability, font_drive_otf): Delete their externs.
11887
11888 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
11889 (font_charset_alist, font_registry_charsets): Move from xfont.c
11890 and rename.
11891 (font_prop_validate_otf): New function.
11892 (font_property_table): Register it for QCotf.
11893 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
11894 (font_drive_otf): Delete.
11895 (font_prepare_composition): New arg F. Adjust for the change of
11896 lispy gstring.
11897 (font_find_for_lface): New arg C.
11898 (font_load_for_face): Adjust for the change of font_find_for_lface.
11899 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
11900 lispy gstring.
11901 (Ffont_shape_text): New function.
11902 (Fopen_font): If the font size is not given, use 12-pixel.
11903 (Ffont_at): New arg STRING.
11904 (syms_of_font): Initalize font_charset_alist.
11905 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
11906 conditionally.
11907
11908 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
11909 fonts of the same font-spec. Change the format of RFONT-DEF.
11910 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
11911 Adjust for the change of RFONT-DEF.
11912 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
11913
11914 * ftfont.h: New file.
11915
11916 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
11917 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
11918 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
11919 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
11920 font_otf_capability and font_drive_otf, set ftfont_shape.
11921 (ftfont_list): Adjust for the change of :otf property value.
11922 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
11923 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
11924 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
11925 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
11926 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
11927 (otf_gstring, gstring, m17n_flt_initialized): New variables.
11928
11929 * w32term.c (x_draw_composite_glyph_string_foreground):
11930 Adjust for the change of lispy gstring.
11931
11932 * xdisp.c (handle_composition_prop): Adjust for the change of
11933 lispy gstring. Call a function for auto-composition with the
11934 third arg it->window.
11935 (fill_composite_glyph_string): Adjust for the change of lispy string.
11936 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
11937
11938 * xfaces.c (set_font_frame_param): Adjust for the change of
11939 font_find_for_lface.
11940
11941 * xfont.c (x_font_charset_alist): Move to font.c and rename.
11942 (xfont_registry_charsets): Likewise. Change caller.
11943 (syms_of_xfont): Don't handle x_font_charset_alist.
11944
11945 * xftfont.c: Include "ftfont.h".
11946 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
11947 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
11948 (xftfont_close) [HAVE_LIBOTF]: Close otf.
11949 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
11950 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
11951 Set xftfont_driver.shape to xftfont_shape.
11952
11953 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
11954 the change of lispy gstring.
11955
119562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11957
11958 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
11959
119602008-02-01 Jason Rumney <jasonr@gnu.org>
11961
11962 * w32font.c (w32font_draw): Fill background manually.
11963
119642008-02-01 Jason Rumney <jasonr@gnu.org>
11965
11966 * font.c (Qfontp): Remove unused symbol.
11967 (QCantialias): New symbol.
11968 (syms_of_font): Define it.
11969 (font_property_table): Set a validator for QCantialias.
11970
11971 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
11972 Define if not already.
11973 (QCfamily): Share with xfaces.c.
11974 (Qstandard, Qsubpixel, Qnatural): New symbols.
11975 (syms_of_w32font): Define them. Don't define QCfamily here.
11976 (w32_antialias_type, lispy_antialias_type): New functions.
11977 (w32_enumfont_pattern_entity): New arg requested_font.
11978 Set antialias parameter if non-default was requested.
11979 (fill_in_logfont): Fill in lfQuality if :antialias specified.
11980
119812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11982
11983 * lread.c (read1): Undo the previous change.
11984
119852008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
11986
11987 * frame.c (Fdelete_frame): Call font_update_drivers only when
11988 USE_FONT_BACKEND is defined.
11989
119902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11991
11992 * font.h (struct font_bitmap): New member bits_per_pixel.
11993 (struct font_driver): New members start_for_frame and end_for_frame.
11994 (struct font_data_list): New struct.
11995 (font_put_frame_data, font_get_frame_data): Extern them.
11996
11997 * frame.h (struct frame): New member font_data_list.
11998
11999 * font.c (font_update_drivers): Call driver->start_for_frame and
12000 driver->end_for_frame at proper timings.
12001 (font_put_frame_data, font_get_frame_data): New functions.
12002 (Ffont_spec): Add usage in the docstring.
12003
12004 * frame.c (make_frame): Initialize f->font_data_list to NULL.
12005 (Fdelete_frame): Call font_update_drivers.
12006
12007 * xftfont.c (struct xftface_info): Delete the member xft_draw.
12008 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
12009 (xftfont_get_xft_draw): New function.
12010 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
12011 (xftfont_end_for_frame): New function.
12012 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
12013
12014 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
12015 Change argument. Cache GCs in the per-frame data.
12016 (struct ftxfont_frame_data): New struct.
12017 (ftxfont_draw_bitmap): New arg gc_fore and flush.
12018 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
12019 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
12020 (ftxfont_end_for_frame): New function.
12021 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
12022
12023 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
12024
120252008-02-01 Kenichi Handa <handa@m17n.org>
12026
12027 * xselect.c (Vselection_coding_system)
12028 (Vnext_selection_coding_system): Delete them.
12029 (syms_of_xselect): Don't declare selection-coding-system and
12030 next-selection-coding-system. They are declared in select.el.
12031
120322008-02-01 Jason Rumney <jasonr@gnu.org>
12033
12034 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
12035
12036 * w32fns.c: Include imm.h.
12037 (get_composition_string_fn, get_ime_context_fn): New optional
12038 system functions.
12039 (globals_of_w32fns): Load them from imm32.dll.
12040 (ignore_ime_char): New flag.
12041 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
12042 WM_IME_ENDCOMPOSITION messages.
12043
12044 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
12045 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
12046
120472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12048
12049 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
12050 (READCHAR_REPORT_MULTIBYTE): New macro.
12051 (readchar): New 2nd arg MULTIBYTE.
12052 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
12053 Make symbol's name multibyte according to the multibyteness of the
12054 source.
12055
120562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12057
12058 * xfaces.c (face_for_overlay_string): Call lookup_face with
12059 correct arguments (fix of synching with the trunk).
12060
120612008-02-01 Kenichi Handa <handa@m17n.org>
12062
12063 * font.c (font_prop_validate_symbol, font_prop_validate_style)
12064 (font_prop_validate_non_neg, font_prop_validate_spacing):
12065 Delete argument prop_index.
12066 (font_property_table): Change arguments to validater. Change Callers.
12067 (font_lispy_object): Delete.
12068 (font_at): Use font_find_object instead fo font_lispy_object.
12069
120702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12071
12072 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
12073 and file names.
12074
120752008-02-01 Jason Rumney <jasonr@gnu.org>
12076
12077 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
12078 (font_matches_spec): Remove debug output.
12079 (add_font_entity_to_list): Avoid using substituted fonts.
12080
120812008-02-01 Jason Rumney <jasonr@gnu.org>
12082
12083 * doc.c (Fsnarf_documentation):
12084 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
12085
120862008-02-01 Miles Bader <miles@gnu.org>
12087
12088 * dispextern.h (struct glyph_row): Only define "clip" field if
12089 HAVE_WINDOW_SYSTEM is defined.
12090
120912008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12092
12093 Fix up multi-tty merge.
12094
12095 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
12096 and indentation.
12097
12098 * xfaces.c (free_realized_face, clear_face_gcs):
12099 Include font_done_for_face in the input_blocked section, just in case.
12100
12101 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
12102 (get_char_face_and_encoding): Undo last change and remove the *other*
12103 duplicate definition (i.e. keep the one that's better scoped and that
12104 includes code for the font-backend).
12105
12106 * terminal.c (create_terminal): Default keyboard_coding to
12107 `no-conversion' and terminal_coding to `undecided'.
12108
12109 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
12110
12111 * fontset.c (free_realized_fontsets): Check that the table entry does
12112 contain a fontset before trying to compare it to `base'.
12113
12114 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
12115 syms_of_charset, and syms_of_coding earlier because init_window_once
12116 now needs Vcoding_system_hash_table to be setup.
12117
12118 * coding.h (default_buffer_file_coding): Remove.
12119
12120 * coding.c (default_buffer_file_coding): Remove.
12121 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
12122 than ->symbol, and use the terminal-local coding system.
12123 (syms_of_coding): Don't setup the coding-systems that are not
12124 terminal-local.
12125 (Fdefine_coding_system_internal): Use XCAR/XCDR.
12126
12127 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
12128 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
12129
12130 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
12131 in chartab.c and were re-added here by mistake.
12132 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
12133
12134 * doc.c (Fsnarf_documentation):
12135 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
12136 src to etc.
12137
12138 * ChangeLog.10: Add mistakenly removed entry.
12139
121402008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
12141
12142 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
12143
121442008-02-01 Miles Bader <miles@gnu.org>
12145
12146 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
12147 Add extra args to FACE_FOR_CHAR.
12148
121492008-02-01 Kenichi Handa <handa@m17n.org>
12150
12151 * keymap.c (where_is_internal_1): If key is a cons, store the copy
12152 in sequence.
12153
12154 * chartab.c (map_sub_char_table, map_char_table): If the range
12155 contains just one character, call the function with that character
12156 even if the depth is not 3.
12157
121582008-02-01 Jason Rumney <jasonr@gnu.org>
12159
12160 * w32font.c (w32font_text_extents): Calculate metrics for the
12161 whole string.
12162
121632008-02-01 Jason Rumney <jasonr@gnu.org>
12164
12165 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
12166
121672008-02-01 Jason Rumney <jasonr@gnu.org>
12168
12169 * w32term.c (x_set_glyph_string_clipping): Use
12170 get_glyph_string_clip_rects.
12171 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
12172 Adjust for the change of struct glyph_string.
12173
12174 * w32font.c (w32font_draw): Do clipping here.
12175
121762008-02-01 Kenichi Handa <handa@m17n.org>
12177
12178 * xftfont.c (xftfont_draw): Adjust for the change of struct
12179 glyph_string.
12180
12181 * xterm.c (x_set_glyph_string_clipping): Use
12182 get_glyph_string_clip_rects.
12183 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
12184 Adjust for the change of struct glyph_string.
12185
12186 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
12187 the resulting clip(s}.
12188 (expose_overlaps): Add arg r. Change callers. Set it to
12189 row->clip temporarily.
12190 (expose_window): Redraw rows overlapping the exposed area.
12191
12192 * dispextern.h (struct glyph_row): New member clip.
12193 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
12194 clip_height, new member clip, and num_clips.
12195
121962008-02-01 Kenichi Handa <handa@m17n.org>
12197
12198 * data.c (Fchar_or_string_p): Fix docstring.
12199
122002008-02-01 Kenichi Handa <handa@m17n.org>
12201
12202 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
12203 create a temporary XftDraw object.
12204
122052008-02-01 Kenichi Handa <handa@m17n.org>
12206
12207 * font.c (Ffontp): Fix docstring.
12208
12209 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
12210 strong evidence of ISO-2022.
12211
122122008-02-01 Kenichi Handa <handa@m17n.org>
12213
12214 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
12215 SYNTAX_ENTRY_FOLLOW_PARENT.
12216
122172008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12218
12219 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
12220 its type.
12221 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
12222 Update to the new type of weak_hash_tables and next_weak.
12223
12224 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
12225 a plain C pointer to Lisp_Hash_Table.
12226
12227 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
12228 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
12229 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
12230 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
12231 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
12232 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
12233 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
12234 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
12235 (GC_EQ): Remove since they've been identical to their non-GC_
12236 alter-egos ever since the markbit was eradicated.
12237
12238 * alloc.c:
12239 * buffer.c:
12240 * buffer.h:
12241 * data.c:
12242 * fileio.c:
12243 * filelock.c:
12244 * fns.c:
12245 * frame.h:
12246 * lisp.h:
12247 * macterm.c:
12248 * print.c:
12249 * process.c:
12250 * w32fns.c:
12251 * w32menu.c:
12252 * w32term.c:
12253 * xfns.c:
12254 * xmenu.c:
12255 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
12256
122572008-02-01 Kenichi Handa <handa@m17n.org>
12258
12259 * chartab.c (map_sub_char_table): Make it work for the top-level
12260 char-table. Fix handling of parent char-table.
12261 (map_char_table): Adjust for the above change.
12262
122632008-02-01 Jason Rumney <jasonr@gnu.org>
12264
12265 * w32font.c (Qgdi): Rename from Qw32.
12266
122672008-02-01 Jason Rumney <jasonr@gnu.org>
12268
12269 * w32bdf.c (get_quoted_string): Make function static.
12270
122712008-02-01 Kenichi Handa <handa@m17n.org>
12272
12273 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
12274 bigger ascent and descent than those of the font, use them as
12275 font's ascent and descent.
12276
122772008-02-01 Kenichi Handa <handa@m17n.org>
12278
12279 * Makefile.in (${lispsource}international/charprop.el): Move this
12280 target within "#ifdef HAVE_UNIDATA" and "#endif".
12281
122822008-02-01 Kenichi Handa <handa@m17n.org>
12283
12284 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
12285 (shortlisp): Add ../lisp/language/tai-viet.el.
12286
122872008-02-01 Ulrich Mueller <ulm@gentoo.org>
12288
12289 * Makefile.in (${lispsource}international/charprop.el): Depend on
12290 temacs${EXEEXT}.
12291
122922008-02-01 Jason Rumney <jasonr@gnu.org>
12293
12294 * w32font.c (w32font_close): Delete the GDI font object.
12295
12296 * w32menu.c: Include character.h.
12297
12298 * w32proc.c: Likewise.
12299
12300 * w32select.c: Likewise.
12301
12302 * makefile.w32-in (w32proc.o): Depend on character.h.
12303
123042008-02-01 Jason Rumney <jasonr@gnu.org>
12305
12306 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
12307
12308 * w32menu.c (syms_of_w32menu): Likewise.
12309
12310 * w32proc.c (syms_of_ntproc): Likewise.
12311
12312 * w32select.c (syms_of_w32select): Likewise.
12313
12314 * w32term.c (syms_of_w32term): Likewise.
12315
123162008-02-01 Jason Rumney <jasonr@gnu.org>
12317
12318 * w32font.c (w32font_draw): Delete brush after using it.
12319
123202008-02-01 Jason Rumney <jasonr@gnu.org>
12321
12322 * w32font.c (w32font_open): Don't set font_idx.
12323 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
12324 to font settings.
12325 (w32font_draw): Fill background explicitly.
12326
123272008-02-01 Jason Rumney <jasonr@gnu.org>
12328
12329 * w32term.c (w32_initialize): Don't call w32font_initialize.
12330
12331 * w32font.c (w32font_info): Remove subranges.
12332 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
12333 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
12334 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
12335 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
12336 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
12337 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
12338 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
12339 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
12340 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
12341 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
12342 New symbols.
12343 (font_callback_data): New struct.
12344 (w32font_list, w32font_match): Use it.
12345 (w32font_open): Don't populate subranges.
12346 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
12347 (w32font_encode_char): Always return unicode code-point as-is.
12348 (w32font_text_extents): Supply a transformation matrix to
12349 GetGlyphOutline. Never look up by glyph index. Avoid looping
12350 twice. Use unicode version of GetTexExtentPoint32 instead of
12351 glyph index version.
12352 (set_fonts_frame): Remove.
12353 (w32_enumfont_pattern_entity): Add frame parameter, use it to
12354 set frame parameter. Use backward compatible fake foundries.
12355 Save generic family in extra slot under QCfamily. Make width slot
12356 constant. Save QCspacing value. Save list of scripts instead of
12357 binary subranges.
12358 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
12359 (add_font_entity_to_list): Use font_callback_data struct. Filter
12360 unwanted fonts.
12361 (add_one_font_entity_to_list): Use font_callback_data struct.
12362 (w32_registry): Default to iso10646_1.
12363 (fill_in_logfont): Use dpi from extra slot. Don't bother with
12364 string font registries. Don't fill in font name if it is a generic
12365 family name, fill family instead. Use spacing, family and script
12366 extra info to fill pitch, family and charset fields.
12367 (list_all_matching_fonts): Use font_callback_data struct.
12368 (unicode_range_for_char): Remove.
12369 (font_supported_scripts): New function.
12370 (w32font_initialize): Remove.
12371 (syms_of_w32font): Update which symbols are defined.
12372
123732008-02-01 Jason Rumney <jasonr@gnu.org>
12374
12375 * font.c (font_pixel_size): Reverse assq_no_quit args.
12376
12377 * w32term.h (FONT_WIDTH): Report max width, not average.
12378 (FONT_MAX_WIDTH): Remove.
12379 (FONT_AVG_WIDTH): New macro.
12380
12381 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
12382 redefinition of FONT_WIDTH.
12383
12384 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
12385 (w32_cache_char_metrics): Use FONT_WIDTH.
12386
12387 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
12388
123892008-02-01 Jason Rumney <jasonr@gnu.org>
12390
12391 * w32font.c (w32font_open): Make lfHeight negative.
12392
12393 * w32fns.c (x_default_font_parameter): Use new style font name.
12394 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
12395
123962008-02-01 Jason Rumney <jasonr@gnu.org>
12397
12398 * w32font.c (QCsubranges): New symbol.
12399 (w32font_open, w32font_has_char): Get subranges from subproperty
12400 of extra.
12401 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
12402 (syms_of_w32font): Define :subranges symbol.
12403
12404 * font.c (font_put_extra): Expose externally.
12405
12406 * font.h (font_put_extra): Move declaration from font.c.
12407
12408 * font.c (Ffont_get): Use font driver to determine otf capability.
12409 (adjust_anchor): Check if driver defines anchor_point before using.
12410
12411 * w32font.c (w32font_open): Handle size, height and pixel_size better.
12412 (w32font_draw): Use options.
12413 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
12414 Fix detection of truetype fonts.
12415 (registry_to_w32_charset): Handle charsets other than iso8859-1
12416 expressed as lisp symbols.
12417 (w32_registry): Express charset as lisp symbol.
12418 (fill_in_logfont): Reverse pixel and point height logic.
12419 Don't set width here. Set quality to default.
12420
12421 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
12422 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
12423
12424 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
12425 Remove redundant loop and allocation.
12426
12427 * makefile.w32-in (font.o, w32font.o): New objects.
12428 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
12429 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
12430
12431 * xdisp.c (fill_composite_glyph_string): Make the first arg to
12432 STORE_XCHARB a valid l-value.
12433
12434 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
12435 calculations for non-Truetype fonts.
12436 (x_draw_glyph_string): Sync with xterm.c.
12437 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
12438 Remove redundant code.
12439 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
12440
12441 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
12442 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
12443
12444 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
12445 (x_to_w32_charset, w32_to_x_charset): Expose externally.
12446
12447 * w32font.c: New file for w32 font backend.
12448
124492008-02-01 Kenichi Handa <handa@m17n.org>
12450
12451 * term.c: Don't include "buffer.h" twice.
12452
124532008-02-01 Kenichi Handa <handa@m17n.org>
12454
12455 * character.c (Funibyte_string): New function.
12456 (syms_of_character): Defsubr it.
12457
124582008-02-01 Jason Rumney <jasonr@gnu.org>
12459
12460 * w32term.c [USE_FONT_BACKEND]:
12461 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
12462 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
12463 (x_draw_glyph_string, x_draw_glyph_string_foreground)
12464 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
12465 (x_free_frame_resources): Sync with xterm.c.
12466
124672008-02-01 Andreas Schwab <schwab@suse.de>
12468
12469 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
12470 char-table size.
12471
124722008-02-01 Kenichi Handa <handa@m17n.org>
12473
12474 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
12475
124762008-02-01 Kenichi Handa <handa@m17n.org>
12477
12478 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
12479 font_otf_gpos, add font_drive_otf.
12480
12481 * fontset.c (fontset_find_font): Pay attention to font size
12482 specified for a font.
12483 (reorder_font_vector): Check contents of font_def.
12484
12485 * font.c (struct otf_list): Delete it.
12486 (otf_list): Make it a lisp variable.
12487 (otf_open): Use lispy otf_list.
12488 (generate_otf_features): Rename from parse_gsub_gpos_spec.
12489 (check_otf_features): New function.
12490 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
12491 New functions.
12492 (font_drive_otf): New function merging font_otf_gsub and
12493 font_otf_gpos.
12494 (font_open_for_lface): New arg spec. Change argument order.
12495 (font_load_for_face): Adjust for the change of font_open_for_lface.
12496 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
12497 Ffont_otf_gpos.
12498 (syms_of_font): Staticpro otf_list. Delete defsubr of
12499 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
12500
12501 * xfaces.c (set_font_frame_param): Adjust for the change of
12502 font_open_for_lface.
12503
12504 * font.h (font_open_for_lface): Adjust prototype.
12505 (struct font_driver): Delete members otf_gsub and otf_gpos, add
12506 member otf_drive.
12507 (font_otf_gsub, font_otf_gpos): Delete externs.
12508 (font_drive_otf): Extern it.
12509
125102008-02-01 Kenichi Handa <handa@m17n.org>
12511
12512 * font.c (font_at): If the window W is not on a window system,
12513 return Qnil.
12514
12515 * coding.c (produce_chars, encode_coding): Don't call
12516 insert_from_gap if no characters to produce.
12517
125182008-02-01 Kenichi Handa <handa@m17n.org>
12519
12520 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
12521 Fclear_face_cache.
12522
12523 * xfaces.c (face_for_font): Check also face->font==font->font.font.
12524
125252008-02-01 Miles Bader <miles@gnu.org>
12526
12527 * emacs.c (main): Change default value of `enable_font_backend' to 1.
12528 Parse "--disable-font-backend" option.
12529 (standard_args): Add "--disable-font-backend" option.
12530
125312008-02-01 Kenichi Handa <handa@m17n.org>
12532
12533 * fontset.c (fontset_find_font): New function.
12534 (fontset_font): Use fontset_find_font.
12535 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
12536 Register the specified font for all Latin characters.
12537 (new_fontset_from_font): Register the specified font for all Latin
12538 characters.
12539 (dump_fontset): For a realized fontset, include the base fontset
12540 name in the returned vector.
12541
125422008-02-01 Kenichi Handa <handa@m17n.org>
12543
12544 * character.h (CHAR_STRING): Cast C to unsigned on calling
12545 char_string.
12546
12547 * character.c (char_string): Type of arg C changed to unsigned.
12548 Signal an error if C is an invalid character code.
12549
12550 * editfns.c (general_insert_function, Fchar_to_string):
12551 Use CHARACTERP, not INTEGERP.
12552
125532008-02-01 Kenichi Handa <handa@m17n.org>
12554
12555 * character.h (MIN_MULTIBYTE_LEADING_CODE)
12556 (MAX_MULTIBYTE_LEADING_CODE): New macros.
12557
12558 * regex.c (analyse_first): Fix for multibyte characters in "case
12559 charset:" and "case categoryspec:".
12560
125612008-02-01 Andreas Schwab <schwab@suse.de>
12562
12563 * Makefile.in (LIBES): Move standard libraries to the end.
12564
125652008-02-01 Kenichi Handa <handa@m17n.org>
12566
12567 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
12568 nonzero, don't shrink the buffer nextb.
12569
12570 * buffer.h (struct buffer_text): New member inhibit_shrinking.
12571
12572 * coding.c (coding_alloc_by_making_gap): New arg offset.
12573 (alloc_destination): Call coding_alloc_by_making_gap with the arg
12574 offset.
12575 (decode_coding_iso_2022): Update coding->safe_charsets.
12576 (decode_coding_gap): Temporarily set
12577 current_buffer->text->inhibit_shrinking to 1.
12578
125792008-02-01 Kenichi Handa <handa@m17n.org>
12580
12581 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
12582 indexing into elements of s->cmp and s->char2b.
12583
125842008-02-01 Juanma Barranquero <lekktu@gmail.com>
12585
12586 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
12587
125882008-02-01 Kenichi Handa <handa@m17n.org>
12589
12590 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
12591 target_multibyte instead of multibyte.
12592 (re_match_2_internal): Call bcmp_translate with target_multibyte.
12593 (bcmp_translate): Change the argument name from multibyte to
12594 target_multibyte.
12595
125962008-02-01 Kenichi Handa <handa@m17n.org>
12597
12598 These changes are to compile a regexp into a pattern that can be
12599 used both for multibyte and unibyte targets.
12600
12601 * Makefile.in (search.o): Depend on charset.h.
12602
12603 * character.c (multibyte_char_to_unibyte_safe): New function.
12604
12605 * search.c: Include "charset.h".
12606 (compile_pattern_1): Delete argument multibyte. Don't set
12607 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
12608 (compile_pattern): Don't compare cp->buf.target_multibyte.
12609 Compare cp->buf.charset_unibyte.
12610 (compile_pattern): Set cp->buf.target_multibyte.
12611
12612 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
12613
12614 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
12615
12616 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
12617 multibyte. Change callers.
12618 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
12619 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
12620 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
12621 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
12622 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
12623 (regex_compile): Make the compiled pattern usable both for
12624 multibyte and unibyte targets.
12625 (analyse_first): Make the fastmap usable both for multibyte and
12626 unibyte targets.
12627 (TRANSLATE_VIA_MULTIBYTE): Delete.
12628 (re_match_2_internal): Pay attention to the case that the
12629 multibyteness of bufp and target may be different.
12630
126312008-02-01 Kenichi Handa <handa@m17n.org>
12632
12633 * xdisp.c (x_produce_glyphs): When a font is not found, make the
12634 empty box occupy at least one column width.
12635
126362008-02-01 Miles Bader <miles@gnu.org>
12637
12638 * Makefile.in: Remove redundant HAVE_XFT clause.
12639
126402008-02-01 Kenichi Handa <handa@m17n.org>
12641
12642 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
12643
126442008-02-01 Kenichi Handa <handa@m17n.org>
12645
12646 * fontset.c (Finternal_char_font): Fix for the case of POSITION
12647 being nil.
12648
126492008-02-01 Kenichi Handa <handa@m17n.org>
12650
12651 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
12652
126532008-02-01 Kenichi Handa <handa@m17n.org>
12654
12655 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
12656
126572008-02-01 Kenichi Handa <handa@m17n.org>
12658
12659 * search.c (simple_search): Fix previous change.
12660
126612008-02-01 Kenichi Handa <handa@m17n.org>
12662
12663 * xftfont.c (ftfont_font_format): Extern declaration.
12664
12665 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
12666
12667 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
12668 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
12669
12670 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
12671 (ftfont_font_format): Fix previous change.
12672
12673 * font.h (Ffont_xlfd_name): EXFUN it.
12674
12675 * font.c (font_parse_xlfd): Fix the array size of `f'.
12676 (register_font_driver): Use EQ to compare driver->type.
12677
12678 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
12679 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
12680 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
12681
126822008-02-01 Kenichi Handa <handa@m17n.org>
12683
12684 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
12685 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
12686
126872008-02-01 Kenichi Handa <handa@m17n.org>
12688
12689 * xfont.c (xfont_open): Set font->format.
12690
12691 * xftfont.c (xftfont_open): Set font->format.
12692
12693 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
12694 (ftfont_list): Include FC_FONTFORMAT in FcObject.
12695 (ftfont_open): Set font->format.
12696 (ftfont_font_format): New function.
12697
12698 * font.h (struct font): New member format.
12699
12700 * font.c (Qopentype): New variable.
12701 (syms_of_font): Defsym it.
12702 (Fquery_font): Change the format of the last element of the return
12703 value.
12704
127052008-02-01 Kenichi Handa <handa@m17n.org>
12706
12707 * xfns.c (xic_create_xfontset): Try the default fontset name as a
12708 last resort.
12709
127102008-02-01 Kenichi Handa <handa@m17n.org>
12711
12712 * coding.c (detect_coding_charset): Fix detection of multi-byte
12713 charset.
12714
127152008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
12716
12717 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
12718
127192008-02-01 Kenichi Handa <handa@m17n.org>
12720
12721 * xdisp.c (get_next_display_element): Set it->face_id for the
12722 first component of a composition.
12723 (x_produce_glyphs): Check if the font is changed or not for composition.
12724
127252008-02-01 Kenichi Handa <handa@m17n.org>
12726
12727 * fontset.c (Qlatin): New variable.
12728 (syms_of_fontset): Define it as a lisp symbol.
12729 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
12730
127312008-02-01 Kenichi Handa <handa@m17n.org>
12732
12733 * font.c (font_unparse_fcname): Pay attention to the case that
12734 some of font property is a null string.
12735
127362008-02-01 Kenichi Handa <handa@m17n.org>
12737
12738 * term.c: Include "composite.h".
12739 (encode_terminal_code): Output all components of composition.
12740 Check the size of encode_terminal_src.
12741 (produce_glyphs): For composition, call produce_composite_glyph.
12742 (append_composite_glyph, produce_composite_glyph): New functions.
12743
12744 * xdisp.c (x_produce_glyphs): In handling composition, if a font
12745 is not found, get font_info from the current ascii face.
12746
127472008-02-01 Kenichi Handa <handa@m17n.org>
12748
12749 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
12750 buffer-file-name to Qnil before calling insert_from_buffer.
12751
12752 * font.c (font_unparse_fcname): Pay attention to the case that
12753 foundry is a null string.
12754
127552008-02-01 Kenichi Handa <handa@m17n.org>
12756
12757 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
12758
12759 * font.c (Qunicode_sip): New variable.
12760 (syms_of_font): Declare it as a Lisp symbol.
12761
12762 * font.h (Qunicode_sip): Extern it.
12763
127642008-02-01 Kenichi Handa <handa@m17n.org>
12765
12766 * composite.c (get_composition_id): Pay attention to TAB component.
12767
12768 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
12769 TAB. Adjust for the change of s->char2b which always points to
12770 the first element of allocated memory.
12771
12772 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
12773
12774 * xdisp.c (handle_composition_prop): Set it->c to the first
12775 non-TAB component.
12776 (fill_composite_glyph_string): Change argument.
12777 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
12778 (x_produce_glyphs): Fix handling of left/right padding.
12779
127802008-02-01 Kenichi Handa <handa@m17n.org>
12781
12782 * coding.c (detect_coding_system): Fix for handling off
12783 inhibit_iso_escape_detection. Fix for the case that no coding
12784 system is defined for a specific coding category.
12785
127862008-02-01 Kenichi Handa <handa@m17n.org>
12787
12788 * font.c (font_matching_entity): Delete unused local var.
12789
12790 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
12791 opening a font.
12792
12793 * fileio.c (Finsert_file_contents): On recovering a file, assume
12794 Unix-like eol.
12795 (choose_write_coding_system): On auto-saving a file, force
12796 Unix-like eol.
12797
12798 * coding.c (setup_coding_system): Fix setting of
12799 coding->common_flags based on eol_type.
12800 (coding_inherit_eol_type): If PARENT is not nil, be sure to
12801 inherit from it.
12802
128032008-02-01 Kenichi Handa <handa@m17n.org>
12804
12805 * alloc.c (NSTATICS): Increas to 0x600.
12806
128072008-02-01 Kenichi Handa <handa@m17n.org>
12808
12809 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
12810 (ftfont_list): Don't check :name property.
12811 (ftfont_match): New function.
12812 (ftfont_pattern_entity): If the pattern doesn't contain
12813 FC_SPACING, don't assume FC_MONO.
12814
12815 * font.h (struct font_driver): New member `match'.
12816 (font_update_drivers): Adjust prototype.
12817
12818 * font.c (font_parse_fcname, font_parse_name): Don't change :name
12819 property of FONT.
12820 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
12821 them unconditionally.
12822 (font_matching_entity): New function.
12823 (font_open_by_name): Try font_matching_entity if exact match is
12824 not found.
12825 (font_update_drivers): Delete the arg FONT. Return a list of
12826 actually used backends. Don't free faces, font caches here.
12827 Don't store data in frame parameters. Don't call x_set_font.
12828 (Ffont_spec): Store :name property as is.
12829 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
12830 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
12831 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
12832 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
12833 Call font->driver->otf_gsub instead of font_otf_gsub.
12834
12835 * frame.c (x_set_font_backend): Do more works that were done in
12836 font_update_drivers before.
12837
12838 * xfont.c (xfont_match): New function.
12839 (xfont_driver): Set xfont_driver.match to xfont_match.
12840 (xfont_draw): Set font in GC if necessary.
12841
12842 * ftxfont.c (ftxfont_match): New function.
12843 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
12844
12845 * xftfont.c (xftfont_match): New function.
12846 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
12847
128482008-02-01 Kenichi Handa <handa@m17n.org>
12849
12850 * font.h (struct font): New member scalable.
12851 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
12852 (font_otf_gsub): Adjust prototype.
12853
12854 * font.c (font_otf_capability): Fix handling of the default langsys.
12855 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
12856 Check the contents of SPEC.
12857 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
12858 (check_gstring): New function.
12859 (REPLACEMENT_CHARACTER): New macro.
12860 (font_otf_gsub): New arg alternate_subst. Be sure to set all
12861 glyph codes of GSTRING.
12862 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
12863 (font_prepare_composition): Set cmp->glyph_len.
12864 (font_open_entity): Set font->scalable.
12865 (Ffont_get): Handle :otf property.
12866 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
12867 functions.
12868 (Fquery_font): Use font->font.full_name.
12869 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
12870 Sfont_otf_alternates.
12871
12872 * ftfont.c (ftfont_open): Set font->font.full_name and
12873 font->font.name properly. Fix calculation of font->font.height
12874 and font->min_width.
12875
12876 * ftxfont.c (ftxfont_create_gcs): New function.
12877 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
12878 (ftxfont_draw_backgrond): Fix filling region.
12879 (ftxfont_default_fid): New function.
12880 (ftxfont_open): Set xfont->fid to the return value of
12881 ftxfont_default_fid.
12882 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
12883 (ftxfont_done_face): Free only GCs that are created by
12884 ftxfont_create_gcs.
12885 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
12886
12887 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
12888 Clip to src->width, etc (not src->clip_XXX).
12889
12890 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
12891 FontBackend frame parameter.
12892
128932008-02-01 Kenichi Handa <handa@m17n.org>
12894
12895 * font.h (struct font_driver_list): New member `on'.
12896 (Fclear_font_cache): EXFUN it.
12897 (font_update_drivers): Extern it.
12898
12899 * font.c (font_unparse_fcname): Fix typo (swidth->width).
12900 (font_list_entities): Check driver_list->on.
12901 (register_font_driver): Initalize `on' member to 0.
12902 (font_update_drivers): New function.
12903 (Fclear_font_cache): Check driver_list->on.
12904
12905 * frame.h (Qfont_backend): Extern it.
12906 (x_set_font_backend): Extern it.
12907
12908 * frame.c (Qfont_backend): New variable.
12909 (frame_parms): New element for font-backend.
12910 (x_set_font_backend): New function.
12911
12912 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
12913 FontBackend frame parameter.
12914 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
12915 x_set_font_backend.
12916
12917 * xfont.c (xfont_list): Don't try listing by :name property if the
12918 name is not for XLFD.
12919
129202008-02-01 Kenichi Handa <handa@m17n.org>
12921
12922 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
12923 (LGLYPH_SET_TO): New macros.
12924 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
12925 element of G is vector or not.
12926 (font_at): Extern it.
12927
12928 * font.c: Include window.h.
12929 (font_lispy_object): New function.
12930 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
12931 end of valid glyph.
12932 (font_close_object): Fix getting (struct font *).
12933 (font_at): New function.
12934 (Ffont_get): If FONT is a font-object, get entity from it.
12935 (Ffont_make_gstring): Initialize elements of glyphs with nil.
12936 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
12937 range check.
12938 (Ffont_at): New function.
12939 (syms_of_font): Defsubr Sfont_at.
12940
12941 * xdisp.c (it_props): Move the entry for Qauto_composed to just
12942 before the entry for Qcomposition.
12943 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
12944 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
12945 the font in gstring.
12946 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
12947 LGLYPH_FORM (g) to detect the end of valid glyph.
12948 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
12949 we are composing with gstring.
12950
12951 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
12952 Check if adjustment is vector or not.
12953
12954 * Makefile.in (font.o): Make it depends on window.h.
12955
129562008-02-01 Kenichi Handa <handa@m17n.org>
12957
12958 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
12959 adjustment is vector or not.
12960
129612008-02-01 Miles Bader <miles@gnu.org>
12962
12963 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
12964
129652008-02-01 Kenichi Handa <handa@m17n.org>
12966
12967 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
12968 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
12969 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
12970
12971 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
12972 (DEVICE_DELTA): Fix typo.
12973 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
12974 LGLYPH format.
12975
12976 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
12977 the change of LGLYPH format.
12978
129792008-02-01 Kenichi Handa <handa@m17n.org>
12980
12981 * ftfont.c (ftfont_list): Fix typo.
12982 (ftfont_build_basic_charsets): Don't include letters with diacritics.
12983
129842008-02-01 Jan Djärv <jan.h.d@swipnet.se>
12985
12986 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
12987
12988 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
12989 xftface_info is non-NULL.
12990
129912008-02-01 Jan Djärv <jan.h.d@swipnet.se>
12992
12993 * ftfont.c (ftfont_list): Move misplaced #endif.
12994
129952008-02-01 Kenichi Handa <handa@m17n.org>
12996
12997 * ftfont.c (ftfont_list): Pay attention to the case that
12998 FC_CAPABILITY is not defined.
12999
130002008-02-01 Kenichi Handa <handa@m17n.org>
13001
13002 * xftfont.c (xftfont_open): Set charset related members to -1.
13003
13004 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
13005 QCname.
13006 (ftfont_open): Set charset related members to -1.
13007
13008 * fontset.c (Votf_script_alist): New variable.
13009 (syms_of_fontset): Initialize it.
13010 (fontset_font): Delete unused variable.
13011
13012 * fontset.h (Votf_script_alist): Extern it.
13013
13014 * font.c (font_find_for_lface): Optimize code.
13015
13016 * font.h (font_close_object, font_merge_old_spec): Extern them.
13017
130182008-02-01 Kenichi Handa <handa@m17n.org>
13019
13020 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
13021 (syms_of_font): Initialize them.
13022 (font_pixel_size): Allow float value in dpi.
13023 (font_prop_validate_type): Delete.
13024 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
13025 Change caller.
13026 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
13027 (font_prop_validate_extra): Delete.
13028 (font_prop_validate_spacing): New function.
13029 (font_property_table): Add elements for all known properties.
13030 (get_font_prop_index): Rename from check_font_prop_name. New
13031 argument FROM. Change caller.
13032 (font_prop_validate): Validate all known properties.
13033 (font_put_extra): Delete argument force. Change caller.
13034 (font_expand_wildcards): Make it static. Fix the way of shrinking
13035 the possible range.
13036 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
13037 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
13038 Change caller.
13039 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
13040 (font_parse_fcname): Delete argument merge. Fix parsing of point
13041 size. Don't validate properties values here. Change caller.
13042 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
13043 (font_open_by_name): Delete unused variable.
13044 (Ffont_spec): Likewise. Validate property values.
13045 (Ffont_match_p): New function.
13046
13047 * font.h (QCscalable): Extern it.
13048 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
13049
13050 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
13051
13052 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
13053 (xfont_list_pattern): New function.
13054 (xfont_list): Use xfont_list_pattern.
13055
130562008-02-01 Kenichi Handa <handa@m17n.org>
13057
13058 * font.h (Flist_fonts): EXFUN it.
13059
130602008-02-01 Jason Rumney <jasonr@gnu.org>
13061
13062 * w32term.c (w32_initialize): Add back smoothing_type and
13063 smoothing_enabled definitions.
13064
130652008-02-01 Kenichi Handa <handa@m17n.org>
13066
13067 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
13068 s->face->font on determining underline position.
13069
130702008-02-01 Kenichi Handa <handa@m17n.org>
13071
13072 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
13073 (font_has_char): Accept font-object too.
13074 (font_find_for_lface): Try at first with a size specified in face.
13075
130762008-02-01 Kenichi Handa <handa@m17n.org>
13077
13078 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
13079 font_open_by_name.
13080
130812008-02-01 Kenichi Handa <handa@m17n.org>
13082
13083 * font.h (QCspacing, QCdpi): Extern them.
13084 (enum font_spacing): New enum.
13085 (FONT_PIXEL_SIZE_QUANTUM): New macro.
13086
13087 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
13088 (QCspacing, QCdpi): New variables.
13089 (syms_of_font): Initialize them.
13090 (font_pixel_size): New function.
13091 (font_put_extra): New function.
13092 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
13093 in FONT_EXTRA.
13094 (font_parse_fcname): Handle enumerated values (e.g. bold).
13095 Fix handling font size. Add QCname property that contains only
13096 unknown properties.
13097 (font_score): Change argument. Change caller. Pay attention to
13098 FONT_PIXEL_SIZE_QUANTUM.
13099 (font_sort_entites, font_list_entities, font_find_for_lface)
13100 (font_open_for_lface, font_open_by_name): Fix handling of font size.
13101 (Ffont_spec): Add QCname property that contains only unknown properties.
13102
13103 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
13104 include weight in listing pattern, instead check weight of each
13105 listed font. Don't include scalable in pattern. Pay attention to
13106 FONT_PIXEL_SIZE_QUANTUM.
13107
131082008-02-01 Kenichi Handa <handa@m17n.org>
13109
13110 * font.c (font_parse_fcname): Fix parsing of point-size.
13111 (font_unparse_fcname): Produce symbolic names for style properties.
13112 (font_list_entities): Handle float size correctly.
13113 (font_open_by_name): Prefer `normal' property values if the name
13114 doesn't specify them.
13115
13116 * fontset.c (Finternal_char_font): Use font_get_name, not
13117 Ffont_xlfd_name.
13118
13119 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
13120 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
13121 pattern. Don't force scalable.
13122
13123 * xftfont.c (xftfont_open): For generating a name, start from
13124 96-byte buffer.
13125
131262008-02-01 Jan Djärv <jan.h.d@swipnet.se>
13127
13128 * frame.h (x_new_fontset2): Fix prototype.
13129
131302008-02-01 Kenichi Handa <handa@m17n.org>
13131
13132 * font.h (struct font_driver): Delete member parse_name.
13133 (font_match_p, font_get_spec, font_parse_fcname)
13134 (font_unparse_fcname): Extern them.
13135 (font_get_name): Adjust prototype.
13136
13137 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
13138 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
13139 (font_expand_wildcards): Fix handling ENCODING field. Avoid
13140 unnecessary checks for weight, slant, and swidth.
13141 (font_parse_fcname): New function.
13142 (font_unparse_fcname): New function.
13143 (font_parse_name): New function.
13144 (font_match_p): New function.
13145 (font_get_name): Change return value to Lisp string.
13146 (font_get_spec): New function.
13147 (Qunspecified, Qignore_defface): Don't extern them.
13148 (font_find_for_lface): Assume that LFACE is fully specified.
13149 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
13150 object, use it for FACE.
13151 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
13152 driver->parse_name.
13153 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
13154
13155 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
13156 prototype.
13157
13158 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
13159 argument F. Don't call Fnew_fontset. Instead, directly call
13160 make_fontset.
13161
13162 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
13163
13164 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
13165 of x_new_fontset2.
13166
13167 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
13168 (Qsans__serif): New variables.
13169 (ftfont_generic_family_list): New variable.
13170 (syms_of_ftfont): Initialize the above variables.
13171 (ftfont_pattern_entity): Delete argument NAME.
13172 (ftfont_list_generic_family): New function.
13173 (ftfont_parse_name): Delete this function.
13174 (ftfont_list): Try generic family only when FcFontList found no font.
13175 (ftfont_list_family): Fix args to FcObjectSetBuild.
13176
13177 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
13178 object in attrs[LFACE_FONT_INDEX].
13179 (set_lface_from_font_name): Cancel all changes for font-backend.
13180 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
13181 function.
13182 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
13183 font object in QCfont attribute.
13184 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
13185 (realize_default_face) [USE_FONT_BACKEND]: Call
13186 set_lface_from_font_and_fontset.
13187
13188 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
13189 "fixed", and signal error here if no suitable font was found.
13190
13191 * xfont.c (xfont_parse_name): Delete this function.
13192
13193 * xftfont.c (xftfont_open): Change coding style of error
13194 handling. Generate fontconfig's fontname pattern.
13195
13196 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
13197 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
13198
13199 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
13200 Both args FONTSET and FONT_OBJECT must be existing ones.
13201
132022008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13203
13204 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
13205
132062008-02-01 Kenichi Handa <handa@m17n.org>
13207
13208 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
13209
13210 * font.h (struct font): Fix typo.
13211
13212 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
13213 XLFD_XXX_INDEX.
13214 (enum xlfd_field_mask): New enum.
13215 (intern_font_field): Changed argument. Change caller. If digits
13216 are followed by non-digits, return a symbol.
13217 (font_expand_wildcards): New function.
13218 (font_parse_xlfd): Fix wildcard handling.
13219 (Ffont_spec): If :name is specified, reflect the info in the other
13220 properties.
13221
13222 * ftfont.c (ftfont_pattern_entity): Fix typo.
13223 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
13224 locale.
13225
132262008-02-01 Kenichi Handa <handa@m17n.org>
13227
13228 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
13229
13230 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
13231 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
13232 registry doesn't specify encoding part.
13233 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
13234 (font_open_by_name): At first try parsing the name.
13235 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
13236 as Lisp symbols.
13237
13238 * fontset.c (reorder_font_vector): Pay attention to the case that
13239 the 3rd element of font_def is nil.
13240 (fontset_font): For the default fontset, append one more fontset
13241 elements for a script-based font specification. Don't add script
13242 attribute on finding a font.
13243 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
13244 font name.
13245 (fontset_ascii_font): If a font can't be opened, return nil.
13246
13247 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
13248 (ftfont_pattern_entity): New function.
13249 (ftfont_get_cache): Assume that freetype_font_cache is already
13250 initialized.
13251 (ftfont_list): Handle the case that a file is specified in font
13252 name. Use ftfont_pattern_entity to generate entities.
13253 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
13254 (syms_of_ftfont): Initialize freetype_font_cache.
13255
13256 * xftfont.c (xftfont_open): Make the font name fontconfig's
13257 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
13258 (xftfont_close): Free font->font.name if not NULL.
13259
13260 * xfont.c (xfont_list): If script is specified for a font, return
13261 null_vector.
13262 (xfont_list_family): Declare argument type.
13263
13264 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
13265 name, set LFACE_FONT (lface) to nil.
13266
13267 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
13268 return Qnil.
13269
132702008-02-01 Kenichi Handa <handa@m17n.org>
13271
13272 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
13273 (standard_args): Add "-enable-font-backend".
13274
132752008-02-01 Kenichi Handa <handa@m17n.org>
13276
13277 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
13278 (struct xftdraw_list, xftdraw_list): Delete them.
13279 (register_xftdraw, check_xftdraw): Delete them.
13280 (xftfont_prepare_face): Don't call register_xftdraw.
13281 (xftfont_done_face): Don't call check_xftdraw.
13282 (xftfont_draw): Get background color only when with_background is
13283 nonzero.
13284
13285 * xfont.c (xfont_encode_char): Fix calculation of char2b.
13286
132872008-02-01 Kenichi Handa <handa@m17n.org>
13288
13289 These changes are for the new font handling codes.
13290
13291 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
13292 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
13293 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
13294 (FONTSRC, FONTOBJ): New variables.
13295 (obj): Add $(FONTOBJ).
13296 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
13297 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
13298 @LIBOTF_LIBS@.
13299 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
13300 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
13301
13302 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
13303
13304 * character.h (Vscript_representative_chars): Extern it.
13305
13306 * character.c (Vscript_representative_chars): New variable.
13307 (syms_of_character): Declare it as a Lisp variable.
13308
13309 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
13310 enable_font_backend is nonzero, accept the composition method
13311 COMPOSITION_WITH_GLYPH_STRING.
13312
13313 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
13314 enumeration COMPOSITION_WITH_GLYPH_STRING.
13315
13316 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
13317 members clip_x, clip_y, clip_width, and clip_height.
13318 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
13319
13320 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
13321 --enable-font-backend. Call syms_of_font.
13322
13323 * fns.c (assoc_no_quit): New function.
13324
13325 * fontset.h (FONT_INFO_FROM_FACE): New macro.
13326 (face_for_font, new_fontset_from_font)
13327 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
13328
13329 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
13330 (fontset_font, fontset_ascii, face_for_char)
13331 (make_fontset_for_ascii_face, Ffont_info)
13332 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
13333 is nonzero, use font-backend mechanism.
13334 (find_font_encoding): Make it non-static.
13335 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
13336 New functions.
13337
13338 * frame.h (struct frame): New members resx and resy.
13339 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
13340 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
13341
13342 * frame.c [USE_FONT_BACKEND]: Include "font.h".
13343 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
13344
13345 * lisp.h (assoc_no_quit): Extern it.
13346
13347 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
13348 Through out the file, use FONT_INFO_FROM_FACE instead of
13349 FONT_INFO_FROM_ID, use get_per_char_metric instead of
13350 rif->per_char_metric.
13351 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
13352 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
13353 (get_glyph_face_and_encoding, fill_composite_glyph_string)
13354 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
13355 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
13356 nonzero, use font-backend mechanism.
13357 (get_per_char_metric): New function.
13358
13359 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
13360 (set_lface_from_font_name)
13361 (set_font_frame_param, free_realized_face)
13362 (prepare_face_for_display, clear_face_gcs)
13363 (Finternal_set_font_selection_order, realize_x_face)
13364 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
13365 font-backend mechanism.
13366 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
13367 (load_face_font) [USE_FONT_BACKEND]: Abort.
13368 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
13369 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
13370
13371 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
13372 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
13373 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
13374 nonzero, register all available font drivers. Call
13375 x_default_font_parameter for deciding a font.
13376 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
13377
13378 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
13379 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
13380 (x_set_glyph_string_clipping_exactly)
13381 (x_compute_glyph_string_overhangs)
13382 (x_draw_glyph_string_foreground)
13383 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
13384 (x_free_frame_resources) [USE_FONT_BACKEND]: If
13385 enable_font_backend is nonzero, use font-backend mechanism.
13386 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
13387
133882008-02-01 Kenichi Handa <handa@m17n.org>
13389
13390 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
13391 system_eol_type.
13392 (syms_of_coding): Initialize system_eol_type.
13393
13394 * process.c (Fset_process_coding_system): Inherit system's eol
13395 format if necessary.
13396
133972008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13398
13399 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
13400
134012008-02-01 Kenichi Handa <handa@m17n.org>
13402
13403 * coding.c (decode_eol): Pay attention to buffer relocation in
13404 del_range_2.
13405 (decode_coding): Call decode_eol before restoring undo_list.
13406
134072008-02-01 Kenichi Handa <handa@m17n.org>
13408
13409 * charset.c (Fdefine_charset_internal): Fix setting of
13410 emacs_mule_bytes.
13411
134122008-02-01 Kenichi Handa <handa@m17n.org>
13413
13414 * keyboard.c (read_char): Check if C is a character or not before
13415 looking up Vkeyboard_translate_table.
13416
134172008-02-01 Kenichi Handa <handa@m17n.org>
13418
13419 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
13420 condition to terminate the loop.
13421
134222008-02-01 Kenichi Handa <handa@m17n.org>
13423
13424 * coding.c (produce_composition): Compare charbuf[i] instead of
13425 args[i] against 0.
13426 (Fterminal_coding_system): Use EQ to compare Lisp objects.
13427
134282008-02-01 Kenichi Handa <handa@m17n.org>
13429
13430 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
13431 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
13432 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
13433 detect_coding.
13434 (emacs_mule_char): Handle old style (Emacs 20) component character
13435 of a composition.
13436 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
13437 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
13438 composition rule.
13439 (decode_coding_emacs_mule): Handle invalid bytes correctly.
13440
134412008-02-01 Kenichi Handa <handa@m17n.org>
13442
13443 * coding.c (encode_coding_ccl): Allocate destination dynamically
13444 when necessary.
13445
134462008-02-01 Kenichi Handa <handa@m17n.org>
13447
13448 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
13449 the loop. When quitted, show a proper error message.
13450
134512008-02-01 Kenichi Handa <handa@m17n.org>
13452
13453 * xterm.c (x_set_glyph_string_clipping_exactly): Set
13454 src->clip_head and src->clip_tail temporarily instead of src->hl.
13455
13456 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
13457 character sequence.
13458 (Fccl_execute_on_string): Use ASET, not XSET.
13459
134602008-02-01 Kenichi Handa <handa@m17n.org>
13461
13462 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
13463
134642008-02-01 Kenichi Handa <handa@m17n.org>
13465
13466 * coding.c (decode_coding): Fix the condition of terminating the
13467 decoding loop.
13468
134692008-02-01 Kenichi Handa <handa@m17n.org>
13470
13471 * data.c (Faset): On setting a character bigger than 255 in a
13472 unibyte string, signal an error instead of make the string multibyte.
13473
134742008-02-01 Kenichi Handa <handa@m17n.org>
13475
13476 * charset.c (map_charset_chars): Fix for ascii-compatible charset
13477 made by a mapping table.
13478
134792008-02-01 Kenichi Handa <handa@m17n.org>
13480
13481 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
13482 not.
13483 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
13484 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
13485
13486 * xterm.c (x_draw_composite_glyph_string_foreground): Check
13487 s->face is NULL or not.
13488
134892008-02-01 Kenichi Handa <handa@m17n.org>
13490
13491 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
13492 (x_draw_glyph_string): Fix drawing of right_overhang and
13493 left_overhang around/on cursor.
13494
13495 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
13496
134972008-02-01 Kenichi Handa <handa@m17n.org>
13498
13499 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
13500
135012008-02-01 Kenichi Handa <handa@m17n.org>
13502
13503 * coding.c (Fdefine_coding_system_internal)
13504 (Fdefine_coding_system_alias): Avoid a duplicated element in
13505 Vcoding_system_alist.
13506
135072008-02-01 Kenichi Handa <handa@m17n.org>
13508
13509 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
13510
13511 * coding.c (Qcoding_system_define_form): New variable.
13512 (syms_of_coding): Intern and staticpro it.
13513 (Fcoding_system_p): Check Qcoding_system_define_form.
13514 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
13515
13516 * coding.h (CODING_SYSTEM_P): If ID is not available, call
13517 Fcoding_system_p.
13518 (CHECK_CODING_SYSTEM): If ID is not available, call
13519 Fcheck_coding_system.
13520 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
13521 Try also Fcheck_coding_system.
13522
135232008-02-01 Kenichi Handa <handa@m17n.org>
13524
13525 * coding.c (code_conversion_restore): GCPRO arg.
13526
135272008-02-01 Kenichi Handa <handa@m17n.org>
13528
13529 * character.c (lisp_string_width): Check multibyteness of STRING.
13530
135312008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13532
13533 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
13534 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
13535 (decode_mac_font_name): Use decode_coding_c_string instead of
13536 decode_coding.
13537 (x_load_font): Initialize fontp->fontset to -1. Set
13538 fontp->encoding_type.
13539
135402008-02-01 Kenichi Handa <handa@m17n.org>
13541
13542 * search.c (search_buffer): Give up BM search on case-fold-search
13543 if one of a target character has a case-equivalence of different
13544 byte length even if that target charcter is an ASCII.
13545 (simple_search): Fix calculation of byte length of matched text.
13546 (boyer_moore): Fix handling of case-equivalent multibyte characters.
13547
135482008-02-01 Kenichi Handa <handa@m17n.org>
13549
13550 * coding.c (decode_coding): Fix handling of invalid bytes.
13551
135522008-02-01 Kenichi Handa <handa@m17n.org>
13553
13554 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
13555 Unicode characters.
13556
135572008-02-01 Kenichi Handa <handa@m17n.org>
13558
13559 * coding.c (encode_coding_object): If a pre-write-conversion
13560 function makes a new buffer, kill it.
13561
135622008-02-01 Kenichi Handa <handa@m17n.org>
13563
13564 * coding.c (QCascii_compatible_p): New variable.
13565 (syms_of_coding): Initialize it.
13566 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
13567 calling string_char.
13568 (record_conversion_result): Add `default:' case.
13569 (coding_charset_list): Delete unused variable `coding_type'.
13570 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
13571 property in the plist of the coding system.
13572 (Fcoding_system_put): Check QCascii_compatible_p.
13573
135742008-02-01 Miles Bader <miles@gnu.org>
13575
13576 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
13577 removed calculation of frame `f', as it's now used.
13578
135792008-02-01 Kenichi Handa <handa@m17n.org>
13580
13581 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
13582 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
13583 (UNIDATA): New variable.
13584 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
13585 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
13586 $(RUN_TEMACS) unconditionally.
13587
135882008-02-01 Kenichi Handa <handa@m17n.org>
13589
13590 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
13591 (admindir): New variable.
13592 ($(lispsource)international/charprop.el): New target.
13593
135942008-02-01 Miles Bader <miles@gnu.org>
13595
13596 * character.c (chars-in-region): Remove obsolete function.
13597 (syms_of_character): Remove its initialization.
13598
135992008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
13600
13601 * w32select.c (validate_coding_system)
13602 (setup_windows_coding_system): New functions.
13603 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
13604 setup_windows_coding_system.
13605 (setup_config, Fw32_get_clipboard_data): Use
13606 validate_coding_system.
13607 (Fx_selection_exists): Move call to setup_config to a place
13608 where signals are allowed.
13609
13610 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
13611 (Fcheck_coding_system): Add declarations.
13612
136132008-02-01 Kenichi Handa <handa@m17n.org>
13614
13615 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
13616
136172008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13618
13619 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
13620 string as the second argument for x_new_fontset.
13621
136222008-02-01 Kenichi Handa <handa@m17n.org>
13623
13624 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
13625 (encode_coding_object): Use safe_call instead of call2.
13626
136272008-02-01 Kenichi Handa <handa@m17n.org>
13628
13629 * fontset.c (Fset_fontset_font): Check family element of a given vector.
13630
13631 * Makefile.in (lisp): Include charprop.el.
13632
136332008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13634
13635 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
13636 Not sure if it's unnecessary.
13637
136382008-02-01 Steven Tamm <steventamm@mac.com>
13639
13640 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
13641 some possibly unnecessary fontset checking code that crashed
13642 when creating a new frame.
13643
136442008-02-01 Kenichi Handa <handa@m17n.org>
13645
13646 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
13647 lookup_face.
13648
13649 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
13650
13651 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
13652
136532008-02-01 Kenichi Handa <handa@m17n.org>
13654
13655 * coding.c: Cancel the change done in HEAD on 2008-02-01.
13656 (coding_charset_list): New function.
13657
13658 * coding.h (coding_charset_list): Extern it.
13659
136602008-02-01 Kenichi Handa <handa@m17n.org>
13661
13662 * fontset.c (Fset_fontset_font): Call find_font_encoding with
13663 concatenation of family and registry.
13664
136652008-02-01 Kenichi Handa <handa@m17n.org>
13666
13667 * character.h (BYTE8_STRING): Fix typo.
13668
13669 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
13670 string to multibyte (sync to HEAD).
13671
13672 * casefiddle.c (casify_region): Handle changes in byte-length
13673 using replace_range_2 (sync to HEAD).
13674
136752008-02-01 Andreas Schwab <schwab@suse.de>
13676
13677 * chartab.c (map_char_table): GCPRO table and arg.
13678
136792008-02-01 Kenichi Handa <handa@m17n.org>
13680
13681 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
13682 already at limit.
13683
136842008-02-01 Kenichi Handa <handa@m17n.org>
13685
13686 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
13687 instead of fast_c_string_match_ignore_case.
13688 (find_font_encoding): Change argument to Lisp_Object. Use
13689 fast_string_match_ignore_case instead of
13690 fast_c_string_match_ignore_case. Change caller.
13691
136922008-02-01 Kenichi Handa <handa@m17n.org>
13693
13694 * xdisp.c (get_next_display_element): In unibyte case, decide to
13695 display in octal form by checking a character by
13696 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
13697
13698 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
13699
13700 * character.c (unibyte_has_multibyte_table): New variable.
13701
13702 * character.h (unibyte_has_multibyte_table): Extern it.
13703 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
13704
137052008-02-01 Kenichi Handa <handa@m17n.org>
13706
13707 * coding.c (encode_coding_iso_2022): Fix handling of charset
13708 annotation.
13709
137102008-02-01 Kenichi Handa <handa@m17n.org>
13711
13712 * coding.c (setup_coding_system): If coding_system is nil, use
13713 Qundecided.
13714 (Fterminal_coding_system): Return nil if terminal coding system is
13715 `undecided'.
13716 (syms_of_coding): Define coding-system `undecided' here. Setup
13717 terminal_coding as `undecided'.
13718
137192008-02-01 Kenichi Handa <handa@m17n.org>
13720
13721 * xdisp.c (message_dolog, set_message_1): Call
13722 unibyte_char_to_multibyte with arg type int.
13723
13724 * lread.c (read1): Fix reading of a char-table.
13725
13726 * print.c (print_object): Include sub char-table in circularities
13727 detection.
13728
137292008-02-01 Kenichi Handa <handa@m17n.org>
13730
13731 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
13732 Append the found sequences in car of ARGS instead of prepending.
13733
137342008-02-01 Kenichi Handa <handa@m17n.org>
13735
13736 * fileio.c (report_file_error): Make a unibyte string from
13737 strerror (errorno).
13738 (Fsubstitute_in_file_name): Fix the arg to
13739 unibyte_char_to_multibyte. It is evaluated twice.
13740
137412008-02-01 Kenichi Handa <handa@m17n.org>
13742
13743 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
13744
137452008-02-01 Kenichi Handa <handa@m17n.org>
13746
13747 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
13748 BOM is not found.
13749 (detect_coding, detect_coding_system): Optimization for ISO-2022
13750 when no 8-bit data is found.
13751
137522008-02-01 Jason Rumney <jasonr@gnu.org>
13753
13754 * w32fns.c (x_to_w32_font): Update to use new coding struct.
13755
137562008-02-01 Kenichi Handa <handa@m17n.org>
13757
13758 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
13759 CHARS.
13760
137612008-02-01 Steven Tamm <steventamm@mac.com>
13762
13763 * macterm.c (mac_encode_char): Add charset argument and update
13764 to use encoding_type.
13765 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
13766 switch to pure fontset.
13767 (decode_mac_font_name): Temporarily remove decoding.
13768 (x_font_name_to_mac_font_name): Temporarily remove encoding.
13769 (x_load_font): Temporarily remove encoding.
13770
137712008-02-01 Kenichi Handa <handa@m17n.org>
13772
13773 * xfaces.c (Fface_font): If frame is not on a window system,
13774 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
13775 refer to face->font.
13776 (split_font_name_into_vector, build_font_name_from_vector)
13777 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
13778 when HAVE_WINDOW_SYSTEM is defined.
13779
137802008-02-01 Kenichi Handa <handa@m17n.org>
13781
13782 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
13783 (x_produce_glyphs): Fix setting of members of cmp in case
13784 cmp->glyph_len is zero.
13785
13786 * fontset.c (Fset_fontset_font): Fix docstring.
13787 (Ffontset_info): Make it backward compatible. New arg ALL.
13788
137892008-02-01 Kim F. Storm <storm@cua.dk>
13790
13791 * process.c (read_process_output): Grow decoding_buf when needed;
13792 this could cause a crash in allocate_string and compact_small_strings.
13793
137942008-02-01 Kenichi Handa <handa@m17n.org>
13795
13796 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
13797
137982008-02-01 Kenichi Handa <handa@m17n.org>
13799
13800 * coding.c (setup_coding_system): Set coding->common_flags
13801 correctly for raw-text.
13802 (consume_chars): On encoding unibyte text by raw-text, don't check
13803 multibyte form.
13804 (encode_coding): On encoding by raw-text, never use translation tables.
13805
13806 * fileio.c (e_write): Short cut for the case of no encoding.
13807
138082008-02-01 Kenichi Handa <handa@m17n.org>
13809
13810 * coding.c (detect_coding, detect_coding_system): Delete unused
13811 variables.
13812
138132008-02-01 Kenichi Handa <handa@m17n.org>
13814
13815 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
13816 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
13817
138182008-02-01 Kenichi Handa <handa@m17n.org>
13819
13820 * coding.c (Ffind_coding_systems_region_internal): Include
13821 raw-text and no-conversion in the result.
13822
138232008-02-01 Kenichi Handa <handa@m17n.org>
13824
13825 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
13826 (load_font_get_repertory): Delete unnecessary check of ENCODING of
13827 FONT_DEF.
13828 (font_def_arg, add_arg, from_arg, to_arg): New args.
13829 (set_fontset_font): Change argument.
13830 (Fset_fontset_font): Fix for the case that TARGET is a script
13831 name and charset name.
13832 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
13833
138342008-02-01 Kenichi Handa <handa@m17n.org>
13835
13836 * fontset.c (fontset_font): Rename from fontset_face. Change return
13837 value.
13838 (face_suitable_for_char_p, face_for_char): Adjust for the change
13839 of fontset_font.
13840 (make_fontset_for_ascii_face): Fix setting of the fontset element
13841 for ASCII.
13842 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
13843 to get a font name.
13844 (Ffontset_info): Adjust for the change of fontset_font.
13845
13846 * coding.c (emacs_mule_char): Check invalid code more rigidly.
13847
13848 * character.h (LEADING_CODE_LATIN_1_MIN)
13849 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
13850
138512008-02-01 Kenichi Handa <handa@m17n.org>
13852
13853 * editfns.c (check_translation): New function.
13854 (Ftranslate_region_internal): Handle M:N mapping.
13855
138562008-02-01 Kenichi Handa <handa@m17n.org>
13857
13858 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
13859
138602008-02-01 Kenichi Handa <handa@m17n.org>
13861
13862 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
13863 goto invalid_code.
13864 (decode_coding_iso_2022): Fix handling of invalid designation.
13865
13866 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
13867 after calling code_conversion_save.
13868
138692008-02-01 Kenichi Handa <handa@m17n.org>
13870
13871 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
13872
13873 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
13874
13875 * fontset.c: Include "intervals.h".
13876 (fontset_face): Fix comparing of Lisp_Objects.
13877 (free_face_fontset, new_fontset_from_font_name): Fix
13878 Lisp_Object/int mixup.
13879
13880 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
13881
13882 * coding.c: Add many prototypes for static functions.
13883 (get_translation_table): Allow max_lookup to be NULL.
13884 (decode_coding, Ffind_coding_systems_region_internal)
13885 (Funencodable_char_position, Fcheck_coding_systems_region): Call
13886 get_translation_table with max_lookup NULL.
13887
138882008-02-01 Kenichi Handa <handa@m17n.org>
13889
13890 * coding.c (get_translation_table): Declare it as Lisp_Object.
13891 (LOOKUP_TRANSLATION_TABLE): New macro.
13892 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
13893 instead of CHAR_TABLE_REF.
13894
138952008-02-01 Kenichi Handa <handa@m17n.org>
13896
13897 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
13898 annotation data format.
13899 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
13900 Change arguments FROM and TO to single argument NCHARS. Change caller.
13901 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
13902 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
13903 (decode_coding_ccl, decode_coding_charset): Pay attention to
13904 coding->charbuf_used.
13905 (get_translation): New function.
13906 (produce_chars): New arguments translation_table and last_block.
13907 Translate characters here. Return number of carryover chars.
13908 Change caller.
13909 (produce_composition): New argument pos. Change caller.
13910 Adjust for the change of annotation data format.
13911 (produce_charset, produce_annotation): Likewise.
13912 (decode_coding, encode_coding): Don't call translate_chars.
13913 (consume_chars): New arg translation_table. Change caller.
13914 (translate_chars): Delete.
13915 (syms_of_coding): Make translation-table's number of extra slots 2.
13916
139172008-02-01 Kenichi Handa <handa@m17n.org>
13918
13919 * search.c (simple_search): Fix setting this_pos_byte in backward
13920 search.
13921
13922 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
13923 byte sequence.
13924 (detect_coding_ccl): Fix setting of the variable valids.
13925
139262008-02-01 Kenichi Handa <handa@m17n.org>
13927
13928 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
13929
13930 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
13931
13932 * editfns.c (Ftranslate_region_internal): Rename from
13933 Ftranslate_region. Accept a char-table in TABLE.
13934 (syms_of_editfns): Defsubr Stranslate_region_internal.
13935
13936 * xfaces.c (set_lface_from_font_name): If a font is specified for
13937 a frame, generate a fontset from the font.
13938 (build_scalable_font_name): If the scalable font is requested for
13939 a specific size, don't change that size.
13940 (try_font_list): Try a scalable font also in the case that a
13941 pattern string is specified.
13942
139432008-02-01 Kenichi Handa <handa@m17n.org>
13944
13945 * xfaces.c (Fface_font): New optional arg CHARACTER.
13946
139472008-02-01 Kenichi Handa <handa@m17n.org>
13948
13949 * charset.h (CHARSET_OFFSET): New macro.
13950
139512008-02-01 Kenichi Handa <handa@m17n.org>
13952
13953 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
13954
13955 * fontset.c (fontset_face): Handle the case that repertory is a
13956 char-table.
13957 (find_font_encoding): Return nil for unknown encoding.
13958 (Fset_fontset_font): Ignore a font of unknown encoding.
13959
139602008-02-01 Kenichi Handa <handa@m17n.org>
13961
13962 * keymap.c (describe_vector): Handle default value of a char table.
13963
13964 * fontset.c (fontset_face): Handle fallback fonts correctly.
13965 (Ffontset_info): Return infomation about fallback fonts.
13966
139672008-02-01 Kenichi Handa <handa@m17n.org>
13968
13969 * fontset.c (FONTSET_DEFAULT): New macro.
13970 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
13971 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
13972 the case that it is nil.
13973 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
13974 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
13975
13976 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
13977 subset or superset.
13978
139792008-02-01 Kenichi Handa <handa@m17n.org>
13980
13981 * emacs.c (main): Call init_charset after syms_of_XXX.
13982
13983 * charset.c (Vcharset_map_directory): Delete.
13984 (Vcharset_map_path): New variable.
13985 (load_charset_map_from_file): Use Vcharset_map_path instead.
13986 (init_charset): Initialize Vcharset_map_path.
13987 (syms_of_charset): Delete declaration of "charset-map-directory",
13988 add declaration of "charset-map-path".
13989
139902008-02-01 Kenichi Handa <handa@m17n.org>
13991
13992 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
13993 ASCII only string.
13994
13995 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
13996
13997 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
13998 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
13999
140002008-02-01 Kenichi Handa <handa@m17n.org>
14001
14002 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
14003
14004 * coding.c (QCmnemonic, QCdefalut_char)
14005 (QCdecode_translation_table, QCencode_translation_table)
14006 (QCpost_read_conversion, QCpre_write_conversion): New variables.
14007 (get_translation_table): Return a list of translation tables if
14008 necessary.
14009 (decode_coding): Call get_translation_table with ENCODEP 0.
14010 (char_encodable_p): If translation_table is non-nil, always call
14011 translate_char.
14012 (Fdefine_coding_system_internal): Accept list of translation
14013 tables as :encode-translation-table and :decode-translation-table.
14014 (Fcoding_system_put): New function.
14015 (syms_of_coding): Declare new symbols. Defsubr
14016 Scoding_system_put.
14017 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
14018 typically JISX0212.
14019
14020 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
14021 when the charset is superset type.
14022
14023 * character.c (translate_char): Accept list of translation tables.
14024
140252008-02-01 Kenichi Handa <handa@m17n.org>
14026
14027 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
14028 (CODING_ATTR_TRANS_TBL): New macro.
14029
14030 * coding.c (get_translation_table): New function.
14031 (translate_chars): Fix the bug of skipping annotation data.
14032 (decode_coding, encode_coding): Utilize get_translation_table.
14033 (char_encodable_p, Funencodable_char_position): Translate char if
14034 necessary.
14035 (Ffind_coding_systems_region_internal)
14036 (Fcheck_coding_systems_region): Setup translation table for encode
14037 in a coding system attribute vector in advance.
14038 (Fdefine_coding_system_internal): Allow a symbol as translation
14039 table. For shift-jis type coding system, allow 4th charset.
14040
140412008-02-01 Kenichi Handa <handa@m17n.org>
14042
14043 * coding.c (decode_coding_sjis): Check the first byte rigidly.
14044
14045 * xdisp.c (get_next_display_element): Pass -1 as POS to
14046 FACE_FOR_CHAR if displaying a C-string.
14047
140482008-02-01 Kenichi Handa <handa@m17n.org>
14049
14050 * composite.c (get_composition_id): Handle xoff and yoff in a
14051 composition rule.
14052
14053 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
14054 (struct composition): New member lbearing and rbearing.
14055
14056 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
14057 (x_get_glyph_overhangs): Handle a composition glyph.
14058 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
14059
14060 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
14061 composition glyph.
14062
140632008-02-01 Kenichi Handa <handa@m17n.org>
14064
14065 * print.c: Include charset.h.
14066 (Vprint_charset_text_property): New variable.
14067 (Qdefault): Extern it.
14068 (PRINT_STRING_NON_CHARSET_FOUND)
14069 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
14070 (print_check_string_result): New variable.
14071 (print_check_string_charset_prop): New function.
14072 (print_prune_charset_plist): New variable.
14073 (print_prune_string_charset): New function.
14074 (print_object): Call print_prune_string_charset if
14075 Vprint_charset_text_property is not t.
14076 (print_interval): Print nothing if interval->plist is nil.
14077 (syms_of_print): Declare Vprint_charset_text_property as a lisp
14078 variable. Init and staticpro print_prune_charset_plist.
14079
140802008-02-01 Kenichi Handa <handa@m17n.org>
14081
14082 * fontset.c (new_fontset_from_font_name): Use the specified font
14083 for all characters in the new fontset.
14084
14085 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
14086 OBJECT args.
14087
14088 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
14089 OBJECT args for composition too.
14090
14091 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
14092 OBJECT args.
14093
140942008-02-01 Kenichi Handa <handa@m17n.org>
14095
14096 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
14097
14098 * fontset.c (reorder_font_vector): Adjust for the change of
14099 FONT_DEF format.
14100 (fontset_face): New arg id. Change caller.
14101 (face_for_char): New args pos and object.
14102 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
14103 (fs_query_fontset): Check NAME by Fassoc too.
14104 (Fset_fontset_font): Allow non-XLFD font name.
14105 (Ffontset_info): Adjust for the change of FONT_DEF format.
14106
14107 * fontset.h (face_for_char): Adjust prototype.
14108
14109 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
14110 (append_space, extend_face_to_end_of_line)
14111 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
14112 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
14113
14114 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
14115 POS and OBJECT args.
14116
14117 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
14118 POS and OBJECT args.
14119
141202008-02-01 Jason Rumney <jasonr@gnu.org>
14121
14122 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
14123 of GlobalAlloc'ed memory.
14124
141252008-02-01 Kenichi Handa <handa@m17n.org>
14126
14127 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
14128
14129 * charset.h (charset_table_used): Delete extern.
14130
14131 * charset.c (charset_table_used): Make it static.
14132 (map_charset_chars): Fix args to c_function with.
14133
14134 * chartab.c (map_sub_char_table_for_charset): Fix args to
14135 c_function with.
14136
14137 * coding.h (enum coding_result_code): Delete
14138 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
14139
14140 * coding.c (Qinsufficient_source, Qinconsistent_eol)
14141 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
14142 (Vlast_code_conversion_error): New variables.
14143 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
14144 (ONE_MORE_BYTE): Record error if any instead of signaling an
14145 error. If non-ASCII multibyte char is found, return the negative
14146 value of the code. All callers changed to check it.
14147 (ONE_MORE_BYTE_NO_CHECK): Likewise.
14148 (record_conversion_result): New function. Change all codes setting
14149 coding->result to call this function.
14150 (detect_coding_utf_8, decode_coding_utf_8)
14151 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
14152 Don't use the local variable incomplete.
14153 (emacs_mule_char): Change the second arg to `const'.
14154 (decode_coding): Fix of flushing out unprocessed data.
14155 (make_conversion_work_buffer): Fix making of a work buffer.
14156 (decode_coding_object): Return coding->dst_object.
14157
14158 * fontset.c (set_fontset_font): Fix args.
14159
14160 * lisp.h (CHARACTERBITS): Define as 22.
14161
14162 * process.c (send_process): Be sure to set coding->src_multibyte.
14163
14164 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
14165
141662008-02-01 Kenichi Handa <handa@m17n.org>
14167
14168 * xdisp.c (handle_auto_composed_prop): Give limit to
14169 Fnext_single_char_property_change.
14170
141712008-02-01 Kenichi Handa <handa@m17n.org>
14172
14173 * composite.c (syms_of_composite): Don't make the composition hash
14174 table weak.
14175
14176 * fontset.c (Fset_fontset_font): Fix docstring.
14177
14178 * lisp.h (detect_coding_system): Adjust prototype.
14179
14180 * fileio.c (kill_workbuf_unwind): Delete this function.
14181 (Finsert_file_contents): Adjust the call of detect_coding_system.
14182 Get conversion_buffer by code_conversion_save. Use the macro
14183 CODING_MAY_REQUIRE_DECODING. After decoding, update
14184 coding_system.
14185
14186 * coding.h (make_conversion_work_buffer): Delete extern.
14187 (code_conversion_save): Extern it.
14188
14189 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
14190 (CODING_GET_INFO): Delete argument eol_type. Change callers.
14191 (decode_coding_utf_8): Don't do eol converion.
14192 (detect_coding_utf_16): Check coding->src_chars, not
14193 coding->src_bytes. Add heuristics for those that have no signature.
14194 (decode_coding_emacs_mule, decode_coding_iso_2022)
14195 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
14196 Don't do eol converion.
14197 (adjust_coding_eol_type): Return a new coding system.
14198 (detect_coding): Don't detect eol. Fix for utf-16 detection.
14199 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
14200 each change.
14201 (decode_coding): Pay attention to undo_list. Do eol conversion for
14202 all types of coding-systems (if necessary).
14203 (Vcode_conversion_work_buf_list): Delete it.
14204 (Vcode_conversion_reused_workbuf): Rename from
14205 Vcode_conversion_reused_work_buf.
14206 (Vcode_conversion_workbuf_name): New variable.
14207 (reused_workbuf_in_use): New variable.
14208 (make_conversion_work_buffer): Delete the arg DEPTH.
14209 (code_conversion_restore): Change argument to cons.
14210 (code_conversion_save): Delete the argument BUFFER. Change callers.
14211 (detect_coding_system): New argument src_chars. Change callers.
14212 Fix for utf-16 detection.
14213 (init_coding_once): Don't use ISO_carriage_return.
14214 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
14215 reused_workbuf_in_use.
14216
142172008-02-01 Kenichi Handa <handa@m17n.org>
14218
14219 * keymap.c (store_in_keymap): Pay attention to the case that idx
14220 is a cons specifying a character range.
14221
142222008-02-01 Kenichi Handa <handa@m17n.org>
14223
14224 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
14225 HANDLED_RECOMPUTE_PROPS.
14226
14227 * coding.c (Fdefine_coding_system_internal): Fix checking of
14228 ascii compatibility.
14229
142302008-02-01 Kenichi Handa <handa@m17n.org>
14231
14232 * charset.c (find_charsets_in_text): Delete unused locale variable.
14233 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
14234
14235 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
14236 Resync charset_list to Vemacs_mule_charset_list.
14237
14238 * keymap.c (store_in_keymap): Pay attention to the case that idx
14239 is a cons specifying a character range.
14240
142412008-02-01 Kenichi Handa <handa@m17n.org>
14242
14243 * composite.c (update_compositions): Bind inhibit-read-only, etc
14244 to t before calling remove-list-of-text-properties.
14245
14246 * print.c (print_object): Always print ASCII chars as is.
14247
142482008-02-01 Kenichi Handa <handa@m17n.org>
14249
14250 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
14251
14252 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
14253 is a char table.
14254
142552008-02-01 Kenichi Handa <handa@m17n.org>
14256
14257 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
14258
142592008-02-01 Kenichi Handa <handa@m17n.org>
14260
14261 * xfaces.c (set_lface_from_font_name): Fix for the case that
14262 FONTNAME is not fontset name.
14263
142642008-02-01 Kenichi Handa <handa@m17n.org>
14265
14266 * fns.c (base64_encode_1): Fix previous change.
14267
142682008-02-01 Kenichi Handa <handa@m17n.org>
14269
14270 * fontset.c (set_fontset_font): New function.
14271 (Fset_fontset_font): If a font is specified for a charset, use
14272 map_charset_chars to store the font spec in a fontset.
14273
142742008-02-01 Kenichi Handa <handa@m17n.org>
14275
14276 * fontset.c (fontset_face): Create a fallback fontset on demand.
14277 (make_fontset): Don't create a fallback fontset here.
14278 (free_face_fontset): Free a fallback fontset (if any) too.
14279 (n_auto_fontsets): Delete this variable.
14280 (auto_fontset_alist): New variable.
14281 (new_fontset_from_font_name): Check auto_fontset_alist.
14282 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
14283 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
14284 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
14285 Defsubr Sfontset_list_all.
14286
142872008-02-01 Kenichi Handa <handa@m17n.org>
14288
14289 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
14290
142912008-02-01 Kenichi Handa <handa@m17n.org>
14292
14293 * fontset.c (Fnew_fontset): Check NAME more rigidly.
14294
142952008-02-01 Kenichi Handa <handa@m17n.org>
14296
14297 * editfns.c (Fgoto_char): Fix docstring.
14298
142992008-02-01 Kenichi Handa <handa@m17n.org>
14300
14301 * insdel.c (insert_from_gap): Adjust intervals correctly.
14302
143032008-02-01 Jason Rumney <jasonr@gnu.org>
14304
14305 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
14306 (pfnGetFontUnicodeRanges): New dynamically loaded function.
14307 (w32_initialize): Try to load it.
14308 (x_get_font_repertory): Use it if available.
14309 (w32_encode_char): Add shortcut for unicode output.
14310
14311 * w32fns.c (w32_load_system_font): Default charset to -1.
14312 (x_to_w32_charset): Match all fonts for unicode.
14313 (w32_to_x_charset): New parameter matching. Don't return partial
14314 or wildcard charsets.
14315 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
14316 (w32_codepage_for_font): Return CP_UNICODE for unicode.
14317 (w32_to_x_font): Match charset to real charset.
14318 (enum_font_cb2): Always list unicode versions.
14319
14320 * makefile.w32-in (temacs): Increase EMHEAP.
14321
143222008-02-01 Jason Rumney <jasonr@gnu.org>
14323
14324 * w32term.c (w32_encode_char): New charset parameter.
14325 font_info.encoding becomes encoding_type.
14326 (x_get_font_repertory): New function. Warning: stub only!
14327 (x_new_font): Return quickly if font already set.
14328 (x_new_fontset): fontsetname parameter is Lisp_Object.
14329 Use new fs_query_fontset. Try new_fontset_from_font_name.
14330 Use fontset_name for return value.
14331
14332 * w32term.h: Declare x_get_font_repertory.
14333
14334 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
14335 place of find_charset_in_text. Use encode_coding_object in place
14336 of encode_coding.
14337 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
14338 decode_coding.
14339
14340 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
14341 of x_new_fontset.
14342 (w32_load_system_font): Initialize charset as unicode.
14343 font_info.encoding becomes encoding_type.
14344 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
14345 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
14346 (syms_of_w32fns): Set get_font_repertory_func.
14347
14348 * w32console.c: Include character.h. Use terminal_encode_buffer
14349 from term.c.
14350 (write_glyphs): Use new version of encode_terminal_code. Use
14351 encode_coding_object in place of encode_coding.
14352
14353 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
14354 encoding becomes encoding_type.
14355
14356 * term.c (terminal_encode_buffer): Make externally visible.
14357
14358 * makefile.w32-in: Add character.h dependancies.
14359 (character.o, chartab.o): New targets.
14360
143612008-02-01 Kenichi Handa <handa@m17n.org>
14362
14363 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
14364 CODING_ID_EOL_TYPE.
14365
143662008-02-01 Andreas Schwab <schwab@suse.de>
14367
14368 * coding.c (produce_chars): Revert last change.
14369
143702008-02-01 Kenichi Handa <handa@m17n.org>
14371
14372 * charset.h (charset_unicode): Extern it.
14373
14374 * charset.c (string_xstring_p): Check by (C >= 0x100).
14375 (find_charsets_in_text): Change format of the arc CHARSETS. New
14376 arg MULTIBYTE.
14377 (Ffind_charset_region, Ffind_charset_string): Adjust for the
14378 change of find_charsets_in_text.
14379 (Fsplit_char): Fix doc. Never return unknown.
14380
14381 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
14382
14383 * coding.c (Fdefine_coding_system_alias): Update
14384 Vcoding_system_list.
14385
14386 * fontset.c (load_font_get_repertory): Pay attention to the case
14387 that ENCODING of a font is specified by a char-table.
14388
14389 * xterm.c (x_get_font_repertory): Handle the case that the
14390 encoding of font is other than Unicode.
14391
143922008-02-01 Kenichi Handa <handa@m17n.org>
14393
14394 * term.c (encode_terminal_code): Don't handle glyph-table. Check
14395 if a character is encodable by the terminal coding system. If
14396 not, produces proper number of `?'s. Update
14397 terminal_encode_buffer and terminal_encode_buf_size if necessary.
14398 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
14399
144002008-02-01 Kenichi Handa <handa@m17n.org>
14401
14402 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
14403 variables.
14404 (encode_terminal_code): Change argument. Encode multiple
14405 characters at once. Store the result of encoding in
14406 terminal_encode_buffer.
14407 (write_glyphs, insert_glyphs): Adjust for the change of
14408 encode_terminal_code.
14409 (term_init): Initialize terminal_encode_buffer and
14410 terminal_encode_buf_size.
14411
14412 * coding.c (consume_chars): If coding->src_object is nil, don't
14413 check annotation.
14414
144152008-02-01 Kenichi Handa <handa@m17n.org>
14416
14417 * character.c (char_string): Use ASCII_CHAR_P instead of
14418 SINGLE_BYTE_CHAR_P.
14419
144202008-02-01 Kenichi Handa <handa@m17n.org>
14421
14422 * xdisp.c (handle_auto_composed_prop): Check if the last
14423 characters of auto-composed region is newly composed with the
14424 following characters.
14425 (handle_composition_prop): Fix checking of point being inside
14426 composition.
14427
144282008-02-01 Kenichi Handa <handa@m17n.org>
14429
14430 * fns.c (concat): Don't change multibyteness of the result by
14431 concatenating an 8-bit character.
14432
14433 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
14434 multibyteness of the result when newelt is an 8-bit character.
14435
144362008-02-01 Dave Love <fx@gnu.org>
14437
14438 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
14439 EMACS_INT.
14440
14441 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
14442
14443 * xfaces.c (face_numeric_value): Declare dim size_t.
14444 (Finternal_lisp_face_equal_p): Remove unused f.
14445
14446 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
14447 (MATRIX_ROW): Remove unused vars.
14448 (draw_glyphs, x_insert_glyphs, fast_find_position)
14449 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
14450 byte/char counts.
14451
14452 * regex.c (regex_compile): Remove unused var.
14453
14454 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
14455
14456 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
14457 (Faccessible_keymaps, where_is_internal): Remove unused vars.
14458
14459 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
14460
14461 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
14462
14463 * fileio.c (Fwrite_region): Remove unused var.
14464
14465 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
14466 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
14467
14468 * composite.c (Fremove_list_of_text_properties): Declare.
14469
14470 * coding.c (inhibit_pre_post_conversion): Remove (unused).
14471 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
14472 (coding_inherit_eol_type): Remove unused attrs.
14473 (detect_coding): Cast arg of detect_eol.
14474
14475 * charset.c (syms_of_charset): Remove unused var p.
14476 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
14477 byte/char counts.
14478
14479 * casetab.c (set_case_table): Remove unused var.
14480
14481 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
14482 unused vars.
14483
144842008-02-01 Dave Love <fx@gnu.org>
14485
14486 * xterm.c (x_bitmap_mask): Declare.
14487
144882008-02-01 Dave Love <fx@gnu.org>
14489
14490 * xterm.c (x_term_init): Fix type error.
14491
14492 * lisp.h: Add Funibyte_char_to_multibyte.
14493
14494 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
14495 (Fset_coding_system_priority): Doc fix.
14496
14497 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
14498
14499 * indent.c (check_composition): Make start and end EMACS_INT.
14500
14501 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
14502
14503 * xdisp.c (handle_composition_prop, check_point_in_composition):
14504 Make buffer positions EMACS_INT.
14505
14506 * composite.c (find_composition, run_composition_function)
14507 (update_compositions, Ffind_composition_internal): Make buffer
14508 positions EMACS_INT.
14509
14510 * composite.h (find_composition, update_compositions): Make
14511 position args EMACS_INT.
14512
14513 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
14514
14515 * intervals.c (get_property_and_range):
14516 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
14517
14518 * unexalpha.c: Don't include varargs.h.
14519
145202008-02-01 Dave Love <fx@gnu.org>
14521
14522 * coding.h (ENCODE_UTF_8): New.
14523
14524 * Makefile.in (gtkutil.o): Depend on coding.h.
14525
14526 * coding.c (Fset_coding_system_priority): Doc fix.
14527
145282008-02-01 Kenichi Handa <handa@m17n.org>
14529
14530 * fileio.c (Finsert_file_contents): Call setup_coding_system in
14531 the case of auto saving.
14532
145332008-02-01 Andreas Schwab <schwab@suse.de>
14534
14535 * chartab.c (map_char_table, map_char_table_for_charset): Protect
14536 `range' from GC.
14537
145382008-02-01 Kenichi Handa <handa@m17n.org>
14539
14540 * coding.c (decode_coding_sjis): Check bytes more rigidly.
14541
145422008-02-01 Kenichi Handa <handa@m17n.org>
14543
14544 * fileio.c (choose_write_coding_system): Return a decided coding system.
14545 (Fwrite_region): Set Vlast_coding_system_used to the return value
14546 of choose_write_coding_system.
14547
145482008-02-01 Kenichi Handa <handa@m17n.org>
14549
14550 * charset.c (Fset_charset_priority): Pay attention to duplicated
14551 arguments.
14552
14553 * coding.c (QCcategory): New variable.
14554 (syms_of_coding): Defsym it. Set all elements of
14555 Vcoding_category_table and their symbol values.
14556 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
14557 coding-category-XXX, and coding-category-list.
14558 (Fdefine_coding_system_internal): Add category in the plist.
14559
145602008-02-01 Kenichi Handa <handa@m17n.org>
14561
14562 * callproc.c (Fcall_process): Handle carryover correctly.
14563
14564 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
14565 (raw_text_coding_system): Check NILP (coding_system).
14566 (coding_inherit_eol_type): Check NILP (coding_system) and
14567 NILP (parent).
14568 (consume_chars): Fix for the case of raw-text.
14569
14570 * process.c (read_process_output): Handle carryover correctly.
14571
145722008-02-01 Dave Love <fx@gnu.org>
14573
14574 * regex.c (re_search_2): Fix last change.
14575
145762008-02-01 Kenichi Handa <handa@m17n.org>
14577
14578 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
14579 target_multibyte. Even in a unibyte case, return a converted
14580 multibyte char.
14581 (GET_CHAR_AFTER): New macro.
14582 (PATFETCH): Translate via multibyte char.
14583 (HANDLE_UNIBYTE_RANGE): Delete this macro.
14584 (SETUP_MULTIBYTE_RANGE): New macro.
14585 (regex_compile): Setup compiled code so that its multibyteness
14586 matches that of a target. Fix the handling of "[X-YZ]" using
14587 SETUP_MULTIBYTE_RANGE.
14588 (analyse_first) <charset>: For filling fastmap for all multibyte
14589 characters, don't check by BASE_LEADING_CODE_P.
14590 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
14591 the same as RE_MULTIBYTE_P (bufp) now.
14592 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
14593 (TARGET_CHAR_AND_LENGTH): Delete this macro.
14594 (TRANSLATE_VIA_MULTIBYTE): New macro.
14595 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
14596 It is the same as RE_MULTIBYTE_P (bufp) now.
14597 <exactn>: Translate via multibyte.
14598 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
14599 translate it.
14600 <charset, charset_not>: Fetch a character by
14601 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
14602 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
14603 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
14604 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
14605 by GET_CHAR_AFTER.
14606 (bcmp_translate): Likewise.
14607
14608 * search.c (compile_pattern): Check the member target_multibyte,
14609 not the member multibyte of buf.
14610
14611 * lread.c (read1): While reading a string, set force_singlebyte
14612 and force_multibyte correctly.
14613
14614 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
14615 up of unibyte_to_multibyte_table.
14616
146172008-02-01 Kenichi Handa <handa@m17n.org>
14618
14619 * coding.c (setup_coding_system): If coding has
14620 post-read-conversion or pre-write-conversion, set
14621 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
14622 respectively.
14623 (decode_coding_gap): Run post-read-conversion if any.
14624
14625 * fileio.c (Finsert_file_contents): Even if we read into a
14626 unibyte buffer, check if we must decode the result or not.
14627
146282008-02-01 Kenichi Handa <handa@m17n.org>
14629
14630 * coding.c (make_conversion_work_buffer): Change the work buffer
14631 name to the same one as that of Emacs 21.
14632
146332008-02-01 Kenichi Handa <handa@m17n.org>
14634
14635 * coding.h (make_conversion_work_buffer): Adjust prototype.
14636 (code_conversion_restore): Don't extern it.
14637
14638 * coding.c (detected_mask): Delete unused variable.
14639 (decode_coding_iso_2022): Pay attention to the byte sequence of
14640 CTEXT extended segment, and retain those bytes as is.
14641 (decode_coding_ccl): Delete unused variable `valids'.
14642 (setup_coding_system): Delete unused variable `category'.
14643 (consume_chars): Delete unused variable `category'. Make it work
14644 for non-multibyte case.
14645 (make_conversion_work_buffer): Change argument.
14646 (saved_coding): Delete unused variable.
14647 (code_conversion_restore): Don't check saved_coding->destination.
14648 (code_conversion_save): New function.
14649 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
14650 instead of record_unwind_protect.
14651 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
14652 (detect_coding_system): Delete unused variable `mask'.
14653 (Fdefine_coding_system_internal): Delete unused variable id.
14654
14655 * fileio.c (kill_workbuf_unwind): New function.
14656 (Finsert_file_contents): On replacing, call
14657 make_conversion_work_buffer with correct args, and call
14658 record_unwind_protect with the first arg kill_workbuf_unwind.
14659
14660 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
14661
146622008-02-01 Kenichi Handa <handa@m17n.org>
14663
14664 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
14665 (fontset_add): Fix for the case that TO is less than TO1.
14666 (Ffontset_info): Don't use fallback fontset on checking the
14667 default fontset.
14668 (dump_fontset): New function for debugging.
14669
14670 * coding.c (Fdefine_coding_system_internal): Fix for the case that
14671 coding_type is Qcharset.
14672
146732008-02-01 Kenichi Handa <handa@m17n.org>
14674
14675 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
14676 (map_char_table): Don't inherit the value from the parent on
14677 initializing VAL. Adjust for the above change.
14678
146792008-02-01 Kenichi Handa <handa@m17n.org>
14680
14681 * coding.c (Qsignature, Qendian): Delete these variables.
14682 (syms_of_coding): Don't initialize them.
14683 (CATEGORY_MASK_UTF_16_AUTO): New macro.
14684 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
14685 detect_info->found.
14686 (decode_coding_utf_16): Don't detect BOM here.
14687 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
14688 is NOT utf_16_without_bom.
14689 (setup_coding_system): For a coding system of type utf-16, check
14690 if the attribute :endian is Qbig or not (not nil or not), and set
14691 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
14692 (detect_coding): If coding type is utf-16 and BOM detection is
14693 required, detect it.
14694 (Fdefine_coding_system_internal): For a coding system of type
14695 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
14696
146972008-02-01 Kenichi Handa <handa@m17n.org>
14698
14699 * coding.c (coding_set_source): Fix for the case that the current
14700 buffer is different from coding->src_object.
14701 (decode_coding_object): Don't use the conversion work buffer if
14702 DST_OBJECT is a buffer.
14703
147042008-02-01 Dave Love <fx@gnu.org>
14705
14706 * lread.c (read_emacs_mule_char) [len==2]: Index
14707 emacs_mule_charset correctly.
14708
147092008-02-01 Dave Love <fx@gnu.org>
14710
14711 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
14712 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
14713 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
14714 treated specially.)
14715 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
14716 (detected_mask): Remove Big5 bits.
14717
147182008-02-01 Kenichi Handa <handa@m17n.org>
14719
14720 The following changes are to make the font rescaling facility
14721 compatible with Emacs 21.
14722
14723 * xfaces.c (Vface_font_rescale_alist): Rename from
14724 Vface_resizing_fonts.
14725 (struct font_name): Rename member resizing_ratio to rescale_ratio.
14726 (font_rescale_ratio): Rename from font_resizing_ratio.
14727 (split_font_name): Set font->rescale_ratio.
14728 (better_font_p): Pay attention to font->rescale_ratio.
14729 (build_scalable_font_name): Likewise. Change RESX, and RESY
14730 fields.
14731 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
14732
147332008-02-01 Kenichi Handa <handa@m17n.org>
14734
14735 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
14736 (Qutf_16_le): Remove these variables.
14737 (syms_of_coding): Don't DEFSYM them.
14738 (decode_coding_utf_16): Fix handling of BOM.
14739 (encode_coding_utf_16): Fix handling of BOM.
14740
147412008-02-01 Kenichi Handa <handa@m17n.org>
14742
14743 * fileio.c (Finsert_file_contents): On replacing, before decoding
14744 the file into the work buffer, set point of the work buffer to the end.
14745
147462008-02-01 Dave Love <fx@gnu.org>
14747
14748 * coding.c (Fcheck_coding_systems_region): Fix type errors.
14749
147502008-02-01 Dave Love <fx@gnu.org>
14751
14752 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
14753 and fix C types.
14754
147552008-02-01 Kenichi Handa <handa@m17n.org>
14756
14757 * xdisp.c (SKIP_GLYPHS): New macro.
14758 (set_cursor_from_row): Pay attention to string display properties.
14759
14760 * category.c (copy_category_entry): Fix for the case that RANGE
14761 is an integer.
14762
14763 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
14764
14765 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
14766
147672008-02-01 Kenichi Handa <handa@m17n.org>
14768
14769 * charset.c (Fcharset_id_internal): New function.
14770 (syms_of_charset): Defsubr it.
14771
14772 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
14773 with the last arg charset_list acquired from coding.
14774 (Fdefine_coding_system_internal): For ccl-based coding system, fix
14775 the attribute coding_attr_ccl_valids.
14776
14777 * coding.h (enum define_coding_ccl_arg_index): Set the first
14778 member coding_arg_ccl_decoder to coding_arg_max.
14779
14780 * ccl.h (ccl_driver): Adjust prototype.
14781
14782 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
14783 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 14784 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
14785 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
14786 last arg Qnil.
14787
147882008-02-01 Kenichi Handa <handa@m17n.org>
14789
14790 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
14791 call encode_char.
14792
14793 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
14794
147952008-02-01 Dave Love <fx@gnu.org>
14796
14797 * composite.c (syms_of_composite): Make composition_hash_table weak.
14798
147992008-02-01 Kenichi Handa <handa@m17n.org>
14800
14801 * dispextern.h (check_face_attributes, generate_ascii_font_name)
14802 (font_name_registry): Don't extern them.
14803 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
14804
14805 * fontset.h (Qfontset): Don't extern it.
14806 (new_fontset_from_font_name): Extern it.
14807
14808 * fontset.c: Give 8 extra slots to fontset objects.
14809 (Qfontset_info): New variable.
14810 (syms_of_fontset): Defsym it.
14811 (FONTSET_FALLBACK): New macro.
14812 (fontset_face): Try also the default fontset.
14813 (make_fontset): Realize a fallback fontset from the default fontset.
14814 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
14815 using split_font_name_into_vector and build_font_name_from_vector.
14816 (Fset_fontset_font): Access the elements of font_spec by enum
14817 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
14818 name by using split_font_name_into_vector.
14819 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
14820 generate a proper font name from the fontset name. Update
14821 Vfontset_alias_alist.
14822 (n_auto_fontsets): New variable.
14823 (new_fontset_from_font_name): New function.
14824 (Ffont_info): Store the information about fonts generated from the
14825 default fontset in the first extra slot of the returned char-table.
14826
14827 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
14828 (font_name_registry): Delete function.
14829 (split_font_name_into_vector): New function.
14830 (build_font_name_from_vector): New function.
14831 (font_list): The argument REGISTRY is now a list of registry names.
14832 (choose_face_font): If we are choosing an ASCII font, and ATTRS
14833 specifies an explicit font name, return the name as is. Make a
14834 list of registy names.
14835
14836 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
14837 of x_new_fontset.
14838 (Fx_create_frame): Don't call x_new_fontset here. Just use
14839 x_list_fonts to check the existence of fonts.
14840
14841 * xterm.h (x_new_fontset): Adjust prototype.
14842
14843 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
14844 string. Use new_fontset_from_font_name to create a fontset from a
14845 font name.
14846
148472008-02-01 Kenichi Handa <handa@m17n.org>
14848
14849 * syntax.c (Vfind_word_boundary_function_table): New name for
14850 Vnext_word_boundary_function_table.
14851 (find-word-boundary-function-table): New name for
14852 next-word-boundary-function-table.
14853
148542008-02-01 Dave Love <fx@gnu.org>
14855
14856 * Makefile.in: Fix some dependencies.
14857
14858 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
14859 set it to nil before returning.
14860
14861 * composite.c (update_compositions): Fix type error.
14862
14863 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
14864
148652008-02-01 Kenichi Handa <handa@m17n.org>
14866
14867 * xterm.c (x_new_font): Optimize for the case that the font is
14868 already set for the frame.
14869
148702008-02-01 Kenichi Handa <handa@m17n.org>
14871
14872 * chartab.c (char_table_ascii): Check if the char table contents
14873 is sub-char-table or not.
14874 (char_table_set, char_table_set_range): Fix argument to
14875 char_table_ascii.
14876
14877 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
14878 (detect_coding_utf_8, detect_coding_utf_16)
14879 (detect_coding_emacs_mule, detect_coding_iso_2022)
14880 (detect_coding_sjis, detect_coding_big5)
14881 (detect_coding_ccl, detect_coding_charset): Change argument MASK
14882 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
14883 sequence is valid in this coding system. Change callers.
14884 (MAX_ANNOTATION_LENGTH): New macro.
14885 (ADD_ANNOTATION_DATA): New macro.
14886 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
14887 ADD_ANNOTATION_DATA. Change the format of annotation data.
14888 (ADD_CHARSET_DATA): New macro.
14889 (emacs_mule_char): New argument ID. Change callers.
14890 (decode_coding_emacs_mule, decode_coding_iso_2022)
14891 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
14892 Produce charset annotation data in coding->charbuf.
14893 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
14894 to charset annotation data in coding->charbuf.
14895 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
14896 coding->common_flags if the coding system is iso-2022 based and
14897 uses designation.
14898 (produce_composition): Adjust for the new annotation data format.
14899 (produce_charset): New function.
14900 (produce_annotation): Handle charset annotation.
14901 (handle_composition_annotation, handle_charset_annotation): New
14902 functions.
14903 (consume_chars): Handle charset annotation. Utilize the above two
14904 functions.
14905 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
14906 buffer, get the deleted text as a string and set
14907 coding->src_object to that string.
14908 (detect_coding, detect_coding_system): Use the new struct
14909 coding_detection_info.
14910
14911 * coding.h (struct coding_detection_info): New structure.
14912 (struct coding_system): Adjust prototype of the member `detector'.
14913 (CODING_ANNOTATE_CHARSET_MASK): New macro.
14914
149152008-02-01 Kenichi Handa <handa@m17n.org>
14916
14917 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
14918
149192008-02-01 Dave Love <fx@gnu.org>
14920
14921 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
14922 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
14923 to new local and nullify apropos_accumulate before returning.
14924 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
14925
149262008-02-01 Kenichi Handa <handa@m17n.org>
14927
14928 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
14929 correctly.
e3eea1fc 14930
aac0c6e3
MR
149312008-02-01 Dave Love <fx@gnu.org>
14932
14933 * fns.c (Flanginfo): Call synchronize_system_time_locale.
14934
149352008-02-01 Kenichi Handa <handa@m17n.org>
14936
14937 The following changes are to make character composition happen
14938 automatically on displaying.
14939
14940 * Makefile.in (lisp, shortlisp): Add composite.elc.
14941
14942 * composite.h (Qauto_composed, Vauto_composition_function)
14943 (Qauto_composition_function): Extern them.
14944
14945 * composite.c (Vcomposition_function_table)
14946 (Qcomposition_function_table): Delete variables.
14947 (Qauto_composed, Vauto_composition_function)
14948 (Qauto_composition_function): New variables.
14949 (run_composition_function): Don't call
14950 compose-chars-after-function.
14951 (update_compositions): Clear `auto-composed' text property.
14952 (compose_chars_in_text): Delete this function.
14953 (syms_of_composite): Staticpro Qauto_composed and
14954 Qauto_composition_function. Declare Vauto_composition_function as
14955 a Lisp variable.
14956
14957 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
14958
14959 * xdisp.c (it_props): Add an entry for Qauto_composed.
14960 (handle_auto_composed_prop): New function.
14961
14962 * xselect.c (selection_data_to_lisp_data): Don't call
14963 compose_chars_in_text.
14964
149652008-02-01 Dave Love <fx@gnu.org>
14966
14967 * keyboard.c (read_char): Modify checking around use of
14968 Vkeyboard_translate_table.
14969
14970 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
14971 and fix C types.
14972
149732008-02-01 Kenichi Handa <handa@m17n.org>
14974
14975 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
14976 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
14977 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
14978 the case that the last byte is '\r' correctly.
14979 (decode_coding): Flush out the unprocessed data correctly.
14980 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
14981
149822008-02-01 Dave Love <fx@gnu.org>
14983
14984 * xterm.c (XTread_socket): Fix changes for defined keysyms.
14985 Add XK_ISO... case.
14986 (xaw_scroll_callback): Revert last change.
14987
149882008-02-01 Kenichi Handa <handa@m17n.org>
14989
14990 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
14991
149922008-02-01 Kenichi Handa <handa@m17n.org>
14993
14994 * xfaces.c (Vface_resizing_fonts): New variable.
14995 (struct font_name): New member `resizing_ratio'.
14996 (font_resizing_ratio): New function.
14997 (split_font_name): Set font->resizing_ratio.
14998 (better_font_p): Pay attention to font->resizing_ratio.
14999 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
15000 RESX, and RESY fields.
15001 (try_alternative_families): Try scalable fonts if
15002 Vscalable_fonts_allowed is not Qt.
15003 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
15004
150052008-02-01 Dave Love <fx@gnu.org>
15006
15007 * xterm.c (xaw_scroll_callback): Cast correctly.
15008
150092008-02-01 Dave Love <fx@gnu.org>
15010
15011 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
15012 (lispy_kana_keys): Comment out.
15013 (make_lispy_event) [XK_kana_A]: Comment out.
15014
15015 * xterm.c (xaw_scroll_callback): Cast call_data.
15016 (XTread_socket): Deal with ASCII keysyms.
15017 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
15018
150192008-02-01 Dave Love <fx@gnu.org>
15020
15021 * xterm.c (Vx_keysym_table): New.
15022 (syms_of_xterm): Initialize it.
15023 (XTread_socket): Use it.
15024 From head: Eliminate incorrect optimization that tried to avoid
15025 decoding the output of X*LookupString.
15026 (x_get_font_repertory): Delete charset declaration.
15027
150282008-02-01 Kenichi Handa <handa@m17n.org>
15029
15030 * coding.c (detect_coding_charset): If only ASCII bytes are found,
15031 return 0.
15032 (Fdefine_coding_system_internal): Setup
15033 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
15034
150352008-02-01 Dave Love <fx@gnu.org>
15036
15037 * coding.c (Fcheck_coding_system): Doc fix.
15038
15039 * editfns.c (Finsert_byte): Return a proper value.
15040
150412008-02-01 Kenichi Handa <handa@m17n.org>
15042
15043 * coding.c (decode_coding): Fix args to translate_chars. Pay
15044 attention to Vstandard_translation_table_for_decode.
15045 (encode_coding): Fix args to translate_chars. Pay attention to
15046 Vstandard_translation_table_for_encode.
15047
15048 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
15049 SINGLE_BYTE_CHAR_P.
15050
15051 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
15052 not by SINGLE_BYTE_CHAR_P.
15053
15054 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
15055 SINGLE_BYTE_CHAR_P.
15056
15057 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
15058 SINGLE_BYTE_CHAR_P.
15059
15060 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
15061 by SINGLE_BYTE_CHAR_P.
15062
15063 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
15064 SINGLE_BYTE_CHAR_P.
15065
150662008-02-01 Dave Love <fx@gnu.org>
15067
15068 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
15069
150702008-02-01 Dave Love <fx@gnu.org>
15071
15072 * fns.c (Flanginfo): Fix typo.
15073
15074 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
15075
150762008-02-01 Kenichi Handa <handa@m17n.org>
15077
15078 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
15079 (detect_coding_emacs_mule, detect_coding_iso_2022)
15080 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
15081 incomplete byte sequence. Don't update *mask when correctly detected.
15082 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
15083 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
15084 (detect_coding, detect_coding_system): Adjust for the changes above.
15085
150862008-02-01 Kenichi Handa <handa@m17n.org>
15087
15088 * character.c (char_string): Rename from
15089 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
15090 (string_char): Rename from string_char.
15091
15092 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
15093 if C is greater than MAX_3_BYTE_CHAR.
15094 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
15095 string_char instead of string_char_with_unification.
15096
150972008-02-01 Dave Love <fx@gnu.org>
15098
15099 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
15100
151012008-02-01 Kenichi Handa <handa@m17n.org>
15102
15103 * keymap.c (push_key_description): Pay attention to force_multibyte.
15104
15105 * regex.c (re_search_2): Fix for the case of unibyte buffer.
15106
151072008-02-01 Dave Love <fx@gnu.org>
15108
15109 * charset.c (define_charset_internal): Rename `supprementary'.
15110
15111 * Makefile.in (lisp, shortlisp): Remove latin-N.
15112
151132008-02-01 Dave Love <fx@gnu.org>
15114
15115 * xfns.c (x_window, x_window): Use use_xim.
15116
15117 * xterm.c (use_xim): Initialize.
15118 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
15119 (x_term_init): Maybe set use_xim.
15120
15121 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
15122
151232008-02-01 Kenichi Handa <handa@m17n.org>
15124
15125 * search.c (search_buffer): Fix case-fold-search of multibyte
15126 characters.
15127 (boyer_moore): Rename the last argument to char_high_bits.
15128
151292008-02-01 Kenichi Handa <handa@m17n.org>
15130
15131 * xdisp.c (display_string): Fix for the case of zero width glyph.
15132
15133 * xfns.c (x_set_font): Change the error message of the case that
15134 x_new_fontset returns Qt.
15135
15136 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
15137 (Finternal_set_lisp_face_attribute): Use signal_error for the
15138 error of invalid fontset.
15139
15140 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
15141 fontset, return Qt.
15142
151432008-02-01 Dave Love <fx@gnu.org>
15144
15145 * unexelf.c (unexec): Make .got handling not SGI-specific.
15146
15147 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
15148
15149 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
15150
15151 * keyboard.c (read_key_sequence): Fix type error.
15152
15153 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
15154 type error.
15155
15156 * fontset.c (fontset_add): Return Lisp_Object.
15157
151582008-02-01 Dave Love <fx@gnu.org>
15159
15160 * charset.h (charset_ordered_list_tick): Declare extern.
15161
151622008-02-01 Kenichi Handa <handa@m17n.org>
15163
15164 The following changes (and some of 2008-02-01 changes of mine) are
15165 for handling syntax, category, and case conversion for unibyte
15166 characters by converting them to multibyte on the fly. With these
15167 changes, we don't have to setup syntax and case tables for unibyte
15168 characters in each language environment.
15169
15170 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
15171 multibyte if necessary.
15172
15173 * bytecode.c (Fbyte_code): Likewise.
15174
15175 * character.h (LEADING_CODE_LATIN_1_MIN)
15176 (LEADING_CODE_LATIN_1_MAX): New macros.
15177 (unibyte_to_multibyte_table): Extern it.
15178 (unibyte_char_to_multibyte): New macro.
15179 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
15180 (CHAR_LEADING_CODE): New macro.
15181 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
15182
15183 * character.c (unibyte_to_multibyte_table): New variable.
15184 (unibyte_char_to_multibyte): Move to character.h and define as macro.
15185 (multibyte_char_to_unibyte): If C is an eight-bit character,
15186 convert it to the corresponding byte value.
15187
15188 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
15189 not 1, signals an error. Update the elements of
15190 unibyte_to_multibyte_table.
15191 (init_charset_once): Initialize unibyte_to_multibyte_table.
15192 (syms_of_charset): Define the charset `iso-8859-1'.
15193
15194 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
15195 as is without converting it to unibyte. In a unibyte buffer,
15196 convert C to multibyte before checking the syntax.
15197
15198 * lisp.h (unibyte_char_to_multibyte): Delete extern.
15199
15200 * minibuf.c (Fminibuffer_complete_word): Use the macro
15201 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
15202
15203 * regex.h (struct re_pattern_buffer): New member target_multibyte.
15204
15205 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
15206 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
15207 that is zero, convert an eight-bit char to multibyte.
15208 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
15209 non-emacs case.
15210 (PATFETCH): Convert an eight-bit char to multibyte.
15211 (HANDLE_UNIBYTE_RANGE): New macro.
15212 (regex_compile): Setup the compiled pattern for multibyte chars
15213 even if the given regex string is unibyte. Use PATFETCH_RAW
15214 instead of PATFETCH in many places. To handle `charset'
15215 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
15216 only for ASCII chars.
15217 (analyse_first) <exactn>: Simplify because the compiled pattern
15218 is multibyte.
15219 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
15220 <charset>: Use CHAR_LEADING_CODE to get leading codes.
15221 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
15222 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
15223 multibyte always 1.
15224 (re_search_2): In emacs, set the locale variable multibyte to 1,
15225 otherwise to 0. New local variable target_multibyte. Check it
15226 to decide the multibyteness of STR1 and STR2. If
15227 target_multibyte is zero, convert unibyte chars to multibyte
15228 before translating and checking fastmap.
15229 (TARGET_CHAR_AND_LENGTH): New macro.
15230 (re_match_2_internal): In emacs, set the locale variable multibyte
15231 to 1, otherwise to 0. New local variable target_multibyte. Check
15232 it to decide the multibyteness of STR1 and STR2. Use
15233 TARGET_CHAR_AND_LENGTH to fetch a character from D.
15234 <charset, charset_not>: If multibyte is nonzero, check fastmap
15235 only for ASCII chars. Call bcmp_translate with
15236 target_multibyte, not with multibyte.
15237 <begline>: Declare the local variable C as `unsigned'.
15238 (bcmp_translate): Change the last arg name to target_multibyte.
15239
15240 * search.c (compile_pattern_1): Don't adjust the multibyteness of
15241 the regexp pattern and the matching target. Set cp->buf.multibyte
15242 to the multibyteness of the regexp pattern. Set
15243 cp->but.target_multibyte to the multibyteness of the matching target.
15244 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
15245 FETCH_STRING_CHAR_ADVANCE.
15246 (Freplace_match): Convert unibyte chars to multibyte.
15247
15248 * syntax.c (char_quoted, back_comment, scan_words)
15249 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
15250 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
15251 unibyte chars to multibyte.
15252 (skip_chars): Delete the arg syntaxp, and move the code for
15253 handling syntaxes to skip_syntaxes. Change callers.
15254 Fix the case that the multibyteness of STRING and the current
15255 buffer doesn't match.
15256 (skip_syntaxes): New function.
15257 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
15258 SINGLE_BYTE_CHAR_P.
15259
152602008-02-01 Kenichi Handa <handa@m17n.org>
15261
15262 * xfaces.c (QCfontset): New variable.
15263 (LFACE_FONTSET): New macro.
15264 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
15265 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
15266 (Finternal_set_lisp_face_attribute)
15267 (Finternal_get_lisp_face_attribute): Handle QCfontset.
15268 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
15269 check also LFACE_FONTSET_INDEX.
15270 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
15271 attrs[LFACE_FONT_INDEX].
15272 (syms_of_xfaces): Intern and staticpro QCfontset.
15273
15274 * dispextern.h (enum lface_attribute_index): New member
15275 LFACE_FONTSET_INDEX.
15276
15277 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
15278
152792008-02-01 Kenichi Handa <handa@m17n.org>
15280
15281 * coding.c (coding_set_destination): Fix coding->destination for
15282 the case converting a region.
15283 (encode_coding_utf_8): Encode eight-bit chars as single byte.
15284 (encode_coding_object): Fix coding->dst_pos and
15285 coding->dst_pos_byte for the case converting a region.
15286
15287 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
15288
15289 * character.h (BYTE8_STRING): New macro.
15290
15291 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
15292
152932008-02-01 Kenichi Handa <handa@m17n.org>
15294
15295 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
15296 characters by octal form.
15297
15298 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
15299
15300 * buffer.h (_fetch_multibyte_char_len): Delete extern.
15301 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
15302 _fetch_multibyte_char_len.
15303 (FETCH_CHAR_AS_MULTIBYTE): New macro.
15304
15305 * casetab.c (set_canon, set_identity, shuffle): Simplify.
15306
15307 * casefiddle.c (casify_object): Simplify. Handle the case that
15308 the case conversion change the byte length.
15309 (casify_region): Likewise.
15310
15311 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
15312
15313 * character.c (_fetch_multibyte_char_len): Delete this variable.
15314 (syms_of_character): Setup Vprintable_chars.
15315
15316 * editfns.c (Fchar_equal): Fix for the unibyte case.
15317 (Finsert_byte): New function.
15318 (syms_of_editfns): Defsubr it.
15319
15320 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
15321 of direct code 0x3ffff.
15322
15323 * search.c (Freplace_match): Fix for the unibyte case.
15324
153252008-02-01 Kenichi Handa <handa@m17n.org>
15326
15327 * lread.c (safe_to_load_p): Fix the logic.
15328
15329 * syntax.c (scan_words): Don't treat characters belonging to
15330 different scripts as constituting a word.
15331
15332 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
15333
15334 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
15335
15336 * emacs.c (main): In the case of --unibyte, instead of aborting on
15337 finding non-empty buffer, make it unibyte.
15338
153392008-02-01 Kenichi Handa <handa@m17n.org>
15340
15341 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
15342 to create a fontset.
15343
153442008-02-01 Dave Love <fx@gnu.org>
15345
15346 * character.c (Funibyte_char_to_multibyte): Doc fix.
15347
15348 * xfns.c [HAVE_STDLIB_H]: Fix last change.
15349
153502008-02-01 Kenichi Handa <handa@m17n.org>
15351
15352 * fontset.c (fontset_add): Make the type `int'.
15353 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
15354
15355 * character.c (unibyte_char_to_multibyte)
15356 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
15357 charset_unibyte, not charset_primary.
15358
15359 * charset.h (charset_unibyte): Extern it instead of charset_primary.
15360
15361 * charset.c (charset_unibyte): Rename from charset_primary.
15362 (Funibyte_charset): Rename from Fprimary_charset.
15363 (Fset_unibyte_charset): Rename from Fset_primary_charset.
15364 (syms_of_charset): Adjust for the above changes.
15365
15366 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
15367 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
15368 it->multibyte_p is zero.
15369
15370 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
15371 Delete extern.
15372
153732008-02-01 Kenichi Handa <handa@m17n.org>
15374
15375 * coding.c (Fdefine_coding_system_internal): Fix category setting
15376 for a coding system of type iso-2022.
15377
153782008-02-01 Kenichi Handa <handa@m17n.org>
15379
15380 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
15381
153822008-02-01 Kenichi Handa <handa@m17n.org>
15383
15384 * syntax.c (Vnext_word_boundary_function_table): New variable.
15385 (next-word-boundary-function-table): Declare it as a Lisp variable
15386 in syms_of_syntax.
15387 (scan_words): Call functions in Vnext_word_boundary_function_table
15388 if any.
15389
15390 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
15391
15392 * fontset.c (fs_load_font): If fontp->charset is not negative,
15393 return fontp without setting its members.
15394
153952008-02-01 Dave Love <fx@gnu.org>
15396
15397 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
15398
15399 * m/sparc.h (HAVE_ALLOCA): Delete.
15400
15401 * s/irix6-5.h: Don't include strings.h.
15402 (bcopy, bzero, bcmp): Don't undef.
15403
15404 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
15405
15406 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
15407 (TIOCSIGSEND): Don't test IRIX6.
15408 (bcopy, bzero, bcmp): Define conditionally.
15409
154102008-02-01 Kenichi Handa <handa@m17n.org>
15411
15412 * buffer.c (Qas, Qmake, Qto): New variables.
15413 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
15414 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
15415
15416 * callproc.c (Fcall_process): Don't call insert_1_both directly if
15417 we are inserting a process output into a multibyte buffer.
15418
15419 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
15420 multibyte_char_to_unibyte.
15421
15422 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
15423 by the primary charset, make it eight-bit char.
15424 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
15425
15426 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
15427 (charset_8_bit__control, charset_8_bit_graphic)
15428 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
15429 (define_charset_internal): New function.
15430 (syms_of_charset): Call define_charset_internal for pre-defined
15431 charsets.
15432
15433 * charset.h (charset_8_bit): Extern it.
15434
15435 * coding.c (make_conversion_work_buffer): Adjust for the change
15436 of Fset_buffer_multibyte.
15437 (encode_coding_raw_text): Increment p0 in the loop.
15438
15439 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
15440
15441 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
15442 for the change of Fset_buffer_multibyte.
15443
15444 * fns.c (Fstring_to_multibyte): New function.
15445 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
15446
154472008-02-01 Dave Love <fx@gnu.org>
15448
15449 * xfns.c (x_put_x_image): Declare args.
15450
15451 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
15452 (try_font_list): Declare an arg.
15453
15454 * xdisp.c (message2_nolog, set_message): Declare an arg.
15455
15456 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
15457
15458 * syntax.c (scan_sexps_forward): Declare an arg.
15459
15460 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
15461 Declare an arg.
15462
15463 * lisp.h (Fnew_fontset): Declare.
15464
15465 * keymap.c (push_key_description): Call CHARACTERP correctly.
15466
15467 * fontset.c (fontset_add): Declare args. Call make_number correctly.
15468 (face_for_char): Delete unused vars.
15469 (Fset_fontset_font): Doc fix. Delete unused vars.
15470
15471 * doc.c (Fsubstitute_command_keys): Delete unused vars.
15472
15473 * composite.c (update_compositions): Declare arg.
15474
15475 * cm.c (calccost, cmgoto): Declare args.
15476
15477 * charset.c: Remove `emacs' conditional. Doc fixes.
15478 (map_char_table_for_charset): Declare.
15479
15480 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
15481
15482 * ccl.c: Remove `emacs' conditional.
15483
154842008-02-01 Kenichi Handa <handa@m17n.org>
15485
15486 The following changes are to allow specifying multiple font
15487 patterns for a character range (specified by script or charset).
15488
15489 * Makefile.in (abbrev.o): Depend on syntax.h.
15490 (xfaces.o): Depend on charset.h.
15491
15492 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
15493 SINGLE_BYTE_CHAR_P.
15494
15495 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
15496
15497 * character.h (Vchar_script_table): Extern it.
15498
15499 * character.c (Vscript_alist): Delete.
15500 (Vchar_script_table, Qchar_script_table): New variable.
15501 (syms_of_character): Declare Vchar_script_table as a lisp variable
15502 and initialize it.
15503
15504 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
15505 have property char-table-extra-slots, make no extra slot.
15506
15507 * dispextern.h (struct face): Delete member `charset'.
15508 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
15509 SINGLE_BYTE_CHAR_P.
15510 (choose_face_font, lookup_non_ascii_face, font_name_registry):
15511 Add prototypes.
15512 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
15513 (generate_ascii_font_name): Rename from generate_ascii_font.
15514
15515 * fontset.h (get_font_repertory_func): New prototype.
15516 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
15517 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
15518
15519 * fontset.c (Qprepend, Qappend): New variables.
15520 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
15521 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
15522 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
15523 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
15524 (fontset_ref_and_range, fontset_add, reorder_font_vector)
15525 (load_font_get_repertory): New functions.
15526 (fontset_set): Delete.
15527 (fontset_face): New arg FACE. Return face ID, not face.
15528 Complete re-write to handle new fontset structure. Change caller.
15529 (free_face_fontset): Use ASET istead of AREF (X) = Y.
15530 (face_for_char): Don't call lookup_face.
15531 (make_fontset_for_ascii_face): New arg FACE.
15532 (fs_load_font): New arg CHARSET_ID. Don't check
15533 Vfont_encoding_alist here.
15534 (find_font_encoding): New function.
15535 (list_fontsets): Use STRINGP, not ! NILP.
15536 (accumulate_script_ranges): New function.
15537 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
15538 re-written to handle new fontset structure.
15539 (Ffontset_font): Return a copy of element.
15540 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
15541 docstring of font-encoding-alist.
15542
15543 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
15544 (Fset_fotset_font): Fix arguments to 5.
15545
15546 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
15547
15548 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
15549 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
15550 (highlight_trailing_whitespace): Adjust for the change of
15551 lookup_named_face.
15552
15553 * xfaces.c: Include charset.h.
15554 (load_face_font): Delete argument C. Change caller.
15555 (generate_ascii_font_name): Rename from generate_ascii_font.
15556 (font_name_registry): New function.
15557 (cache_face): Store ascii faces before non-ascii faces in buckets.
15558 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
15559 Lookup only ascii faces.
15560 (lookup_non_ascii_face): New function.
15561 (lookup_named_face): Delete argument C. Change caller.
15562 (lookup_derived_face): Delete argument C. Change caller.
15563 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
15564 a string, just call font_list with it.
15565 (choose_face_font): Delete arguments FACE and C. New arg
15566 FONT_SPEC. Change caller.
15567 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
15568 Change caller.
15569 (realize_non_ascii_face): New function.
15570 (realize_x_face): Call load_face_font here.
15571 (realize_tty_face): Delete argument C. Change caller.
15572 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
15573 get a face ID.
15574 (dump_realized_face): Don't print charset of FACE.
15575
15576 * xfns.c (x_set_font): Always call x_new_fontset and
15577 store_frame_parameter.
15578 (Fx_create_frame): Call x_new_fontset, not x_new_font.
15579 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
15580
15581 * xterm.h (x_get_font_repertory): Extern it.
15582
15583 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
15584 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
15585 it->multibyte_p is zero.
15586 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
15587 (x_new_fontset): If FONTSETNAME doesn't match any existing
15588 fontsets, create a new one.
15589 (x_get_font_repertory): New function.
15590
155912008-02-01 Kenichi Handa <handa@m17n.org>
15592
15593 * coding.c (Ffind_coding_systems_region_internal): Detect an
15594 ASCII only string correctly.
15595
15596 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
15597 version is 0.
15598
155992008-02-01 Kenichi Handa <handa@m17n.org>
15600
15601 * lread.c: Include "coding.h".
15602 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
15603 (load_each_byte, unread_char): New variables.
15604 (readchar_backlog): Delete.
15605 (readchar): Return a character unless load_each_byte is nonzero.
15606 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
15607 cons. If unread_char is not -1, simply return it.
15608 (unreadchar): Handle the case that readcharfun is
15609 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
15610 (read_multibyte): Delete.
15611 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
15612 (read_emacs_mule_char): New functions.
15613 (Fload): Even if the file doesn't have the extension ".elc", if
15614 safe_to_load_p returns a positive version number, assume that the
15615 file contains bytecompiled code. If the version is less than 22,
15616 load the file while decoding multibyte sequences by emacs-mule.
15617 (readevalloop): Don't use readchar_backlog.
15618 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
15619 (Fread_from_string): Pay attention to the case that STREAM is a cons.
15620 (read_escape): Delete the arg BYTEREP.
15621 (read1): Set load_each_byte to 1 temporarily while handling
15622 #@NUMBER. Don't call read_multibyte.
15623 (read_vector): Call Fread with a cons. If readcharfun is
15624 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
15625 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
15626 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
15627 and Qload_force_doc_strings.
15628
156292008-02-01 Kenichi Handa <handa@m17n.org>
15630
15631 * xdisp.c (face_before_or_after_it_pos): Call
15632 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
15633
156342008-02-01 Kenichi Handa <handa@m17n.org>
15635
15636 * character.h (TRAILING_CODE_P): New macro.
15637 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
15638 (string_char_with_unification): Fix prototype.
15639 (Vscript_alist): Extern it.
15640
15641 * character.c (Vscript_alist): New variable.
15642 (string_char_with_unification, str_as_unibyte)
15643 (string_escape_byte8): Add `const' to local variables.
15644 (syms_of_character): Declare script-alist as a Lisp variable.
15645
15646 * charset.h (Vcharset_ordered_list): Extern it.
15647 (charset_ordered_list_tick): Extern it.
15648 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
15649 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
15650 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
15651 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
15652 (Funify_charset): Adjust for the change of Funify_charset.
15653
15654 * charset.c (charset_ordered_list_tick): New variable.
15655 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
15656 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
15657 deunify intead of unify a charset.
15658 (string_xstring_p): Add `const' to local variables.
15659 (find_charsets_in_text): Add `const' to arguments and local variables.
15660 (encode_char): Adjust for the change of Funify_charset. Fix
15661 detecting of invalid code.
15662 (Fset_charset_priority): Increment charset_ordered_list_tick.
15663 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
15664 and TO_CODE.
15665
15666 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
15667 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
15668 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
15669 (decode_coding_ccl, consume_chars)
15670 (Ffind_coding_systems_region_internal)
15671 (Fcheck_coding_systems_region): Add `const' to local variables.
15672
15673 * print.c (print_object): Use octal form for printing the
15674 contents of a bool vector.
15675
156762008-02-01 Dave Love <fx@gnu.org>
15677
15678 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
15679 <version == 20>: Refuse to load.
15680
156812008-02-01 Dave Love <fx@gnu.org>
15682
15683 * fns.c: Move coding.h.
15684 (Qcodeset, Qdays, Qmonths): New.
15685 (concat): Use CHARACTERP instead of INTEGERP.
15686 (Flocale_codeset): Delete.
15687 (Flanginfo): New function.
15688 (syms_of_fns): Change accordingly.
15689
15690 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
15691
156922008-02-01 Dave Love <fx@gnu.org>
15693
15694 * casetab.c (init_casetab_once, init_casetab_once): Fix
15695 CHAR_TABLE_SET call.
15696
15697 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
15698
15699 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
15700
15701 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
15702 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
15703 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
15704
15705 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
15706
15707 * coding.c (ENCODE_DESIGNATION, decode_eol)
15708 (make_conversion_work_buffer, code_conversion_restore)
15709 (Fdefine_coding_system_internal): Convert Lisp types.
15710 (code_conversion_restore): Use EQ, not ==.
15711 (Fencode_coding_string): Fix code_convert_string call.
15712
15713 * coding.h (code_convert_region): Fix prototype.
15714
15715 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
15716
15717 * fontset.c (fontset_ref, fontset_set, fs_load_font)
15718 (Ffontset_info): Convert Lisp types.
15719
15720 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
15721
15722 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
15723
15724 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
15725
15726 * chartab.c: Include "...h", not <...h> in some cases.
15727
15728 * callproc.c (Fcall_process): Remove unused variables.
15729
157302008-02-01 Dave Love <fx@gnu.org>
15731
15732 * coding.c (Fset_coding_system_priority): Allow null arg list.
15733
157342008-02-01 Dave Love <fx@gnu.org>
15735
15736 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
15737 (Fself_insert_and_exit): Use CHARACTERP.
15738
15739 * callproc.c (Fcall_process): Remove unused vars.
15740
15741 * xterm.c (XTread_socket): Add extra dead keysyms.
15742
15743 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
15744
15745 * dispextern.h: Remove prototypes for redraw_frame,
15746 redraw_garbaged_frames.
15747
15748 * cmds.c (Fself_insert_command): Use CHARACTERP.
15749
15750 * chartab.c (make_sub_char_table): Remove unused var.
15751 (Fset_char_table_default, Fmap_char_table): Doc fix.
15752
15753 * keymap.c (access_keymap): Remove generic char code.
15754 (push_key_description): Use CHARACTERP.
15755
157562008-02-01 Dave Love <fx@gnu.org>
15757
15758 * charset.c: Doc fixes.
15759 (Funify_charset): Extra checking.
15760
157612008-02-01 Dave Love <fx@gnu.org>
15762
15763 * lread.c: Remove some unused variables.
15764 (safe_to_load_p): If safe, return the magic number version byte.
15765 (Fload): Maybe use load-with-code-conversion.
15766
157672008-02-01 Kenichi Handa <handa@m17n.org>
15768
15769 * category.c (Fmodify_category_entry): Don't modify the contents
15770 of category_set for characters out of the range. Avoid
15771 unnecessary modification.
15772
15773 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
15774 Vchar_unify_table. The default value of the table is now nil.
15775
15776 * character.c (syms_of_character): Setup Vchar_width_table for
15777 eight-bit-control and raw-byte chars.
15778
15779 * charset.h (enum define_charset_arg_index): Delete
15780 charset_arg_parents and add charset_arg_subset and
15781 charset_arg_superset.
15782 (enum charset_attr_index): Delete charset_parents and add
15783 charset_subset and charset_superset.
15784 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
15785 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
15786 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
15787 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
15788 (CHARSET_SUPERSET): New macros.
15789 (charset_work): Extern it.
15790 (ENCODE_CHAR): Use charset_work.
15791 (CHAR_CHARSET_P): Adjust for the change of encoder format.
15792 (map_charset_chars): Extern it.
15793
15794 * charset.c (load_charset_map): Set the default value of encoder
15795 and deunifier char-tables to nil.
15796 (map_charset_chars): Change argument. Change callers. Use
15797 map_char_table_for_charset instead of map_char_table.
15798 (Fmap_charset_chars): New optional args from_code and to_code.
15799 (Fdefine_charset_internal): Adjust for the change of
15800 `define-charset' (:parents -> :subset or :superset).
15801 (charset_work): New variable.
15802 (encode_char, syms_of_charset): Adjust for the change of
15803 Fdefine_charset_internal.
15804 (Ffind_charset_string): Setup the vector `charsets' correctly.
15805
15806 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
15807 the previous change.
15808 (char_table_ref_and_range): Adjust for the above change.
15809 (map_sub_char_table_for_charset): New function.
15810 (map_char_table_for_charset): New function.
15811
15812 * keymap.c (describe_vector): Handle a char-table directly here.
15813 (describe_char_table): Delete.
15814
15815 * lisp.h (map_charset_chars): Delete.
15816
158172008-02-01 Dave Love <fx@gnu.org>
15818
15819 * fns.c (count_combining): Comment out (unused).
15820 (Flocale_codeset): New.
15821 (syms_of_fns): Defsubr it.
15822
15823 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
15824 (size_t): Remove.
15825
158262008-02-01 Dave Love <fx@gnu.org>
15827
15828 * Makefile.in (chartab.o): Depend on charset.h.
15829
158302008-02-01 Kenichi Handa <handa@m17n.org>
15831
15832 * character.c (syms_of_character): Set the default value of
15833 Vprintable_chars to Qnil.
15834
158352008-02-01 Dave Love <fx@gnu.org>
15836
15837 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
15838
158392008-02-01 Kenichi Handa <handa@m17n.org>
15840
15841 * charset.c (load_charset_map): Handle the case that from < to
15842 correctly.
15843
15844 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
15845 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
15846 Pay attention to raw-8-bit chars.
15847
158482008-02-01 Kenichi Handa <handa@m17n.org>
15849
15850 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
15851 It is not bytecompiled now.
15852
15853 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
15854 (charset_jisx0208): New variables.
15855 (Fdefine_charset_internal): Setup them if appropriate.
15856 (init_charset_once): Initialize them to -1.
15857
15858 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
15859 (charset_jisx0208): Extern them.
15860
15861 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
15862 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
15863 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
15864 (setup_iso_safe_charsets): Fix arguments to Fassq.
15865 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
15866 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
15867 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
15868 (encode_coding_iso_2022): Change the 1st arg to
15869 ENCODE_ISO_CHARACTER to a variable.
15870
158712008-02-01 Kenichi Handa <handa@m17n.org>
15872
15873 * charset.h (enum define_charset_arg_index): New enums
15874 charset_arg_min_code and charset_arg_max_code.
15875 (struct charset): New member char_index_offset.
15876
15877 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
15878 Take charset->char_index_offset into account.
15879 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
15880 args[charset_arg_max_code]. Setup charset.char_index_offset.
15881 (syms_of_charset): Fix args to Fdefine_charset_internal.
15882
158832008-02-01 Dave Love <fx@gnu.org>
15884
15885 * coding.c (decode_coding_utf_8): Reject overlong sequences.
15886
158872008-02-01 Dave Love <fx@gnu.org>
15888
15889 * coding.c: Doc fixes.
15890 (Fcoding_system_aliases): Fix return value.
15891 (Qmac): Remove (duplicated) definition.
15892
158932008-02-01 Dave Love <fx@gnu.org>
15894
15895 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
15896 functions.
15897
15898 * character.c (Fstring): Doc fix.
15899
15900 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
15901
15902 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
15903 ids.
15904 (font-encoding-alist): Doc fix.
15905
159062008-02-01 Dave Love <fx@gnu.org>
15907
15908 * term.c (costs_set): Declare static, non-initialized for pcc.
15909 (encode_terminal_code): Remove unused var.
15910
15911 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
15912 for K&R.
15913
15914 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
15915
15916 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
15917 (suffixes): Move out of make_subsidiaries for K&R.
15918
15919 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
15920
15921 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
15922
159232008-02-01 Dave Love <fx@gnu.org>
15924
15925 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
15926
15927 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
15928
159292008-02-01 Yong Lu <lyongu@asia-infonet.com>
15930
15931 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
15932
15933 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
15934
159352008-02-01 Kenichi Handa <handa@m17n.org>
15936
15937 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
15938 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
15939
159402008-02-01 Kenichi Handa <handa@m17n.org>
15941
15942 * coding.c (decode_coding_charset): Adjust for the change of
15943 Fdefine_coding_system_internal.
15944 (Fdefine_coding_system_internal): For a coding system of
15945 `charset' type, store a list of charset IDs in
15946 `charset_attr_charset_valids' element of coding attributes.
15947
159482008-02-01 Kenichi Handa <handa@m17n.org>
15949
15950 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
15951 (emacs_mule_char): New arg src. Delete arg `composition'. Change
15952 caller. Handle 2-byte and 3-byte charsets correctly.
15953 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
15954 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
15955 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
15956 (DECODE_EMACS_MULE_21_COMPOSITION): Call
15957 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
15958 sequence.
15959 (decode_coding_emacs_mule): Handle composition correctly. Rewind
15960 `src' and `consumed_chars' correctly before calling emacs_mule_char.
15961 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
15962 and alt&rule composition.
15963 (decode_coding_iso_2022): Handle composition correctly.
15964 (init_coding_once): Setup emacs_mule_bytes for private charsets.
15965
15966 * charset.c (Fdefine_charset_internal): Fix bug for the case of
15967 re-defining a charset. If the charset has :emacs-mule-id, setup
15968 emacs_mule_bytes.
15969 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
15970
159712008-02-01 Kenichi Handa <handa@m17n.org>
15972
15973 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
15974 (encode_coding_big5, encode_coding_charset): If coding requires safe
15975 encoding, produce a character specified by
15976 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
15977
159782008-02-01 Dave Love <fx@gnu.org>
15979
15980 * xterm.c (XSetIMValues): Declare.
15981
15982 * process.c: Conditionally include sys/wait.h, pty.h.
15983
15984 * print.c (print_object): Fix print format for 64-bit systems.
15985
15986 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
15987
15988 * buffer.c (emacs_strerror): Declare.
15989
15990 * fontset.c (Fclear_face_cache): Declare.
15991 (accumulate_font_info): Comment-out (unused).
15992 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
15993 variables.
15994
15995 * character.h (string_escape_byte8): Declare.
15996
15997 * charset.c (load_charset_map, load_charset_map_from_file): Remove
15998 unused vars.
15999 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
16000 (Fmap_charset_chars): Doc fix.
16001
16002 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
16003 (Fset_coding_system_priority, Fset_coding_system_priority)
16004 (Fdefine_coding_system_internal): Doc fix.
16005
160062008-02-01 Dave Love <fx@gnu.org>
16007
16008 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
16009
160102008-02-01 Kenichi Handa <handa@m17n.org>
16011
16012 * character.c (string_escape_byte8): Make multibyte string with
16013 correct size.
16014
16015 * charset.c (Fmake_char): Delete unnecessary code.
16016
160172008-02-01 Kenichi Handa <handa@m17n.org>
16018
16019 * xfns.c (x_encode_text): Allocate coding.destination here, and
16020 call encode_coding_object with dst_object Qnil.
16021
16022 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
16023 multibyte form correctly.
16024
16025 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
16026 against Vfont_encoding_alist.
16027
16028 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
16029 handling of charset list.
16030 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
16031 (decode_coding_object): Move point to coding->dst_pos before
16032 calling post-read-conversion function.
16033 (encode_coding_object): Give correct arguments to
16034 pre-write-conversion. Ignore the return value of
16035 pre-write-conversion function. Pay attention to the case that
16036 pre-write-conversion changes the current buffer. If dst_object is
16037 Qt, even if coding->src_bytes is zero, allocate at least one byte
16038 to coding->destination.
16039
16040 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
16041
16042 * charset.c (Fmake_char): Make it more backward compatible.
16043 (Fmap_charset_chars): Fix docstring.
16044
160452008-02-01 Dave Love <fx@gnu.org>
16046
16047 * coding.c: Doc fixes.
16048 (Fdefine_coding_system_alias): Use names, not symbols, in
16049 coding-system-alist.
16050
160512008-02-01 Kenichi Handa <handa@m17n.org>
16052
16053 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
16054 of calling free_realized_face.
16055
160562008-02-01 Yong Lu <lyongu@asia-infonet.com>
16057
16058 * charset.c (read_hex): Don't treat SPC as a comment starter.
16059 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
16060 (Fdecode_char): Fix typo.
16061
160622008-02-01 Kenichi Handa <handa@m17n.org>
16063
16064 * charset.h (struct charset): New member `code_space_mask'.
16065
16066 * coding.c (coding_set_source): Delete the local variable beg_byte.
16067 (encode_coding_charset, Fdefine_coding_system_internal):
16068 Delete the local variable charset.
16069 (Fdefine_coding_system_internal): Setup
16070 attrs[coding_attr_charset_valids] correctly.
16071
16072 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
16073 member to check if CODE is valid or not.
16074 (Fdefine_charset_internal): Initialize `code_space_mask' member.
16075 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
16076 is within the range of charset->min_code and carset->max_code.
16077
160782008-02-01 Dave Love <fx@gnu.org>
16079
16080 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
16081
16082 * dispextern.h (generate_ascii_font): Fix return type.
16083
16084 * xfaces.c (generate_ascii_font): Fix arg declaration.
16085
16086 * coding.c (coding_inherit_eol_type)
16087 (Fset_terminal_coding_system_internal)
16088 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
16089
160902008-02-01 Kenichi Handa <handa@m17n.org>
16091
16092 * coding.c (decode_coding_charset, encode_coding_charset): Handle
16093 multiple charsets correctly.
16094
160952008-02-01 Kenichi Handa <handa@m17n.org>
16096
16097 * search.c (boyer_moore): Fix handling of multibyte character
16098 translation.
16099
16100 * xdisp.c (display_mode_element): When the variable `elt' is
16101 changed, update `this' and `lisp_string'.
16102
161032008-02-01 Kenichi Handa <handa@m17n.org>
16104
16105 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
16106
16107 * callproc.c (Fcall_process): Be sure to give the current buffer
16108 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
16109
16110 * charset.c (struct charset_map_entries): New struct.
16111 (load_charset_map): Rename from parse_charset_map. New args
16112 entries and n_entries. Change caller.
16113 (load_charset_map_from_file): Rename from load_charset_map.
16114 Change caller. New arg control_flag. Call load_charset_map at
16115 the tail.
16116 (load_charset_map_from_vector): New function.
16117 (Fdefine_charset_internal): Setup charset.compact_codes_p.
16118 (encode_char): If the charset is compact, change a character index
16119 to a code point.
16120
16121 * coding.c (coding_alloc_by_making_gap): Check the case that the
16122 source and destination are the same correctly.
16123 (decode_coding_raw_text): Set coding->consumed_char and
16124 coding->consumed to 0.
16125 (produce_chars): If coding->chars_at_source is nonzero, update
16126 coding->consumed_char and coding->consumed before calling
16127 alloc_destination.
16128 (Fdefine_coding_system_alias): Register ALIAS in
16129 Vcoding_system_alist.
16130 (syms_of_coding): Define `no-conversion' coding system at the tail.
16131
16132 * fileio.c (Finsert_file_contents): Set coding_system instead of
16133 val. If the current buffer is multibyte, always call
16134 decode_coding_gap.
16135
16136 * xfaces.c (try_font_list): Give higher priority to fontset's
16137 family than face's family.
16138
161392008-02-01 Kenichi Handa <handa@m17n.org>
16140
16141 * callproc.c (Fcall_process): Be sure to give the current buffer
16142 to decode_coding_c_string.
16143
16144 * xfaces.c (try_font_list): Give a family specified in a fontset
16145 higher priority than a family specified in a face.
16146
161472008-02-01 Kenichi Handa <handa@m17n.org>
16148
16149 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
16150 Fix arguments to insert_from_buffer.
16151
16152 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
16153
161542008-02-01 Kenichi Handa <handa@m17n.org>
16155
16156 * coding.c (produce_chars): Set the variable `multibytep' correctly.
16157 (decode_coding_gap): Set coding->dst_multibyte correctly.
16158
161592008-02-01 Kenichi Handa <handa@m17n.org>
16160
16161 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
16162 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
16163 (encode_coding_utf_16): Substitute coding->default_char for
16164 non-Unicode characters.
16165 (decode_coding): Don't call record_insert here.
16166 (setup_coding_system): Initialize `surrogate' of
16167 coding->spec.utf_16 to 0.
16168 (EMIT_ONE_BYTE): Fix for multibyte case.
16169
16170 * insdel.c (insert_from_gap): Call record_insert.
16171
161722008-02-01 Kenichi Handa <handa@m17n.org>
16173
16174 * casefiddle.c (casify_region): Fix multibyte case.
16175
16176 * character.c (c_string_width): Add return type `int'.
16177 (char_string_with_unification): Delete arg ADVANCED.
16178
16179 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
16180 (CHAR_STRING): Adjust for the change of char_string_with_unification.
16181 (CHAR_STRING_ADVANCE): Make it do-while statement.
16182
16183 * chartab.c (sub_char_table_set_range): Optimize for the case
16184 DEPTH == 3. Add workaround code for a GCC optimization bug.
16185
16186 * charset.c (parse_charset_map): Remove an unused variable.
16187
16188 * coding.c: Delete unused variables.
16189
16190 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
16191 earlier. If inserted is zero and the coding system doesn't
16192 require flushing, don't call decode_coding_gap.
16193
16194 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
16195
161962008-02-01 Kenichi Handa <handa@m17n.org>
16197
16198 The following changes are for using Unicode as an internal
16199 character model, and use UTF-8 format for buffer/string
16200 representation.
16201
16202 * .gdbinit (xchartable): Adjust for the change of char table structure.
16203 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
16204
16205 * Makefile.in (obj): Add character.o and chartab.o.
16206 (lisp, shortlisp): Remove utf-8.elc.
16207 (*.o): For many files, change dependency on charset.h to
16208 character.h, and add dependency on character.h.
16209 (character.o, chartab.o): New targets.
16210
16211 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
16212 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
16213 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
16214 of "charset.h".
16215
16216 * dired.c, filelock.c: Include "character.h".
16217
16218 * alloc.c: Include "character.h" instead of "charset.h".
16219 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
16220 (syms_of_alloc): Remove defsubr for Smake_char_table.
16221
16222 * buffer.c: Include "character.h" instead of "charset.h", don't
16223 include "coding.h".
16224 (Fset_buffer_multibyte): Adjust for UTF-8.
16225
16226 * buffer.h: EXFUN Fbuffer_live_p.
16227
16228 * callproc.c: Include "character.h" instead of "charset.h".
16229 (Fcall_process): Big change for the new code-conversion APIs.
16230
16231 * casetab.c: Include "character.h" instead of "charset.h".
16232 (set_canon, set_identity, shuffle): Adjust for the new
16233 map_char_table spec.
16234 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
16235 accessing the char table structure.
16236
16237 * chartab.c: New file that implements char table.
16238
16239 * category.c: Include "character.h".
16240 (copy_category_entry): New function.
16241 (copy_category_table): Call map_char_table and copy_category_entry.
16242 (Fmake_category_table): Initialize all top-level slots.
16243 (char_category_set): New function.
16244 (modify_lower_category_set): Delete.
16245 (Fmodify_category_entry): Call char_table_ref_and_range.
16246
16247 * category.h (CATEGORY_SET): Just call char_category_set.
16248
16249 * ccl.c: Include "character.h".
16250 (Qccl, Qcclp): New variables.
16251 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
16252 it's less than 256.
16253 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
16254 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
16255 and DST type.
16256 (ccl_driver): Change types of argument, adjust code accordingly.
16257 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
16258 ccl_driver.
16259 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
16260
16261 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
16262 New members src_multibyte, dst_multibyte, consumed, and produced.
16263 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
16264 (CODING_SPEC_CCL_PROGRAM): New macro.
16265 (ccl_driver): Update prototype.
16266 (Qccl, Qcclp, Fccl_program_p): Extern them.
16267 (CHECK_CCL_PROGRAM): New macro.
16268
16269 * character.c, character.h, chartab.c: New files.
16270
16271 * charset.c: Mostly re-written. Move character and multibyte sequence
16272 handling codes to character.c.
16273
16274 * charset.h: Mostly re-written. Move character and multibyte sequence
16275 handling codes to character.h.
16276
16277 * coding.c, coding.h: Mostly re-written.
16278
16279 * composite.c: Include "character.h" instead of "charset.h".
16280 (CHAR_WIDTH): Move to character.h.
16281 (HASH_KEY, HASH_VALUE): Delete.
16282
16283 * composite.h (enum composition_method): Change order of enumeration
16284 symbols.
16285
16286 * data.c: Include "character.h" instead of "charset.h".
16287 (Faref): Call CHAR_TABLE_REF for a char table.
16288 (Faset): Call CHAR_TABLE_SET for a char table.
16289
16290 * dispextern.h (free_realized_face, check_face_attribytes)
16291 (generate_ascii_font): Extern them.
16292 (free_realized_multibyte_face): Delete extern.
16293
16294 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
16295 table structure.
16296
16297 * editfns.c: Include "character.h" instead of "charset.h".
16298 (Fchar_to_string): Always call CHAR_STRING.
16299
16300 * emacs.c (main): Call init_charset_once, init_charset,
16301 syms_of_chartab, and syms_of_character.
16302
16303 * fileio.c: Include "character.h" instead of "charset.h".
16304 (Finsert_file_contents): Big change for the new code-conversion API.
16305 (choose_write_coding_system, Fwrite_region): Likewise.
16306 (build_annotations_2): Delete.
16307 (e_write): Big change for the new code-conversion API.
16308
16309 * fns.c: Include "character.h" instead of "charset.h".
16310 (copy_sub_char_table): Move to chartab.c.
16311 (Fcopy_sequence): Call copy_char_table for a char table.
16312 (concat): Delete codes calling count_multibyte.
16313 (string_char_to_byte, string_byte_to_char): Adjust for the new
16314 multibyte form.
16315 (internal_equal): Adjust for the change of char table structure.
16316 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
16317 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
16318 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
16319 (char_table_translate, optimize_sub_char_table)
16320 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
16321 chartab.c.
16322 (char_table_ref_and_index): Delete.
16323 (HASH_KEY, HASH_VALUE): Move to lisp.h.
16324 (Fmd5): Call preferred_coding_system instead of accessing
16325 Vcoding_category_list. Adjust for the new code-conversion API.
16326 (syms_of_fns): Move defsubr for char table related functions to
16327 chartab.c.
16328
16329 * fontset.c: Mostly re-written.
16330
16331 * fontset.h (struct font_info): Change type of the member encoding_type.
16332 (enum FONT_SPEC_INDEX): New enum.
16333 (fontset_font_pattern, fs_load_font): Update prototype.
16334 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
16335
16336 * indent.c: Include "character.h" instead of "charset.h".
16337 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
16338
16339 * insdel.c: Include "character.h" instead of "charset.h".
16340 (copy_text): Don't refer to Vnonascii_translation_table.
16341 (insert_from_gap): New function.
16342
16343 * keyboard.c: Include "character.h" instead of "charset.h".
16344 (command_loop_1): Never call direct_output_forward_char before
16345 a non-ASCII character.
16346 (read_char): If Vkeyboard_translate_table is a char table, always
16347 translate a character.
16348
16349 * keymap.c: Include "character.h".
16350 (store_in_keymap): Handle the case that IDX is a cons.
16351 (Fdefine_key): Handle the case that KEY is a cons and the car part
16352 is also a cons (range).
16353 (push_key_description): Adjust for the new character code.
16354 (describe_vector): Call describe_char_table for a char table.
16355 (describe_char_table): New function.
16356
16357 * keymap.h (describe_char_table): Extern it.
16358
16359 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
16360 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
16361 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
16362 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
16363 Delete.
16364 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
16365 structure.
16366 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
16367 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
16368 (CHARTAB_SIZE_BITS_3): New macros.
16369 (chartab_size): Extern it.
16370 (struct Lisp_Char_Table): Re-design.
16371 (struct Lisp_Sub_Char_Table): New structure.
16372 (HASH_KEY, HASH_VALUE): Move from fns.c.
16373 (CHARACTERBITS): Define as 22.
16374 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
16375 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
16376 (GC_SUB_CHAR_TABLE_P): New macro.
16377 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
16378 (code_convert_string_norecord): Deleted extern.
16379 (init_character_once, syms_of_character, init_charset)
16380 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
16381
16382 * lread.c: Include "character.h".
16383 (read_multibyte): New arg NBYTES.
16384 (read_escape): Change the meaning of returned *BYTEREP.
16385 (to_multibyte): Delete.
16386 (read1): Adjust the handling of char table and string.
16387
16388 * print.c: Include "character.h" instead of "charset.h".
16389 (print_string): Convert 8-bit raw bytes to octal form by
16390 string_escape_byte8.
16391 (print_object): Adjust for the new multibyte form. Print 8-bit
16392 raw bytes always in octal form. Handle sub char table correctly.
16393
16394 * process.c: Include "character.h" instead of "charset.h".
16395 (read_process_output, send_process): Adjust for the new
16396 code-conversion API.
16397
16398 * puresize.h (BASE_PURESIZE): Increase.
16399
16400 * regex.c: Include "character.h" instead of "charset.h".
16401 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
16402 (regex_compile): Accept a range whose starting and ending
16403 character have different leading bytes.
16404 (analyse_first): Adjust for the above change.
16405
16406 * search.c: Include "character.h" instead of "charset.h".
16407 (search_buffer, boyer_moore): Adjust for the new multibyte form.
16408 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
16409
16410 * syntax.c: Include "character.h" instead of "charset.h".
16411 (syntax_parent_lookup): Delete.
16412 (Fmodify_syntax_entry): Accept a cons as CHAR.
16413 (skip_chars): Adjust for the new multibyte form.
16414 (init_syntax_once): Call char_table_set_range instead of directly
16415 accessing the structure of a char table.
16416
16417 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
16418 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
16419 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
16420 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
16421
16422 * term.c: Include "buffer.h" and "character.h".
16423 (encode_terminal_code, write_glyphs): Adjust for the new
16424 code-conversion API.
16425 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
16426
16427 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
16428
16429 * xdisp.c: Include "character.h".
16430 (get_next_display_element): Adjust for the new multibyte form.
16431 (disp_char_vector): Adjust for the new char table structure.
16432 (decode_mode_spec_coding): Adjust for the new structure of
16433 coding system.
16434 (decode_mode_spec): Adjust for the new code-conversion API.
16435
16436 * xfaces.c: Include "character.h" instead of "charset.h".
16437 (load_face_font): Adjust for the change of choose_face_font and
16438 FS_LOAD_FONT.
16439 (generate_ascii_font): New function.
16440 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
16441 (set_font_frame_param): Adjust for the change of choose_face_font.
16442 (free_realized_face): Make it public.
16443 (free_realized_faces_for_fontset): Rename from
16444 free_realized_multibyte_face. Free also faces realized for ASCII.
16445 (choose_face_font): Change arguments. Adjust for the change of
16446 fontset_font_pattern and FS_LOAD_FONT.
16447
16448 * xfns.c: Include "character.h".
16449 (x_encode_text): Adjust for the new code-conversion API.
16450
16451 * xselect.c: Don't include "charset.h".
16452 (selection_data_to_lisp_data): Adjust for the new code conversion API.
16453
16454 * xterm.c: Include "character.h".
16455 (x_encode_char): New argument CHARSET. Change caller.
16456 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
16457 Call ENCODE_CHAR instead of SPLIT_CHAR.
16458 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
16459 CHAR_WIDTH instead of CHARSET_WIDTH.
16460 (XTread_socket): Adjust for the new code-conversion API.
16461 (x_new_font): Adjust for the change of FS_LOAD_FONT.
16462 (x_load_font): Adjust for the change of struct font.
16463
164642008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
16465
16466 * xfaces.c (face_at_buffer_position): Remove unused vars.
16467
164682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
16469
16470 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
16471 Fix overflow checking.
16472
164732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
16474
16475 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
16476 Cancel previous change.
16477
164782008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
16479
16480 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
16481 ccl->eight_bit_control. Fix check for buffer overflow.
16482 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
16483 (ccl_driver): Initialize extra_bytes to 0.
16484
164852008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
16486
16487 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
16488 return it ORed with ctrl_modifier.
16489
164902008-01-29 Miles Bader <miles@gnu.org>
16491
16492 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
16493
164942008-01-28 Jason Rumney <jasonr@gnu.org>
16495
16496 * w32.c (stat): Don't double check for networked drive.
16497
164982008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
16499
16500 * window.c (run_window_configuration_change_hook): New function.
16501 Code extracted from set_window_buffer. Set the selected frame.
16502 (set_window_buffer): Use it.
16503 * window.h (run_window_configuration_change_hook): Declare.
16504 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
16505
16506 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
16507
165082008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
16509
16510 * Makefile.in: Remove references to unused macros.
16511
165122008-01-26 Eli Zaretskii <eliz@gnu.org>
16513
16514 * w32.c (g_b_init_get_sid_sub_authority)
16515 (g_b_init_get_sid_sub_authority_count): New static variables.
16516 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
16517 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
16518 (init_user_info): Use them to retrieve uid and gid.
16519 Use 500/513, the Windows defaults, as Administrator's uid/gid.
16520 (fstat): Use pw_uid and pw_gid from the_passwd structure for
16521 st_uid and st_gid of the file.
16522
165232008-01-26 Jason Rumney <jasonr@gnu.org>
16524
16525 * w32.c (logon_network_drive): New function.
16526 (stat): Use it.
16527
165282008-01-26 Chong Yidong <cyd@stupidchicken.com>
16529
16530 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
16531 invisible text covered with an ellipsis.
16532
165332008-01-25 Richard Stallman <rms@gnu.org>
16534
16535 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
16536 jump back to beginning. Move some other initializations after that.
16537 (Qwindow_text_change_functions, Vwindow_text_change_functions):
16538 New variables.
16539 (syms_of_xdisp): Init them.
16540
16541 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
16542
16543 * buffer.c (reset_buffer_local_variables):
16544 Implement `permanent-local-hook'.
16545 (Qpermanent_local_hook): New variable.
16546 (syms_of_buffer): Init and staticpro it.
16547
165482008-01-25 Michael Albinus <michael.albinus@gmx.de>
16549
16550 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
16551
165522008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
16553
16554 * fns.c (Fclrhash): Return TABLE.
16555
165562008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16557
16558 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
16559 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
16560 is set even without positional changes.
16561 (x_scroll_bar_clear): Set bar->redraw_needed_p.
16562
16563 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
16564
165652008-01-23 Jason Rumney <jasonr@gnu.org>
16566
16567 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
16568
16569 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
16570 the unicode range available in MULE by locale-coding-system.
16571 Improve dbcs lead byte detection. Set event timestamp and modifiers
16572 earlier.
16573
165742008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16575
16576 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
16577 [MAC_OSX] (init_mac_osx_environment): Initialize it.
16578 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
16579 when used on child processes.
16580
165812008-01-21 Michael Albinus <michael.albinus@gmx.de>
16582
16583 * dbusbind.c (Fdbus_method_return_internal): Rename from
16584 Fdbus_method_return.
16585 (Fdbus_unregister_object): Move to dbus.el.
16586 (Fdbus_call_method, Fdbus_method_return_internal)
16587 (Fdbus_send_signal): Improve debug messages.
16588
165892008-01-20 Martin Rudalics <rudalics@gmx.at>
16590
16591 * undo.c (undo_inhibit_record_point): New variable.
16592 (syms_of_undo): Initialize it.
16593 (record_point): Don't record point when undo_inhibit_record_point
16594 is set.
16595
165962008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
16597
16598 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
16599
16600 * xdisp.c (Qauto_hscroll_mode): New var.
16601 (syms_of_xdisp): Initialize it.
16602 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
16603 window's buffer.
16604 (hscroll_windows): Don't check automatic_hscrolling_p here.
16605
16606 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
16607 vscroll if we're setting window-buffer to the value it already has.
16608
166092008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
16610
16611 * m/intel386.h: Remove references to XENIX.
16612
166132008-01-17 Andreas Schwab <schwab@suse.de>
16614
16615 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
16616 instead of HAVE_X86_64_LIB64_DIR.
16617 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
16618
166192008-01-17 Glenn Morris <rgm@gnu.org>
16620
16621 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
16622 to HAVE_X86_64_LIB64_DIR.
16623
166242008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
16625
16626 * s/irix3-3.h:
16627 * s/irix4-0.h:
16628 * s/386-ix.h:
16629 * s/domain.h:
16630 * s/hpux9-x11r4.h:
16631 * s/hpux9shxr4.h: Remove files for systems no longer supported.
16632
16633 * sysdep.c: Remove code containing references to symbols defined
16634 by unsupported systems.
16635
166362008-01-16 Glenn Morris <rgm@gnu.org>
16637
16638 * coding.c (select-safe-coding-system-function): Doc fix.
16639
166402008-01-15 Glenn Morris <rgm@gnu.org>
16641
16642 * config.in: Revert 2008-01-13 change: this is a generated file.
16643
166442008-01-13 Tom Tromey <tromey@redhat.com>
16645
16646 * lisp.h: Fix typo.
16647
166482008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
16649
16650 * m/sequent-ptx.h:
16651 * m/sequent.h:
16652 * s/ptx.h:
16653 * s/ptx4-2.h:
16654 * s/ptx4.h: Remove files for systems no longer supported.
16655
16656 * callproc.c (Fcall_process): Fix previous change.
16657
166582008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
16659
16660 * unexsunos4.c: Remove file, system not supported anymore.
16661
16662 * m/mips.h:
16663 * m/intel386.h:
16664 * callproc.c:
16665 * config.in:
16666 * ecrt0.c:
16667 * emacs.c:
16668 * fileio.c:
16669 * frame.c:
16670 * getpagesize.h:
16671 * keyboard.c:
16672 * lread.c:
16673 * process.c:
16674 * puresize.h:
16675 * sysdep.c:
16676 * systty.h:
16677 * syswait.h:
16678 * unexec.c:
16679 * xdisp.c:
16680 * alloc.c: Remove code containing references to symbols defined by
16681 unsupported systems.
16682
166832008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
16684
16685 * coding.c (detect_coding_mask): Fix previous change.
16686
166872008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
16688
16689 * coding.c (detect_coding_iso2022): New arg
16690 latin_extra_code_state. Allow Latin extra codes only
16691 when *latin_extra_code_state is nonzero.
16692 (detect_coding_mask): If there is a NULL byte, detect the encoding
16693 as UTF-16 or binary. If Latin extra codes exist, detect the
16694 encoding as ISO-2022 only when there's no other proper encoding is
16695 found.
16696
166972008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16698
16699 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
16700 #ifdef MAC_OS.
16701
167022008-01-08 Richard Stallman <rms@gnu.org>
16703
16704 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
16705
167062008-01-06 Nick Roberts <nickrob@snap.net.nz>
16707
16708 * keyboard.c (parse_menu_item): Don't enclose key bindings on
16709 menu bar in parentheses.
16710
167112008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
16712
16713 * m/7300.h:
16714 * m/acorn.h:
16715 * m/alliant-2800.h:
16716 * m/alliant.h:
16717 * m/alliant1.h:
16718 * m/alliant4.h:
16719 * m/altos.h:
16720 * m/amdahl.h:
16721 * m/apollo.h:
16722 * m/att3b.h:
16723 * m/aviion-intel.h:
16724 * m/aviion.h:
16725 * m/celerity.h:
16726 * m/clipper.h:
16727 * m/cnvrgnt.h:
16728 * m/convex.h:
16729 * m/cydra5.h:
16730 * m/delta88k.h:
16731 * m/dpx2.h:
16732 * m/dual.h:
16733 * m/elxsi.h:
16734 * m/f301.h:
16735 * m/gould-np1.h:
16736 * m/gould.h:
16737 * m/i860.h:
16738 * m/ibmps2-aix.h:
16739 * m/ibmrt-aix.h:
16740 * m/ibmrt.h:
16741 * m/irist.h:
16742 * m/is386.h:
16743 * m/isi-ov.h:
16744 * m/mega68.h:
16745 * m/mg1.h:
16746 * m/news-r6.h:
16747 * m/news-risc.h:
16748 * m/news.h:
16749 * m/nh3000.h:
16750 * m/nh4000.h:
16751 * m/ns16000.h:
16752 * m/ns32000.h:
16753 * m/nu.h:
16754 * m/orion.h:
16755 * m/orion105.h:
16756 * m/paragon.h:
16757 * m/pfa50.h:
16758 * m/plexus.h:
16759 * m/pyramid.h:
16760 * m/pyrmips.h:
16761 * m/sh3el.h:
16762 * m/sps7.h:
16763 * m/sr2k.h:
16764 * m/stride.h:
16765 * m/sun1.h:
16766 * m/sun2.h:
16767 * m/sun3-68881.h:
16768 * m/sun3-fpa.h:
16769 * m/sun3-soft.h:
16770 * m/sun3.h:
16771 * m/sun386.h:
16772 * m/symmetry.h:
16773 * m/tad68k.h:
16774 * m/tahoe.h:
16775 * m/targon31.h:
16776 * m/tek4300.h:
16777 * m/tekxd88.h:
16778 * m/tower32.h:
16779 * m/tower32v3.h:
16780 * m/ustation.h:
16781 * m/wicat.h:
16782 * m/xps100.h:
16783 * s/cxux.h:
16784 * s/cxux7.h:
16785 * s/dgux.h:
16786 * s/dgux4.h:
16787 * s/dgux5-4-3.h:
16788 * s/dgux5-4r2.h:
16789 * s/esix.h:
16790 * s/esix5r4.h:
16791 * s/hiuxmpp.h:
16792 * s/hiuxwe2.h:
16793 * s/iris3-5.h:
16794 * s/iris3-6.h:
16795 * s/isc2-2.h:
16796 * s/isc3-0.h:
16797 * s/isc4-0.h:
16798 * s/isc4-1.h:
16799 * s/newsos5.h:
16800 * s/newsos6.h:
16801 * s/osf1.h:
16802 * s/osf5-0.h:
16803 * s/riscix1-1.h:
16804 * s/riscix12.h:
16805 * s/sco4.h:
16806 * s/sco5.h:
16807 * s/sunos4-0.h:
16808 * s/sunos4-1.h:
16809 * s/sunos413.h:
16810 * s/sunos4shr.h:
16811 * s/umax.h:
16812 * s/unipl5-2.h:
16813 * s/xenix.h:
16814 * cxux-crt0.s:
16815 * unexapollo.c:
16816 * unexconvex.c:
16817 * unexenix.c:
16818 * unexsni.c: Remove files for systems no longer supported.
16819
16820 * m/intel386.h: Remove references to unsupported systems.
16821
16822 * w32.c (get_emacs_configuration): Remove reference to i860.
16823
16824 * sysdep.c: Remove dead code.
16825
168262008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
16827
16828 * s/rtu.h:
16829 * m/masscomp.h: Remove files. Platform is obsolete.
16830
168312008-01-04 Michael Albinus <michael.albinus@gmx.de>
16832
16833 * dbusbind.c (Fdbus_method_return): New function.
16834 (xd_read_message): Add the serial number to the event.
16835 (Fdbus_register_method): Activate the function.
16836
168372008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
16838
16839 * keyboard.c (read_key_sequence): Fix typo.
16840
168412008-01-03 Michael Albinus <michael.albinus@gmx.de>
16842
16843 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
16844 (xd_signature, xd_append_arg): Handle element type detection for
16845 empty arrays.
16846 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
16847 SDATA () calls; this must be solved more general.
16848 (Fdbus_register_signal): Use SBYTES instead of strlen.
16849
168502008-01-03 Magnus Henoch <magnus@zemdatav>
16851
16852 * dbusbind.c (xd_append_arg): Use unsigned char instead of
16853 unsigned int for byte values (necessary for big-endian platform).
16854 (Fdbus_call_method): Handle the case of no returned arguments.
16855
168562007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
16857
16858 * dbusbind.c (xd_read_message): Use non-static input_event struct.
16859
168602007-12-31 Magnus Henoch <mange@freemail.hu>
16861
16862 * dbusbind.c (xd_signature): Signature of variant is just "v".
16863
168642007-12-30 Michael Albinus <michael.albinus@gmx.de>
16865
16866 * dbusbind.c: Fix several errors and compiler warnings.
16867 Reported by Tom Tromey <tromey@redhat.com>.
16868 (XD_ERROR, XD_DEBUG_MESSAGE)
16869 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
16870 (xd_append_arg): Part for basic D-Bus types rewritten.
16871 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
16872 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
16873 appropriate.
16874 (xd_read_message): Return Qnil. Don't signal an error; it is not
16875 useful during event reading.
16876 (Fdbus_register_signal): Signal an error if the check for
16877 FUNCTIONP fails.
16878 (Fdbus_register_method): New function. The implementation is not
16879 complete, the call of the function signals an error therefore.
16880 (Fdbus_unregister_object): New function, renamed from
16881 Fdbus_unregister_signal. The initial check signals an error, if
16882 the object is not well formed.
16883
168842007-12-30 Richard Stallman <rms@gnu.org>
16885
16886 * textprop.c (get_char_property_and_overlay):
16887 Signal error if POSITION is out of range in a buffer.
16888
168892007-12-29 Martin Rudalics <rudalics@gmx.at>
16890
16891 * w32fns.c (Fx_create_frame): Make copy of frame parameters
16892 because the original parameters are in pure storage now.
16893
168942007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16895
16896 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
16897
168982007-12-22 Eli Zaretskii <eliz@gnu.org>
16899
16900 * callint.c (syms_of_callint) <command-history>: Add reference to
16901 history-length in the doc string.
16902
169032007-12-17 Jason Rumney <jasonr@gnu.org>
16904
16905 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
16906 before passing as wParam.
16907
169082007-12-22 Michael Albinus <michael.albinus@gmx.de>
16909
16910 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
16911 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
16912 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
16913 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
16914 as number.
16915 (Fdbus_call_method): Fix docstring.
16916
169172007-12-21 Michael Albinus <michael.albinus@gmx.de>
16918
16919 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
16920 New macros.
16921 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
16922 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
16923 Simplify.
16924 (xd_signature): New function.
16925 (xd_append_arg): Compute also signatures. Major rewrite.
16926 (xd_retrieve_arg): Make debug messages friendly.
16927 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
16928 Check for signatures of arguments.
16929
169302007-12-19 Michael Albinus <michael.albinus@gmx.de>
16931
16932 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
16933 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
16934 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
16935 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
16936 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
16937 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
16938 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
16939 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
16940 (xd_retrieve_value): Remove. Functionality included in ...
16941 (xd_append_arg): New function.
16942 (Fdbus_call_method, Fdbus_send_signal): Apply it.
16943
169442007-12-16 Michael Albinus <michael.albinus@gmx.de>
16945
16946 * dbusbind.c (top): Include <stdio.h>.
16947 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
16948 dbus_message_new_method_call and dbus_message_new_signal.
16949 (Fdbus_register_signal): Rename unique_name to uname.
16950 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
16951 non-existing unique name. Fix typos in matching rule. Return an
16952 object which is useful in Fdbus_unregister_signal.
16953 (Fdbus_unregister_signal): Reimplementation, in order to remove
16954 only the corresponding entry.
16955 (Vdbus_registered_functions_table): Change the order of entries.
16956 Apply these changes in xd_read_message and Fdbus_register_signal.
16957
169582007-12-16 Andreas Schwab <schwab@suse.de>
16959
16960 * fileio.c (Finsert_file_contents): Fix overflow check to not
16961 depend on undefined integer overflow.
16962
169632007-12-14 Jason Rumney <jasonr@gnu.org>
16964
16965 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
16966 for characters above 127.
16967
169682007-12-13 Jason Rumney <jasonr@gnu.org>
16969
16970 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
16971 before dereferencing array.
16972 (lookup_vk_code): Remove zero comparison.
16973
169742007-12-14 Michael Albinus <michael.albinus@gmx.de>
16975
16976 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
16977 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
16978 Use `unsigned int' instead of `uint'.
16979 (xd_read_message, Fdbus_register_signal): Split expressions into
16980 multiple lines before operators "&&" and "||", according to the
16981 GNU Coding Standards.
16982
169832007-12-14 Eli Zaretskii <eliz@gnu.org>
16984
16985 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
16986
169872007-12-12 Juri Linkov <juri@jurta.org>
16988
16989 * buffer.c (Frename_buffer): In interactive spec replace
16990 `read-buffer' with `read-string' that uses `buffer-name-history'
16991 as history, and the current buffer's name as default.
16992
169932007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
16994
16995 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
16996 manipulating the backtrace manually.
16997 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
16998 (struct backtrace, backtrace_list): Remove.
16999 (command_loop_1): Remove dead var `no_direct'.
17000
17001 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
17002 preserve non-built-in buffer-local variables.
17003 (Fkill_all_local_variables): Don't re-create&re-set permanent
17004 buffer-local variables.
17005
170062007-12-09 Juri Linkov <juri@jurta.org>
17007
17008 * buffer.c (Frename_buffer): Change interactive spec from "s" to
17009 Lisp code that uses `read-buffer' with current buffer as default.
17010
170112007-12-08 Michael Albinus <michael.albinus@gmx.de>
17012
17013 * dbusbind.c (xd_read_message): Generate an event for every
17014 registered handler. There might be several handlers registered
17015 for the same signal.
17016 (Fdbus_register_signal): Don't overwrite a registration for the
17017 same signal. Add a new registration if handlers are different.
17018 (Vdbus_registered_functions_table): Rework doc string.
17019
170202007-12-07 Michael Albinus <michael.albinus@gmx.de>
17021
17022 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
17023 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
17024 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
17025 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
17026 Unify argument lists.
17027 (xd_read_message, Fdbus_register_signal): Reorder and extend event
17028 arguments and hash table keys. Use unique name for service.
17029 (Fdbus_unregister_signal): Remove checks.
17030 (Vdbus_registered_functions_table): Fix doc string.
17031
170322007-12-05 Magnus Henoch <mange@freemail.hu>
17033
17034 * process.c (make_process): Initialize pty_flag to 0.
17035
170362007-12-05 Jason Rumney <jasonr@gnu.org>
17037
17038 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
17039 specified XBMs.
17040
170412007-12-05 Richard Stallman <rms@gnu.org>
17042
17043 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
17044
170452007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17046
17047 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
17048 New variable.
17049 (mac_try_close_socket) [MAC_OSX]: New function.
17050 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
17051 Update cfsockets_for_select. Replace invalid CFRunLoop source.
17052
17053 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
17054 Use mac_try_close_socket.
17055
170562007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17057
17058 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
17059 reloc_base.
17060 (copy_dysymtab): Compute relocation base here.
17061 (rebase_reloc_address) [__ppc64__]: New function.
17062 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
17063 changed.
17064
170652007-12-05 Jason Rumney <jasonr@gnu.org>
17066
17067 * w32proc.c (sys_spawnve): Quote args with wildcards.
17068
170692007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17070
17071 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
17072 __objc_* sections.
17073 (unrelocate) [_LP64]: Set relocation base to address of data segment.
17074
170752007-12-05 Michael Albinus <michael.albinus@gmx.de>
17076
17077 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
17078 Move check for Vdbus_registered_functions_table to
17079 xd_read_queued_messages.
17080 (xd_read_queued_messages): Protect xd_read_message calls by
17081 internal_condition_case_1.
17082
170832007-12-04 Michael Albinus <michael.albinus@gmx.de>
17084
17085 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
17086 Qdbus_system_bus and Qdbus_session_bus, respectively.
17087 (Vdbus_intern_symbols): Remove.
17088 (Vdbus_registered_functions_table): New hash table.
17089 (XD_SYMBOL_INTERN_SYMBOL): Remove.
17090 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
17091 Rewrite in order to manage registered functions by hash table
17092 Vdbus_registered_functions_table.
17093
170942007-12-03 Jan Djärv <jan.h.d@swipnet.se>
17095
17096 * xterm.c: Update URL to Window Manager Specification in comment.
17097
170982007-12-02 Michael Albinus <michael.albinus@gmx.de>
17099
17100 * config.in (HAVE_DBUS): Add.
17101
17102 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
17103 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
17104 (obj): Add $(DBUS_OBJ).
17105 (LIBES): Add $(DBUS_LIBS).
17106 (dbusbind.o): New target.
17107
17108 * dbusbind.c: New file.
17109
17110 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
17111
17112 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
17113 (Qdbus_event): New Lisp symbol.
17114 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
17115 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 17116 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
17117
17118 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
17119
171202007-12-01 Richard Stallman <rms@gnu.org>
17121
17122 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
17123
171242007-11-30 Jason Rumney <jasonr@gnu.org>
17125
17126 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
17127 (w32con_reset_terminal_modes): Clear screen buffer.
17128 (w32_face_attributes): Don't use color indexes that are out of range.
17129 Only reverse the default colors.
17130
17131 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
17132 WINDOWSNT.
17133
17134 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
17135
171362007-11-29 Jason Rumney <jasonr@gnu.org>
17137
17138 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
17139 (w32_face_attributes): Use Vtty_defined_color_alist to determine
17140 if the terminal colors are initialized.
17141 (unspecified_fg, unspecified_bg): Remove unused declarations.
17142
171432007-11-29 Andreas Schwab <schwab@suse.de>
17144
17145 * keyboard.c (apply_modifiers): Fix typo.
17146
171472007-11-29 Richard Stallman <rms@gnu.org>
17148
17149 * keymap.c (Fcurrent_local_map): Doc fix.
17150
171512007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
17152
17153 * s/gnu-kfreebsd.h: New file.
17154
171552007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
17156
17157 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
17158 Don't cast redundantly.
17159
17160 * keyboard.c (KEY_TO_CHAR): New macro.
17161 (parse_modifiers, apply_modifiers): Accept integer arguments.
17162 (read_key_sequence): Use them to unify the "shift->unshift" mapping
17163 for chars and symbol keys.
17164 After doing such remapping, apply function-key-map again.
17165
171662007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
17167
17168 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
17169 compiled anymore.
17170
171712007-11-26 Andreas Schwab <schwab@suse.de>
17172
17173 * process.c (list_processes_1): Fix indentation level of the
17174 command column.
17175
171762007-11-23 Andreas Schwab <schwab@suse.de>
17177
17178 * editfns.c (Fformat): Handle %c specially since it requires the
17179 argument to be of type int.
17180
171812007-11-23 Markus Triska <markus.triska@gmx.at>
17182
17183 * emacs.c (main): Call init_editfns before init_process, since
17184 init_process sets Vprocess_connection_type depending on OS release.
17185
171862007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
17187
17188 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
17189 (find_symbol_value): Use do_symval_forwarding.
17190
17191 * data.c (set_internal): Set the value in the `cons-cell' (for
17192 Buffer_Local_values) not only for frame-local variables.
17193
171942007-11-22 Andreas Schwab <schwab@suse.de>
17195
17196 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
17197 values to sprintf.
17198 * keymap.c (Fsingle_key_description): Likewise.
17199 * print.c (print_object): Likewise.
17200
172012007-11-22 Jan Djärv <jan.h.d@swipnet.se>
17202
17203 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
17204 file for image is nil.
17205
172062007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
17207
17208 * term.c: Include stdarg.h.
17209 (fatal): Implement using varargs.
17210 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
17211
172122007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
17213
17214 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
17215 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
17216 Update call to buffer_slot_type_mismatch.
17217 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
17218 (buffer_slot_type_mismatch): Update.
17219 * buffer.c (buffer_local_types): Remove.
17220 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
17221 (defvar_per_buffer): Set the type in the buffer_objfwd.
17222
172232007-11-21 Jason Rumney <jasonr@gnu.org>
17224
17225 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
17226 CreateFileMapping returns NULL on failure.
17227
172282007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
17229
17230 * search.c (Fset_match_data): Remove the `evaporate' feature.
17231 (unwind_set_match_data): Don't use the `evaporate' feature.
17232
172332007-11-21 Jason Rumney <jasonr@gnu.org>
17234
17235 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
17236
17237 * w32console.c (w32con_write_glyphs): Remove unused variables.
17238
172392007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
17240
17241 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
17242
17243 * s/darwin.h (MULTI_KBOARD): Remove.
17244
17245 * macfns.c (x_create_tip_frame, Fx_create_frame)
17246 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
17247
172482007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
17249
17250 * buffer.c (Fbuffer_local_value): Remove redundant test.
17251 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
17252 than in `current-buffer' to match the comment.
17253 Do the swap using swap_in_global_binding.
17254
17255 * data.c (store_symval_forwarding, set_internal):
17256 * eval.c (specbind): Remove dead code.
17257
17258 * coding.c (detect_coding, Fupdate_coding_systems_internal):
17259 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
17260 Since we do not want to see internal Lisp_*fwd objects here.
17261
172622007-11-18 Jan Djärv <jan.h.d@swipnet.se>
17263
17264 * sysdep.c (init_system_name): Use getaddrinfo if available.
17265
17266 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
17267 (x_scroll_bar_note_movement): start, end, with, height in struct
17268 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
17269
172702007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
17271
17272 * puresize.h (BASE_PURESIZE): Increase to 1190000.
17273
172742007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
17275
17276 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
17277 This undoes Richard's change of 14-Oct-2002.
17278
17279 * alloc.c (allocate_other_vector):
17280 * lisp.h (allocate_other_vector): Remove.
17281
17282 * window.c (struct save_window_data): Move non-lisp data to the end
17283 and make it `int' rather than Lisp_Object.
17284 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
17285 Done wrap/unwrap integer values.
17286 (Fset_window_configuration, compare_window_configurations):
17287 Update use of fields to their new types.
17288
17289 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
17290 Turn integer fields into `int'. Merge x_window_low and x_window_high.
17291 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
17292 (SET_SCROLL_BAR_X_WINDOW): Remove.
17293 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
17294 Access the new x_window field directly.
17295 * xterm.c (x_scroll_bar_create): Use a pseudovector.
17296 Don't wrap/unwrap integers into Lisp_Objects.
17297 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
17298 (x_scroll_bar_report_motion):
17299 Don't wrap/unwrap integers into Lisp_Objects.
17300 (x_term_init): Use SDATA.
17301 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
17302 (x_scroll_bar_set_handle, x_scroll_bar_remove)
17303 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
17304 (x_scroll_bar_report_motion, x_scroll_bar_clear):
17305 * xfns.c (x_set_background_color):
17306 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
17307 Access the new x_window field directly.
17308
17309 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
17310 (allocate_pseudovector): Make non-static.
17311
17312 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
17313 (allocate_pseudovector): Declare.
17314 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
17315
173162007-11-15 Andreas Schwab <schwab@suse.de>
17317
17318 * editfns.c (Fformat): Correctly format EMACS_INT values.
17319 Also take precision into account when formatting an integer.
17320
17321 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
17322
173232007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
17324
17325 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
17326 (syms_of_keyboard): Defsubr it.
17327
17328 * data.c (swap_in_global_binding): Fix longstanding bug where
17329 store_symval_forwarding was not called with the right second argument,
17330 thus causing objfwd-ing from being dropped.
17331
173322007-11-14 Juanma Barranquero <lekktu@gmail.com>
17333
17334 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
17335 (Fx_display_pixel_height, Fx_display_planes)
17336 (Fx_display_color_cells, Fx_server_max_request_size)
17337 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
17338 (Fx_display_visual_class, Fx_display_save_under):
17339 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
17340 (Fx_display_pixel_height, Fx_display_planes)
17341 (Fx_display_color_cells, Fx_server_max_request_size)
17342 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
17343 (Fx_display_mm_height, Fx_display_mm_width)
17344 (Fx_display_backing_store, Fx_display_visual_class)
17345 (Fw32_select_font, Fx_display_save_under):
17346 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
17347 (Fx_display_pixel_height, Fx_display_planes)
17348 (Fx_display_color_cells, Fx_server_max_request_size)
17349 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
17350 (Fx_display_save_under): Fix typos in docstrings.
17351
173522007-11-14 Juanma Barranquero <lekktu@gmail.com>
17353
17354 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
17355 corresponding to deleted entries; they are an implementation detail.
17356 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
17357 Remove variables.
17358 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
17359 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
17360 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
17361 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
17362 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
17363 (Fw32_define_rgb_color, Fw32_load_color_file)
17364 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
17365 Fix typos in docstrings.
17366 (Fx_server_version): Reflow docstring.
17367 (Fw32_shell_execute): Doc fixes.
17368
173692007-11-13 Juanma Barranquero <lekktu@gmail.com>
17370
17371 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
17372 if w32_parse_hot_key returned nil.
17373
173742007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
17375
17376 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
17377
173782007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 17379
aac0c6e3
MR
17380 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
17381
17382 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
17383
17384 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
17385 Remove W32_SCROLL_BAR_CLICK_EVENT.
17386
17387 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
17388 Add MULTIMEDIA_KEY_EVENT.
17389
17390 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
17391 (lispy_multimedia_keys) [WINDOWSNT]: New array.
17392 (make_lispy_event) [WINDOWSNT]: Use it to translate
17393 MULTIMEDIA_KEY_EVENT.
17394
17395 * w32term.h (WM_APPCOMMAND): Define if not already.
17396 (GET_APPCOMMAND_LPARAM): Likewise.
17397
17398 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
17399 WM_APPCOMMAND.
17400
17401 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
17402 (syms_of_w32fns): Export and initialize it.
17403 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
17404
174052007-11-09 Chong Yidong <cyd@stupidchicken.com>
17406
17407 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
17408 twice.
17409
17410 * xdisp.c (handle_face_prop): Fix last change.
17411
174122007-11-09 Richard Stallman <rms@gnu.org>
17413
17414 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
17415 not just for after-strings and before-strings.
17416 Call face_for_overlay_string and pass the overlay to it.
17417 (handle_display_prop): Determine whether property came from an overlay.
17418 Pass OVERLAY arg to handle_single_display_spec.
17419 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
17420 (load_overlay_strings): Fill in it->string_overlays.
17421 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
17422
17423 * xfaces.c (face_for_overlay_string): Function renamed from
17424 face_at_buffer_position_no_overlays, and add arg OVERLAY.
17425
17426 * dispextern.h (struct it): New elt string_overlays.
17427 New elt from_overlay, also in stack.
17428 Rearrange a few elements.
17429 (face_for_overlay_string): Decl renamed from
17430 face_at_buffer_position_no_overlays, and add argument.
17431
174322007-11-09 Richard Stallman <rms@gnu.org>
17433
17434 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
17435 to get the base face for an overlay string.
17436
17437 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
17438
17439 * xfaces.c (face_at_buffer_position_no_overlays): New function.
17440
17441 * xdisp.c (handle_stop): Move some code out of loop.
17442
174432007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17444
17445 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
17446 Fix conversion from Lisp object to ATSUFontID.
17447
174482007-11-09 Jason Rumney <jasonr@gnu.org>
17449
17450 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
17451
174522007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17453
17454 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
17455 Don't assume regions are aligned to page boundary.
17456 (print_load_command_name): Add LC_UUID if defined.
17457
174582007-11-09 Richard Stallman <rms@gnu.org>
17459
17460 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
17461
174622007-11-07 Jason Rumney <jasonr@gnu.org>
17463
17464 * s/windows95.h: Remove.
17465
174662007-11-06 Jan Djärv <jan.h.d@swipnet.se>
17467
17468 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
17469 abort with a message on unhandled store_type values.
17470
174712007-11-01 Jan Djärv <jan.h.d@swipnet.se>
17472
17473 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
17474 Remove HAVE_X11R5 and HAVE_X11R4.
17475
174762007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
17477
17478 * Makefile.in: Remove references to sunfns.c and sunfns.o.
17479
174802007-11-01 Johan Bockgård <bojohan@gnu.org>
17481
17482 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
17483 Don't set s->stippled_p here, since it has already been set by
17484 x_set_glyph_string_gc from x_draw_glyph_string.
17485
174862007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
17487
17488 * sunfns.c: Remove file.
17489
17490 * m/sun386.h:
17491 * m/sun2.h:
17492 * m/sparc.h: Remove Sun windows code.
17493
174942007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
17495
17496 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
17497 (init_keyboard): Set current_kboard's window-system to nil.
17498 (tty_read_avail_input): Typo.
17499 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
17500
175012007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
17502
17503 * s/usg5-4.h:
17504 * s/usg5-3.h:
17505 * s/ptx.h:
17506 * m/is386.h:
17507 * m/ibmps2-aix.h:
17508 * Makefile.in: Remove all mentions of X10.
17509
17510 * dispnew.c (syms_of_display): Don't mention version 10.
17511
175122007-10-28 Juanma Barranquero <lekktu@gmail.com>
17513
17514 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
17515 ($(BLD)/abbrev.$(O)): Remove.
17516
175172007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
17518
17519 Rewrite abbrev.c in Elisp.
17520 * image.c (Qcount): Don't declare as extern.
17521 (syms_of_image): Initialize and staticpro `Qcount'.
17522 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
17523 * emacs.c (main): Don't call syms_of_abbrev.
17524 * Makefile.in (obj): Remove abbrev.o.
17525 (abbrev.o): Remove.
17526 * abbrev.c: Remove.
17527
175282007-10-26 Martin Rudalics <rudalics@gmx.at>
17529
17530 * window.c (window_min_size_2): Don't count header-line.
17531
175322007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
17533
17534 * frame.h (struct frame): Move all bit fields after the first bit
17535 field to take advantage of the available space. Group all the
17536 chars together to reduce wasted space due to padding.
17537
175382007-10-26 Juanma Barranquero <lekktu@gmail.com>
17539
17540 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
17541
17542 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
17543 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
17544 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
17545 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
17546 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
17547 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
17548 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
17549 (last_marked, mark_object_loop_halt): Make static.
17550
17551 * frame.c (syms_of_frame) <delete-frame-functions>:
17552 Fix typo in docstring.
17553
175542007-10-25 Juanma Barranquero <lekktu@gmail.com>
17555
17556 * w32.c (init_environment): Fix tiny memory leak.
17557 (w32_get_resource): Remove unused variable `ok'.
17558
175592007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
17560
17561 Make `window-system' into a keyboard-local variable (rather than
17562 frame-local as done originally by multi-tty).
17563
17564 * keyboard.h (struct kboard): Add Vwindow_system.
17565 * keyboard.c (init_kboard): Set a default for Vwindow_system.
17566 (mark_kboards): Mark Vwindow_system.
17567
17568 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
17569 (init_display): Don't set the obsolete `window-system' frame-param.
17570
17571 * xterm.c (x_term_init):
17572 * w32term.c (w32_create_terminal):
17573 * term.c (init_tty): Set Vwindow_system.
17574 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
17575 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
17576
17577 * xfns.c (Fx_create_frame, x_create_tip_frame):
17578 * w32fns.c (Fx_create_frame, x_create_tip_frame):
17579 * macfns.c (Fx_create_frame):
17580 Don't set the obsolete `window-system' frame-param.
17581
17582 * frame.h (Qwindow_system): Remove.
17583 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
17584 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
17585
175862007-10-24 Richard Stallman <rms@gnu.org>
17587
17588 * frame.c (x_figure_window_size): For fullscreen case,
17589 set USPosition | PPosition without clobbering rest of window_prompting.
17590
17591 * keyboard.c (Fcurrent_idle_time): Doc fix.
17592
17593 * print.c (Fwith_output_to_temp_buffer): Doc fix.
17594
175952007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
17596
17597 * process.c (unwind_request_sigio): Only define if __ultrix__.
17598
17599 * callproc.c (child_setup): Remove spurious *.
17600
17601 * lisp.h (Fget_text_property): Declare.
17602 (have_menus_p): Declare it here rather than in sys-dep header files.
17603 * macterm.h (have_menus_p):
17604 * msdos.h (have_menus_p):
17605 * xterm.h (have_menus_p): Remove.
17606
17607 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
17608 (Fmake_variable_frame_local): Just check the variable's const-ness
17609 rather than checking nil or t.
17610
176112007-10-22 Jason Rumney <jasonr@gnu.org>
17612
17613 * w32fns.c: Include math.h.
17614 (w32_abort): Declaration moved to nt/config.nt.
17615
17616 * s/ms-w32.h (HAVE_STDLIB_H): Define.
17617 (abort): Redefinition moved to nt/config.nt.
17618
17619 * m/windowsnt.h: Remove.
17620
176212007-10-22 Juanma Barranquero <lekktu@gmail.com>
17622
17623 * emacs.c (Fdump_emacs): Fix typo in message.
17624 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
17625 <installation-directory>: Reflow docstring.
17626
176272007-10-22 Juri Linkov <juri@jurta.org>
17628
17629 * minibuf.c: Allow minibuffer default to be a list of default values.
17630 With empty input use the first element of this list as returned default.
17631 (string_to_object)
17632 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
17633 (read_minibuf): If defalt is cons, set histstring to its car.
17634 (Fread_string): If default_value is cons, set val to its car.
17635 (Fread_buffer): If def is cons, use its car.
17636 (Fcompleting_read): If defalt is cons, set val to its car.
17637
176382007-10-21 Michael Albinus <michael.albinus@gmx.de>
17639
17640 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
17641
176422007-10-20 Juanma Barranquero <lekktu@gmail.com>
17643
17644 * doc.c (Fdocumentation): Check for advice in all cases.
17645
176462007-10-19 Chong Yidong <cyd@stupidchicken.com>
17647
17648 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
17649
176502007-10-19 Richard Stallman <rms@gnu.org>
17651
17652 * doc.c (Fdocumentation): Check for and handle an advised function.
17653
176542007-10-19 Juanma Barranquero <lekktu@gmail.com>
17655
17656 * process.c (Fset_process_filter): Doc fix.
17657
176582007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
17659
17660 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
17661 which caused key-translation-map to applied repeatedly (thus breaking
17662 double-mode).
17663
176642007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
17665
17666 * xselect.c (x_own_selection, x_handle_selection_clear)
17667 (x_clear_frame_selections):
17668 * w32menu.c (list_of_panes, list_of_items):
17669 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
17670 * textprop.c (validate_plist, interval_has_all_properties)
17671 (interval_has_some_properties, interval_has_some_properties_list)
17672 (add_properties, text_property_list):
17673 * process.c (Fget_buffer_process, list_processes_1, status_notify):
17674 * minibuf.c (Fassoc_string):
17675 * macselect.c (x_own_selection, x_clear_frame_selections)
17676 (Fx_disown_selection_internal):
17677 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
17678 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
17679
176802007-10-17 Chong Yidong <cyd@stupidchicken.com>
17681
17682 * process.c: Link to libs for calling res_init() if available.
17683 (Fmake_network_process): Call res_init() before getaddrinfo or
17684 gethostbyname, if possible.
17685
176862007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
17687
17688 * lread.c (read1): Set pvectype for char_tables.
17689
17690 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
17691 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
17692 Add type checks.
17693 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
17694
17695 * alloc.c (free_misc): Use XMISCTYPE.
17696 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
17697
176982007-10-17 Glenn Morris <rgm@gnu.org>
17699
17700 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
17701 (syms_of_minibuf): Add Qcompletion_ignore_case.
17702 * dired.c (Qcompletion_ignore_case): Change to external.
17703 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
17704 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
17705 (Fread_file_name): Use it rather than intern'ing.
17706
17707 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
17708 (Fread_coding_system): Ignore case of user input.
17709
177102007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17711
17712 * xdisp.c (handle_display_prop): Ignore display specs after
17713 replacing one when string text is being replaced.
17714 (handle_single_display_spec): Pretend as if characters with display
17715 property haven't been consumed only when buffer text is being replaced.
17716
177172007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
17718
17719 * xfns.c (Fx_create_frame, Fx_display_list):
17720 * window.c (window_fixed_size_p, enlarge_window)
17721 (shrink_window_lowest_first):
17722 * macterm.c (init_font_name_table):
17723 * macfns.c (Fx_create_frame, Fx_display_list):
17724 * lread.c (close_load_descs):
17725 * keyboard.c (read_char_x_menu_prompt):
17726 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
17727 * coding.c (code_convert_region_unwind): Test the type of an object
17728 rather than just !NILP before extracting data from it.
17729
17730 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
17731
17732 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
17733 (XMISCANY): New macro.
17734 (XMISCTYPE): Use it.
17735 (struct Lisp_Misc_Any): New type.
17736 (union Lisp_Misc): Use it.
17737 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
17738 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
17739 (find_symbol_value, set_internal, default_value, Fset_default)
17740 (Fmake_variable_buffer_local, Fmake_local_variable)
17741 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
17742 (Flocal_variable_if_set_p, Fvariable_binding_locus):
17743 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
17744 * alloc.c (allocate_buffer): Set the size and tag.
17745 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
17746 Use XMISCANY.
17747 (die): Follow the GNU convention for error messages.
17748 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
17749 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
17750 tag any more.
17751 (set_buffer_internal_1):
17752 * frame.c (store_frame_param):
17753 * eval.c (specbind):
17754 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
17755
17756 * doc.c (Fsnarf_documentation): Simplify.
17757
177582007-10-14 Juanma Barranquero <lekktu@gmail.com>
17759
17760 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
17761 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
17762
177632007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
17764
17765 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
17766
177672007-10-14 Juanma Barranquero <lekktu@gmail.com>
17768
17769 * eval.c (do_autoload): Don't save autoloads.
17770
17771 * data.c (Ffset): Save autoload of the function being set.
17772
177732007-10-07 John Paul Wallington <jpw@pobox.com>
17774
17775 * xfns.c (x_create_tip_frame): Set the `display-type' frame
17776 parameter before setting up faces.
17777
177782007-10-13 Eli Zaretskii <eliz@gnu.org>
17779
17780 * ccl.c (Fregister_code_conversion_map):
17781 * keyboard.c (append_tool_bar_item): Reformat last change.
17782
17783 * lisp.h (eabs): Rename from `abs'. All callers changed.
17784
177852007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
17786
17787 * buffer.c (add_overlay_mod_hooklist):
17788 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
17789 * fontset.c (make_fontset):
17790 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
17791 (append_tool_bar_item):
17792 * macmenu.c (grow_menu_items):
17793 * w32menu.c (grow_menu_items):
17794 * xmenu.c (grow_menu_items): Use larger_vector.
17795
177962007-10-13 Eli Zaretskii <eliz@gnu.org>
17797
17798 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
17799 selected frame'' on MSDOS).
17800
178012007-10-12 Martin Rudalics <rudalics@gmx.at>
17802
17803 * frame.c (Qexplicit_name): New variable.
17804 (x_report_frame_params): Report it in parameter alist.
17805 (syms_of_frame): Intern and staticpro it.
17806
178072007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
17808
17809 * macfns.c (x_create_tip_frame): Set terminal for frame.
17810
178112007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
17812
17813 * frame.c (Qenvironment): Remove.
17814 (syms_of_frame) <Qenvironment>: Don't initialize.
17815 (Fdelete_frame): Don't treat the `environment' param specially.
17816 * frame.h (Qenvironment): Don't declare.
17817 * callproc.c (set_initial_environment): Don't set unused frame param.
17818
17819 * frame.c (Fframe_with_environment): Remove.
17820 (syms_of_frame) <Sframe_with_environment>: Don't declare.
17821
17822 * lisp.h (Fframe_with_environment): Don't declare.
17823
178242007-10-10 Juanma Barranquero <lekktu@gmail.com>
17825
17826 * indent.c (indent_tabs_mode, last_known_column)
17827 (last_known_column_modified): Make static.
17828 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
17829
178302007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
17831
17832 * puresize.h (BASE_PURESIZE): Increase to 1170000.
17833
178342007-10-09 Jason Rumney <jasonr@gnu.org>
17835
17836 * w32term.c (x_set_window_size): Disable code that attempts to tell
17837 Lisp code about a size change before it actually happens.
17838
178392007-10-09 Richard Stallman <rms@gnu.org>
17840
17841 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
17842 return HANDLED_RETURN.
17843
178442007-10-08 Martin Rudalics <rudalics@gmx.at>
17845
17846 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
17847 when there's an unread command event.
17848
17849 * frame.c (focus_follows_mouse): Move here from frame.el to allow
17850 window autoselection act appropriately when leaving selected frame.
17851 (syms_of_frame): Initialize focus_follows_mouse.
17852 * frame.h (focus_follows_mouse): Extern it.
17853 * macterm.c (XTread_socket): When focus_follows_mouse is nil
17854 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
17855 * msdos.c (dos_rawgetc): Likewise.
17856 * w32term.c (w32_read_socket): Likewise.
17857 * xterm.c (handle_one_xevent): Likewise.
17858 * xdisp.c (syms_of_xdisp): In doc-string of
17859 mouse-autoselect-window mention focus-follows-mouse.
17860
178612007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17862
17863 * macterm.c (mac_load_query_font): Fix missing return value.
17864 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
17865 Add BLOCK_INPUT.
17866
178672007-10-08 Richard Stallman <rms@gnu.org>
17868
17869 * xdisp.c (get_window_cursor_type): Implement documented behavior
17870 for cursor-in-non-selected-windows = t.
17871
178722007-10-08 Jason Rumney <jasonr@gnu.org>
17873
17874 * w32.c (w32_get_resource): Always close registry keys.
17875
178762007-10-08 Jason Rumney <jasonr@gnu.org>
17877
17878 * makefile.w32-in (LIBS): Add COMCTL32.
17879
17880 * w32fns.c (globals_of_w32fns): Init common controls.
17881
178822007-10-08 Richard Stallman <rms@gnu.org>
17883
17884 * image.c (our_memory_buffer): Rename from omfib_buffer.
17885
178862007-10-08 Richard Stallman <rms@gnu.org>
17887
17888 * buffer.c (Foverlays_at): Doc fix.
17889
178902007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
17891
17892 * fns.c (Fplist_put): Preserve uneven tail data.
17893
178942007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
17895
17896 * termhooks.h (enum event_kind): Remove trailing comma.
17897
17898 * frame.h (enum): Remove trailing comma.
17899
179002007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
17901
17902 * w32proc.c (delete_child): Don't terminate threads of zombies.
17903
179042007-10-08 Martin Rudalics <rudalics@gmx.at>
17905
17906 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
17907
17908 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
17909 last-repeatable-command.
17910 (init_kboard): Initialize Vlast_repeatable_command.
17911 (command_loop_1): Set it to real_this_command unless that was
17912 bound to an input event.
17913 (mark_kboards): Mark it.
17914
179152007-10-08 Richard Stallman <rms@gnu.org>
17916
17917 * eval.c (condition-case): Doc fix.
17918
179192007-10-08 Masatake YAMATO <jet@gyve.org>
17920
17921 * xfaces.c (tty_supports_face_attributes_p): Fix code
17922 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
17923 was copied and not edited.
17924
179252007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
17926
17927 Add new `input-decode-map' keymap and use it for terminal
17928 escape sequences.
17929 * keyboard.h (struct kboard): Add Vinput_decode_map.
17930 Remove Vlocal_key_translation_map.
17931 * keyboard.c (read_key_sequence): Add support for input-decode-map.
17932 (init_kboard): Init input-decode-map.
17933 Replace local-key-translation-map back with key-translation-map.
17934 (syms_of_keyboard): Declare input-decode-map.
17935 Remove local-key-translation-map. Update docstrings.
17936 (mark_kboards): Mark Vinput_decode_map.
17937 Don't mark Vlocal_key_translation_map.
17938 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
17939 Replace local-key-translation-map back with key-translation-map.
17940 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
17941 Bind in input-decode-map rather than function-key-map.
17942
17943 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
17944 This was made redundant by the previous introduction of XSETPVECTYPE.
17945
179462007-10-09 Richard Stallman <rms@gnu.org>
17947
17948 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
17949
179502007-09-29 Richard Stallman <rms@gnu.org>
17951
17952 * eval.c (internal_condition_case_2, internal_condition_case_1)
17953 (internal_condition_case): Reenable abort if x_catching_errors ()
17954 to see if that really happens and why.
17955
179562007-10-06 Andreas Schwab <schwab@suse.de>
17957
17958 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
17959
179602007-10-04 Juanma Barranquero <lekktu@gmail.com>
17961
17962 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
17963
179642007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
17965
17966 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
17967
179682007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
17969
17970 * window.h (struct window):
17971 * window.c (struct save_window_data, struct saved_window):
17972 * termhooks.h (struct terminal):
17973 * process.h (struct Lisp_Process):
17974 * frame.h (struct frame):
17975 * buffer.h (struct buffer):
17976 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
17977 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
17978 The size field of (pseudo)vectors is now unsigned.
17979 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
17980
17981 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
17982 Turn `count' into an integer.
17983
17984 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
17985 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
17986 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
17987 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
17988 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
17989
17990 * alloc.c (allocate_pseudovector): New fun.
17991 (ALLOCATE_PSEUDOVECTOR): New macro.
17992 (allocate_window, allocate_terminal, allocate_frame)
17993 (allocate_process): Use it.
17994 (mark_vectorlike): New function.
17995 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
17996 (mark_terminals): Use it.
17997 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
17998 (Fmake_byte_code): Use XSETPVECTYPE.
17999
18000 * frame.c (Fframe_parameters): Minor simplification.
18001
18002 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
18003
18004 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
18005
18006 * buffer.c (Fget_buffer_create, init_buffer_once):
18007 * lread.c (defsubr):
18008 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
18009
18010 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
18011 defined differently in the m/*.h files.
18012 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
18013 (XSETPVECTYPE): New macro.
18014 (XSETPSEUDOVECTOR): Use it.
18015
18016 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
18017 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
18018
18019 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
18020 * lread.c (defvar_per_buffer):
18021 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
18022
18023 * window.c (candidate_window_p): Only consider as visible frames that
18024 are on the same terminal.
18025
18026 * m/ibms390x.h (MARKBIT): Remove unused macro.
18027
180282007-10-01 Juanma Barranquero <lekktu@gmail.com>
18029
18030 * lread.c (Fload): Fix typo in docstring.
18031
180322007-10-01 Michaël Cadilhac <michael@cadilhac.name>
18033
18034 * floatfns.c (Fexpt): Manually check for overflows, so that a power
18035 of a non-zero value can't yield zero.
18036
180372007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
18038
18039 * term.c (term_clear_mouse_face, term_mouse_highlight)
18040 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
18041
18042 * print.c (safe_debug_print): Use XHASH.
18043
18044 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
18045 Lisp elements such as tags.
18046 (XHASH): New macro.
18047 (EQ): Use it.
18048 (SREF, SSET, STRING_COPYIN): Use SDATA.
18049 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
18050
18051 * alloc.c (mark_terminal): Remove left-over declaration.
18052 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
18053 (allocate_vectorlike): Remove type argument. Adjust callers.
18054 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
18055 Only handle the one remaining MEM_TYPE_VECTORLIKE.
18056
18057 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
18058 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
18059 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
18060 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
18061 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
18062 Use them.
18063
18064 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
18065 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
18066 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
18067
180682007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
18069
18070 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
18071 loaded by default.
18072
180732007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
18074
18075 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
18076 on this tty.
18077 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
18078
18079 * term.c (mouse_face_window): Rename from Qmouse_face_window.
18080 Update all users.
18081 (handle_one_term_event): Use Gpm_DrawPointer.
18082 (Fgpm_mouse_start): Rename from Fterm_open_connection.
18083 Signal errors instead of returning nil. Always return nil.
18084 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
18085 Make it a noop if gpm-mouse was not activated.
18086 (syms_of_term): Update names.
18087
180882007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
18089
18090 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
18091 (init_sys_modes): Check that gpm_tty is the current tty.
18092
18093 * alloc.c (allocate_terminal): Set the vector size to only count the
18094 lisp fields. Initialize those to nil.
18095 (mark_object): Don't treat terminals specially.
18096 (mark_terminal): Remove.
18097 (mark_terminals): Use mark_object instead.
18098
18099 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
18100 the GC to the beginning.
18101
18102 * indent.h:
18103 * indent.c: Use EMACS_INT for ints coming from Elisp data.
18104
18105 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
18106
181072007-09-25 Jason Rumney <jasonr@gnu.org>
18108
18109 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
18110
18111 * w32console.c (create_w32cons_output): Remove.
18112
18113 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
18114
18115 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
18116 (reset_sys_modes): Use reset_terminal_modes_hook.
18117
181182007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
18119
18120 * eval.c (do_autoload): Don't output any message.
18121
181222007-09-24 Juri Linkov <juri@jurta.org>
18123
18124 * emacs.c (standard_args): Change priority of "--no-splash"
18125 from 40 to 3. Add "--no-desktop" with the same priority.
18126
181272007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
18128
18129 * alloc.c (gc_sweep): Check cons cell mark bits word by word
18130 and optimize the case where they are all 1.
18131
181322007-09-23 Johannes Weiner <hannes@saeurebad.de>
18133
18134 * lisp.h (abs): Define if not defined.
18135 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
18136 Don't define `abs', since it's defined in lisp.h.
18137
181382007-09-22 Eli Zaretskii <eliz@gnu.org>
18139
18140 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
18141 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
18142 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
18143 (init_tty): Use DEV_TTY instead of "/dev/tty".
18144 [WINDOWSNT]: No need to protect from NAME arg being null.
18145
181462007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
18147
18148 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
18149 up the tty state.
18150
181512007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
18152
18153 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
18154 (gpm_tty): Change its type.
18155 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
18156 (gpm_tty): Change its type and initialize it.
18157 (Fterm_open_connection): Check the frame is indeed a tty.
18158 Use the new gpm_tty.
18159 (Fterm_close_connection): Use the new gpm_tty.
18160 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
18161 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
18162
181632007-09-21 Juanma Barranquero <lekktu@gmail.com>
18164
18165 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
18166 underline_color, to draw strike-through.
18167
181682007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
18169
18170 * lisp.h (allocate_terminal): Declare.
18171
18172 * window.c (candidate_window_p): Consider frames that are being placed
18173 by the user as somewhere between visible and iconified.
18174 (window_loop): Prefer windows on the current frame.
18175 (Fselect_window): Move the use of select-frame to the beginning so we
18176 can just delegate all the work (it'll call us back anyway).
18177
18178 * frame.c (Qdisplay_environment_variable):
18179 * frame.h (Qdisplay_environment_variable): Delete.
18180
18181 * .gdbinit (xbacktrace): Print the arg's address rather than the value
18182 of the first arg, since that value may be a union.
18183
18184 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
18185 parameter rather than Qdisplay_environment_variable. If all else
18186 fails, look for DISPLAY in initial-environment.
18187
181882007-09-21 Glenn Morris <rgm@gnu.org>
18189
18190 * Makefile.in (emacstool): Remove target.
18191 (lisp, shortlisp): Remove termdev.elc.
18192
181932007-09-21 Markus Triska <markus.triska@gmx.at>
18194
18195 * xterm.c (x_delete_display): Compile session management conditionally.
18196
181972007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
18198
18199 * callproc.c (getenv_internal_1): New function.
18200 (getenv_internal): Use it.
18201 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
18202
18203 * terminal.c (get_terminal): Don't accept ints to represent terminals.
18204 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
18205 (Fset_terminal_parameter): Work with dead terminals as well.
18206 (Fmodify_terminal_parameters): Remove.
18207
18208 * terminal.c (get_terminal): Handle terminals.
18209 Make sure the terminal returned is live.
18210 (create_terminal): Use allocate_terminal.
18211 (mark_terminals): Move to alloc.c.
18212 (delete_terminal): Use terminal->name as liveness status.
18213 NULL out fields after freeing their contents.
18214 Don't deallocate the object.
18215 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
18216 rather than an int.
18217 (Fterminal_live_p): Accept non-integer arguments.
18218 (Fterminal_list): Return terminal objects rather than an ints.
18219
18220 * alloc.c (enum mem_type): New member for `terminal' objects.
18221 (allocate_terminal): New function.
18222 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
18223 Handle terminals.
18224 (mark_terminal): New fun.
18225 (mark_terminals): Move from terminal.c.
18226
18227 * term.c (get_tty_terminal): Don't treat output_initial specially.
18228 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
18229 (delete_tty): Use terminal->name as liveness status.
18230
18231 * termhooks.h (struct terminal): Make it into a pseudovector.
18232 Remove `deleted' replaced by checking `name's nullness.
18233
18234 * print.c (print_object): Handle terminals.
18235
18236 * lisp.h (enum pvec_type): New `terminal' pseudovector.
18237 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
18238
18239 * frame.c (make_terminal_frame):
18240 * keyboard.c (tty_read_avail_input):
18241 * w32term.c (x_delete_terminal):
18242 * xfns.c (Fx_create_frame, x_create_tip_frame):
18243 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
18244
182452007-09-20 Glenn Morris <rgm@gnu.org>
18246
18247 * process.c (Fmake_network_process): Doc fix.
18248
182492007-09-19 Jason Rumney <jasonr@gnu.org>
18250
18251 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
18252
182532007-09-19 Michaël Cadilhac <michael@cadilhac.name>
18254
18255 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
18256 Fix a C warning regarding variable constness.
18257
18258 * xterm.c (handle_one_xevent): Fix a C warning.
18259
182602007-09-18 Jason Rumney <jasonr@gnu.org>
18261
18262 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
18263
182642007-09-17 Jan Djärv <jan.h.d@swipnet.se>
18265
18266 * gtkutil.c (gdpy_def): New variable.
18267 (xg_initialize): Initialize gdpy_def.
18268 (xg_display_close): If no other display exists, set gdpy_def to a
18269 new connection.
18270
182712007-09-16 Jan Djärv <jan.h.d@swipnet.se>
18272
18273 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
18274 when we have no file name for the icon.
18275 (xg_tool_bar_expose_callback): Remove.
18276 (xg_create_tool_bar): Don't connect expose signal to
18277 xg_tool_bar_expose_callback.
18278 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
18279
182802007-09-16 Andreas Schwab <schwab@suse.de>
18281
18282 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
18283 values instead of zapping them.
18284
182852007-09-14 Glenn Morris <rgm@gnu.org>
18286
18287 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
18288 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
18289 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
18290 scope and rename to omfib_buffer for clarity.
18291 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
18292
182932007-09-14 Kenichi Handa <handa@m17n.org>
18294
18295 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
18296
182972007-09-13 Jason Rumney <jasonr@gnu.org>
18298
18299 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
18300
18301 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
18302
18303 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
18304 (mac_term_init): Call here instead, passing rif.
18305
183062007-09-13 Glenn Morris <rgm@gnu.org>
18307
18308 * s/hpux.h: No longer define `static' as nothing.
18309
183102007-09-13 Johan Bockgård <bojohan@gnu.org>
18311
18312 * callint.c (Fcall_interactively): Remove unused var `fun'.
18313
183142007-09-12 Romain Francoise <romain@orebokech.com>
18315
18316 * window.c (prefer_window_split_horizontally, display_buffer):
18317 Revert 2007-09-08 change.
18318
183192007-09-12 Glenn Morris <rgm@gnu.org>
18320
18321 * alloca.c: Remove file.
18322 * Makefile.in (alloca): Do not undef.
18323 (allocaobj, alloca.o): Remove.
18324 (otherobj): Remove allocaobj.
18325 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
18326 * regex.c (C_ALLOCA): Remove all references and code that was only
18327 used when this was defined.
18328 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
18329 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
18330 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
18331
18332 * Makefile.in (SOURCES, unlock, relock): Delete.
18333
18334 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
18335 (menu_grab_callback): All uses changed.
18336
18337 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
18338 (x_reply_selection_request): All uses changed.
18339
183402007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
18341
18342 * lread.c (load_warn_old_style_backquotes): Change message to look
18343 better when it appears in the middle of byte-compiler messages.
18344
183452007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
18346
18347 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
18348
18349 * xterm.c (x_create_terminal): Add comment.
18350
18351 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
18352
183532007-09-10 Richard Stallman <rms@gnu.org>
18354
18355 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
18356
183572007-09-10 Michaël Cadilhac <michael@cadilhac.name>
18358
18359 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
18360 (DEFUN): Document `intspec', use it instead of `prompt'.
18361
18362 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
18363
18364 * data.c (Finteractive_form): If the interactive specification starts
18365 with a `(', use it as a Lisp form.
18366
18367 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
18368 name and file modes.
18369
18370 * callint.c (Fcall_interactively): Comment fixes.
18371
183722007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
18373
18374 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
18375 and compiled functions.
18376
183772007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
18378
18379 * window.c (prefer_window_split_horizontally): New variable.
18380 (display_buffer): Consider splitting window horizontally depending
18381 on prefer_window_split_horizontally.
18382
183832007-09-08 Eli Zaretskii <eliz@gnu.org>
18384
18385 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
18386
183872007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
18388
18389 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
18390
18391 * frame.c (x_set_frame_parameters): Check number is positive before
18392 using XFASTINT.
18393
18394 * window.c (freeze_window_start): Don't presume selected_window holds
18395 a window object.
18396 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
18397
183982007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
18399
18400 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
18401
184022007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
18403
18404 * window.c (Vsplit_window_preferred_function): New var.
18405 (Fdisplay_buffer): Use it.
18406 (syms_of_window): Export, and initialize it.
18407
184082007-09-06 Pixel <pixel@mandriva.com> (tiny change)
18409
18410 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
18411
184122007-09-06 Glenn Morris <rgm@gnu.org>
18413
18414 * gtkutil.c (menu_grab_callback) <cnt>:
18415 * xselect.c (x_reply_selection_request) <cnt>: Move static
18416 variable to file scope.
18417
184182007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
18419
18420 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
18421 consistent values of selected_frame and selected_window.
18422
184232007-09-04 Jason Rumney <jasonr@gnu.org>
18424
18425 * w32console.c (initialize_w32_display): Zero unused hooks.
18426
184272007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
18428
18429 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
18430 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
18431
184322007-09-04 Jason Rumney <jasonr@gnu.org>
18433
18434 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
18435 in w32console.c. Set up input. Remove XXX comments that have been
18436 confirmed as correct.
18437
18438 * s/ms-w32.h (MULTI_KBOARD): Define.
18439
18440 * w32console.c (one_and_only_w32cons): Remove.
18441 (initialize_w32_display): Take terminal argument.
18442
18443 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
18444 initialize_w32_display.
18445 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
18446
18447 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
18448
18449 * keyboard.c (discard_mouse_events): Discard it.
18450 (make_lispy_event): Translate it to a lisp event.
18451 (lispy_wheel_names): Add wheel-left and right events.
18452 (syms_of_keyboard): Enlarge wheel_syms.
18453
18454 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
18455 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
18456
18457 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
18458
18459 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
18460 from WM_MOUSEHWHEEL.
18461 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
18462
18463 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
18464 terminal.
18465
18466 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
18467 keyboard for the terminal.
18468
184692007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
18470
18471 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
18472 (Vresume_tty_hook): Rename from Vresume_tty_functions.
18473 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
18474 and resume-tty-function to resume-tty-hook.
18475 (Fsuspend_tty, Fresume_tty): Use new names.
18476
184772007-09-02 Jan Djärv <jan.h.d@swipnet.se>
18478
18479 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
18480 if it starts with "n:".
18481
184822007-08-31 Jan Djärv <jan.h.d@swipnet.se>
18483
18484 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
18485
184862007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
18487
18488 * frame.h:
18489 * frame.c (Qterm_environment_variable): Remove.
18490 (syms_of_frame): Don't init and staticpro it.
18491
18492 * callproc.c (getenv_internal): Remove special case for $TERM.
18493
18494 * callproc.c (Vinitial_environment): New variable.
18495 (set_initial_environment): Initialize it.
18496 (syms_of_callproc): Declare it.
18497 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
18498 TERM under which a process runs is never related to the TERM in which
18499 Emacs is running.
18500
185012007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
18502
18503 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
18504 * s/darwin.h: ... do it here.
18505
185062007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
18507
18508 * lisp.h (set_initial_environment): Rename from set_global_environment.
18509
18510 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
18511 removed by mistake on the multi-tty branch.
18512
18513 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
18514 (Fmodify_frame_parameters): Return a value.
18515
18516 * image.c (png_load): Comment-out var only used in commented-out code.
18517
18518 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
18519 before passing it to mark_object.
18520
18521 * xfaces.c (internal_resolve_face_name): Return a value.
18522 (internal_resolve_face_name, resolve_face_name_error): Comment out.
18523
18524 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
18525 (x_icon): Comment-out var only used in commented-out code.
18526
185272007-08-29 Romain Francoise <romain@orebokech.com>
18528
18529 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
18530 QUIT hasn't been provided.
18531
185322007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
18533
18534 * callproc.c (child_setup, getenv_internal): Use the
18535 display-environment-variable and term-environment-variable frame params.
18536 (set_initial_environment): Initialise Vprocess_environment.
18537
18538 * config.in: Disable multi-keyboard support on a mac.
18539
18540 * frame.c (Qterm_environment_variable)
18541 (Qdisplay_environment_variable): New variables.
18542 (syms_of_frame): Intern and staticpro them.
18543 (Fmake_terminal_frame): Disable output method test.
18544
18545 * frame.h: Declare them here.
18546
18547 * macfns.c (x_set_mouse_color): Get rif from the frame.
18548 (x_set_tool_bar_lines): Don't use updating_frame.
18549 (mac_window): Add 2 new parameters for consistency with other systems.
18550 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
18551 frame parameters following what is done in X11 and w32. Don't use
18552 FRAME_MAC_DISPLAY_INFO.
18553 (Fx_open_connection, start_hourglass): Remove window-system check.
18554 (x_create_tip_frame): Get the keyboard from the terminal.
18555
18556 * macmenu.c: Reorder includes.
18557 (Fx_popup_menu): Use terminal specific mouse_position_hook.
18558
18559 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
18560 terminal parameter.
18561 (x_clear_frame): Add a frame parameter.
18562 (note_mouse_movement): Get rif from the frame.
18563 (mac_term_init): Initialize the terminal.
18564 (mac_initialize): Make static and move terminal initialization ...
18565 (mac_create_terminal): ... to this new function.
18566
18567 * macterm.h (struct mac_display_info): Add terminal.
18568 (mac_initialize): Delete declaration.
18569
18570 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
18571
18572 * sysdep.c: Comment out text after #endif.
18573
18574 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
18575 is defined. Better initialize ttys in windows. Use terminal
18576 specific mouse_position_hook.
18577
18578 * termhooks.h (union display_info): Add mac_display_info.
18579
18580 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
18581 Set the default minibuffer frame, window_system and the rest of the
18582 frame parameters following what is done in X11.
18583
18584 * w32term.c (w32_initialize): Make static.
18585
18586 * xselect.c (x_handle_selection_clear): Only access
18587 terminal->kboard when MULTI_KBOARD is defined.
18588
18589 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
18590 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
18591
185922007-08-29 Jason Rumney <jasonr@gnu.org>
18593
18594 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
18595 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
18596
18597 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
18598 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
18599
18600 * keyboard.c (restore_kboard_configuration): Only define when
18601 MULTI_KBOARD defined.
18602
18603 * makefile.w32-in: Update dependancies from Makefile.in.
18604 (OBJ1): Add terminal.$(O)
18605
18606 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
18607 Don't define function body.
18608 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
18609
18610 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
18611
18612 * w32.c (request_sigio, unrequest_sigio): Remove.
18613
18614 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
18615 (w32con_clear_frame, w32con_clear_end_of_line)
18616 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
18617 (w32con_delete_glyphs, w32con_set_terminal_window)
18618 (scroll_line, w32_sys_ring_bell): Add frame arg.
18619 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
18620 Add terminal arg.
18621 (PICK_FRAME): Remove.
18622 (w32con_write_glyphs): Use frame specific terminal coding.
18623 (one_and_only_w32cons): New global variable.
18624 (initialize_w32_display): Use it for storing hooks.
18625 (create_w32cons_output): New function.
18626
18627 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
18628 arg a frame.
18629
18630 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
18631 Set window_system.
18632 (x_set_tool_bar_lines): Don't use updating_frame.
18633 (Fx_create_frame): Set terminal and ref count.
18634 (Fx_open_connection): Remove window-system check.
18635
18636 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
18637
18638 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
18639 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
18640 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
18641 Add frame arg.
18642 (x_delete_terminal, w32_create_terminal): New functions.
18643 (w32_term_init): Create a terminal.
18644 (w32_initialize): Move terminal specific initialization to
18645 w32_create_terminal.
18646
18647 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
18648 (w32_clear_rect, w32_clear_area): Use background from frame.
18649 (w32_display_info): Add terminal.
18650 (w32_sys_ring_bell, x_delete_display): Declare here.
18651
18652 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
18653
18654 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
18655
186562007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
18657
18658 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
18659 Fix get_named_tty calls for the controlling tty.
18660
186612007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
18662
18663 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
18664
186652007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
18666
18667 * term.c (tty_insert_glyphs): Add missing first parameter.
18668
186692007-08-29 Károly Lőrentey <karoly@lorentey.hu>
18670
18671 * buffer.c (Fbuffer_list, Fbury_buffer):
18672 Take frame->buried_buffer_list into account.
18673
18674 * cm.c (current_tty): New variable, for cmputc().
18675 (cmputc): Use it.
18676 (cmcheckmagic): Add tty parameter, look up terminal streams there.
18677 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
18678 (cmgoto): Add tty parameter. Pass it on to calccost().
18679 Use emacs_tputs() instead of tputs().
18680
18681 * cm.h (emacs_tputs): New macro to set current_tty, and then call
18682 tputs().
18683 (current_tty): New variable, for cmputc().
18684 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
18685
18686 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
18687 (internal_condition_case, internal_condition_case_1)
18688 (internal_condition_case_2): Don't abort when x_catching_errors.
18689
18690 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
18691 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
18692 prevent crashes caused by bogus longjmps in read_char.
18693
18694 * keymap.h (Fset_keymap_parent): Add EXFUN.
18695
18696 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
18697 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
18698 Remove redundant definition.
18699
18700 * macfns.c (x_set_mouse_color, x_make_gc):
18701 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18702
18703 * w32term.c (x_free_frame_resources):
18704 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18705 (w32_initialize): Use the accessor macros for terminal characteristics.
18706
18707 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
18708 Use the accessor macros for terminal characteristics.
18709 * msdos.c (internal_terminal_init): Use the accessor macros for
18710 terminal characteristics.
18711 (ScreenVisualBell, internal_terminal_init):
18712 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18713
18714 * termopts.h (no_redraw_on_reenter): Declare.
18715
18716 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
18717 (mark_terminals, mark_ttys): Declare.
18718 (Fgarbage_collect): Call them.
18719 (mark_object): Mark buried_buffer_list.
18720
18721 * prefix-args.c: Include stdlib.h for exit.
18722
18723 * syssignal.h: Add comment.
18724
18725 * indent.c: Include stdio.h.
18726
18727 * window.h (Vinitial_window_system): Declare.
18728 (Vwindow_system): Delete declaration.
18729
18730 * fontset.c (Finternal_char_font): Use FRAME_RIF.
18731
18732 * image.c (lookup_image): Don't initialize `c' until the xasserts
18733 have been run.
18734
18735 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
18736 FRAME_FOREGROUND_PIXEL.
18737
18738 * print.c (print_preprocess): Don't lose print_depth levels while
18739 iterating.
18740
18741 * widget.c (update_from_various_frame_slots):
18742 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18743
18744 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
18745 frames.
18746 (window_internal_height): Remove bogus make_number call.
18747 (init_window_once): Call make_terminal_frame with two zero parameters.
18748
18749 * fileio.c (Fread_file_name): Update comment.
18750
18751 * callint.c (Fcall_interactively):
18752 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
18753 Make sure it is correctly unwound.
18754
18755 * xsmfns.c (x_session_close): New function.
18756
18757 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
18758 Delete declarations.
18759
18760 * xterm.h: Remove declaration for x_fully_uncatch_errors.
18761 (x_output): Remove background_pixel and foreground_pixel fields.
18762 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
18763 (x_delete_device, x_session_close): Declare.
18764
18765 * lread.c: Include setjmp.h. Update declaration of `read_char'.
18766 (read_filtered_event): Call `read_char' with a local
18767 `wrong_kboard_jmpbuf'.
18768
18769 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
18770 Don't call single_kboard_state. Use FRAME_RIF.
18771
18772 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
18773 systems.
18774
18775 * lisp.h (set_process_environment): Rename to `set_global_environment'.
18776 (Fframe_with_environment, Fset_input_meta_mode)
18777 (Fset_quit_char): EXFUN.
18778 (x_create_device, tty_output, terminal, tty_display_info): Declare.
18779 (init_sys_modes, reset_sys_modes): Update prototypes.
18780 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
18781
18782 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
18783 Vlocal_key_translation_map, and Vkeyboard_translate_table.
18784 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
18785 Delete declarations.
18786 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
18787 (temporarily_switch_to_single_kboard, tty_read_avail_input):
18788 New declarations.
18789
18790 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
18791 already does that during init_display(). Call syms_of_keymap
18792 before syms_of_keyboard. Call `syms_of_terminal'.
18793 Call set_initial_environment, not set_process_environment.
18794 (shut_down_emacs): Call reset_all_sys_modes() instead of
18795 reset_sys_modes().
18796
18797 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
18798 (internal_resolve_face_name, resolve_face_name_error): New functions.
18799 (resolve_face_name): Protect against loops and errors thrown by Fget.
18800 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
18801 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
18802
18803 * scroll.c: Replace CURTTY() with local variables throughout the
18804 file (where applicable).
18805 (calculate_scrolling, calculate_direct_scrolling)
18806 (scrolling_1, scroll_cost): Use the accessor macros for terminal
18807 characteristics.
18808
18809 * keymap.c (Vfunction_key_map): Remove.
18810 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
18811 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
18812 (Vkey_translation_map): Remove.
18813 (syms_of_keymap): Remove DEFVAR for key-translation-map.
18814 (Fdescribe_buffer_bindings)
18815 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
18816 Update for terminal-local key-translation-map.
18817
18818 * Makefile.in (callproc.o): Update dependencies.
18819 (lisp, shortlisp): Add termdev.elc.
18820 (obj): Add terminal.o.
18821 (terminal.o): Add dependencies.
18822 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
18823 (data.o, fns.o): Add termhooks.h dependency.
18824 (SOME_MACHINE_LISP): Add dnd.elc.
18825 (minibuf.o): Fix typo.
18826 Update dependencies.
18827
18828 * data.c (do_symval_forwarding, store_symval_forwarding)
18829 (find_symbol_value): Use the selected frame's keyboard, not
18830 current_kboard.
18831
18832 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
18833 Vwindow_system.
18834
18835 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
18836 Fmenu_bar_open.
18837 (syms_of_xmenu): Update defsubr.
18838 (mouse_position_for_popup, Fx_popup_menu)
18839 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
18840 (set_frame_menubar, free_frame_menubar)
b97439ce 18841 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
18842 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
18843 an X frame.
18844
18845 * xselect.c (x_own_selection): Abort if not an X frame.
18846 (some_frame_on_display): Check if it is an X frame.
18847 (x_handle_selection_clear): Deal with MULTI_KBOARD.
18848
18849 * coding.c: Include frame.h and termhooks.h.
18850 (terminal_coding, keyboard_coding): Delete.
18851 (Fset_terminal_coding_system_internal)
18852 (Fset_keyboard_coding_system_internal)
18853 (Fkeyboard_coding_system)
18854 (Fterminal_coding_system): Add a terminal parameter.
18855 Get terminal_coding from the terminal.
18856 (init_coding_once): Don't call setup_coding_system here.
18857
18858 * dispextern.h (set_scroll_region, turn_off_insert)
18859 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
18860 (tty_clear_end_of_line, tty_setup_colors)
18861 (delete_tty, updating_frame)
18862 (produce_special_glyphs, produce_glyphs, write_glyphs)
18863 (insert_glyphs): Remove.
18864 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
18865 (tty_turn_off_highlight, get_tty_size): Add declaration.
18866 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
18867
18868 * frame.h (enum output_method): Add output_initial.
18869 (struct x_output): Delete.
18870 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
18871 Access foreground_pixel and background_pixel directly from the frame.
18872 (tty_display): Delete.
18873 (struct frame): Add buried_buffer_list, foreground_pixel,
18874 background_pixel and terminal. Delete kboard.
18875 (union output_data): Add tty.
18876 (FRAME_KBOARD): Get the kboard from the terminal.
18877 (FRAME_INITIAL_P): New macro.
18878 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
18879 (Qterm_environment_variable, Qdisplay_environment_variable)
18880 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
18881 New declarations.
18882
18883 * termchar.h (tty_output, tty_display_info): New structures.
18884 (tty_list): Declare.
18885 (FRAME_TTY, CURTTY): New macros.
18886 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
18887 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
18888 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
18889 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
18890
18891 * callproc.c: Include frame.h and termhooks.h, for terminal
18892 parameters.
18893 (add_env): New function.
18894 (child_setup): Use it.
18895 (child_setup, getenv_internal): Handle the new Vprocess_environment.
18896 (getenv_internal): Fix get_terminal_param call.
18897 (Fgetenv_internal, egetenv): Update doc.
18898 (syms_of_callproc): Initialize Vprocess_environment to nil.
18899 Register and initialize them. Remove obsolete defvars. Update doc
18900 strings.
18901 (child_setup): Handle Vlocal_environment_variables.
18902 (getenv_internal): Add terminal parameter.
18903 Handle Vlocal_environment_variables.
18904 (Fgetenv_internal): Add terminal parameter.
18905 (child_setup, getenv_internal, Fgetenv_internal): Store the local
18906 environment in a frame (not terminal) parameter. Update doc strings.
18907 (set_initial_environment): Rename from set_global_environment.
18908 Store Emacs environment in initial frame parameter.
18909
18910 * xdisp.c (redisplay_internal): Update references to
18911 `previous_terminal_frame'.
18912 (display_mode_line, Fformat_mode_line): Replace calls to
18913 `push_frame_kboard' with `push_kboard'.
18914 (get_glyph_string_clip_rects): Add extra parentheses and
18915 braces to prevent compiler warnings.
18916 (calc_pixel_width_or_height): Add xassert to check that the
18917 frame is alive. Don't call `lookup_image' on a termcap frame.
18918 (message2_nolog, message3_nolog, redisplay_internal)
18919 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
18920 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
18921 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
18922 (Fx_display_pixel_width, Fx_display_pixel_height)
18923 (Fx_display_planes, Fx_display_color_cells)
18924 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
18925 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
18926 (Fx_display_backing_store, Fx_display_visual_class)
18927 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
18928 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
18929
18930 * xfns.c (x_set_foreground_color x_set_background_color)
18931 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
18932 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18933 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
18934 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
18935 terminal that is being deleted.
18936 (Fx_create_frame): Use `store_frame_param' to set `window-system'
18937 frame parameter, and make sure it overrides any user-supplied setting.
18938 (Fx_close_connection, Fx_synchronize): Unify argument names with
18939 the rest of the DEFUNs.
18940
18941 * dispnew.c (Fsend_string_to_terminal): Update call to
18942 `get_tty_terminal'.
18943 (Fredraw_frame, Fsend_string_to_terminal)
18944 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
18945 FRAME_TERMCAP_P and FRAME_TTY.
18946 (window_change_signal): Don't believe width/height values that are
18947 impossibly small.
18948 (Vinitial_window_system): Rename from Vwindow_system.
18949 (termscript, Wcm, rif): Delete.
18950
18951 * termhooks.h (struct terminal): New struct containing the
18952 previously global text display hooks and new members NAME,
18953 DELETED and PARAM_ALIST.
18954 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
18955 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
18956 (FRAME_RIF): New macros.
18957 (get_terminal_param, get_device): New declarations.
18958 (termscript): Delete declaration.
18959
18960 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
18961 (XTflash, x_free_frame_resources, x_scroll_bar_create)
18962 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
18963 FRAME_FOREGROUND_PIXEL.
18964 (x_fully_uncatch_errors): Disable definition.
18965 (x_scroll_bar_expose): Fix reference to foreground pixel.
18966 (XTread_socket): Disable loop on all X displays.
18967 (x_delete_terminal): Don't set terminal->deleted and let
18968 delete_terminal delete the frames on the terminal.
18969 (x_delete_display): Doc update to reflect changes in
18970 delete_terminal.
18971 (x_display_info) <terminal>: Move member earlier in the struct.
18972 (deleting_tty): Remove old variable.
18973 (Fsuspend_tty): Call clear_tty_hooks.
18974 (Fresume_tty, init_tty): Call set_tty_hooks.
18975 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
18976 errors on X frames.
18977 (x_catch_errors_unwind): Abort if x_error_message is NULL.
18978 (handle_one_xevent): Initialize `f' to NULL.
18979 (x_delete_terminal, x_create_terminal): New functions.
18980 (XTset_terminal_modes, XTreset_terminal_modes)
18981 (XTread_socket, x_connection_closed, x_term_init)
18982 (x_term_init, x_delete_display): Add terminal parameter.
18983 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
18984 X connections.
18985
18986 * frame.c: Include termchar.h.
18987 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
18988 (Qwindow_system, Qenvironment, Qterm_environment_variable)
18989 (Qdisplay_environment_variable): New vars.
18990 (Fframep): Deal with output_initial.
18991 (Fframe-live-p): Doc fix.
18992 (Fwindow-system): New function.
18993 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
18994 (make_terminal_frame): Don't create frames on a terminal that is
18995 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18996 (store_frame_param): Check for found_for_frame before calling XFRAME.
18997 (Fmake_terminal_frame): Handle NULL tty names correctly.
18998 (syms_of_frame): Enhance doc string of `default-frame-alist'.
18999 (Fdelete_frame): Remove unused variable `count'. Don't allow other
19000 frames to refer to a deleted frame in their 'environment parameter.
19001 (Fframe_with_environment): New function.
19002 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
19003 (get_future_frame_param): New function.
19004 (Fmake_terminal_frame): Use it.
19005 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
19006
19007 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
19008 * sysdep.c (reset_sys_modes): Update for renames.
19009
19010 * keyboard.c (tty_read_avail_input): New function.
19011 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
19012 (syms_of_keyboard): Defsubr them.
19013 (Fset_input_meta_mode, Fset_quit_char): New functions.
19014 (Fset_input_mode): Split to above functions.
19015 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
19016 parameter. Use it in call to `read_char'.
19017 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
19018 Set wrong_kboard_jmpbuf correctly in recursive calls.
19019 Use current_kboard to access Vkeyboard_translate_table.
19020 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
19021 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
19022 Update longjmp invocations. Remember the original current_kboard,
19023 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
19024 changes it. Comment out unnecessary calls to
19025 `record_single_kboard_state' and `any_kboard_state'.
19026 Update recursive calls.
19027 (wrong_kboard_jmpbuf): Remove global variable.
19028 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
19029 Handle deleted interrupted_kboards correctly; that is a legal
19030 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
19031 and read_char calls. Abort if interrupted_kboard died in read_char.
19032 (any_kboard_state, single_kboard_state)
19033 (push_frame_kboard): Remove function.
19034 (pop_kboard): Switch out of single_kboard mode if the kboard has
19035 been deleted. Remove unused variable. Help debugging by not
19036 changing current_kboard unnecessarily. Set current_kboard to the
19037 kboard of the selected frame when the stored kboard object has
19038 been deleted before pop_kboard.
19039 (temporarily_switch_to_single_kboard): Change first parameter to a
19040 frame pointer. Throw an error when caller wants to change kboards
19041 while in single_kboard mode. Don't push_kboard if we weren't in
19042 single kboard state. Don't pop_kboard if we popped into any
19043 kboard state.
19044 (restore_kboard_configuration): Abort if pop_kboard changed the
19045 kboard in single_kboard mode. Call pop_kboard only after setting
19046 up single_kboard mode.
19047 (Frecursive_edit): Switch to single_kboard mode only in nested
19048 command loops.
19049 (cmd_error, command_loop, command_loop_1, timer_check):
19050 Comment out unnecessary call to `any_kboard_state' and
19051 `record_single_kboard_state'.
19052 (delete_kboard): Exit single_kboard mode if we have just deleted
19053 that kboard. Use FRAME_KBOARD.
19054 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
19055 `fatal_error_signal'.
19056 (record_single_kboard_state): Don't push_kboard if we weren't in
19057 single kboard state. Don't pop_kboard if we popped into any
19058 kboard state.
19059 (push_frame_kboard): Rename to push_kboard.
19060 (kbd_buffer_get_event): Use FRAME_TERMINAL.
19061 (read_avail_input): Read input from all terminals.
19062 (mark_kboards): Also mark Vkeyboard_translate_table.
19063 (kbd_buffer_store_event_hold): Simplify condition.
19064 (read_key_sequence): Reinitialize fkey and keytran at each replay.
19065 (Vkeyboard_translate_table): Move to struct kboard.
19066 (init_kboard): Initialize Vkeyboard_translate_table.
19067 (syms_of_keyboard): Use DEFVAR_KBOARD to define
19068 Vkeyboard_translate_table. Update doc strings. Update docs of
19069 local-function-key-map and function-key-map.
19070
19071 * terminal.c: New file.
19072
19073 * term.c: Include errno.h.
19074 (Vring_bell_function, device_list, initial_device)
19075 (next_device_id, ring_bell, update_begin, update_end)
19076 (set_terminal_window, cursor_to, raw_cursor_to)
19077 (clear_to_end, clear_frame, clear_end_of_line)
19078 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
19079 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
19080 (syms_of_term): Move their initialization to terminal.c.
19081 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
19082 (Ftty_display_color_cells)
19083 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
19084 (clear_tty_hooks, set_tty_hooks)
19085 (init_tty, maybe_fatal): New functions.
19086 (Ftty_type): Return nil if terminal is not on a tty instead of
19087 throwing an error. Doc update.
19088 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
19089 Doc update. Initialize new subrs and variables.
19090 (delete_tty): Use terminal->deleted.
19091 (tty_set_terminal_modes): Rename from set_terminal_modes.
19092 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
19093 (set_scroll_region): Rename to `tty_set_scroll_region'.
19094 (turn_on_insert): Rename to `tty_turn_on_insert'.
19095 (turn_off_insert): Rename to `tty_turn_off_insert'.
19096 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
19097 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
19098 (toggle_highligh): Rename to `tty_toggle_highlight'.
19099 (background_highlight): Rename to `tty_background_highlight'.
19100 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
19101 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
19102 (tty_set_scroll_region, tty_background_highlight)
19103 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
19104 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
19105 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
19106 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
19107 Add static modifier.
19108 (tty_reset_terminal_modes, tty_set_terminal_window)
19109 (tty_set_scroll_region, tty_background_highlight)
19110 (tty_highlight_if_desired, tty_cursor_to)
19111 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
19112 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
19113 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
19114 renames.
19115
191162007-08-28 Jan Djärv <jan.h.d@swipnet.se>
19117
19118 * keyboard.c: Qrtl is new.
19119 (parse_tool_bar_item): Handle :rtl keyword.
19120 (syms_of_keyboard): Intern :rtl keyword.
19121
19122 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
19123
19124 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
19125 so no Lisp code is executed.
19126 (file_for_image, find_rtl_image): New functions.
19127 (xg_get_image_for_pixmap): Use file_for_image.
19128 (update_frame_tool_bar): If direction is RTL, use RTL image if
19129 defined. Use Gtk stock images if defined.
19130
191312007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19132
19133 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
19134 for nonexistent or zero-width glyph in composition glyph.
19135
191362007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
19137
19138 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
19139
19140 * xdisp.c (Finvisible_p): New function.
19141 (syms_of_xdisp): defsubr it.
19142
191432007-08-24 Juanma Barranquero <lekktu@gmail.com>
19144
19145 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
19146 Doc fixes.
19147
191482007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19149
19150 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
19151
191522007-08-24 Martin Rudalics <rudalics@gmx.at>
19153
19154 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
19155 whether decoding has modified buffer contents.
19156
191572007-08-24 Jason Rumney <jasonr@gnu.org>
19158
19159 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
19160 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
19161 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
19162 (init_svg_functions) [HAVE_NTGUI]: New function.
19163 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
19164 (svg_load_image): Use them.
19165 (svg_load_image) [HAVE_NTGUI]: Implement background.
19166
191672007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19168
19169 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
19170 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
19171 (LIBX): Remove @RSVG_LIBS@.
19172 (LIBES): Add $(RSVG_LIBS).
19173
19174 * image.c (svg_load_image): Blend with specified background if exists.
19175 Use IMAGE_BACKGROUND. Add Mac OS Support.
19176
19177 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
19178 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
19179 Remove macros.
19180 [MAC_OSX] (socket_callback): Do nothing.
19181 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
19182 ReceiveNextEvent.
19183 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
19184 socket_callback.
19185 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
19186
191872007-08-22 Glenn Morris <rgm@gnu.org>
19188
19189 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
19190
191912007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
19192
19193 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
19194
19195 * image.c: Add support for SVG images. Some additional comments
19196 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
19197 (svg_image_p): New function to test for SVG image.
19198 (svg_load): New function to load SVG image.
19199 (svg_load_image): New function, helper for svg_load.
19200 (Qsvg): New Lisp_object.
19201 (svg_keyword_index): New enum.
19202 (svg_format): New static `image_keyword' struct.
19203 (svg_type): New static `image_type' struct.
19204 (librsvg/rsvg.h): Include it.
19205
192062007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
19207
19208 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
19209
192102007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
19211
19212 * lread.c (Qold_style_backquotes): New var.
19213 (syms_of_lread): Init and staticpro it.
19214 (load_warn_old_style_backquotes): New fun.
19215 (Fload): Use them to warn about old style backquotes.
19216 (end_of_file_error, Fload): Remove unused vars.
19217
19218 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
19219
19220 * lread.c (Vold_style_backquotes): New var.
19221 (syms_of_lread): Init and export it to Elisp.
19222 (read1): Set it when we find an old-style (back)quote.
19223
192242007-08-22 Jason Rumney <jasonr@gnu.org>
19225
19226 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
19227
192282007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
19229
19230 * puresize.h (BASE_PURESIZE): Increase to 1140000.
19231
192322007-08-19 Richard Stallman <rms@gnu.org>
19233
19234 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
19235
192362007-08-19 Andreas Schwab <schwab@suse.de>
19237
19238 * alloc.c (pure): Round PURESIZE up.
19239
192402007-08-17 Jan Djärv <jan.h.d@swipnet.se>
19241
19242 * xterm.c (handle_one_xevent): Remove check that mouse click is in
19243 active frame.
19244
192452007-08-16 Richard Stallman <rms@gnu.org>
19246
19247 * eval.c (Fcommandp): Add parens to clarify.
19248
19249 * minibuf.c (Fall_completions): Use enum for type of table.
19250
19251 * emacs.c (USAGE2): Improve text.
19252
192532007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
19254
19255 * term.c (tty_default_color_capabilities): Declare static
19256 variables in file scope, to avoid HPUX compiler problem.
19257
192582007-08-13 Jan Djärv <jan.h.d@swipnet.se>
19259
19260 * gtkutil.c (update_frame_tool_bar): Use -1 as index
19261 to gtk_toolbar_insert.
19262
192632007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
19264
19265 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
19266
19267 * insdel.c (reset_var_on_error): New fun.
19268 (signal_before_change, signal_after_change):
19269 Use it to reset (after|before)-change-functions to nil in case of error.
19270 Bind inhibit-modification-hooks to t.
19271 Don't bind (after|before)-change-functions to nil while they run.
19272
192732007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19274
19275 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
19276 filling pixmap with stippled background.
19277
192782007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19279
19280 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
19281 Don't use invisible frame as parent window for repositioning.
19282
192832007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
19284
19285 * print.c (new_backquote_output): Rename from old_backquote_output.
19286 (print): Inverse its logic (according to its name) so as to match the
19287 behavior of new_backquote_flag in lread.c.
19288
192892007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19290
19291 * gmalloc.c (posix_memalign): New function.
19292
19293 * macterm.c (frame_highlight, frame_unhighlight): Don't call
19294 ActivateControl/DeactivateControl here.
19295 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
19296 frame-notice-user-settings is non-nil.
19297 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
19298 for kEventParamFMFontStyle.
19299 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
19300 mac_pass_command_to_system and mac_pass_control_to_system here.
19301 (XTread_socket): Call ActivateControl/DeactivateControl here.
19302 (XTread_socket) [TARGET_API_MAC_CARBON]:
19303 Check mac_pass_command_to_system and mac_pass_control_to_system here.
19304 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
19305 for window repositioning.
19306
193072007-08-08 Glenn Morris <rgm@gnu.org>
19308
19309 * Replace `iff' in doc-strings and comments.
19310
193112007-08-07 Chong Yidong <cyd@stupidchicken.com>
19312
19313 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
19314
193152007-08-07 Martin Rudalics <rudalics@gmx.at>
19316
19317 * fileio.c (Finsert_file_contents): Run format-decode and
19318 after_insert_file_functions on entire buffer when REPLACE is
19319 non-nil and inhibit modification_hooks and point_motion_hooks.
19320 For consistency, run after_insert_file_functions iff something
19321 got inserted. Move signal_after_change and update_compositions
19322 after code running after_insert_file_functions. Make sure that
19323 undo_list doesn't record intermediate steps of the decoding process.
19324
193252007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19326
19327 * emacs.c (main)
19328 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
19329 Call malloc_enable_thread on interactive startup.
19330
19331 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
19332 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
19333 [USE_PTHREAD]: Conditionalize with it.
19334 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
19335 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
19336 New functions.
19337
193382007-08-06 Chong Yidong <cyd@stupidchicken.com>
19339
19340 * xdisp.c (redisplay_window): When restoring original buffer
19341 position, make sure it is still valid.
19342
19343 * image.c (png_load): Ignore png-supplied background color.
19344
193452007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19346
19347 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
19348 Use kCFAbsoluteTimeIntervalSince1970.
19349
19350 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
19351 New variable.
19352 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
19353 event loop should be quit.
19354 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
19355 Quit dialog event loop if quit_dialog_event_loop is set.
19356
19357 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
19358 (Selection): New typedef. Use instead of ScrapRef.
19359 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
19360 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
19361 (mac_clear_selection): Rename from clear_scrap.
19362 (get_flavor_type_from_symbol): New argument SEL and subsume function of
19363 scrap_has_target_type. All uses changed.
19364 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
19365 (mac_selection_has_target_p): New functions.
19366 (mac_put_selection_value): Rename from put_scrap_string.
19367 (mac_get_selection_value): Rename from get_scrap_string.
19368 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
19369 (put_scrap_private_timestamp, scrap_has_target_type)
19370 (get_scrap_private_timestamp): Remove functions.
19371 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
19372 (x_own_selection, x_get_local_selection):
19373 Use mac_valid_selection_value_p.
19374 (x_own_selection): Don't use put_scrap_private_timestamp.
19375 Record OWNERSHIP-INFO into Vselection_alist instead.
19376 (x_get_local_selection): Don't check type if request is local.
19377 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
19378 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
19379
193802007-08-04 Jan Djärv <jan.h.d@swipnet.se>
19381
19382 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
19383 add comment explaining why.
19384
193852007-08-03 Richard Stallman <rms@gnu.org>
19386
19387 * fileio.c (Fvisited_file_modtime): Use make_time.
19388
193892007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
19390
19391 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
19392 build.
19393
193942007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
19395
19396 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
19397
193982007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
19399
19400 * puresize.h (BASE_PURESIZE): Increase to 1130000.
19401
194022007-07-30 Richard Stallman <rms@gnu.org>
19403
19404 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
19405
194062007-07-29 Jan Djärv <jan.h.d@swipnet.se>
19407
19408 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
19409
194102007-07-28 Nick Roberts <nickrob@snap.net.nz>
19411
19412 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
19413 remote default-directory.
19414
19415 * buffer.c (mode-line-format): Update doc string.
19416
194172007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19418
19419 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
19420 scroll bar gap.
19421 (x_scroll_bar_create): Set bar->fringe_extended_p.
19422 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
19423 on frame edge. Check fringe background extension. Don't clear
19424 extended fringe background area.
19425
19426 * w32term.h (struct scroll_bar): New member fringe_extended_p.
19427 (w32_fill_area): Enclose multiple statements with do ... while (0).
19428
19429 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
19430 Extend fringe background to scroll bar gap.
19431 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
19432 Set bar->fringe_extended_p.
19433 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
19434 Put leftmost/rightmost scroll bars on frame edge. Check fringe
19435 background extension. Don't clear extended fringe background area.
19436
19437 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
19438 New member fringe_extended_p.
19439
194402007-07-25 Glenn Morris <rgm@gnu.org>
19441
19442 * Relicense all FSF files to GPLv3 or later.
19443
19444 * COPYING: Switch to GPLv3.
19445
194462007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
19447
19448 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
19449
19450 * data.c (Finteractive_form): Check for the presence of an
19451 `interactive-form' symbol property more thoroughly.
19452
19453 * data.c (Finteractive_form): Use an `interactive-form' property if
19454 present, analogous to the function-documentation property.
19455
194562007-07-24 Jason Rumney <jasonr@gnu.org>
19457
19458 * w32fns.c (x_real_positions): Get real position from OS instead of
19459 calculating it.
19460
194612007-07-23 Jason Rumney <jasonr@gnu.org>
19462
19463 * filelock.c (current_lock_owner): Allow for @ sign in username.
19464
194652007-07-22 Nick Roberts <nickrob@snap.net.nz>
19466
19467 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
19468 remote default-directory.
19469
19470 * buffer.c (mode-line-format): Describe above case in doc string.
19471
194722007-07-20 Eli Zaretskii <eliz@gnu.org>
19473
19474 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
19475 Define if not defined.
19476
194772007-07-18 Jason Rumney <jasonr@gnu.org>
19478
19479 * w32proc.c (w32_executable_type): Handle 64 bit executables.
19480
194812007-07-18 Richard Stallman <rms@gnu.org>
19482
19483 * data.c (Fsetq_default): Doc fix.
19484
19485 * eval.c (Fsetq): Doc fix.
19486
194872007-07-18 Juanma Barranquero <lekktu@gmail.com>
19488
19489 * coding.c (Ffind_operation_coding_system):
19490 * eval.c (For, Fand): Doc fixes.
19491 Reported by Johan Bockgård.
19492
194932007-07-18 Jan Djärv <jan.h.d@swipnet.se>
19494
19495 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
19496
19497 * xterm.h: Declare x_ewmh_activate_frame.
19498
19499 * xterm.c (x_ewmh_activate_frame): New function.
19500 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
19501
195022007-07-17 Martin Rudalics <rudalics@gmx.at>
19503
19504 * window.c (Fdisplay_buffer): If largest or LRU window is the
19505 only window, split it even if it is not eligible for splitting.
19506 This restores the original behavior broken by the 2007-07-15
19507 change.
19508
195092007-07-17 Glenn Morris <rgm@gnu.org>
19510
19511 * abbrev.c (abbrev_check_chars): New function.
19512 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
19513 Call abbrev_check_chars to check abbrev characters are word
19514 constituents. Doc fix.
19515
195162007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
19517
19518 * process.c (Fstart_process, Fmake_network_process)
19519 (read_process_output): Fix up last changes.
19520
195212007-07-16 Eli Zaretskii <eliz@gnu.org>
19522
19523 * makefile.w32-in (clean): Don't delete *~.
19524
195252007-07-16 Andreas Schwab <schwab@suse.de>
19526
19527 * window.c (Fdisplay_buffer): Use NILP.
19528 (Fset_window_scroll_bars): Likewise.
19529
195302007-07-15 Martin Rudalics <rudalics@gmx.at>
19531
19532 * window.c (window_min_size_2): New function.
19533 (window_min_size_1, size_window, Fdisplay_buffer)
19534 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
19535 windows without mode- or header-lines when window-min-height is
19536 too small.
19537 (size_window): Reset nodelete_p after testing it, following an
19538 earlier note by Kim F. Storm.
19539 (display_buffer): Do not set split_height_threshold to twice the
19540 value of window_min_height to avoid changing the value of a
19541 customizable variable. Rather explicitly check whether the
19542 height of the window that shall be splitted is at least as large
19543 as split_height_threshold.
19544 (Fwindow_full_width_p): New defun.
19545 (syms_of_window): Defsubr it.
19546
19547 * window.h: Add EXFUN for Fwindow_full_width_p.
19548
195492007-07-14 Jason Rumney <jasonr@gnu.org>
19550
19551 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
19552
195532007-07-14 Richard Stallman <rms@gnu.org>
19554
19555 * eval.c (maybe_call_debugger): New function.
19556 (find_handler_clause): Use maybe_call_debugger.
19557 Call it when the handler says `debug'.
19558 Eliminate DEBUGGER_VALUE_PTR.
19559 (Fsignal): Eliminate debugger_value.
19560 (Qdebug): New variable.
19561 (syms_of_eval): Initialize it.
19562
195632007-07-14 Juanma Barranquero <lekktu@gmail.com>
19564
19565 * eval.c (Fprogn):
19566 * keyboard.c (Ftrack_mouse):
19567 * print.c (Fwith_output_to_temp_buffer):
19568 * window.c (Fsave_window_excursion): Doc fix.
19569
195702007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
19571
19572 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
19573
195742007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
19575
19576 * process.h (struct Lisp_Process): Turn slots infd, outfd,
19577 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
19578 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
19579 read_output_delay, and read_output_skip from Lisp_Objects to ints.
19580 Remove unused encoding_carryover.
19581 * process.c: Adjust all functions accordingly.
19582
195832007-07-12 Richard Stallman <rms@gnu.org>
19584
19585 * term.c: Include unistd.h only if HAVE_UNISTD_H.
19586
195872007-07-11 Jason Rumney <jasonr@gnu.org>
19588
19589 * makefile.w32-in (LIBS): Include OLE32.
19590
19591 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
19592 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
19593
195942007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
19595
19596 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
19597 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
19598 from a Lisp_Object into a bare pointer.
19599 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
19600 Adjust the code correspondingly.
19601
19602 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
19603
19604 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
19605 (term_show_mouse_face): Remove unused var `j'.
19606 (handle_one_term_event): Remove unused vars `i' and `j'.
19607 Don't cast return value of ttyname since it's not necessary.
19608
196092007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
19610
19611 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
19612 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
19613
19614 * fns.c (map_char_table): Use an array of int for `indices' rather than
19615 an array of Lisp_Objects (which are only ever integers anyway).
19616 (Fmap_char_table): Update caller.
19617 * lisp.h: Update prototype.
19618 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
19619 * fontset.c (Ffontset_info):
19620 * casetab.c (set_case_table): Update callers.
19621
19622 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
19623
19624 * keymap.c (struct accessible_keymaps_data)
19625 (struct where_is_internal_data): New structures.
19626 (accessible_keymaps_1, where_is_internal_1): Use them to change
19627 interface to adhere to the one used by map_keymap.
19628 (Faccessible_keymaps, where_is_internal): Use map_keymap.
19629 (accessible_keymaps_char_table, where_is_internal_2): Remove.
19630
19631 * keymap.h (map_keymap_function_t): More informative prototype.
19632
196332007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
19634
19635 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
19636 (looking_at_1): Don't change search_regs and last_thing_searched
19637 if `inhibit-changing-match-data' is non-nil.
19638 (string_match_1, search_buffer, set_search_regs): Likewise.
19639 (syms_of_search): Add Lisp level definition for
19640 `inhibit-changing-match-data' and set it to nil.
19641 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
19642 start and end of the match, instead of using values in search_regs.
19643
196442007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
19645
19646 * minibuf.c (Fcompleting_read): New value `confirm-only'
19647 for `require-match'.
19648
196492007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
19650
19651 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
19652 part of the 2007-06-27 change to syms_of_fileio.
19653
196542007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19655
19656 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
19657 Check WINDOWP before using XWINDOW. Consolidate return statements.
19658
196592007-06-27 Richard Stallman <rms@gnu.org>
19660
19661 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
19662
196632007-06-27 Juanma Barranquero <lekktu@gmail.com>
19664
19665 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
19666
196672007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19668
19669 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
19670 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
19671 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
19672 (_free_internal, memalign): Use them.
19673 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
19674 Initialize to PTHREAD_MUTEX_INITIALIZER.
19675 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
19676 (morecore_nolock): Rename from morecore. All uses changed.
19677 Use only nolock versions of internal allocation functions.
19678 (_malloc_internal_nolock, _realloc_internal_nolock)
19679 (_free_internal_nolock): New functions created from
19680 _malloc_internal, _realloc_internal, and _free_internal.
19681 (_malloc_internal, _realloc_internal, _free_internal): Use them.
19682 Copy hook value to automatic variable before its use.
19683 (memalign): Copy hook value to automatic variable before its use.
19684
196852007-06-26 Kenichi Handa <handa@m17n.org>
19686
19687 * coding.c (Ffind_operation_coding_system): Docstring improved.
19688 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
19689
196902007-06-25 David Kastrup <dak@gnu.org>
19691
19692 * keymap.c (Fcurrent_active_maps): Add `position' argument.
19693 (Fwhere_is_internal): Adjust call to `current-active-maps' to
19694 cater for additional parameter.
19695
19696 * keymap.h: Adjust number of parameters to `current-active-maps'.
19697
19698 * doc.c (Fsubstitute_command_keys): Adjust call of
19699 `current-active-maps'.
19700
197012007-06-25 David Kastrup <dak@gnu.org>
19702
19703 * callint.c (Fcall_interactively): Make the parsing of interactive
19704 specs somewhat more readable.
19705
197062007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19707
19708 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
19709 to scroll bar gap also when bitmap fills fringe. Draw only foreground
19710 if extended background has already been filled.
19711
197122007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19713
19714 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
19715 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
19716
19717 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
19718 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
19719 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
19720 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
19721 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
19722 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
19723 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
19724 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
19725 Run timers during dialog popup.
19726 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
19727
197282007-06-21 Jason Rumney <jasonr@gnu.org>
19729
19730 * image.c (convert_mono_to_color_image): Swap fore and background.
19731
197322007-06-20 Jason Rumney <jasonr@gnu.org>
19733
19734 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
19735 (w32_free_bdf_font): Unmap memory not handle.
19736
197372007-06-20 Sam Steingold <sds@gnu.org>
19738
19739 * gmalloc.c (__morecore): Fix the declaration to comply with the
19740 definition.
19741
197422007-06-20 Juanma Barranquero <lekktu@gmail.com>
19743
19744 * w32term.c (w32_delete_display): Remove leftover declaration.
19745 (w32_define_cursor, w32_initialize): Make static.
19746
19747 * w32.c (_wsa_errlist): Fix typo in error message.
19748 (init_environment): Ignore any environment variable from the
19749 registry having a null value.
19750
197512007-06-20 Glenn Morris <rgm@gnu.org>
19752
19753 * Makefile.in (LIBGIF): Default to -lgif.
19754
197552007-06-17 Jason Rumney <jasonr@gnu.org>
19756
19757 * w32menu.c (add_menu_item): Don't use multibyte string functions on
19758 unicode strings.
19759
197602007-06-16 Juanma Barranquero <lekktu@gmail.com>
19761
19762 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
19763 Fix typo in docstring.
19764
197652007-06-16 Eli Zaretskii <eliz@gnu.org>
19766
19767 * w32menu.c (add_menu_item): Escape `&' characters in menu items
19768 and their keybindings.
19769
197702007-06-15 Chong Yidong <cyd@stupidchicken.com>
19771
19772 * composite.c (update_compositions): Fix last fix.
19773
197742007-06-14 Jason Rumney <jasonr@gnu.org>
19775
19776 * w32.c (get_process_times_fn): New function pointer.
19777 (globals_of_w32): Intialize it if present in kernel32.dll.
19778 (w32_get_internal_run_time): New function.
19779
19780 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
19781
197822007-06-14 Kenichi Handa <handa@etlken.m17n.org>
19783
19784 * composite.c (update_compositions): Check the validness of
19785 compositions.
19786
197872007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19788
19789 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
19790 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
19791
19792 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
19793 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
19794
19795 * macgui.h (USE_MAC_TOOLBAR): New define.
19796
19797 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
19798 Return immediately unless popup is activated.
19799
19800 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
19801 background to scroll bar gap.
19802 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
19803 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
19804 scroll bars on frame edge. Check fringe background extension.
19805 Don't clear extended fringe background area.
19806 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
19807 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
19808 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
19809 [USE_MAC_TOOLBAR]: New macros.
19810 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
19811 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
19812 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
19813 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
19814 [USE_MAC_TOOLBAR]: New functions.
19815 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
19816 manually if previous repositioning has failed.
19817 (mac_handle_keyboard_event): Use precomputed event kind.
19818 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
19819 as tool bar item click. Handle mouse movement over tool bar items.
19820
19821 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
19822 toolbar_win_gravity.
19823 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
19824 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
19825 Add externs.
19826
19827 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
19828 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
19829
198302007-06-14 Chong Yidong <cyd@stupidchicken.com>
19831
19832 * image.c (search_image_cache): Remove unused variable.
19833
198342007-06-13 Chong Yidong <cyd@stupidchicken.com>
19835
19836 * xfns.c, xmenu.c: Link to xaw3d if available.
19837
198382007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19839
19840 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
19841 frame_foreground and frame_background.
19842
19843 * image.c (lookup_image): Save frame foreground and background colors.
19844 (search_image_cache): Check if saved and current frame colors match.
19845
198462007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
19847
19848 * regex.c (regex_compile): Remove the `regnum' counter.
19849 Use bufp->re_nsub instead. Add support for \(?N:RE\).
19850
198512007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
19852
19853 * term.c: Include intervals.h to declare Fget_text_property.
19854
198552007-06-10 Jason Rumney <jasonr@gnu.org>
19856
19857 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
19858
198592007-06-08 Juanma Barranquero <lekktu@gmail.com>
19860
19861 * callint.c (Fcall_interactively):
19862 * editfns.c (Fdelete_and_extract_region):
19863 * fileio.c (Fread_file_name):
19864 * fns.c (Fmapconcat):
19865 * keyboard.c (cmd_error_internal):
19866 * keymap.c (Fkey_description):
19867 * lread.c (openp):
19868 * minibuf.c (read_minibuf):
19869 * search.c (wordify):
19870 * sunfns.c (sel_read):
19871 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
19872 * xfns.c (x_default_scroll_bar_color_parameter):
19873 * xmenu.c (menu_help_callback):
19874 * xselect.c (Fx_get_atom_name):
19875 * xterm.c (x_term_init): Use empty_unibyte_string.
19876
198772007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
19878
19879 * alloc.c (init_strings): Initialize canonical empty strings.
19880 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
19881 canonical empty string when the requested size is 0.
19882
19883 * emacs.c (empty_unibyte_string): Rename from empty_string.
19884 (empty_multibyte_string): New canonical empty string.
19885 (syms_of_emacs): Don't initialize empty_string.
19886
19887 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
19888 string, if appropriate.
19889 (empty_unibyte_string, empty_multibyte_string): New externs.
19890 (empty_string): Remove extern.
19891
19892 * lread.c (syms_of_lread): Use empty_unibyte_string.
19893
198942007-06-07 Jason Rumney <jasonr@gnu.org>
19895
19896 * s/ms-w32.h: Don't define HAVE_TZNAME.
19897
19898 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
19899
199002007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19901
19902 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
19903
19904 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
19905 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
19906
19907 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
19908 Don't call next handler.
19909 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
19910 Remove argument. Install handler to application.
19911 (set_frame_menubar): Don't change deep_p.
19912 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
19913 FRAME_OUTER_TO_INNER_DIFF_Y.
19914 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
19915 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
19916 [HAVE_DIALOGS]: New macros.
19917 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
19918 Use them.
19919 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
19920
19921 * macselect.c [MAC_OSX] (install_service_handler): Rename from
19922 init_service_handler. All callers changed. Return OSStatus value.
19923
19924 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
19925 All callers changed so as not to call SetPortWindowPort.
19926 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
19927 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
19928 mac_draw_string_common.
19929 (mac_draw_image_string_qd): Likewise.
19930 (mac_draw_string_common): Use them. Add INLINE.
19931 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
19932 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
19933 GetGlobalMouse.
19934 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
19935 and FRAME_OUTER_TO_INNER_DIFF_Y.
19936 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
19937 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
19938 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
19939 repositioning window to mac_handle_window_event.
19940 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
19941 saving window location to mac_handle_window_event
19942 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
19943 (install_menu_target_item_handler): Remove argument in extern.
19944 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
19945 Also accept command events.
19946 (do_keystroke): New function created from XTread_socket.
19947 (init_command_handler): Remove functions.
19948 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
19949 and save window location by kEventWindowShowing and kEventWindowHiding
19950 handlers here. Don't call next handler for window state change and
19951 focus events.
19952 (mac_handle_application_event, mac_handle_keyboard_event)
19953 [TARGET_API_MAC_CARBON]: New functions.
19954 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
19955 kEventWindowShowing and kEventWindowHiding events. Move installation
19956 of mouse, font, text input and menu target item handlers to
19957 install_application_handler.
19958 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
19959 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
19960 New function.
19961 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
19962 Register it.
19963 (XTread_socket) [TARGET_API_MAC_CARBON]:
19964 Consolidate SendEventToEventTarget calls.
19965 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
19966 Move application activation handler to mac_handle_application_event.
19967 Move keyboard handler to mac_handle_keyboard_event.
19968 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
19969 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
19970 init_command_handler. Call install_application_handler.
19971
19972 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
19973 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
19974
199752007-06-07 Glenn Morris <rgm@gnu.org>
19976
19977 * emacs.c (main): Use `emacs-copyright' in --version output.
19978
199792007-06-06 Chong Yidong <cyd@stupidchicken.com>
19980
19981 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
19982
199832007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19984
19985 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
19986
19987 * macgui.h: Replace WindowPtr with WindowRef.
19988
19989 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
19990 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
19991 Replace ControlHandle with ControlRef.
19992 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
19993
19994 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
19995 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
19996 Replace ControlHandle with ControlRef.
19997 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
19998 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
19999
20000 * macterm.h (struct scroll_bar): Rename member control_handle_low
20001 and control_handle_high to control_ref_low and control_ref_high.
20002 All uses changed.
20003 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
20004 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
20005 respectively. All uses changed.
20006 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
20007 (install_window_handler, remove_window_handler): Replace WindowPtr
20008 with WindowRef in externs.
20009
200102007-06-05 Juanma Barranquero <lekktu@gmail.com>
20011
20012 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
20013
200142007-06-03 Nick Roberts <nickrob@snap.net.nz>
20015
20016 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
20017
20018 * frame.c (Fmouse_position, Fmouse_pixel_position):
20019 Condition on HAVE_GPM too.
20020
20021 * term.c (term_mouse_highlight): Remove unused variables.
20022 (Fterm_open_connection): Set gpm_zerobased to 1.
20023 (term_mouse_movement, term_mouse_click, handle_one_term_event):
20024 Use zero based co-ordinates.
20025 (handle_one_term_event): Report a drag as mouse movement too.
20026
20027 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
20028
200292007-06-03 Chong Yidong <cyd@stupidchicken.com>
20030
20031 * image.c (search_image_cache): New function. Require background
20032 color match if background color is unspecified in the image spec.
20033 (uncache_image, lookup_image): Use it.
20034
200352007-06-01 Juanma Barranquero <lekktu@gmail.com>
20036
20037 * window.c (Fshrink_window): Reflow docstring.
20038
200392007-06-02 Chong Yidong <cyd@stupidchicken.com>
20040
20041 * Version 22.1 released.
20042
200432007-06-01 Richard Stallman <rms@gnu.org>
20044
20045 * xfns.c (x_encode_text): Add GCPRO.
20046
200472007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20048
20049 * xfns.c (x_set_name_internal): Save encoded name before
20050 x_encode_text in case string data is relocated.
20051
200522007-05-31 Richard Stallman <rms@gnu.org>
20053
20054 * buffer.c (syms_of_buffer): Doc fix.
20055
200562007-05-30 Nick Roberts <nickrob@snap.net.nz>
20057
20058 * sysdep.c (init_sys_modes): Add rather than replace with
20059 O_NONBLOCK.
20060
20061 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
20062 term_mouse_moveto.
20063
20064 * termhooks.h (term_mouse_moveto): New extern.
20065
20066 * term.c (mouse_face_window): Rename...
20067 (Qmouse_face_window): ...to this.
20068 (term_show_mouse_face, term_clear_mouse_face)
20069 (term_mouse_highlight): Use Qmouse_face_window.
20070 (term_mouse_moveto): New function.
20071 (term_mouse_position): Make it work.
20072 (syms_of_term): Uncomment assignment to mouse_position_hook.
20073 Staticpro Qmouse_face_window.
20074
200752007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20076
20077 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
20078 around current_column call.
20079
200802007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
20081
20082 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
20083 * xdisp.c (next_element_from_buffer):
20084 * window.c (delete_window):
20085 * term.c (term_mouse_highlight):
20086 * msdos.c (getdefdir):
20087 * macterm.c (mac_create_bitmap_from_bitmap_data)
20088 (init_font_name_table):
20089 * fns.c (Fsxhash):
20090 * data.c (Fmake_local_variable):
20091 * ccl.c (ccl_driver): Likewise.
20092
200932007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20094
20095 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
20096 Call mac_wakeup_from_rne on window size change.
20097
200982007-05-25 Chong Yidong <cyd@stupidchicken.com>
20099
20100 * image.c (uncache_image): Fix typo.
20101
201022007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
20103
20104 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
20105
201062007-05-22 Richard Stallman <rms@gnu.org>
20107
20108 * xterm.c (x_connection_closed): Remove NO_RETURN.
20109
201102007-05-22 Martin Rudalics <rudalics@gmx.at>
20111
20112 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
20113
201142007-05-21 Chong Yidong <cyd@stupidchicken.com>
20115
20116 * image.c (uncache_image): New function.
20117 (Fimage_refresh): New function.
20118
201192007-05-20 Jan Djärv <jan.h.d@swipnet.se>
20120
20121 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
20122
201232007-05-20 Nick Roberts <nickrob@snap.net.nz>
20124
20125 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
20126 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
20127
201282007-05-20 Nick Roberts <nickrob@snap.net.nz>
20129
20130 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
20131 conditional on [HAVE_GPM_H].
20132
201332007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
20134
20135 * syntax.c (skip_chars): Update syntax-table only after we checked that
20136 the new location is valid.
20137
201382007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20139
20140 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
20141 mac_get_window_bounds.
20142
201432007-05-20 Nick Roberts <nickrob@snap.net.nz>
20144
20145 * Makefile.in (LIBGPM): Allow it to be set from configure.
20146 If set then link Emacs with it.
20147
20148 * config.in: Regenerate.
20149
20150 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
20151 New externs.
20152
20153 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
20154 Include gpm.h.
20155 (handle_one_term_event, term_gpm): New externs.
20156
20157 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
20158 and allow it to be interrupted by SIGIO.
20159
20160 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
20161 (wait_reading_process_output): Wait on gpm_fd too.
20162 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
20163 (add_gpm_wait_descriptor_called_flag): New variable.
20164 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
20165
20166 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
20167 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
20168 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
20169 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
20170 (make_lispy_event): Add case GPM_CLICK_EVENT.
20171 (read_avail_input): Handle mouse input.
20172
20173 * term.c (write_glyphs_with_face): New function.
20174 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
20175 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
20176 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
20177 (mouse_face_face_id, term_gpm, pos_x, pos_y)
20178 (last_mouse_x, last_mouse_y): New variables.
20179 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
20180 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
20181 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
20182 (Fterm_close_connection): New functions.
20183 (term_init): Initialise mouse_face_window.
20184
201852007-05-19 Chong Yidong <cyd@stupidchicken.com>
20186
20187 * xdisp.c (redisplay_window): If first window line is a
20188 continuation line, recompute the new window start instead of
20189 recentering.
20190
201912007-05-18 Glenn Morris <rgm@gnu.org>
20192
20193 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
20194 Suggested by Alfred M. Szmidt <ams@gnu.org>.
20195
201962007-05-17 Glenn Morris <rgm@gnu.org>
20197
20198 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
20199
202002007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20201
20202 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
20203 dead key repeat and up events.
20204
202052007-05-14 Chong Yidong <cyd@stupidchicken.com>
20206
20207 * image.c (pbm_load): Check image size for monochrome pbm.
20208
202092007-05-13 Chong Yidong <cyd@stupidchicken.com>
20210
20211 * xterm.c (XTread_socket): Revert last change.
20212
202132007-05-12 Chong Yidong <cyd@stupidchicken.com>
20214
20215 * image.c (pbm_load): Correctly check image size for greyscale pbm.
20216
20217 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
20218
202192007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
20220
20221 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
20222 mixup (YAILOM).
20223
202242007-05-07 Andreas Schwab <schwab@suse.de>
20225
20226 * keymap.c (Flookup_key): Fix typo in last change.
20227
202282007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
20229
20230 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
20231 mapping for unibyte strings.
20232
202332007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20234
20235 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
20236 (Fx_popup_dialog) [MAC_OSX]: Likewise.
20237
202382007-04-29 Richard Stallman <rms@gnu.org>
20239
20240 * insdel.c (replace_range): For undo, record insertion first.
20241
202422007-04-29 Andreas Schwab <schwab@suse.de>
20243
20244 * lisp.h (VECSIZE): Use OFFSETOF.
20245
202462007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
20247
20248 * xdisp.c (try_window_reusing_current_matrix): Fix number of
20249 disabled lines.
20250
202512007-04-28 Richard Stallman <rms@gnu.org>
20252
20253 * lread.c (read_escape): In a string, \s is always space.
20254
202552007-04-27 Jan Djärv <jan.h.d@swipnet.se>
20256
20257 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
20258
20259 * gtkutil.c (xg_update_menubar, create_menus): Create empty
20260 submenu for menu bar items.
20261
20262See ChangeLog.10 for earlier changes.
20263
20264;; Local Variables:
20265;; coding: utf-8
20266;; add-log-time-zone-rule: t
aac0c6e3
MR
20267;; End:
20268
76b6f707 20269 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
20270
20271 This file is part of GNU Emacs.
20272
20273 GNU Emacs is free software: you can redistribute it and/or modify
20274 it under the terms of the GNU General Public License as published by
20275 the Free Software Foundation, either version 3 of the License, or
20276 (at your option) any later version.
20277
20278 GNU Emacs is distributed in the hope that it will be useful,
20279 but WITHOUT ANY WARRANTY; without even the implied warranty of
20280 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20281 GNU General Public License for more details.
20282
20283 You should have received a copy of the GNU General Public License
20284 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
20285
20286;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40