comparison src/ChangeLog @ 3094:ad2f4ae9895b

[xemacs-hg @ 2005-11-26 11:45:47 by stephent] Xft merge. <87k6ev4p8q.fsf@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Sat, 26 Nov 2005 11:46:25 +0000
parents 141c2920ea48
children 5694c986bd92
comparison
equal deleted inserted replaced
3093:769dc945b085 3094:ad2f4ae9895b
1 2005-11-26 Stephen J. Turnbull <stephen@xemacs.org>
2
3 Merge Xft.
4
5 2005-11-25 Stephen J. Turnbull <stephen@xemacs.org>
6
7 * objects-x.c: Improve comments.
8
9 2005-11-25 Stephen J. Turnbull <stephen@xemacs.org>
10
11 * xft-fonts.h:
12 * xft-fonts.c:
13 * redisplay-x.c:
14 Remove or comment out dead code.
15
16 2005-11-25 Stephen J. Turnbull <stephen@xemacs.org>
17
18 * objects-x.c (x_find_charset_font): Encapsulate debug print in macro.
19
20 2005-11-25 Stephen J. Turnbull <stephen@xemacs.org>
21
22 * xft-fonts.h:
23 * xft-fonts.c:
24 * objects-x.c:
25 Xft font names are encoded in UTF-8 (Qxft_font_name_encoding).
26
27 2005-11-06 Stephen J. Turnbull <stephen@xemacs.org>
28
29 * xft-fonts.h:
30 * xft-fonts.c:
31 Substitute new *LCRECORD* macros for #ifdef MC_ALLOC.
32
33 2005-09-10 Clemens Fruhwirth <clemens@endorphin.org>
34
35 * glyphs-x.c (update_widget_face): Wrap error checking of rf in an
36 #ifdef USE_XFT.
37
38 2005-09-25 Stephen J. Turnbull <stephen@xemacs.org>
39
40 * objects-x.c (x_initialize_font_instance): Must encode extname
41 twice, Qxft_font_name_encoding != Qx_font_name_encoding.
42
43 2005-09-25 Stephen J. Turnbull <stephen@xemacs.org>
44
45 * objects-x.c (x_finalize_font_instance): Add newline to message.
46
47 2005-09-24 Stephen J. Turnbull <stephen@xemacs.org>
48
49 * objects-x.c (x_find_charset_font): Give user more control of
50 debug verbosity. Reduce verbosity at debug_xft=1. Reduce
51 verbosity of truename by removing properties that are rarely
52 specified from fontconfig font name.
53
54 2005-09-24 Stephen J. Turnbull <stephen@xemacs.org>
55
56 * objects-x.c (x_find_charset_font): Work around buggy return
57 value in FcInit().
58
59 2005-09-24 Stephen J. Turnbull <stephen@xemacs.org>
60
61 * objects-x.c: Improve various header comments.
62 (x_font_instance_truename): Remove obsolete #ifdef 0 code.
63
64 2005-09-06 Stephen J. Turnbull <stephen@xemacs.org>
65
66 * console-x-impl.h (struct x_frame): Rewrite comment.
67
68 * redisplay-x.c (x_output_string):
69 * frame-x.c (x_delete_frame):
70 Improve style, let compiler optimize.
71
72 2005-09-05 Daniel Pittman <daniel@rimspace.net>
73
74 * console-x-impl.h (struct x_frame): New member xftDraw.
75 (FRAME_X_XFTDRAW): Accessor for xftDraw member.
76
77 * redisplay-x.c (x_output_string): Lazily initialize frame's
78 xftDraw member, and don't destroy it here.
79
80 * frame-x.c (x_delete_frame): Destroy xftDraw here.
81
82 2005-08-17 Stephen J. Turnbull <stephen@xemacs.org>
83
84 * xft-fonts.c (Ffc_pattern_create): Improve docstring, remove todo.
85 (fc_intern): Add todo.
86
87 2005-08-04 Stephen J. Turnbull <stephen@xemacs.org>
88
89 * xft-fonts.c (finalize_fc_pattern): New static function.
90 Add it to lcrecord implementation of fc_pattern.
91
92 * xft-fonts.c (Ffc_pattern_destroy): Disable with #if 0.
93
94 2005-08-03 Stephen J. Turnbull <stephen@xemacs.org>
95
96 -- Minor cleanups. --
97
98 * xft-fonts.c (Ffc_font_real_pattern):
99 Update FIXME at top.
100 (Ffc_font_sort):
101 (Ffc_font_match):
102 Improve docstrings.
103
104 * xft-fonts.c (Ffc_pattern_destroy):
105 Partially protect against double frees.
106
107 -- Eliminate Lisp fc_fontset objects. --
108
109 * xft-fonts.c (fontset_to_list): New helper function.
110 (Ffc_list_fonts_pattern_objects):
111 (Ffc_font_sort):
112 Made to use `fontset_to_list' and return list. Updated docstrings.
113
114 * xft-fonts.h (struct fc_pattern): Removed fc_fontset member.
115 (fc_fontset): Removed struct and lrecord declarations and typedef.
116 (XFCFONTSET):
117 (wrap_fcfontset):
118 (FCFONTSETP):
119 (CHECK_FCFONTSET):
120 (CONCHECK_FCFONTSET):
121 (XFCFONTSET_PTR):
122 Removed macros.
123
124 * xft-fonts.c (fcfontset_description):
125 (fc_fontset):
126 (Ffc_fontset_p):
127 (Ffc_fontset_count):
128 (Ffc_fontset_destroy):
129 (Ffc_fontset_ref):
130 Removed unused functions.
131 (fcpattern_description): Removed fc_fontset member.
132 (Ffc_pattern_create):
133 (Ffc_name_parse):
134 (Ffc_pattern_duplicate):
135 (Ffc_pattern_destroy):
136 (Ffc_font_match):
137 (Ffc_font_real_pattern):
138 Removed reference to fc_fontset member.
139 (syms_of_xft_fonts): Removed DEFSYMBOLs, DEFSUBRs for fc_fontset.
140
141 * lrecord.h (enum lrecord_type): Removed lrecord_fc_fontset.
142 Removed indicies, which depended on #ifdefs so can't be accurate.
143
144 2005-07-31 Daniel Pittman <daniel@rimspace.net>
145
146 * xft-fonts.c: Update Ffc_list_fonts_pattern_objects to use the
147 FontConfig API nicely, preventing it from rebuilding the list of
148 available fonts on *every* access.
149
150 2005-06-16 Stephen J. Turnbull <stephen@xemacs.org>
151
152 * xft-fonts.c: MC_ALLOC-ify.
153 * xft-fonts.h: MC_ALLOC-ify.
154
155 2005-04-16 Stephen J. Turnbull <stephen@xemacs.org>
156
157 * xft-fonts.c: Improve comment on property name hash table.
158
159 (Ffc_list_fonts_pattern_objects):
160 (Ffc_font_sort):
161 (reinit_vars_of_xft_fonts):
162 Call FcInit only once in reinit_vars_of_xft_fonts.
163
164 (Ffc_list_fonts_pattern_objects):
165 (Ffc_font_sort):
166 Signal error if returned FcFontSet object is NULL.
167
168 (string_list_to_fcobjectset): Use fc_intern.
169
170 * objects-x.c (): Move declaration of `name' out of #ifdef.
171
172 2005-04-14 Stephen J. Turnbull <stephen@xemacs.org>
173
174 * xft-fonts.c (fc_intern): val is const.
175 (xft_get_color): Use dead_wrong_type_argument.
176
177 * objects-x.c (Qxft_font_name_encoding): New documentary #define.
178 (truename_via_XListFonts): Improve comments.
179
180 Followup on Aidan's partial cleanup/Mulization.
181
182 * objects-x.c (DEBUG_XFT0):
183 (DEBUG_XFT1):
184 (DEBUG_XFT2):
185 (PRINT_XFT_PATTERN):
186 (CHECKING_LANG):
187 Move to top of font object block.
188 (DEBUG_XFT3):
189 (DEBUG_XFT4):
190 New.
191 (x_initialize_font_instance):
192 (x_finalize_font_instance):
193 Use them.
194
195 (x_font_instance_truename): Comment complaint about structure.
196 Clarify variable usage by moving declaration inside block.
197
198 (x_find_charset_font): Clarify block structure by eliminating
199 early returns. Remove bogus "must free" comments. Free FcPattern
200 objects that were leaking. Use block structure to indicate
201 lifetimes of FcPattern objects. Use "font" rather than "pattern"
202 in names of FcPatterns that name fonts rather than search
203 criteria. Use shortnames more consistently in debug messages.
204 #ifdef shortname vs longname return values. Correct comment to
205 note that FcCharSets are Unparsed to ASCII. Don't ever fall
206 through to X core fonts if we had an Xft font (it should be NULL
207 anyway). Use Qxft_font_name_encoding; this means we have to parse
208 FONT separately for Qx_font_name_encoding.
209
210 2005-04-10 Stephen J. Turnbull <stephen@xemacs.org>
211
212 Xft/fontconfig assumes that strings used as object names are
213 statically allocated. Implement a hash table to keep track of
214 them:
215
216 * xft-fonts.c (reinit_vars_of_xft_fonts): Initialize hash table.
217 (fc_intern):
218 New static functions.
219
220 (fc_property_name_hash_table):
221 (fc_standard_properties):
222 New static variables.
223
224 * symsinit.h (reinit_vars_of_xft_fonts): Declare it.
225
226 * emacs.c (main_1): Call it. Reorder complex_vars_of_xft_fonts.
227
228 Renaming and reorganization:
229
230 * xft-fonts.c: Group FcPattern stuff separately from FcFontSet in
231 preparation for removing latter from LISP visibility. Use
232 "pattern" for Lisp_Objects, reserve "fcpat" for FcPatterns.
233 Similarly change "object" to "property".
234
235 (Ffc_pattern_destroy):
236 (Ffc_fontset_destroy):
237 Deprecate these; they should not be LISP-visible.
238
239 (Ffc_pattern_print): Removed.
240
241 (extract_fcapi_string): Make this a macro, because
242 in C "inline" is a hint. But this _must_ be a macro because it
243 implicitly uses alloca.
244
245 2005-04-09 Stephen J. Turnbull <stephen@xemacs.org>
246
247 * xft-fonts.c (fc-pattern-get-antialias):
248 (fc-pattern-get-dpi):
249 (fc-pattern-get-family):
250 (fc-pattern-get-file):
251 (fc-pattern-get-foundry):
252 (fc-pattern-get-minspace):
253 (fc-pattern-get-outline):
254 (fc-pattern-get-pixelsize):
255 (fc-pattern-get-rasterizer):
256 (fc-pattern-get-scalable):
257 (fc-pattern-get-scale):
258 (fc-pattern-get-size):
259 (fc-pattern-get-style):
260 (fc-pattern-get-xlfd):
261 (xft-pattern-get-core):
262 (xft-pattern-get-encoding):
263 (xft-pattern-get-render):
264 (fc_get_pattern_bool):
265 (fc_get_pattern_double):
266 (fc_get_pattern_integer):
267 (fc_get_pattern_string):
268 (xft_font_open_name):
269 Delete definitions of long-unused functions.
270
271 (syms_of_xft_fonts):
272 Delete references.
273
274 * xft-fonts.h (fc_get_pattern_bool):
275 (fc_get_pattern_double):
276 (fc_get_pattern_integer):
277 (fc_get_pattern_string):
278 Delete declarations of long-unused helper functions.
279
280 * xft-fonts.c (Ffc_font_match): s/poosible/possible/ in docstring.
281
282 2005-04-01 Aidan Kehoe <kehoea@parhasard.net>
283
284 * objects-x.c:
285 * objects-x.c (x_initialize_font_instance):
286 * objects-x.c (CHECKING_LANG):
287 General mule-sanity cleanup for the debug messages, to eliminate
288 the issue Giacomo Boffi saw in
289 16970.44359.621213.994821@boffi95.stru.polimi.it.
290
291 * objects-x.c (x_find_charset_font):
292 Font names are also treated as UTF-8; relatedly, when passing back
293 the font's full name, the character coverage bitmap isn't included
294 any more, because that would make it an invalid UTF-8 string.
295
296 2005-03-10 Stephen J. Turnbull <stephen@xemacs.org>
297
298 * objects-x.c (charset_table): Fix ISO 639 code for Greek. Reported
299 by Stefan Holst <holst@mathematik.uni-mainz.de>.
300 (charset_table): Add information for Hebrew, whine about ISO prices.
301
302 2005-03-09 Stephen J. Turnbull <stephen@xemacs.org>
303
304 * objects-x.c (x_font_instance_truename): Try to fix XListFonts
305 crash by not handing random Xft results to core Xlib functions.
306 Replace bizarre gymnastics with simple FcNameUnparse.
307
308 2005-03-07 Stephen J. Turnbull <stephen@xemacs.org>
309
310 * objects-x-impl.h: Include lwlib-fonts.h
311
312 * objects-x.c (x_font_instance_truename):
313 * glyphs-x.c (update_widget_face):
314 * frame-x.c (x_update_frame_external_traits):
315 Use the correct variant of FONT_INSTANCE_{X,XFT}_FONT.
316 Protect against access of uninitialized objects.
317
318 * redisplay-x.c (x_get_gc): Fix typo.
319 * (x_output_string): Add comments, clarify logic slightly.
320
321 2005-03-05 Stephen J. Turnbull <stephen@xemacs.org>
322
323 Refactor language/charset checking in Xft.
324
325 * objects-x.c (struct charset_reporter): New type.
326 (charset_table): New internal table.
327 (DEBUG_XFT0):
328 (DEBUG_XFT1):
329 (DEBUG_XFT2):
330 (PRINT_XFT_PATTERN):
331 (CHECKING_LANG):
332 New debugging macros.
333 (mule_to_fc_charset): New function.
334 (x_find_charset_font): Completely rewrite Xft part using the above.
335
336 Cache knowledge of charset in font instances.
337
338 * objects-impl.h (struct Lisp_Font_Instance): New member charset.
339 Update comment on use of truename.
340 * objects.c (syms_of_objects): DEFSUBR Ffont_instance_charset.
341 (Ffont_instance_charset): New accessor.
342 (Fmake_font_instance): New argument CHARSET, update charset member.
343 (font_instantiate): Update call to Fmake_font_instance.
344 (font_instance_description): Add charset member.
345 * objects.h (Fmake_font_instance): Update EXFUN.
346 (Ffont_instance_charset): New EXFUN.
347
348 Make Xft debug level adjustable from Lisp.
349
350 * xft-fonts.c (vars_of_xft_fonts): New DEFVAR_INT
351 xft-debug-level (from debug_xft), adjust style of xft-version.
352 * xft-fonts.h (debug_xft): Now Lisp-visible, change declaration.
353
354 Miscellaneous.
355
356 * lisp.h (Vcharset_iso8859_15): Export it.
357 * faces.h (struct face_cachel): Update comment on space usage.
358 * faces.c: Comment proposed changes to improve font handling.
359 * frame-x.c:
360 * EmacsShell-sub.c:
361 Disable geometry debugging.
362
363 2005-02-24 Stephen J. Turnbull <stephen@xemacs.org>
364
365 * xft-fonts.h:
366 * xft-fonts.c:
367 Update copyright notices.
368
369 * xft.fonts.h (string_list_to_fcobjectset):
370 (extract_fcapi_string):
371 Delete; static function declarations don't belong in headers.
372
373 * xft.fonts.c (string_list_to_fcobjectset):
374 (extract_fcapi_string):
375 Declare.
376
377 2005-02-24 Stephen J. Turnbull <stephen@xemacs.org>
378
379 * objects-x.c (x_find_charset_font): ConfigSubstitute in the
380 _pattern_ before matching.
381
382 2005-02-24 Stephen J. Turnbull <stephen@xemacs.org>
383
384 * faces.c (complex_vars_of_faces): Default to monospace-12 for
385 Xft. (Suggestion by Aidan Kehoe.)
386
387 2005-02-24 Hrvoje Niksic <hniksic@xemacs.org>
388
389 * xgccache.h (XE_GCONTEXT): Move out of DEBUG_XEMACS block.
390
391 2005-02-22 Stephen J. Turnbull <stephen@xemacs.org>
392
393 * xft-fonts.c (debug_xft): Suppress all debug output for now.
394
395 2005-02-21 Stephen J. Turnbull <stephen@xemacs.org>
396
397 * emacs.c (xemacs-release-date): New version info variable.
398 * config.h.in (XEMACS_RELEASE_DATE): New config.h macro.
399
400 * emacs.c (inhibit-early-packages):
401 (inhibit-all-packages):
402 (xemacs-extra-name): Improve docstrings.
403
404 2005-02-21 Stephen J. Turnbull <stephen@xemacs.org>
405
406 * objects-x.c (x_finalize_font_instance): Improve debug message.
407
408 2005-02-20 Stephen J. Turnbull <stephen@xemacs.org>
409
410 * objects-x.c (x_initialize_font_instance): Estimate average cell
411 width based on dimensions of "representative" string. Suppress
412 some excessive debug output. Get rid of spurious tests.
413
414 2005-02-11 Eric Knauel <eric@xemacs.org>
415
416 * xft-fonts.c: throw away old code that was wrapped inside
417 comments
418
419 2005-02-11 Eric Knauel <eric@xemacs.org>
420
421 * xft-fonts.h: New prototype
422
423 * xft-fonts.c (Ffc_name_parse, Ffc_pattern_add, Ffc_pattern_del)
424 (Ffc_pattern_get, fc_font_real_pattern)
425 (string_list_to_fcobjectset): Use extract_fcapi_string()
426 (extract_fcapi_string): New function
427
428 2005-02-09 Eric Knauel <eric@xemacs.org>
429
430 * xft-fonts.c (string_list_to_fcobjectset): Use loop macro instead
431 of for.
432
433 2005-02-03 Eric Knauel <eric@xemacs.org>
434
435 * lrecord.h (enum lrecord_type): remove lrecord for FcObjectSets
436
437 * xft-fonts.h (struct fc_fontset): remove lrecord for FcObjectSets
438
439 * xft-fonts.c (DEFINE_LRECORD_IMPLEMENTATION):
440 (Ffc_objectset_create, Ffc_objectset_p, Ffc_objectset_add)
441 (Ffc_objectset_destroy): remove lrecord for FcObjectSets
442 (Ffc_list_fonts_pattern_objects): adapt for new representation of
443 FcObjectSets
444 (string_list_to_fcobjectset): New utility function
445
446 2005-02-01 Stephen J. Turnbull <stephen@xemacs.org>
447
448 * redisplay-x.c (separate_textual_runs): Check for MULE properly.
449
450 2005-01-28 Stephen J. Turnbull <stephen@xemacs.org>
451
452 * glyphs-widget.c (Fwidget_logical_to_character_height):
453 (Fwidget_logical_to_character_width):
454 (layout_query_geometry):
455 (widget_update):
456 Fix typos in docstrings and preceding comments.
457
458 2005-01-26 Stephen J. Turnbull <stephen@xemacs.org>
459
460 * redisplay-x.c (x_output_string): Position strikethru by dl
461 geometry. Kludge to fix remnants from antialiased underscores.
462
463 2004-12-19 Stephen J. Turnbull <stephen@xemacs.org>
464
465 * compiler.h (UNUSED): Document make-docfile.c hack.
466
467 2004-12-19 Stephen J. Turnbull <stephen@xemacs.org>
468
469 * glyphs-x.c,objects-x.c: Deemphasize warnings (to debug or alert).
470
471 * redisplay-x.c: Don't abort() when ichar_to_unicode returns error.
472
473 2004-12-19 Stephen J. Turnbull <stephen@xemacs.org>
474
475 * keymap.c (Fwhere_is_internal): Rewrite docstring.
476
477 2004-12-17 Stephen J. Turnbull <stephen@xemacs.org>
478
479 * regex.c (re_match_2_internal): DEBUG_PRINT "can match null".
480
481 2004-12-10 Stephen J. Turnbull <stephen@xemacs.org>
482
483 * redisplay-x.c (x_text_width_single_run): Whitespace improvement.
484
485 2004-12-09 Stephen J. Turnbull <stephen@xemacs.org>
486
487 * glyphs-widget.c (image_instantiator_progress_gauge):
488 (image_instantiator_format_create_glyphs_widget):
489 Fix typo guage->gauge.
490
491 * emacs.c (main_1): Casting out devils (size_t).
492
493 * compiler.h (USED_IF_XFT): New variant.
494 * objects-x.c (x_font_spec_matches_charset):
495 * redisplay-x.c (x_text_width_single_run):
496 Use it.
497
498 * config.h.in: Support USE_XFT_TABS and USE_XFT_GAUGE.
499
500 2004-11-28 Stephen J. Turnbull <stephen@xemacs.org>
501
502 * objects-x.c (x_initialize_font_instance): Make sure
503 FONT_INSTANCE_X_FONT is cleared for Xft fonts. Add comments.
504 Fiddle whitespace.
505 (x_print_font_instance): Clarify printed font instance.
506
507 2004-11-27 Stephen J. Turnbull <stephen@xemacs.org>
508
509 * xft-fonts.h: Declare debug_xft.
510
511 * objects-x.c (x_font_instance_truename):
512 Convert Xft* identifiers to Fc* versions.
513
514 (x_initialize_font_instance):
515 (x_find_charset_font):
516 Condition debugging on debug_xft. Get rid of unneeded "####
517 debug" markers. Change fprintf to stderr_out.
518
519 (x_find_charset_font): Restore missing argument to
520 DebugFcTypeOfValue. Remove nonworking debug cruft.
521
522 (FcResultToString):
523 (FcTypeOfValueToString):
524 (x_find_charset_font):
525 Change DebugFc* to Fc*ToString.
526
527 2004-11-20 Stephen J. Turnbull <stephen@xemacs.org>
528
529 Xft branch based on "Xft reloaded #3" patch by Eric Knauel and
530 Mathias Neuebaur, and other contributors.
531
532 * xft-fonts.h: New file. Declares new Lisp objects wrapping
533 FcPattern, FcFontSet, and FcObjectSet.
534 * xft-fonts.c: New file. Implements new Lisp objects wrapping
535 FcPattern, FcFontSet, and FcObjectSet.
536 * objects-x-impl.h: Declare XftFont component of font instance.
537 * objects-x.c: Implement XftFont component of font instance.
538 * redisplay-x.c: Implement drawing via Xft.
539
1 2005-11-21 Marcus Crestani <crestani@xemacs.org> 540 2005-11-21 Marcus Crestani <crestani@xemacs.org>
2 541
3 Incremental Garbage Collector 542 Incremental Garbage Collector
4 543
5 * .cvsignore: Add .dbxrc and .gdbinit. 544 * .cvsignore: Add .dbxrc and .gdbinit.
2803 Only call device method compute_scrollbar_instance_usage() if it 3342 Only call device method compute_scrollbar_instance_usage() if it
2804 is defined. 3343 is defined.
2805 3344
2806 2004-12-15 Stephen J. Turnbull <stephen@xemacs.org> 3345 2004-12-15 Stephen J. Turnbull <stephen@xemacs.org>
2807 3346
2808 * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo. 3347 * EmacsManager.c (EmacsManagerChangeSize):
3348 Respect XtGeometryNo, and exit immediately if geometry change
3349 refused. Fixes notorious metacity maximize bug.
2809 3350
2810 2004-12-07 Malcolm Purvis <malcolmp@xemacs.org> 3351 2004-12-07 Malcolm Purvis <malcolmp@xemacs.org>
2811 3352
2812 * Makefile.in.in: Always refer to make as $(MAKE) and use 3353 * Makefile.in.in: Always refer to make as $(MAKE) and use
2813 $(RECURSIVE_MAKE_ARGS) for other parameters. This allows -j to 3354 $(RECURSIVE_MAKE_ARGS) for other parameters. This allows -j to