Mercurial > hg > xemacs-beta
comparison src/ChangeLog @ 5495:1f0b15040456
Merge.
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Sun, 01 May 2011 18:44:03 +0100 |
| parents | 861f2601a38b 159face738c3 |
| children | eb4eeec50f25 |
comparison
equal
deleted
inserted
replaced
| 5494:861f2601a38b | 5495:1f0b15040456 |
|---|---|
| 1 2011-05-01 Aidan Kehoe <kehoea@parhasard.net> | |
| 2 | |
| 3 * lread.c (parse_integer): | |
| 4 GMP's mpz_set_string deals with a leading plus badly, make sure it | |
| 5 never sees one coming from this function. | |
| 6 | |
| 7 2010-12-31 Mike Kupfer <mike.kupfer@xemacs.org> | |
| 8 | |
| 9 * redisplay.c (pixel_to_glyph_translation): | |
| 10 Handle redisplay edge case. | |
| 11 With motion events when entering a frame and the minibuffer is | |
| 12 active, row and column can be zero, and there aren't any runes. | |
| 13 | |
| 14 2011-04-30 Stephen J. Turnbull <stephen@xemacs.org> | |
| 15 | |
| 16 * specifier.c (Fspecifier_matching_instance): | |
| 17 Add comment about backward-incompatibility of MATCHSPEC. | |
| 18 | |
| 19 2011-04-29 Stephen J. Turnbull <stephen@xemacs.org> | |
| 20 | |
| 21 * XEmacs 21.5.31 "ginger" is released. | |
| 22 | |
| 23 2011-04-26 Stephen J. Turnbull <stephen@xemacs.org> | |
| 24 | |
| 25 * XEmacs 21.5.30 "garlic" is released. | |
| 26 | |
| 27 2011-04-23 Aidan Kehoe <kehoea@parhasard.net> | |
| 28 | |
| 29 * editfns.c: | |
| 30 * editfns.c (syms_of_editfns): | |
| 31 Implement #'char= in cl-extra.el, not here, accepting more than | |
| 32 two arguments as Common Lisp specifies. | |
| 33 | |
| 34 2011-04-17 Jeff Sparkes <jsparkes@gmail.com> | |
| 35 | |
| 36 * device-tty.c (tty_device_system_metrics): Fix compile issues for | |
| 37 C89 compilers. Use log() instead of log2(). | |
| 38 | |
| 39 2011-04-04 Aidan Kehoe <kehoea@parhasard.net> | |
| 40 | |
| 41 * fns.c (count_with_tail): | |
| 42 This can be legitimately called from #'delete* with a specified | |
| 43 COUNT keyword value, accept this in the assertion. | |
| 44 * fns.c (FdeleteX): | |
| 45 * fns.c (FremoveX): | |
| 46 If COUNT is specified and FROM-END is non-nil, set COUNT to nil in | |
| 47 the argument vector, so count_with_tail doesn't see it when | |
| 48 calculating the total number of times an item occurs. Fixes | |
| 49 problems with the interaction of :count and :from-end. | |
| 50 | |
| 51 2011-04-04 Aidan Kehoe <kehoea@parhasard.net> | |
| 52 | |
| 53 * fns.c (FremoveX): | |
| 54 * fns.c (sublis): | |
| 55 Correct some nesting of GCPRO and UNGCPRO here, revealed by the | |
| 56 the C++ build compiling core Lisp. Thank you Mats' buildbot! | |
| 57 | |
| 58 2011-04-04 Aidan Kehoe <kehoea@parhasard.net> | |
| 59 | |
| 60 * lisp.h (GC_EXTERNAL_LIST_LOOP_3, GC_EXTERNAL_LIST_LOOP_4): New. | |
| 61 * fns.c (count_with_tail, list_position_cons_before, FassocX): | |
| 62 * fns.c (FrassocX, position, FdeleteX, FremoveX): | |
| 63 * fns.c (list_delete_duplicates_from_end): | |
| 64 * fns.c (Fdelete_duplicates, Fremove_duplicates, Freduce): | |
| 65 * fns.c (Fnsubstitute, Fsubstitute, sublis, nsublis, Fnsublis): | |
| 66 * fns.c (venn, nvenn, Funion, Fset_exclusive_or, Fnset_exclusive_or): | |
| 67 Use GC_EXTERNAL_LIST_LOOP_* in the sequence functions in fns.c | |
| 68 where appropriate, there were some corner cases where my old | |
| 69 approach was unsafe (mainly if the circularity checking's tortoise | |
| 70 lost GCPRO protection. | |
| 71 Add GC_EXTERNAL_LIST_LOOP_{3,4}, analogous to | |
| 72 GC_EXTERNAL_LIST_LOOP_2. | |
| 73 | |
| 74 2011-03-28 Jeff Sparkes <jsparkes@gmail.com> | |
| 75 | |
| 76 * console-tty-impl.h (struct tty_console): Add field for number of | |
| 77 displayable colors. | |
| 78 * device-tty.c (tty_device_system_metrics): Return metrics for | |
| 79 num-color-cells and num-bit-planes. Tracker issue 757. | |
| 80 * device.c: There are two required args for device-system-metric. | |
| 81 * redisplay-tty.c (init_tty_for_redisplay): Retrieve number of | |
| 82 colors from terminal description. Default to 2 if none found. | |
| 83 | |
| 84 2011-03-24 Jerry James <james@xemacs.org> | |
| 85 | |
| 86 * alloc.c (listu): Assemble the list in the right order so we don't | |
| 87 have to reverse it. | |
| 88 (listn): Ditto. | |
| 89 * dired.c (Ffile_attributes): Use listn instead of building an array | |
| 90 to pass to Flist. GC protect the mode string. | |
| 91 * editfns.c (Fdecode_time): Use listn instead of Flist. | |
| 92 * faces.c (vars_of_faces): Use listu instead of Flist. | |
| 93 | |
| 94 2011-03-24 Jerry James <james@xemacs.org> | |
| 95 | |
| 96 * README.kkcc: "occured" -> "occurred". | |
| 97 * alloc.c (malloced_storage_size): "supress" -> "suppress". | |
| 98 * buffer.c: "intial" -> "initial". | |
| 99 * elhash.c (Fdefine_hash_table_test): "analagous" -> "analogous". | |
| 100 * emacs.c: "targetting" -> "targeting". | |
| 101 (shut_down_emacs): "recurrance" -> "reoccurrence". | |
| 102 * event-stream.c: "accidentaly" -> "accidentally", and fix grammar. | |
| 103 * extents.c: "occuring" -> "occurring". | |
| 104 * faces.c (update_face_cachel_data): "appart" -> "apart", "begining" | |
| 105 -> "beginning". | |
| 106 * file-coding.c (Vkeyboard_coding_system): "interpet" -> "interpret". | |
| 107 * fileio.c (Fmake_temp_name): "analagous" -> "analogous". | |
| 108 * fontcolor-gtk.c: "sucess" -> "success". | |
| 109 * frame-gtk.c (gtk_init_frame_2): "carefull" -> "careful", fix | |
| 110 whitespace. | |
| 111 * frame.c: "negotation" -> "negotiation". | |
| 112 * glyphs-msw.c (mswindows_map_subwindow): "everytime" -> "every time". | |
| 113 * glyphs-widget.c: "accomodate" -> "accommodate". | |
| 114 (logical_unit_height): Ditto. | |
| 115 (Fwidget_logical_to_character_height): Ditto. | |
| 116 * gtk-xemacs.c (__nuke_background_items): "noticable" -> "noticeable". | |
| 117 * menubar-gtk.c: "inital" -> "initial". | |
| 118 * mule-ccl.c: "refered" -> "referred to". | |
| 119 * nt.c (mswindows_stat): "noticable" -> "noticeable". | |
| 120 * ntheap.c (recreate_heap): "commited" -> "committed". | |
| 121 * s/cygwin32.h: "konw" -> "know". | |
| 122 * sysdll.c: "dependant" -> "dependent". | |
| 123 * syswindows.h: "targetting" -> "targeting". | |
| 124 * text.c: "reversable" -> "reversible". | |
| 125 * unexcw.c (copy_executable_and_dump_data_section): "addres" -> | |
| 126 "address". | |
| 127 * unicode.c (Funicode_precedence_list): "occurrance" -> "occurrence". | |
| 128 * window.c (struct window_mirror_stats): "Ancilliary" -> "Ancillary". | |
| 129 | |
| 130 2011-03-20 Mats Lidell <matsl@xemacs.org> | |
| 131 | |
| 132 * alloca.c (find_stack_direction): | |
| 133 * alloca.c (xemacs_c_alloca): | |
| 134 Remove use of auto keyword. It is default and will be illegal in | |
| 135 C++0X. | |
| 136 | |
| 137 2011-03-17 Didier Verna <didier@xemacs.org> | |
| 138 | |
| 139 * data.c (init_errors_once_early): Define Qextent_read_only error. | |
| 140 * lisp.h: Declare it. | |
| 141 * extents.c (verify_extent_mapper): Signal an extent-read-only | |
| 142 error instead of a buffer-read-only one. | |
| 143 | |
| 144 2011-03-15 Aidan Kehoe <kehoea@parhasard.net> | |
| 145 | |
| 146 * config.h.in (SUPPORT_CONFOUNDING_FUNCTIONS): New #define, | |
| 147 equivalent NEED_TO_HANDLE_21_4_CODE by default, describing whether | |
| 148 this XEmacs should support the old-eq, old-equal and related | |
| 149 functions and byte codes. | |
| 150 * bytecode.c (UNUSED): | |
| 151 Only interpret old-eq, old-equal, old-memq if | |
| 152 SUPPORT_CONFOUNDING_FUNCTIONS is defined. | |
| 153 * data.c: | |
| 154 Move Fold_eq to fns.c with the rest of the Fold_* functions. | |
| 155 * fns.c: | |
| 156 * fns.c (Fmemq): | |
| 157 * fns.c (memq_no_quit): | |
| 158 * fns.c (assoc_no_quit): | |
| 159 * fns.c (Frassq): | |
| 160 * fns.c (Fequal): | |
| 161 * fns.c (Fold_equal): | |
| 162 * fns.c (syms_of_fns): | |
| 163 Group old-eq, old-equal, old-memq etc together, surround them with | |
| 164 #ifdef SUPPORT_CONFOUNDING_FUNCTIONS. | |
| 165 | |
| 166 2011-03-14 Aidan Kehoe <kehoea@parhasard.net> | |
| 167 | |
| 168 * glyphs-eimage.c (png_instantiate): | |
| 169 Update the PNG handling code to work with versions of the library | |
| 170 where the png_info structure is no longer visible. Thank you for | |
| 171 the report, Robert Delius Royar. | |
| 172 | |
| 173 2011-03-12 Aidan Kehoe <kehoea@parhasard.net> | |
| 174 | |
| 175 * event-stream.c (Fdispatch_event): | |
| 176 As documented, allow pre-command-hook to usefully modify | |
| 177 this-command even when this-command is nil (that is, we would | |
| 178 normally throw an undefined-keystroke-sequence error). Don't throw | |
| 179 that error if this-command was modified, instead try to execute | |
| 180 the new value. | |
| 181 Allow pre-command-hook to modify last-command-event in this | |
| 182 specific context. Don't document this, for the moment. | |
| 183 | |
| 184 2011-03-11 Aidan Kehoe <kehoea@parhasard.net> | |
| 185 | |
| 186 * bytecode.c (optimize_byte_code): | |
| 187 Only transform assignments to keywords to Bdiscard if | |
| 188 NEED_TO_HANDLE_21_4_CODE is turned on. Cf. similar code in | |
| 189 reject_constant_symbols(). | |
| 190 | |
| 191 2011-02-24 Aidan Kehoe <kehoea@parhasard.net> | |
| 192 | |
| 193 * fns.c (Fsubstring_no_properties): | |
| 194 Sigh, get_string_range_char checks the type of its START and END | |
| 195 arguments, but doesn't check the type of its STRING | |
| 196 argument. Thank you Raymond Toy! | |
| 197 | |
| 198 2011-02-19 Aidan Kehoe <kehoea@parhasard.net> | |
| 199 | |
| 200 * fns.c (Fset_exclusive_or): | |
| 201 This function accepts the :stable keyword too, document this in | |
| 202 its arglist. | |
| 203 | |
| 204 2011-02-16 Aidan Kehoe <kehoea@parhasard.net> | |
| 205 | |
| 206 * xemacs.def.in.in: | |
| 207 No longer export acons(), export Facons() instead, thank you Mats, | |
| 208 Jerry and Jeff Sparkes. | |
| 209 | |
| 210 2011-02-10 Aidan Kehoe <kehoea@parhasard.net> | |
| 211 | |
| 212 * fns.c (shortest_length_among_sequences): | |
| 213 This was buggy, it always errored if the last argument was | |
| 214 circular, even if other arguments were non-circular. Correct that. | |
| 215 | |
| 216 2011-02-09 Aidan Kehoe <kehoea@parhasard.net> | |
| 217 | |
| 218 * alloc.c (Facons): | |
| 219 * alloc.c (Fobject_memory_usage): | |
| 220 * alloc.c (syms_of_alloc): | |
| 221 * faces.c (complex_vars_of_faces): | |
| 222 * lisp.h: | |
| 223 * mc-alloc.c (Fmc_alloc_memory_usage): | |
| 224 Rename acons() to Facons(), make it visible to Lisp. Change uses | |
| 225 of the function in C accordingly. | |
| 226 | |
| 227 2011-02-07 Aidan Kehoe <kehoea@parhasard.net> | |
| 228 | |
| 229 * keymap.c (describe_map_sort_predicate): Correct the order of | |
| 230 arguments to map_keymap_sort_predicate() here. Thanks again, Mats. | |
| 231 | |
| 232 2011-02-06 Aidan Kehoe <kehoea@parhasard.net> | |
| 233 | |
| 234 * symbols.c (Fapropos_internal): | |
| 235 Supply check_string_lessp_nokey explicitly as the CHECK_MERGE | |
| 236 argument to list_sort(), NULL no longer works. Thank you Mats | |
| 237 Lidell in IRC! | |
| 238 | |
| 239 2011-02-05 Aidan Kehoe <kehoea@parhasard.net> | |
| 240 | |
| 241 * fns.c: | |
| 242 * fns.c (check_lss_key, check_lss_key_car): New. | |
| 243 * fns.c (check_string_lessp_key check_string_lessp_key_car): New. | |
| 244 * fns.c (get_merge_predicate): New. | |
| 245 * fns.c (list_merge): | |
| 246 * fns.c (array_merge): | |
| 247 * fns.c (list_array_merge_into_list): | |
| 248 * fns.c (list_list_merge_into_array): | |
| 249 * fns.c (list_array_merge_into_array): | |
| 250 * fns.c (Fmerge): | |
| 251 * fns.c (list_sort): | |
| 252 * fns.c (array_sort): | |
| 253 * fns.c (FsortX): | |
| 254 * fns.c (syms_of_fns): | |
| 255 * lisp.h: | |
| 256 Move #'sort, #'merge to using the same test approach as is used in | |
| 257 the functions that take TEST, TEST-NOT and KEY arguments. This | |
| 258 allows us to avoid the Ffuncall() overhead when the most common | |
| 259 PREDICATE arguments are supplied, in particular #'< and | |
| 260 #'string-lessp. | |
| 261 | |
| 262 * fontcolor-msw.c (sort_font_list_function): | |
| 263 * fontcolor-msw.c (mswindows_enumerate_fonts): | |
| 264 * dired.c: | |
| 265 * dired.c (Fdirectory_files): | |
| 266 * fileio.c: | |
| 267 * fileio.c (build_annotations): | |
| 268 * fileio.c (syms_of_fileio): | |
| 269 * keymap.c: | |
| 270 * keymap.c (keymap_submaps): | |
| 271 * keymap.c (map_keymap_sort_predicate): | |
| 272 * keymap.c (describe_map_sort_predicate): | |
| 273 * keymap.c (describe_map): | |
| 274 Change the various C predicates passed to list_sort () and | |
| 275 list_merge () to fit the new calling convention, returning | |
| 276 non-zero if the first argument is less than the second, zero | |
| 277 otherwise. | |
| 278 | |
| 279 2011-01-30 Michael Sperber <mike@xemacs.org> | |
| 280 | |
| 281 * redisplay.h: | |
| 282 * redisplay.c: | |
| 283 (redisplay_cancel_ritual_suicide): | |
| 284 * eval.c (throw_or_bomb_out_unsafe): | |
| 285 * device-x.c (x_IO_error_handler): Don't commit suicide when an X | |
| 286 device dies. | |
| 287 | |
| 288 2011-01-23 Aidan Kehoe <kehoea@parhasard.net> | |
| 289 | |
| 290 * file-coding.c (complex_vars_of_file_coding): | |
| 291 * intl-win32.c (complex_vars_of_intl_win32): | |
| 292 * profile.c (Fget_profiling_info): | |
| 293 * unicode.c (complex_vars_of_unicode): | |
| 294 Replace various awkward calls to nconc2 () with list6 () with | |
| 295 analogous calls to Ben's relatively-recently introduced listu (), | |
| 296 constructing a list from an arbitrary number of C arguments. | |
| 297 | |
| 298 2011-01-18 Mike Sperber <mike@xemacs.org> | |
| 299 | |
| 300 * s/freebsd.h: Zap. Not really needed anymore, and it has unclear | |
| 301 license status. | |
| 302 | |
| 303 2011-01-15 Aidan Kehoe <kehoea@parhasard.net> | |
| 304 | |
| 305 * s/usg5-4.h (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): | |
| 306 That didn't work; attempt with qxestrcpy_ascii(), | |
| 307 qxestrncpy_ascii(). | |
| 308 | |
| 309 2011-01-14 Aidan Kehoe <kehoea@parhasard.net> | |
| 310 | |
| 311 * s/hpux11.h (PTY_TTY_NAME_SPRINTF, PTY_NAME_SPRINTF): | |
| 312 * s/usg5-4.h (PTY_TTY_NAME_SPRINTF, PTY_NAME_SPRINTF): | |
| 313 Replace sprintf() with qxesprintf(), strcpy with qxestrpy(), | |
| 314 hopefully fixing some platform-specific C++ builds. | |
| 315 | |
| 316 2011-01-14 Aidan Kehoe <kehoea@parhasard.net> | |
| 317 | |
| 318 * fns.c (Ffind): Use the correct subr information here, pass in | |
| 319 the DEFAULT keyword argument value correctly. | |
| 320 | |
| 321 2011-01-11 Aidan Kehoe <kehoea@parhasard.net> | |
| 322 | |
| 323 * device-msw.c (Fmswindows_printer_list): Remove a Fdelete () | |
| 324 call here, remove the necessity for it. | |
| 325 * fns.c (Fdelete, Fdelq): | |
| 326 * lisp.h: | |
| 327 Move #'delete, #'delq to Lisp, implemented in terms of #'delete* | |
| 328 * select.c (Fown_selection_internal): | |
| 329 * select.c (handle_selection_clear): | |
| 330 Use delq_no_quit() in these functions, don't reimplement it or use | |
| 331 Fdelq(), which is now gone. | |
| 332 | |
| 333 2011-01-10 Aidan Kehoe <kehoea@parhasard.net> | |
| 334 | |
| 335 * mc-alloc.c (get_used_list_index): | |
| 336 Replace some C++ comments with C-style /* comments. | |
| 337 | |
| 338 2011-01-02 Aidan Kehoe <kehoea@parhasard.net> | |
| 339 | |
| 340 * fns.c (FdeleteX, FremoveX, Fnsubstitute, Fsubstitute, syms_of_fns): | |
| 341 Don't repeat the declaration and DEFSYMBOL() for Qnintersection in | |
| 342 this file; don't assume that bignums are always available. Fixes | |
| 343 some of the build problems the buildbot is showing me at the | |
| 344 moment. | |
| 345 (syms_of_fns): Remove a couple more duplicate symbol declarations. | |
| 346 | |
| 347 2011-01-01 Aidan Kehoe <kehoea@parhasard.net> | |
| 348 | |
| 349 * data.c (print_ephemeron, print_weak_list, print_weak_box): | |
| 350 Be more helpful in printing these structures; show their contents, | |
| 351 print their UIDs so it's possible to distinguish between them. | |
| 352 | |
| 353 2010-12-30 Aidan Kehoe <kehoea@parhasard.net> | |
| 354 | |
| 355 Move the heavy lifting from cl-seq.el to C, finally making those | |
| 356 functions first-class XEmacs citizens, with circularity checking, | |
| 357 built-in support for tests other than #'eql, and as much | |
| 358 compatibility with current Common Lisp as Paul Dietz' tests require. | |
| 359 | |
| 360 * fns.c (check_eq_nokey, check_eq_key, check_eql_nokey) | |
| 361 (check_eql_key, check_equal_nokey, check_equal_key) | |
| 362 (check_equalp_nokey, check_equalp_key, check_string_match_nokey) | |
| 363 (check_string_match_key, check_other_nokey, check_other_key) | |
| 364 (check_if_nokey, check_if_key, check_match_eq_key) | |
| 365 (check_match_eql_key, check_match_equal_key) | |
| 366 (check_match_equalp_key, check_match_other_key): New. These are | |
| 367 basically to provide function pointers to be used by Lisp | |
| 368 functions that take TEST, TEST-NOT and KEY arguments. | |
| 369 | |
| 370 (get_check_match_function_1, get_check_test_function) | |
| 371 (get_check_match_function): These functions work out which of the | |
| 372 previous list of functions to use, given the keywords supplied by | |
| 373 the user. | |
| 374 | |
| 375 (count_with_tail): New. This is the bones of #'count. | |
| 376 (list_count_from_end, string_count_from_end): Utility functions | |
| 377 for #'count. | |
| 378 (Fcount): New, moved from cl-seq.el. | |
| 379 (list_position_cons_before): New. The implementation of #'member*, | |
| 380 and important in implementing various other functions. | |
| 381 | |
| 382 (FmemberX, Fadjoin, FassocX, FrassocX, Fposition, Ffind) | |
| 383 (FdeleteX, FremoveX, Fdelete_duplicates, Fremove_duplicates) | |
| 384 (Fnsubstitute, Fsubstitute, Fsublis, Fnsublis, Fsubst, Fnsubst) | |
| 385 (Ftree_equal, Fmismatch, Fsearch, Fintersection, Fnintersection) | |
| 386 (Fsubsetp, Fset_difference, Fnset_difference, Fnunion, Funion) | |
| 387 (Fset_exclusive_or, Fnset_exclusive_or): New, moved here from | |
| 388 cl-seq.el. | |
| 389 | |
| 390 (position): New. The implementation of #'find and #'position. | |
| 391 (list_delete_duplicates_from_end, subst, sublis, nsublis) | |
| 392 (tree_equal, mismatch_from_end, mismatch_list_list) | |
| 393 (mismatch_list_string, mismatch_list_array) | |
| 394 (mismatch_string_array, mismatch_string_string) | |
| 395 (mismatch_array_array, get_mismatch_func): Helper C functions for | |
| 396 the Lisp-visible functions. | |
| 397 (venn, nvenn): New. The implementation of the main Lisp functions that | |
| 398 treat lists as sets. | |
| 399 | |
| 400 2010-12-30 Aidan Kehoe <kehoea@parhasard.net> | |
| 401 | |
| 402 * lisp.h (DECLARE_N_KEYWORDS_8, DECLARE_N_KEYWORDS_9) | |
| 403 (CHECK_N_KEYWORDS_8, CHECK_N_KEYWORDS_9): | |
| 404 Support up to nine keywords in the PARSE_KEYWORDS() macro. | |
| 405 | |
| 406 2010-12-30 Aidan Kehoe <kehoea@parhasard.net> | |
| 407 | |
| 408 * elhash.c (syms_of_elhash): | |
| 409 * chartab.c (syms_of_chartab): | |
| 410 * abbrev.c (syms_of_abbrev): | |
| 411 * general-slots.h: | |
| 412 Move Qcount, Q_default, Q_test to general-slots.h, they're about | |
| 413 to be used by other files. Rename Q_default to Q_default_, for the | |
| 414 sake of the PARSE_KEYWORDS macro (given that default is a reserved | |
| 415 identifier in C). Add SYMBOL_KEYWORD_GENERAL(), analogous to | |
| 416 SYMBOL_GENERAL() to make this easier. | |
| 417 | |
| 418 2010-12-29 Aidan Kehoe <kehoea@parhasard.net> | |
| 419 | |
| 420 * floatfns.c (Ffloat): If we've been handed a bigfloat here, it's | |
| 421 appropriate to give the same bigfloat back. | |
| 422 | |
| 423 2010-11-30 Aidan Kehoe <kehoea@parhasard.net> | |
| 424 | |
| 425 * fns.c (Ffill): | |
| 426 Move all declarations before statements, for the sake of the | |
| 427 Visual Studio build. Thank you Vin! | |
| 428 | |
| 429 2010-11-24 Aidan Kehoe <kehoea@parhasard.net> | |
| 430 | |
| 431 * font-mgr.c (Ffc_pattern_get): Fix my last change when both | |
| 432 --with-union-type and --with-xft are specified, thank you Robert | |
| 433 Delius Royar! | |
| 434 | |
| 435 2010-11-20 Aidan Kehoe <kehoea@parhasard.net> | |
| 436 | |
| 437 * abbrev.c (Fexpand_abbrev): | |
| 438 * alloc.c: | |
| 439 * alloc.c (Fmake_list): | |
| 440 * alloc.c (Fmake_vector): | |
| 441 * alloc.c (Fmake_bit_vector): | |
| 442 * alloc.c (Fmake_byte_code): | |
| 443 * alloc.c (Fmake_string): | |
| 444 * alloc.c (vars_of_alloc): | |
| 445 * bytecode.c (UNUSED): | |
| 446 * bytecode.c (Fbyte_code): | |
| 447 * chartab.c (decode_char_table_range): | |
| 448 * cmds.c (Fself_insert_command): | |
| 449 * data.c (check_integer_range): | |
| 450 * data.c (Fnatnump): | |
| 451 * data.c (Fnonnegativep): | |
| 452 * data.c (Fstring_to_number): | |
| 453 * elhash.c (hash_table_size_validate): | |
| 454 * elhash.c (decode_hash_table_size): | |
| 455 * eval.c (Fbacktrace_frame): | |
| 456 * event-stream.c (lisp_number_to_milliseconds): | |
| 457 * event-stream.c (Faccept_process_output): | |
| 458 * event-stream.c (Frecent_keys): | |
| 459 * event-stream.c (Fdispatch_event): | |
| 460 * events.c (Fmake_event): | |
| 461 * events.c (Fevent_timestamp): | |
| 462 * events.c (Fevent_timestamp_lessp): | |
| 463 * events.h: | |
| 464 * events.h (struct command_builder): | |
| 465 * file-coding.c (gzip_putprop): | |
| 466 * fns.c: | |
| 467 * fns.c (check_sequence_range): | |
| 468 * fns.c (Frandom): | |
| 469 * fns.c (Fnthcdr): | |
| 470 * fns.c (Flast): | |
| 471 * fns.c (Fnbutlast): | |
| 472 * fns.c (Fbutlast): | |
| 473 * fns.c (Fmember): | |
| 474 * fns.c (Ffill): | |
| 475 * fns.c (Freduce): | |
| 476 * fns.c (replace_string_range_1): | |
| 477 * fns.c (Freplace): | |
| 478 * font-mgr.c (Ffc_pattern_get): | |
| 479 * frame-msw.c (msprinter_set_frame_properties): | |
| 480 * glyphs.c (check_valid_xbm_inline): | |
| 481 * indent.c (Fmove_to_column): | |
| 482 * intl-win32.c (mswindows_multibyte_to_unicode_putprop): | |
| 483 * lisp.h: | |
| 484 * lisp.h (ARRAY_DIMENSION_LIMIT): | |
| 485 * lread.c (decode_mode_1): | |
| 486 * mule-ccl.c (ccl_get_compiled_code): | |
| 487 * number.h: | |
| 488 * process-unix.c (unix_open_multicast_group): | |
| 489 * process.c (Fset_process_window_size): | |
| 490 * profile.c (Fstart_profiling): | |
| 491 * unicode.c (Funicode_to_char): | |
| 492 Change NATNUMP to return 1 for positive bignums; changes uses of | |
| 493 it and of CHECK_NATNUM appropriately, usually by checking for an | |
| 494 integer in an appropriate range. | |
| 495 Add array-dimension-limit and use it in #'make-vector, | |
| 496 #'make-string. Add array-total-size-limit, array-rank-limit while | |
| 497 we're at it, for the sake of any Common Lisp-oriented code that | |
| 498 uses these limits. | |
| 499 Rename check_int_range to check_integer_range, have it take | |
| 500 Lisp_Objects (and thus bignums) instead. | |
| 501 Remove bignum_butlast(), just set int_n to an appropriately large | |
| 502 integer if N is a bignum. | |
| 503 Accept bignums in check_sequence_range(), change the functions | |
| 504 that use check_sequence_range() appropriately. | |
| 505 Move the definition of NATNUMP() to number.h; document why it's a | |
| 506 reasonable name, contradicting an old comment. | |
| 507 | |
| 508 2010-11-17 Aidan Kehoe <kehoea@parhasard.net> | |
| 509 | |
| 510 * fns.c (bignum_butlast): New. | |
| 511 (Fnbutlast, Fbutlast): Use it. | |
| 512 In #'butlast and #'nbutlast, if N is a bignum, we should always | |
| 513 return nil. Bug revealed by Paul Dietz' test suite, thank you | |
| 514 Paul. | |
| 515 | |
| 516 2010-11-15 Aidan Kehoe <kehoea@parhasard.net> | |
| 517 | |
| 518 * .gdbinit.in: Remove lrecord_type_popup_data, | |
| 519 lrecord_type_window_configuration from this file, they're not | |
| 520 used, and their presence breaks pobj in GDB at runtime for me. | |
| 521 | |
| 522 2010-11-14 Aidan Kehoe <kehoea@parhasard.net> | |
| 523 | |
| 524 * fns.c (Fnreverse): | |
| 525 Check that non-list sequences are writable from Lisp before | |
| 526 modifying them. (There's an argument that we should do this for | |
| 527 list sequences too, but for the moment other code (e.g. #'setcar) | |
| 528 doesn't.) | |
| 529 (mapcarX): Initialise lisp_vals_staging, lisp_vals_type | |
| 530 explicitly, for the sake of compile warnings. Check if | |
| 531 lisp_vals_staging is non-NULL when deciding whether to replace a | |
| 532 string's range. | |
| 533 (Fsome): Cross-reference to #'find-if in the doc string for this | |
| 534 function. | |
| 535 (Freduce): GCPRO accum in this function, when a key argument is | |
| 536 specicified it can be silently garbage-collected. When deciding | |
| 537 whether to iterate across a string, check whether the cursor | |
| 538 exceeds the byte len; while iterating, increment an integer | |
| 539 counter. Don't ABORT() if check_sequence_range() returns when | |
| 540 handed a suspicious sequence; it is legal to supply the length of | |
| 541 SEQUENCE as the :end keyword value, and this will provoke our | |
| 542 suspicions, legitimately enough. (Problems with this function | |
| 543 revealed by Paul Dietz' ANSI test suite, thank you Paul Dietz.) | |
| 544 (Freplace): Check list sequence lengths using the arguments, not | |
| 545 the conses we're currently looking at, thank you Paul Dietz. | |
| 546 | |
| 547 2010-11-14 Aidan Kehoe <kehoea@parhasard.net> | |
| 548 | |
| 549 * fns.c (Frandom): Correct the docstring here, the name of the | |
| 550 argument is LIMIT, not N. | |
| 551 | |
| 552 2010-11-06 Aidan Kehoe <kehoea@parhasard.net> | |
| 553 | |
| 554 * bytecode.c (bytecode_nreverse): Call Fnreverse() if SEQUENCE is | |
| 555 not a cons in this function. | |
| 556 (Fnreverse, Freverse): | |
| 557 Accept sequences, not just lists, in these functions. | |
| 558 | |
| 559 2010-11-06 Aidan Kehoe <kehoea@parhasard.net> | |
| 560 | |
| 561 * fns.c (Flist_length): Error if LIST is dotted in this function; | |
| 562 document this behaviour. | |
| 563 | |
| 564 2010-10-25 Aidan Kehoe <kehoea@parhasard.net> | |
| 565 | |
| 566 * specifier.c (specifier_instance_from_inst_list): | |
| 567 Call call_with_suspended_errors() with ERROR_ME_WARN, explicitly; | |
| 568 avoids the problem Giacomo Boffi describes in | |
| 569 http://mid.gmane.org/19617.52517.341117.388679@aiuole.stru.polimi.it | |
| 570 , but the specifier instantiation bug that makes XEmacs fail for | |
| 571 him is still visible. | |
| 572 | |
| 573 2010-10-25 Aidan Kehoe <kehoea@parhasard.net> | |
| 574 | |
| 575 * print.c (ulong_to_bit_string): If printing zero, actually print | |
| 576 a zero, don't return the empty string. | |
| 577 | |
| 578 2010-07-06 Stephen J. Turnbull <stephen@xemacs.org> | |
| 579 | |
| 580 * emodules.c (emodules_load): | |
| 581 Add one more dereference on f = dll_variable() in three places. | |
| 582 We then use EXTERNAL_TO_ITEXT on it, which returns an alloca'd | |
| 583 string, so I delete the unneeded alloca copy statements. | |
| 584 Fixes error reported by Anders Odberg, confirmed in | |
| 585 <rfawrpfhm3l.fsf@fangorn.uio.no>. | |
| 586 | |
| 587 2010-06-14 Stephen J. Turnbull <stephen@xemacs.org> | |
| 588 | |
| 589 * ui-byhand.c: | |
| 590 * gtk-glue.c: | |
| 591 Add copyright notice based on internal evidence. | |
| 592 | |
| 593 2010-06-14 Stephen J. Turnbull <stephen@xemacs.org> | |
| 594 | |
| 595 * number.h: Another permission consistency fix. | |
| 596 | |
| 597 2010-10-14 Aidan Kehoe <kehoea@parhasard.net> | |
| 598 | |
| 599 * fns.c (Fnbutlast, Fbutlast): | |
| 600 Tighten up Common Lisp compatibility for these two functions; they | |
| 601 need to operate on dotted lists without erroring. | |
| 602 | |
| 603 2010-10-12 Aidan Kehoe <kehoea@parhasard.net> | |
| 604 | |
| 605 * fns.c (list_merge): | |
| 606 Circularity checking here needs to be done independently for each | |
| 607 list, they can't share a loop counter. Thank you for the bug | |
| 608 report, Robert Pluim! | |
| 609 | |
| 610 2010-09-20 Aidan Kehoe <kehoea@parhasard.net> | |
| 611 | |
| 612 * lisp.h (GET_DEFUN_LISP_OBJECT): Make the NEW_GC version of this | |
| 613 work, remove a needless and unhelpful semicolon. | |
| 614 (GET_DEFUN_LISP_OBJECT): Remove a needless semicolon from the | |
| 615 non-NEW_GC version of this. | |
| 616 (PARSE_KEYWORDS): Fix the indentation for the DEBUG_XEMACS | |
| 617 version of this macro. | |
| 618 (PARSE_KEYWORDS): Use GET_DEFUN_LISP_OBJECT() for both the NEW_GC | |
| 619 and non-NEW_GC versions of this macro, when working out the | |
| 620 function's min args. | |
| 621 | |
| 622 2010-09-18 Aidan Kehoe <kehoea@parhasard.net> | |
| 623 | |
| 624 * lisp.h (PARSE_KEYWORDS): | |
| 625 Turns out #elsif is not valid preprocessor syntax, who knew! | |
| 626 | |
| 627 2010-09-18 Aidan Kehoe <kehoea@parhasard.net> | |
| 628 | |
| 629 * lisp.h (PARSE_KEYWORDS): | |
| 630 Correct the NEW_GC non-DEBUG_XEMACS version of this macro; under | |
| 631 such builds S##function is a pointer, not a Lisp_Subr structure. | |
| 632 | |
| 633 2010-09-18 Aidan Kehoe <kehoea@parhasard.net> | |
| 634 | |
| 635 Simplify the API of PARSE_KEYWORDS for callers. | |
| 636 | |
| 637 * lisp.h (PARSE_KEYWORDS): Simply the API, while making the | |
| 638 implementation a little more complex; work out KEYWORDS_OFFSET | |
| 639 from the appropriate Lisp_Subr struct, take the function name as | |
| 640 the C name of the DEFUN rather than a symbol visible as a | |
| 641 Lisp_Object, on debug builds assert that we're actually in the | |
| 642 function so we choke on badly-done copy-and-pasting, | |
| 643 | |
| 644 * lisp.h (PARSE_KEYWORDS_8): New. This is the old PARSE_KEYWORDS. | |
| 645 | |
| 646 * fns.c (Fmerge, FsortX, Ffill, Freduce, Freplace): | |
| 647 Change to use the new PARSE_KEYWORDS syntax. | |
| 648 * elhash.c (Fmake_hash_table): Chance to the new PARSE_KEYWORDS | |
| 649 syntax, rename a define to correspond to what other files use. | |
| 650 | |
| 651 * symbols.c (intern_massaging_name): | |
| 652 * buffer.c (ADD_INT): | |
| 653 Rename intern_converting_underscores_to_dashes() to | |
| 654 intern_massaging_name(), now it does a little more. | |
| 655 | |
| 656 2010-09-18 Aidan Kehoe <kehoea@parhasard.net> | |
| 657 | |
| 658 * termcap.c: | |
| 659 Add a couple of missing includes here, which should fix builds | |
| 660 that use this file. (I have no access to such builds, but Mats' | |
| 661 buildbot shows output that indicates they fail at link time since | |
| 662 DEVICE_BAUD_RATE and IS_DIRECTORY_SEP are available.) | |
| 663 | |
| 664 2010-09-18 Aidan Kehoe <kehoea@parhasard.net> | |
| 665 | |
| 666 * fns.c (Freduce): | |
| 667 Move statements outside of the braces surrounding the | |
| 668 EXTERNAL_LIST_LOOP_3 macro, fixing strict C89 builds. Thank you | |
| 669 for the report, Vin! | |
| 670 | |
| 671 2010-09-16 Aidan Kehoe <kehoea@parhasard.net> | |
| 672 | |
| 673 * fns.c (Flist_length): New, moved here from cl-extra.el, needed | |
| 674 by the next function. | |
| 675 (shortest_length_among_sequences): New. | |
| 676 (Fmapconcat, FmapcarX, Fmapvector, Fmapcan, Fmapc, Fmap) | |
| 677 (Fmap_into, Fsome, Fevery): | |
| 678 Use shortest_length_among_sequences() when working out how many | |
| 679 iterations to do, only giving circular list errors if all | |
| 680 arguments are circular. | |
| 681 | |
| 682 2010-09-16 Aidan Kehoe <kehoea@parhasard.net> | |
| 683 | |
| 684 * fns.c (Fsubseq): | |
| 685 Change the string code to better fit in with the rest of this | |
| 686 function (it still uses get_string_range_char(), though, which *may* | |
| 687 diverge algorithmically from what we're doing). | |
| 688 | |
| 689 If dealing with a cons, only call #'length if we have reason to | |
| 690 believe that the START and END arguments are badly specified, and | |
| 691 check for circular lists ourselves when that's appropriate. | |
| 692 | |
| 693 If dealing with a vector, call Fvector() on the appropriate subset | |
| 694 of the old vector's data directly, don't initialise the result | |
| 695 with nil and then copy. | |
| 696 | |
| 697 (Ffill): | |
| 698 Only check the range arguments for a cons SEQUENCE if we have good | |
| 699 reason to think they were badly specified. | |
| 700 | |
| 701 (Freduce): | |
| 702 Handle multiple values properly. Add bounds checking to this | |
| 703 function, as specificied by ANSI Common Lisp. | |
| 704 | |
| 705 2010-09-16 Aidan Kehoe <kehoea@parhasard.net> | |
| 706 | |
| 707 * eval.c (Ffunction, Fquote): | |
| 708 Add argument information in the arguments: () format for these two | |
| 709 special operators. | |
| 710 | |
| 711 2010-09-07 Aidan Kehoe <kehoea@parhasard.net> | |
| 712 | |
| 713 * fns.c (Freplace): | |
| 714 Replace an accidental double semi-colon with a single semi-colon, | |
| 715 hopefully fixing Vin's Visual Studio 6 build. (Visual Studio 2005 | |
| 716 had no problem with it, oddly.) | |
| 717 | |
| 718 2010-09-06 Aidan Kehoe <kehoea@parhasard.net> | |
| 719 | |
| 720 Move #'replace to C; add bounds checking to it and to #'fill. | |
| 721 | |
| 722 * fns.c (Fsubseq, Ffill, mapcarX): | |
| 723 Don't #'nreverse in #'subseq, use fill_string_range and check | |
| 724 bounds in #'fill, use replace_string_range() in #'map-into | |
| 725 avoiding quadratic time when modfiying the string. | |
| 726 | |
| 727 * fns.c (check_sequence_range, fill_string_range) | |
| 728 (replace_string_range, replace_string_range_1, Freplace): | |
| 729 New functions; check that arguments fit sequence dimensions, fill | |
| 730 a string range with a given character, replace a string range from | |
| 731 an Ibyte pointer. | |
| 732 | |
| 733 2010-09-05 Aidan Kehoe <kehoea@parhasard.net> | |
| 734 | |
| 735 * chartab.c (char_table_default_for_type, | |
| 736 chartab_default_validate): New. | |
| 737 (print_char_table, Freset_char_table, chartab_default_validate) | |
| 738 (chartab_instantiate, structure_type_create_chartab): | |
| 739 Accept keyword :default in the read syntax for char tables, and | |
| 740 print the default when it is not what was expected for the | |
| 741 time. Makes it a little easier to debug things. | |
| 742 | |
| 743 2010-09-05 Aidan Kehoe <kehoea@parhasard.net> | |
| 744 | |
| 745 * editfns.c (Fformat_time_string): | |
| 746 Use two backslashes so that there is at least one present in the | |
| 747 output of describe function, when describing the Roman month | |
| 748 number syntax in this function's docstring. Thanks for provoking | |
| 749 me to look at this, Stephen Turnbull. | |
| 750 | |
| 751 2010-09-03 Aidan Kehoe <kehoea@parhasard.net> | |
| 752 | |
| 753 * symsinit.h: Declare reinit_process_early() here, fixing the C++ | |
| 754 build; thank you for pointing this out, Adam Sjøgren! | |
| 755 * fontcolor-msw.c (mswindows_string_to_color): | |
| 756 Cast the result of bsearch() to a colormap_t pointer, fixing the | |
| 757 Visual Studio 2005 build. | |
| 758 | |
| 759 2010-09-02 Aidan Kehoe <kehoea@parhasard.net> | |
| 760 | |
| 761 * strftime.c (roman_upper, roman_lower, strftime): | |
| 762 Implement Roman month numbers, as used in central and eastern | |
| 763 Europe. | |
| 764 * editfns.c (Fformat_time_string): | |
| 765 Document two new escapes, to allow uppercase and lowercase Roman | |
| 766 month numbers. Remove documentation of a bug that we didn't | |
| 767 actually have. | |
| 768 * text.h (Qtime_function_encoding): We know the text encoding | |
| 769 coming from strftime(), because we always use the one in | |
| 770 strftime.c. Don't use Qnative. | |
| 771 | |
| 772 2010-09-01 Aidan Kehoe <kehoea@parhasard.net> | |
| 773 | |
| 774 * fns.c (list_merge, list_array_merge_into_list) | |
| 775 (list_array_merge_into_array): | |
| 776 Avoid algorithmic complexity surprises when checking for | |
| 777 circularity in these functions. | |
| 778 (Freduce): Fix some formatting, in passing. | |
| 779 | |
| 780 (mapcarX): Drop the SOME_OR_EVERY argument to this function; | |
| 781 instead, take CALLER, a symbol reflecting the Lisp-visible | |
| 782 function that called mapcarX(). Use CALLER with | |
| 783 mapping_interaction_error() when sequences are modified | |
| 784 illegally. Don't cons with #'some, #'every, not even a little. | |
| 785 (Fmapconcat, FmapcarX, Fmapvector, Fmapcan, Fmapc, Fmap) | |
| 786 (Fmap_into, Fsome, Fevery): Call mapcarX() with its new | |
| 787 arguments. | |
| 788 (Fmapcan): Don't unnecessarily complicate the nconc call. | |
| 789 | |
| 790 (maplist): Take CALLER, a symbol reflecting the Lisp-visible | |
| 791 function that called maplist(), rather than having separate | |
| 792 arguments to indicate mapl vs. mapcon. | |
| 793 Avoid algorithmic complexity surprises when checking for | |
| 794 circularity. In #'mapcon, check a given stretch of | |
| 795 result for well-formedness once, which was not previously the | |
| 796 case, despite what the comments said. | |
| 797 (Fmaplist, Fmapl, Fmapcon): | |
| 798 Call maplist() with its new arguments. | |
| 799 | |
| 800 2010-09-02 Aidan Kehoe <kehoea@parhasard.net> | |
| 801 | |
| 802 * process.c (process_getprop, process_putprop, process_remprop) | |
| 803 (process_plist, process_setplist, reinit_process_early): | |
| 804 Add functions to modify a process's property list. | |
| 805 * process-slots.h (MARKED_SLOT): Add a plist slot. | |
| 806 | |
| 807 * fns.c (Fobject_setplist): New function, analogous to #'setplist, | |
| 808 but more general. | |
| 809 Update the documentation in the other plist functions to reflect | |
| 810 that processes now have property lists. | |
| 811 * emacs.c (main_1): Call reinit_process_early(), now processes have | |
| 812 plist methods that need to be initialised. | |
| 813 * symbols.c (reinit_symbol_objects_early): Fsetplist is the named | |
| 814 setplist method for symbols. | |
| 815 | |
| 816 2010-08-30 Aidan Kehoe <kehoea@parhasard.net> | |
| 817 | |
| 818 * floatfns.c (ceiling_one_mundane_arg, floor_one_mundane_arg) | |
| 819 (round_one_mundane_arg, truncate_one_mundane_arg): | |
| 820 INTEGERP is always available, no need to wrap calls to it with | |
| 821 #ifdef HAVE_BIGNUM. | |
| 822 (Fceiling, Ffloor, Fround, Ftruncate, Ffceiling, Fffloor) | |
| 823 (Ffround, Fftruncate): | |
| 824 Correct some code formatting here. | |
| 825 * doprnt.c (emacs_doprnt_1): | |
| 826 Remove some needless #ifdef WITH_NUMBER_TYPES, now number.h is | |
| 827 always #included. | |
| 828 | |
| 829 2010-08-26 Adam Sjøgren <asjo@koldfront.dk> | |
| 830 | |
| 831 * glyphs-eimage.c (gif_instantiate): Try harder to find an | |
| 832 appropriate GIF colormap and then flag an error if one can't be | |
| 833 found. | |
| 834 | |
| 835 2010-08-21 Aidan Kehoe <kehoea@parhasard.net> | |
| 836 | |
| 837 * lread.c (read_escape): | |
| 838 Make error messages better reflect the text that was encountered, | |
| 839 when overlong hex character escapes or non-Latin-1 octal character | |
| 840 escapes are encountered. | |
| 841 | |
| 842 2010-08-15 Aidan Kehoe <kehoea@parhasard.net> | |
| 843 | |
| 844 * print.c (print_symbol): | |
| 845 Escape any symbols that look like ratios, in the same way we do | |
| 846 symbols that look like floats or integers. Prevents confusion in | |
| 847 the Lisp reader. | |
| 848 * lread.c (isratio_string): Make this available even on builds | |
| 849 without HAVE_RATIO, so we can print symbols that look like ratios | |
| 850 with the appropriate escapes. | |
| 851 * lisp.h: | |
| 852 Make isratio_string available even if HAVE_RATIO is not defined. | |
| 853 | |
| 854 2010-07-24 Aidan Kehoe <kehoea@parhasard.net> | |
| 855 | |
| 856 * lisp.h (PARSE_KEYWORDS): | |
| 857 Always accept a nil :allow-other-keys keyword argument, as | |
| 858 described in the ALLOW-OTHER-KEYS-NIL Common Lisp issue writeup, | |
| 859 and as necessary for Paul Dietz' tests for #'reduce. | |
| 860 | |
| 861 * fns.c (mapping_interaction_error): New. | |
| 862 (Freduce): Call mapping_interaction_error when KEY or FUNCTION | |
| 863 have modified a string SEQUENCE such that the byte length of the | |
| 864 string has changed, or such that the current cursor pointer | |
| 865 doesn't point to the beginning of a character. | |
| 866 Cf. the MAPPING-DESTRUCTIVE-INTERACTION Common Lisp issue | |
| 867 writeup. | |
| 868 When traversing a list, GCPRO the part of it we still have to | |
| 869 traverse, to avoid any crashes if FUNCTION or KEY amputate it | |
| 870 behind us and force a garbage collection. | |
| 871 | |
| 872 2010-06-05 Marcus Crestani <crestani@informatik.uni-tuebingen.de> | |
| 873 | |
| 874 * gc.c: | |
| 875 * mc-alloc.c: | |
| 876 Document the new allocator and the new garbage collector. | |
| 877 | |
| 878 2010-06-13 Stephen J. Turnbull <stephen@xemacs.org> | |
| 879 | |
| 880 * elhash.c: | |
| 881 * emacs.c: | |
| 882 * glade.c: | |
| 883 * gtk-glue.c: | |
| 884 * gtk-xemacs.c: | |
| 885 * gtk-xemacs.h: | |
| 886 * m/alpha.h: | |
| 887 * number-gmp.c: | |
| 888 * number-gmp.h: | |
| 889 * number-mp.c: | |
| 890 * number-mp.h: | |
| 891 * number.c: | |
| 892 * number.h: | |
| 893 * s/hpux11-shr.h: | |
| 894 * s/mach-bsd4-3.h: | |
| 895 * s/sco7.h: | |
| 896 * symsinit.h: | |
| 897 * ui-byhand.c: | |
| 898 * ui-gtk.c: | |
| 899 * ui-gtk.h: | |
| 900 Correct FSF address in permission notice. | |
| 901 | |
| 902 2010-06-08 Aidan Kehoe <kehoea@parhasard.net> | |
| 903 | |
| 904 * alloc.c (Fpurecopy): | |
| 905 Moved to obsolete.el as an alias for #'identity, marked obsolete. | |
| 906 | |
| 907 2010-06-06 Aidan Kehoe <kehoea@parhasard.net> | |
| 908 | |
| 909 * fns.c (Freduce): | |
| 910 Move this here from cl-seq.el, avoiding the need to cons. This | |
| 911 has been tested using Paul Dietz' test suite, and everything | |
| 912 applicable passes, with the exception that the | |
| 913 ALLOW-OTHER-KEYS-NIL Common Lisp issue (functions with &key must | |
| 914 *always* accept :allow-other-keys nil) hasn't been implemented. | |
| 915 | |
| 916 2010-06-02 Aidan Kehoe <kehoea@parhasard.net> | |
| 917 | |
| 918 * lread.c (vars_of_lread): | |
| 919 * emacs.c: | |
| 920 (shut_down_emacs, vars_of_emacs, complex_vars_of_emacs): | |
| 921 * device-x.c (get_device_from_display) | |
| 922 (have_xemacs_resources_in_xrdb): | |
| 923 * device-gtk.c (Fgtk_init): | |
| 924 * config.h.in: | |
| 925 Remove all checks for InfoDock. | |
| 926 | |
| 927 2010-06-01 Aidan Kehoe <kehoea@parhasard.net> | |
| 928 | |
| 929 * fns.c (Fsubstring_no_properties): | |
| 930 Add this function, API taken from GNU, though ours drops all | |
| 931 extent data, not just properties. | |
| 932 | |
| 933 2010-06-01 Aidan Kehoe <kehoea@parhasard.net> | |
| 934 | |
| 935 * glyphs.c (syms_of_glyphs): | |
| 936 Remove the definition of Q_data from this file, now it's in | |
| 937 general-slots.h. Problem picked up by a C++ build. | |
| 938 | |
| 939 2010-05-31 Aidan Kehoe <kehoea@parhasard.net> | |
| 940 | |
| 941 * rangetab.c (print_range_table, rangetab_instantiate) | |
| 942 (structure_type_create_rangetab): | |
| 943 * chartab.c (print_char_table, chartab_instantiate) | |
| 944 (structure_type_create_chartab): | |
| 945 * faces.c (syms_of_faces, print_face, face_validate): | |
| 946 | |
| 947 Move structure syntax in these files to using keywords by default, | |
| 948 as is done in Common Lisp and GNU Emacs, accepting for the moment | |
| 949 the older non-keywords syntax too. | |
| 950 | |
| 951 * glyphs.h: No need to have Q_data here. | |
| 952 * general-slots.h: Add Q_data, Q_type here. | |
| 953 | |
| 954 * config.h.in (NEED_TO_HANDLE_21_4_CODE): | |
| 955 New #define, always 1 for the moment, replacing the previous | |
| 956 never-really-used NO_NEED_TO_HANDLE_21_4_CODE, and avoiding | |
| 957 confusing syntax. | |
| 958 | |
| 959 * eval.c (Ffuncall): Wrap the hack that allows #'throw to be | |
| 960 funcalled in #ifdef NEED_TO_HANDLE_21_4_CODE. | |
| 961 * elhash.c (syms_of_elhash): Move Q_type, Q_data to | |
| 962 general-slots.h. Change to NEED_TO_HANDLE_21_4_CODE throughout | |
| 963 this file. | |
| 964 | |
| 965 2010-05-29 Aidan Kehoe <kehoea@parhasard.net> | |
| 966 | |
| 967 * fontcolor-msw.c (mswindows_X_color_map): Sort this, case | |
| 968 insensitively, by the color name. | |
| 969 (colormap_t_compare): New function. | |
| 970 (mswindows_string_to_color): When using symbolic color names, use | |
| 971 binary search, not linear search. | |
| 972 (mswindows_color_list): No need to start from the beginning of the | |
| 973 array and call #'nreverse to get the colors in an intuitive order, | |
| 974 just build the list starting from the end of the array. | |
| 975 | |
| 976 2010-05-28 Marcus Crestani <crestani@informatik.uni-tuebingen.de> | |
| 977 | |
| 978 * window.c (compute_window_usage): Unbreak `show-memory-usage' for | |
| 979 NEW_GC. | |
| 980 | |
| 981 2010-05-28 Marcus Crestani <crestani@informatik.uni-tuebingen.de> | |
| 982 | |
| 983 * mc-alloc.c: | |
| 984 * mc-alloc.c (visit_all_used_page_headers): | |
| 985 * mc-alloc.c (install_page_in_used_list): | |
| 986 * mc-alloc.c (mc_alloc_1): | |
| 987 * mc-alloc.c (init_mc_allocator): | |
| 988 * mc-alloc.c (Fmc_alloc_memory_usage): Allocate lrecord arrays in | |
| 989 own size class. | |
| 990 | |
| 991 2010-05-24 Mike Sperber <mike@xemacs.org> | |
| 992 | |
| 993 * lread.c (read1): Accept #B<binary>, #O<octal>, and #X<hex>, just | |
| 994 like GNU Emacs. | |
| 995 | |
| 996 2010-05-17 Jeff Sparkes <jsparkes@gmail.com> | |
| 997 | |
| 998 * buffer.c (complex_vars_of_buffer): | |
| 999 Add buffer local variables buffer-display-count and | |
| 1000 buffer-display-time. | |
| 1001 (common_init_complex_vars_of_buffer): | |
| 1002 Initialize them here. | |
| 1003 | |
| 1004 * bufslots.h: Add slots for buffer-display-count and buffer-display-time. | |
| 1005 | |
| 1006 * window.c (Fset_window_buffer): Update buffer-display-count and | |
| 1007 buffer-display-time whenever a buffer is displayed. | |
| 1008 | |
| 1009 2010-05-16 Aidan Kehoe <kehoea@parhasard.net> | |
| 1010 | |
| 1011 Move `default-file-system-ignore-case' to C; pay attention to it | |
| 1012 in creating the directory hash tables for #'locate-file. Fix a bug | |
| 1013 where #'eq was specified when creating directory hash tables in | |
| 1014 dired.c. | |
| 1015 | |
| 1016 * config.h.in (DEFAULT_FILE_SYSTEM_IGNORE_CASE): This is 1 on | |
| 1017 Darwin. | |
| 1018 * dired.c (make_directory_hash_table): If | |
| 1019 #'file-system-ignore-case-p gives non-nil for a directory, created | |
| 1020 the associated hash table with #'equalp as its test. Never use | |
| 1021 #'eq as a directory hash table test. | |
| 1022 * fileio.c (vars_of_fileio): | |
| 1023 Move `default-file-system-ignore-case' here, so it can be a | |
| 1024 constant boolean reflecting a compile-time #define. | |
| 1025 * lisp.h: Update the declaration of make_directory_hash_table; | |
| 1026 remove the declaration of wasteful_word_to_lisp, which was | |
| 1027 #ifdef'd out. | |
| 1028 * lread.c (Flocate_file): Take out a debugging statement from | |
| 1029 this function. | |
| 1030 (locate_file_refresh_hashing): Call make_directory_hash_table with | |
| 1031 a Lisp string, not an Ibyte pointer. | |
| 1032 (vars_of_lread): If DEFAULT_FILE_SYSTEM_IGNORE_CASE is defined, | |
| 1033 use #'equalp as the hash table test for locate-file-hash-table, | |
| 1034 not #'equal. | |
| 1035 * s/win32-common.h (DEFAULT_FILE_SYSTEM_IGNORE_CASE): | |
| 1036 Case should normally be ignored in file names on Win32. | |
| 1037 | |
| 1038 2010-04-29 Aidan Kehoe <kehoea@parhasard.net> | |
| 1039 | |
| 1040 * eval.c (Fquote, Ffunction): Error on more than one argument to | |
| 1041 these special operators. | |
| 1042 * data.c (syms_of_data): Move Qquote to general-slots.h from this | |
| 1043 file, now it's used in eval.c | |
| 1044 | |
| 1045 2010-04-17 Aidan Kehoe <kehoea@parhasard.net> | |
| 1046 | |
| 1047 * doc.c (Fdocumentation): | |
| 1048 If we have a zero length doc string in DOC, as may happen for | |
| 1049 undocumented compiled function objects which nonetheless have file | |
| 1050 information stored, return nil. | |
| 1051 (Fsnarf_documentation): | |
| 1052 DOC info existing for compiled functions without docstrings is | |
| 1053 perfectly legitimate, now the file is also used to store file names. | |
| 1054 * bytecode.c (set_compiled_function_documentation): | |
| 1055 Allow this function to set the documentation successfully for | |
| 1056 compiled function objects that don't currently have documentation; | |
| 1057 most relevant for functions without docstrings which have file | |
| 1058 information stored in DOC. | |
| 1059 | |
| 1060 2010-04-15 Ben Wing <ben@xemacs.org> | |
| 1061 | |
| 1062 * device-x.c (x_init_device): | |
| 1063 Don't declare something const if we're going to modify it. | |
| 1064 Clean up code to follow GNU coding standards. | |
| 1065 | |
| 1066 2010-04-12 Ben Wing <ben@xemacs.org> | |
| 1067 | |
| 1068 * specifier.c (specifier_memory_usage): | |
| 1069 Disable specifier memory-usage stats for now. Sometimes they can | |
| 1070 end up with circularities in them and I'm not sure exactly whats | |
| 1071 going on to produce them. | |
| 1072 | |
| 1073 2010-04-12 Ben Wing <ben@xemacs.org> | |
| 1074 | |
| 1075 * charset.h: | |
| 1076 * lisp.h: | |
| 1077 * lisp.h (XREALLOC_ARRAY): | |
| 1078 * text.h: | |
| 1079 Port charset_codepoint_to_itext(), buffer_itext_to_charset_codepoint(), | |
| 1080 EXTBYTE_STRING_TO_ALLOCA(), `enum converr' from ben-unicode-internal, | |
| 1081 for use with the mule-wnnfns.c changes. | |
| 1082 | |
| 1083 * mule-wnnfns.c: | |
| 1084 * mule-wnnfns.c (Fwnn_open): | |
| 1085 * mule-wnnfns.c (Fwnn_dict_add): | |
| 1086 * mule-wnnfns.c (Fwnn_dict_list): | |
| 1087 * mule-wnnfns.c (Fwnn_get_zenkouho): | |
| 1088 * mule-wnnfns.c (Fwnn_inspect): | |
| 1089 * mule-wnnfns.c (Fwnn_bunsetu_kanji): | |
| 1090 * mule-wnnfns.c (Fwnn_bunsetu_yomi): | |
| 1091 * mule-wnnfns.c (Fwnn_word_info): | |
| 1092 * mule-wnnfns.c (Fwnn_dict_search): | |
| 1093 * mule-wnnfns.c (Fwnn_get_msg): | |
| 1094 * mule-wnnfns.c (Fwnn_fuzokugo_set): | |
| 1095 * mule-wnnfns.c (Fwnn_fuzokugo_get): | |
| 1096 * mule-wnnfns.c (Fwnn_hinsi_list): | |
| 1097 * mule-wnnfns.c (Fwnn_fisys_dict_add): | |
| 1098 * mule-wnnfns.c (Fwnn_fiusr_dict_add): | |
| 1099 * mule-wnnfns.c (Fwnn_notrans_dict_add): | |
| 1100 * mule-wnnfns.c (Fwnn_bmodify_dict_add): | |
| 1101 * mule-wnnfns.c (reinit_vars_of_mule_wnn): | |
| 1102 * mule-wnnfns.c (vars_of_mule_wnn): | |
| 1103 * mule-wnnfns.c (w2m): | |
| 1104 * mule-wnnfns.c (m2w): | |
| 1105 * mule-wnnfns.c (yes_or_no): | |
| 1106 * mule-wnnfns.c (puts2): | |
| 1107 * mule-wnnfns.c (check_wnn_server_type): | |
| 1108 Mule-ize, borrowed from ben-unicode-internal. | |
| 1109 | |
| 1110 2010-04-09 Ben Wing <ben@xemacs.org> | |
| 1111 | |
| 1112 * fileio.c (check_writable): | |
| 1113 * fileio.c (Fdo_auto_save): | |
| 1114 * redisplay-xlike-inc.c (separate_textual_runs_nomule): | |
| 1115 * redisplay-xlike-inc.c (separate_textual_runs_xft_nomule): | |
| 1116 * redisplay-xlike-inc.c (separate_textual_runs_xft_mule): | |
| 1117 * redisplay-xlike-inc.c (separate_textual_runs_mule): | |
| 1118 * redisplay-xlike-inc.c (XLIKE_output_string): | |
| 1119 * redisplay-xlike-inc.c (XLIKE_output_vertical_divider): | |
| 1120 * redisplay.c (create_text_block): | |
| 1121 * redisplay.c (regenerate_window): | |
| 1122 * redisplay.c (redisplay_window): | |
| 1123 * redisplay.c (redisplay_device): | |
| 1124 * redisplay.c (window_line_number): | |
| 1125 * redisplay.c (point_would_be_visible): | |
| 1126 * redisplay.c (compute_display_line_dynarr_usage): | |
| 1127 * specifier.c (prune_specifiers): | |
| 1128 * specifier.c (finalize_specifier): | |
| 1129 * specifier.c (make_magic_specifier): | |
| 1130 * specifier.c (charset_matches_specifier_tag_set_p): | |
| 1131 * specifier.c (Fdefine_specifier_tag): | |
| 1132 * specifier.c (setup_device_initial_specifier_tags): | |
| 1133 * specifier.c (bodily_specifier): | |
| 1134 * specifier.c (add_spec_to_ghost_specifier): | |
| 1135 * specifier.c (remove_ghost_specifier): | |
| 1136 * specifier.c (set_specifier_fallback): | |
| 1137 * specifier.c (specifier_instance_from_inst_list): | |
| 1138 * specifier.c (set_specifier_caching): | |
| 1139 Fix coding style to correspond to GNU standard. | |
| 1140 | |
| 1141 2010-04-09 Didier Verna <didier@xemacs.org> | |
| 1142 | |
| 1143 * fontcolor-xlike-inc.c (DEBUG_FONTS2): | |
| 1144 * fontcolor-xlike-inc.c (DEBUG_FONTS3): | |
| 1145 * fontcolor-xlike-inc.c (DEBUG_FONTS4): | |
| 1146 * fontcolor-xlike-inc.c (DEBUG_FONTS_LISP1): | |
| 1147 * fontcolor-xlike-inc.c (DEBUG_FONTS_LISP2): | |
| 1148 * fontcolor-xlike-inc.c (DEBUG_FONTS_LISP3): | |
| 1149 * fontcolor-xlike-inc.c (DEBUG_FONTS_LISP4): Conditionalize | |
| 1150 definitions on DEBUG_XEMACS, provide empty definitions otherwise. | |
| 1151 | |
| 1152 2010-04-06 Ben Wing <ben@xemacs.org> | |
| 1153 | |
| 1154 * elhash.c (Feq_hash): | |
| 1155 Cast to EMACS_INT to fix warning. | |
| 1156 | |
| 1157 * elhash.c (internal_hash): | |
| 1158 * elhash.c (Feql_hash): | |
| 1159 Fix spacing before parens. | |
| 1160 | |
| 1161 * general-slots.h: | |
| 1162 * xemacs.def.in.in: | |
| 1163 Export Qfixnump to fix eldap.c link error. | |
| 1164 | |
| 1165 2010-04-06 Aidan Kehoe <kehoea@parhasard.net> | |
| 1166 | |
| 1167 * toolbar-msw.c (allocate_toolbar_item_id) | |
| 1168 (mswindows_output_toolbar): | |
| 1169 * menubar-msw.c (allocate_menu_item_id, checksum_menu_item): | |
| 1170 * glyphs-msw.c (mswindows_image_instance_hash): | |
| 1171 * fontcolor-msw.c (mswindows_color_instance_equal): | |
| 1172 * device-msw.c (hash_devmode): | |
| 1173 Call internal_hash() with the correct number of arguments, declare | |
| 1174 various hash methods with the correct number of arguments, fixing | |
| 1175 the Win32 build. Thank you Vin. | |
| 1176 | |
| 1177 2010-04-06 Aidan Kehoe <kehoea@parhasard.net> | |
| 1178 | |
| 1179 * frame.c (print_frame): | |
| 1180 When printing a frame, print its device, making the output of | |
| 1181 #'frame-list a lot more helpful if using gnuclient. | |
| 1182 | |
| 1183 2010-04-04 Ben Wing <ben@xemacs.org> | |
| 1184 | |
| 1185 * font-mgr.c: | |
| 1186 * font-mgr.c (fc_standard_properties): | |
| 1187 * font-mgr.c (Ffc_pattern_p): | |
| 1188 * font-mgr.c (Ffc_pattern_create): | |
| 1189 * font-mgr.c (Ffc_name_parse): | |
| 1190 * font-mgr.c (Ffc_name_unparse): | |
| 1191 * font-mgr.c (Ffc_pattern_duplicate): | |
| 1192 * font-mgr.c (Ffc_pattern_add): | |
| 1193 * font-mgr.c (Ffc_pattern_del): | |
| 1194 * font-mgr.c (Ffc_pattern_get): | |
| 1195 * font-mgr.c (fc_config_create_using): | |
| 1196 * font-mgr.c (fc_strlist_to_lisp_using): | |
| 1197 * font-mgr.c (fontset_to_list): | |
| 1198 * font-mgr.c (Ffc_config_p): | |
| 1199 * font-mgr.c (Ffc_config_create): | |
| 1200 * font-mgr.c (Ffc_config_destroy): | |
| 1201 * font-mgr.c (Ffc_config_up_to_date): | |
| 1202 * font-mgr.c (Ffc_config_build_fonts): | |
| 1203 * font-mgr.c (Ffc_config_get_config_dirs): | |
| 1204 * font-mgr.c (Ffc_config_get_font_dirs): | |
| 1205 * font-mgr.c (Ffc_config_get_config_files): | |
| 1206 * font-mgr.c (Ffc_config_get_cache): | |
| 1207 * font-mgr.c (Ffc_config_get_fonts): | |
| 1208 * font-mgr.c (Ffc_config_set_current): | |
| 1209 * font-mgr.c (Ffc_config_get_blanks): | |
| 1210 * font-mgr.c (Ffc_config_get_rescan_interval): | |
| 1211 * font-mgr.c (Ffc_config_set_rescan_interval): | |
| 1212 * font-mgr.c (Ffc_config_app_font_add_file): | |
| 1213 * font-mgr.c (Ffc_config_app_font_add_dir): | |
| 1214 * font-mgr.c (Ffc_config_app_font_clear): | |
| 1215 * font-mgr.c (Ffc_init_load_config): | |
| 1216 * font-mgr.c (Ffc_init_load_config_and_fonts): | |
| 1217 * font-mgr.c (Ffc_config_get_current): | |
| 1218 * font-mgr.c (size): | |
| 1219 * font-mgr.c (Ffc_font_render_prepare): | |
| 1220 * font-mgr.c (Ffc_font_match): | |
| 1221 * font-mgr.c (Ffc_font_sort): | |
| 1222 * font-mgr.c (Ffc_init): | |
| 1223 * font-mgr.c (Ffc_get_version): | |
| 1224 * font-mgr.c (Ffc_init_reinitialize): | |
| 1225 * font-mgr.c (Ffc_init_bring_up_to_date): | |
| 1226 * font-mgr.c (Fxlfd_font_name_p): | |
| 1227 * font-mgr.c (make_xlfd_font_regexp): | |
| 1228 * font-mgr.c (syms_of_font_mgr): | |
| 1229 * font-mgr.c (vars_of_font_mgr): | |
| 1230 * font-mgr.c (complex_vars_of_font_mgr): | |
| 1231 Fix the code to conform to GNU style standards. | |
| 1232 Rename xft-debug-level to debug-xft. | |
| 1233 | |
| 1234 * fontcolor-x.c: | |
| 1235 * fontcolor-x.c (vars_of_fontcolor_x): | |
| 1236 Rename debug-x-objects to debug-x-fonts. | |
| 1237 | |
| 1238 * fontcolor-xlike-inc.c: | |
| 1239 * fontcolor-xlike-inc.c (DEBUG_FONTS1): | |
| 1240 * fontcolor-xlike-inc.c (DEBUG_FONTS2): | |
| 1241 * fontcolor-xlike-inc.c (DEBUG_FONTS3): | |
| 1242 * fontcolor-xlike-inc.c (DEBUG_FONTS4): | |
| 1243 * fontcolor-xlike-inc.c (DEBUG_FONTS_LISP1): | |
| 1244 * fontcolor-xlike-inc.c (count_hyphens): | |
| 1245 * fontcolor-xlike-inc.c (XFUN): | |
| 1246 * fontcolor-xlike-inc.c (xlistfonts_checking_charset): | |
| 1247 * fontcolor-xlike-inc.c (xft_find_charset_font): | |
| 1248 Misc. code fixes, mostly cosmetic. Get rid of some warnings. | |
| 1249 Fix the code to conform to GNU style standards. | |
| 1250 | |
| 1251 * lisp.h: | |
| 1252 * print.c: | |
| 1253 * print.c (debug_out_lisp): | |
| 1254 New function for doing printf-like formatting involving Lisp objects | |
| 1255 and outputting to the debug output. | |
| 1256 | |
| 1257 2010-04-03 Aidan Kehoe <kehoea@parhasard.net> | |
| 1258 | |
| 1259 * fns.c (Ffill): | |
| 1260 Be much more careful about resizing a string argument, update | |
| 1261 pointers to within the string data that may have been relocated | |
| 1262 with the string resize. Fixes a test hang reported by Vin Shelton; | |
| 1263 thanks, Vin. | |
| 1264 | |
| 1265 2010-04-05 Aidan Kehoe <kehoea@parhasard.net> | |
| 1266 | |
| 1267 * elhash.h: | |
| 1268 * elhash.c (struct Hash_Table_Test, lisp_object_eql_equal) | |
| 1269 (lisp_object_eql_hash, lisp_object_equal_equal) | |
| 1270 (lisp_object_equal_hash, lisp_object_equalp_hash) | |
| 1271 (lisp_object_equalp_equal, lisp_object_general_hash) | |
| 1272 (lisp_object_general_equal, Feq_hash, Feql_hash, Fequal_hash) | |
| 1273 (Fequalp_hash, define_hash_table_test, Fdefine_hash_table_test) | |
| 1274 (init_elhash_once_early, mark_hash_table_tests, string_equalp_hash): | |
| 1275 * glyphs.c (vars_of_glyphs): | |
| 1276 Add a new hash table test in C, #'equalp. | |
| 1277 Make it possible to specify new hash table tests with functions | |
| 1278 define_hash_table_test, #'define-hash-table-test. | |
| 1279 Use define_hash_table_test() in glyphs.c. | |
| 1280 Expose the hash functions (besides that used for #'equal) to Lisp, | |
| 1281 for people writing functions to be used with #'define-hash-table-test. | |
| 1282 Call define_hash_table_test() very early in temacs, to create the | |
| 1283 built-in hash table tests. | |
| 1284 | |
| 1285 * ui-gtk.c (emacs_gtk_boxed_hash): | |
| 1286 * specifier.h (struct specifier_methods): | |
| 1287 * specifier.c (specifier_hash): | |
| 1288 * rangetab.c (range_table_entry_hash, range_table_hash): | |
| 1289 * number.c (bignum_hash, ratio_hash, bigfloat_hash): | |
| 1290 * marker.c (marker_hash): | |
| 1291 * lrecord.h (struct lrecord_implementation): | |
| 1292 * keymap.c (keymap_hash): | |
| 1293 * gui.c (gui_item_id_hash, gui_item_hash): | |
| 1294 * glyphs.c (image_instance_hash, glyph_hash): | |
| 1295 * glyphs-x.c (x_image_instance_hash): | |
| 1296 * glyphs-msw.c (mswindows_image_instance_hash): | |
| 1297 * glyphs-gtk.c (gtk_image_instance_hash): | |
| 1298 * frame-msw.c (mswindows_set_title_from_ibyte): | |
| 1299 * fontcolor.c (color_instance_hash, font_instance_hash): | |
| 1300 * fontcolor-x.c (x_color_instance_hash): | |
| 1301 * fontcolor-tty.c (tty_color_instance_hash): | |
| 1302 * fontcolor-msw.c (mswindows_color_instance_hash): | |
| 1303 * fontcolor-gtk.c (gtk_color_instance_hash): | |
| 1304 * fns.c (bit_vector_hash): | |
| 1305 * floatfns.c (float_hash): | |
| 1306 * faces.c (face_hash): | |
| 1307 * extents.c (extent_hash): | |
| 1308 * events.c (event_hash): | |
| 1309 * data.c (weak_list_hash, weak_box_hash): | |
| 1310 * chartab.c (char_table_entry_hash, char_table_hash): | |
| 1311 * bytecode.c (compiled_function_hash): | |
| 1312 * alloc.c (vector_hash): | |
| 1313 Change the various object hash methods to take a new EQUALP | |
| 1314 parameter, hashing appropriately for #'equalp if it is true. | |
| 1315 | |
| 1316 2010-04-02 Aidan Kehoe <kehoea@parhasard.net> | |
| 1317 | |
| 1318 * fns.c (FsortX, Ffill): | |
| 1319 Don't try to be clever with the ascii_begin string header slot in | |
| 1320 these functions, just call init_string_ascii_begin(). | |
| 1321 | |
| 1322 2010-04-02 Aidan Kehoe <kehoea@parhasard.net> | |
| 1323 | |
| 1324 Avoid build failure, Apple's g++-4.0.1, Mac OS 10.4. | |
| 1325 * sysdll.c (search_linked_libs, dll_variable): Correct some casts | |
| 1326 for the C++ build. | |
| 1327 * regex.h (END_C_DECLS, BEGIN_C_DECLS): Wrap function declarations | |
| 1328 in extern "C" { ... } on the C++ build. | |
| 1329 * mule-ccl.c (ccl_driver): Initialise i, silencing a warning on | |
| 1330 a C++ build. | |
| 1331 * keymap.c (key_desc_list_to_event): | |
| 1332 Work around a bug in Apple's g++-4.0.1. | |
| 1333 | |
| 1334 2010-03-31 Aidan Kehoe <kehoea@parhasard.net> | |
| 1335 | |
| 1336 * fns.c (STRING_DATA_TO_OBJECT_ARRAY) | |
| 1337 (BIT_VECTOR_TO_OBJECT_ARRAY, c_merge_predicate_key) | |
| 1338 (c_merge_predicate_nokey, list_merge, array_merge) | |
| 1339 (list_array_merge_into_list, list_list_merge_into_array) | |
| 1340 (list_array_merge_into_array, CHECK_KEY_ARGUMENT, Fmerge) | |
| 1341 (list_sort, array_sort, FsortX): | |
| 1342 Move #'sort*, #'fill, #'merge from cl-seq.el to C, extending the | |
| 1343 implementations of Fsort, Ffillarray, and merge() to do so. | |
| 1344 | |
| 1345 * keymap.c (keymap_submaps, map_keymap_sort_predicate) | |
| 1346 (describe_map_sort_predicate): | |
| 1347 Change the calling semantics of the C sort predicates to return a | |
| 1348 non-nil Lisp object if the first argument is less than the second, | |
| 1349 rather than C integers. | |
| 1350 | |
| 1351 * fontcolor-msw.c (sort_font_list_function): | |
| 1352 * fileio.c (build_annotations): | |
| 1353 * dired.c (Fdirectory_files): | |
| 1354 * abbrev.c (Finsert_abbrev_table_description): | |
| 1355 Call list_sort instead of Fsort, list_merge instead of merge() in | |
| 1356 these functions. | |
| 1357 | |
| 1358 2010-03-29 Ben Wing <ben@xemacs.org> | |
| 1359 | |
| 1360 * lisp.h (PRIVATE_UNVERIFIED_LIST_LOOP_7): | |
| 1361 Need to cast 0 to void (so both parts of conditional expression | |
| 1362 have void type) to fix C++ compilation. | |
| 1363 | |
| 1364 2010-03-29 Ben Wing <ben@xemacs.org> | |
| 1365 | |
| 1366 * alloc.c: | |
| 1367 * alloc.c (lisp_object_storage_size): | |
| 1368 * alloc.c (Fobject_memory_usage): | |
| 1369 * alloc.c (lisp_object_memory_usage_full): | |
| 1370 Don't crash if passed a non-record object (int or char). | |
| 1371 | |
| 1372 * alloc.c (tree_memory_usage_1): | |
| 1373 * lrecord.h: | |
| 1374 New function tree_memory_usage() to return the memory usage of | |
| 1375 a tree of conses and/or vectors. | |
| 1376 | |
| 1377 * lisp.h: | |
| 1378 * lisp.h (PRIVATE_UNVERIFIED_LIST_LOOP_7): | |
| 1379 Add SAFE_LIST_LOOP_* functions for looping over a list not known | |
| 1380 to be correct or non-circular, but without signalling an error -- | |
| 1381 instead, just stop enumerating when an error detected. | |
| 1382 | |
| 1383 * emacs.c (main_1): | |
| 1384 * specifier.c: | |
| 1385 * specifier.c (specifier_memory_usage): | |
| 1386 * specifier.c (vars_of_specifier): | |
| 1387 * symsinit.h: | |
| 1388 Add memory usage info for specifiers. | |
| 1389 | |
| 1390 2010-03-28 Ben Wing <ben@xemacs.org> | |
| 1391 | |
| 1392 * window.c (find_window_mirror_internal): | |
| 1393 Stop looking if no window mirror, and return 0. | |
| 1394 | |
| 1395 * window.c (window_display_lines): | |
| 1396 * window.c (window_display_buffer): | |
| 1397 * window.c (set_window_display_buffer): | |
| 1398 Don't need to update window mirror before calling find_window_mirror | |
| 1399 because does the updating automatically. | |
| 1400 | |
| 1401 2010-03-25 Ben Wing <ben@xemacs.org> | |
| 1402 | |
| 1403 * alloc.c: | |
| 1404 * alloc.c (struct): | |
| 1405 * alloc.c (finish_object_memory_usage_stats): | |
| 1406 * alloc.c (object_memory_usage_stats): | |
| 1407 * alloc.c (Fobject_memory_usage): | |
| 1408 * alloc.c (lisp_object_memory_usage_full): | |
| 1409 * alloc.c (compute_memusage_stats_length): | |
| 1410 * lrecord.h: | |
| 1411 * lrecord.h (struct lrecord_implementation): | |
| 1412 Add fields to the `lrecord_implementation' structure to list an | |
| 1413 offset into the array of extra statistics in a | |
| 1414 `struct generic_usage_stats' and a length, listing the first slice | |
| 1415 of ancillary Lisp-object memory. Compute automatically in | |
| 1416 compute_memusage_stats_length(). Use to add an entry | |
| 1417 `FOO-lisp-ancillary-storage' for object type FOO. | |
| 1418 | |
| 1419 Don't crash when an int or char is given to object-memory-usage, | |
| 1420 signal an error instead. | |
| 1421 | |
| 1422 Add functions lisp_object_memory_usage_full() and | |
| 1423 lisp_object_memory_usage() to compute the total memory usage of an | |
| 1424 object (sum of object, non-Lisp attached, and Lisp ancillary | |
| 1425 memory). | |
| 1426 | |
| 1427 * array.c: | |
| 1428 * array.c (gap_array_memory_usage): | |
| 1429 * array.h: | |
| 1430 Add function to return memory usage of a gap array. | |
| 1431 | |
| 1432 * buffer.c (struct buffer_stats): | |
| 1433 * buffer.c (compute_buffer_usage): | |
| 1434 * buffer.c (vars_of_buffer): | |
| 1435 * extents.c (compute_buffer_extent_usage): | |
| 1436 * marker.c: | |
| 1437 * marker.c (compute_buffer_marker_usage): | |
| 1438 * extents.h: | |
| 1439 * lisp.h: | |
| 1440 Remove `struct usage_stats' arg from compute_buffer_marker_usage() | |
| 1441 and compute_buffer_extent_usage() -- these are ancillary Lisp | |
| 1442 objects and don't get accumulated into `struct usage_stats'; | |
| 1443 change the value of `memusage_stats_list' so that `markers' and | |
| 1444 `extents' memory is in Lisp-ancillary, where it belongs. | |
| 1445 | |
| 1446 In compute_buffer_marker_usage(), use lisp_object_memory_usage() | |
| 1447 rather than lisp_object_storage_size(). | |
| 1448 | |
| 1449 * casetab.c: | |
| 1450 * casetab.c (case_table_memory_usage): | |
| 1451 * casetab.c (vars_of_casetab): | |
| 1452 * emacs.c (main_1): | |
| 1453 Add memory usage stats for case tables. | |
| 1454 | |
| 1455 * lisp.h: | |
| 1456 Add comment explaining the `struct generic_usage_stats' more, | |
| 1457 as well as the new fields in lrecord_implementation. | |
| 1458 | |
| 1459 * console-impl.h: | |
| 1460 * console-impl.h (struct console_methods): | |
| 1461 * scrollbar-gtk.c: | |
| 1462 * scrollbar-gtk.c (gtk_compute_scrollbar_instance_usage): | |
| 1463 * scrollbar-msw.c: | |
| 1464 * scrollbar-msw.c (mswindows_compute_scrollbar_instance_usage): | |
| 1465 * scrollbar-x.c: | |
| 1466 * scrollbar-x.c (x_compute_scrollbar_instance_usage): | |
| 1467 * scrollbar.c: | |
| 1468 * scrollbar.c (struct scrollbar_instance_stats): | |
| 1469 * scrollbar.c (compute_all_scrollbar_instance_usage): | |
| 1470 * scrollbar.c (scrollbar_instance_memory_usage): | |
| 1471 * scrollbar.c (scrollbar_objects_create): | |
| 1472 * scrollbar.c (vars_of_scrollbar): | |
| 1473 * scrollbar.h: | |
| 1474 * symsinit.h: | |
| 1475 * window.c: | |
| 1476 * window.c (find_window_mirror_maybe): | |
| 1477 * window.c (struct window_mirror_stats): | |
| 1478 * window.c (compute_window_mirror_usage): | |
| 1479 * window.c (window_mirror_memory_usage): | |
| 1480 * window.c (compute_window_usage): | |
| 1481 * window.c (window_objects_create): | |
| 1482 * window.c (syms_of_window): | |
| 1483 * window.c (vars_of_window): | |
| 1484 Redo memory-usage associated with windows, window mirrors, and | |
| 1485 scrollbar instances. Should fix crash in find_window_mirror, | |
| 1486 among other things. Properly assign memo ry to object memory, | |
| 1487 non-Lisp extra memory, and Lisp ancillary memory. For example, | |
| 1488 redisplay structures are non-Lisp memory hanging off a window | |
| 1489 mirror, not a window; make it an ancillary Lisp-object field. | |
| 1490 Window mirrors and scrollbar instances have their own statistics, | |
| 1491 among other things. | |
| 1492 | |
| 1493 2010-03-24 Ben Wing <ben@xemacs.org> | |
| 1494 | |
| 1495 * array.h: | |
| 1496 * array.h (XD_LISP_DYNARR_DESC): | |
| 1497 * dumper.c (pdump_register_sub): | |
| 1498 * dumper.c (pdump_store_new_pointer_offsets): | |
| 1499 * dumper.c (pdump_reloc_one_mc): | |
| 1500 * elhash.c: | |
| 1501 * gc.c (lispdesc_one_description_line_size): | |
| 1502 * gc.c (kkcc_marking): | |
| 1503 * lrecord.h: | |
| 1504 * lrecord.h (IF_NEW_GC): | |
| 1505 * lrecord.h (enum memory_description_type): | |
| 1506 * lrecord.h (enum data_description_entry_flags): | |
| 1507 * lrecord.h (struct opaque_convert_functions): | |
| 1508 Rename XD_LISP_OBJECT_BLOCK_PTR to XD_INLINE_LISP_OBJECT_BLOCK_PTR | |
| 1509 and document it in lrecord.h. | |
| 1510 | |
| 1511 * data.c: | |
| 1512 * data.c (finish_marking_weak_lists): | |
| 1513 * data.c (continue_marking_ephemerons): | |
| 1514 * data.c (finish_marking_ephemerons): | |
| 1515 * elhash.c (MARK_OBJ): | |
| 1516 * gc.c: | |
| 1517 * gc.c (lispdesc_indirect_count_1): | |
| 1518 * gc.c (struct): | |
| 1519 * gc.c (kkcc_bt_push): | |
| 1520 * gc.c (kkcc_gc_stack_push): | |
| 1521 * gc.c (kkcc_gc_stack_push_lisp_object): | |
| 1522 * gc.c (kkcc_gc_stack_repush_dirty_object): | |
| 1523 * gc.c (KKCC_DO_CHECK_FREE): | |
| 1524 * gc.c (mark_object_maybe_checking_free): | |
| 1525 * gc.c (mark_struct_contents): | |
| 1526 * gc.c (mark_lisp_object_block_contents): | |
| 1527 * gc.c (register_for_finalization): | |
| 1528 * gc.c (mark_object): | |
| 1529 * gc.h: | |
| 1530 * lisp.h: | |
| 1531 * profile.c: | |
| 1532 * profile.c (mark_profiling_info_maphash): | |
| 1533 Clean up KKCC code related to DEBUG_XEMACS. Rename | |
| 1534 kkcc_backtrace() to kkcc_backtrace_1() and add two params: a | |
| 1535 `size' arg to control how many stack elements to print and a | |
| 1536 `detailed' arg to control whether Lisp objects are printed using | |
| 1537 `debug_print()'. Create front-ends to kkcc_backtrace_1() -- | |
| 1538 kkcc_detailed_backtrace(), kkcc_short_backtrace(), | |
| 1539 kkcc_detailed_backtrace_full(), kkcc_short_backtrace_full(), as | |
| 1540 well as shortened versions kbt(), kbts(), kbtf(), kbtsf() -- to | |
| 1541 call it with various parameter values. Add an `is_lisp' field to | |
| 1542 the stack and backtrace structures and use it to keep track of | |
| 1543 whether an object pushed onto the stack is a Lisp object or a | |
| 1544 non-Lisp structure; in kkcc_backtrace_1(), don't try to print a | |
| 1545 non-Lisp structure as a Lisp object. | |
| 1546 | |
| 1547 * elhash.c: | |
| 1548 * extents.c: | |
| 1549 * file-coding.c: | |
| 1550 * lrecord.h: | |
| 1551 * lrecord.h (IF_NEW_GC): | |
| 1552 * marker.c: | |
| 1553 * marker.c (Fmarker_buffer): | |
| 1554 * mule-coding.c: | |
| 1555 * number.c: | |
| 1556 * rangetab.c: | |
| 1557 * specifier.c: | |
| 1558 New macros IF_OLD_GC(), IF_NEW_GC() to simplify declaration of | |
| 1559 Lisp objects when a finalizer may exist in one but not the other. | |
| 1560 Use them appropriately. | |
| 1561 | |
| 1562 * extents.c (finalize_extent_info): | |
| 1563 Don't zero out data->soe and data->extents before trying to free, | |
| 1564 else we get memory leaks. | |
| 1565 | |
| 1566 * lrecord.h (enum lrecord_type): | |
| 1567 Make the first lrecord type have value 1 not 0 so that 0 remains | |
| 1568 without implementation and attempts to interpret zeroed memory | |
| 1569 as a Lisp object will be more obvious. | |
| 1570 | |
| 1571 * array.c (Dynarr_free): | |
| 1572 * device-msw.c (msprinter_delete_device): | |
| 1573 * device-tty.c (free_tty_device_struct): | |
| 1574 * device-tty.c (tty_delete_device): | |
| 1575 * dialog-msw.c (handle_directory_dialog_box): | |
| 1576 * dialog-x.c: | |
| 1577 * emacs.c (free_argc_argv): | |
| 1578 * emodules.c (attempt_module_delete): | |
| 1579 * file-coding.c (chain_finalize_coding_stream_1): | |
| 1580 * file-coding.c (chain_finalize_coding_stream): | |
| 1581 * glyphs-eimage.c: | |
| 1582 * glyphs-eimage.c (jpeg_instantiate_unwind): | |
| 1583 * glyphs-eimage.c (gif_instantiate_unwind): | |
| 1584 * glyphs-eimage.c (png_instantiate_unwind): | |
| 1585 * glyphs-eimage.c (tiff_instantiate_unwind): | |
| 1586 * imgproc.c: | |
| 1587 * imgproc.c (build_EImage_quantable): | |
| 1588 * insdel.c (uninit_buffer_text): | |
| 1589 * mule-coding.c (iso2022_finalize_detection_state): | |
| 1590 * objects-tty.c (tty_finalize_color_instance): | |
| 1591 * objects-tty.c (tty_finalize_font_instance): | |
| 1592 * objects-tty.c (tty_font_list): | |
| 1593 * process.c: | |
| 1594 * process.c (finalize_process): | |
| 1595 * redisplay.c (add_propagation_runes): | |
| 1596 * scrollbar-gtk.c: | |
| 1597 * scrollbar-gtk.c (gtk_free_scrollbar_instance): | |
| 1598 * scrollbar-gtk.c (gtk_release_scrollbar_instance): | |
| 1599 * scrollbar-msw.c: | |
| 1600 * scrollbar-msw.c (mswindows_free_scrollbar_instance): | |
| 1601 * scrollbar-msw.c (unshow_that_mofo): | |
| 1602 * scrollbar-x.c (x_free_scrollbar_instance): | |
| 1603 * scrollbar-x.c (x_release_scrollbar_instance): | |
| 1604 * select-x.c: | |
| 1605 * select-x.c (x_handle_selection_request): | |
| 1606 * syntax.c: | |
| 1607 * syntax.c (uninit_buffer_syntax_cache): | |
| 1608 * text.h (eifree): | |
| 1609 If possible, whenever we call xfree() on a field in a structure, | |
| 1610 set the field to 0 afterwards. A lot of code is written so that | |
| 1611 it checks the value being freed to see if it is non-zero before | |
| 1612 freeing it -- doing this and setting the value to 0 afterwards | |
| 1613 ensures (a) we won't try to free twice if the cleanup code is | |
| 1614 called twice; (b) if the object itself stays around, KKCC won't | |
| 1615 crash when attempting to mark the freed field. | |
| 1616 | |
| 1617 * rangetab.c: | |
| 1618 Add a finalization method when not NEW_GC to avoid memory leaks. | |
| 1619 (#### We still get memory leaks when NEW_GC; need to convert gap | |
| 1620 array to Lisp object). | |
| 1621 | |
| 1622 2010-03-22 Ben Wing <ben@xemacs.org> | |
| 1623 | |
| 1624 * Makefile.in.in (objs): | |
| 1625 * array.c: | |
| 1626 * array.c (gap_array_adjust_markers): | |
| 1627 * array.c (gap_array_move_gap): | |
| 1628 * array.c (gap_array_make_gap): | |
| 1629 * array.c (gap_array_insert_els): | |
| 1630 * array.c (gap_array_delete_els): | |
| 1631 * array.c (gap_array_make_marker): | |
| 1632 * array.c (gap_array_delete_marker): | |
| 1633 * array.c (gap_array_delete_all_markers): | |
| 1634 * array.c (gap_array_clone): | |
| 1635 * array.h: | |
| 1636 * depend: | |
| 1637 * emacs.c (main_1): | |
| 1638 * extents.c: | |
| 1639 * extents.c (EXTENT_GAP_ARRAY_AT): | |
| 1640 * extents.c (extent_list_num_els): | |
| 1641 * extents.c (extent_list_locate): | |
| 1642 * extents.c (extent_list_at): | |
| 1643 * extents.c (extent_list_delete_all): | |
| 1644 * extents.c (allocate_extent_list): | |
| 1645 * extents.c (syms_of_extents): | |
| 1646 * extents.h: | |
| 1647 * extents.h (XEXTENT_LIST_MARKER): | |
| 1648 * lisp.h: | |
| 1649 * rangetab.c: | |
| 1650 * rangetab.c (mark_range_table): | |
| 1651 * rangetab.c (print_range_table): | |
| 1652 * rangetab.c (range_table_equal): | |
| 1653 * rangetab.c (range_table_hash): | |
| 1654 * rangetab.c (verify_range_table): | |
| 1655 * rangetab.c (get_range_table_pos): | |
| 1656 * rangetab.c (Fmake_range_table): | |
| 1657 * rangetab.c (Fcopy_range_table): | |
| 1658 * rangetab.c (Fget_range_table): | |
| 1659 * rangetab.c (put_range_table): | |
| 1660 * rangetab.c (Fclear_range_table): | |
| 1661 * rangetab.c (Fmap_range_table): | |
| 1662 * rangetab.c (unified_range_table_bytes_needed): | |
| 1663 * rangetab.c (unified_range_table_copy_data): | |
| 1664 * rangetab.c (unified_range_table_lookup): | |
| 1665 * rangetab.h: | |
| 1666 * rangetab.h (struct range_table_entry): | |
| 1667 * rangetab.h (struct Lisp_Range_Table): | |
| 1668 * rangetab.h (rangetab_gap_array_at): | |
| 1669 * symsinit.h: | |
| 1670 Rename dynarr.c to array.c. Move gap array from extents.c to array.c. | |
| 1671 Extract dynarr, gap array and stack-like malloc into new file array.h. | |
| 1672 Rename GAP_ARRAY_NUM_ELS -> gap_array_length(). Add gap_array_at(), | |
| 1673 gap_array_atp(). | |
| 1674 | |
| 1675 Rewrite range table code to use gap arrays. Make put_range_table() | |
| 1676 smarter so that its operation is O(log n) for adding a localized | |
| 1677 range. | |
| 1678 | |
| 1679 * gc.c (lispdesc_block_size_1): | |
| 1680 Don't ABORT() when two elements are located at the same place. | |
| 1681 This will happen with a size-0 gap array -- both parts of the array | |
| 1682 (before and after gap) are in the same place. | |
| 1683 | |
| 1684 2010-03-21 Ben Wing <ben@xemacs.org> | |
| 1685 | |
| 1686 * alloc.c: | |
| 1687 * alloc.c (assert_proper_sizing): | |
| 1688 * alloc.c (c_readonly): | |
| 1689 * alloc.c (malloced_storage_size): | |
| 1690 * alloc.c (fixed_type_block_overhead): | |
| 1691 * alloc.c (lisp_object_storage_size): | |
| 1692 * alloc.c (inc_lrecord_stats): | |
| 1693 * alloc.c (dec_lrecord_stats): | |
| 1694 * alloc.c (pluralize_word): | |
| 1695 * alloc.c (object_memory_usage_stats): | |
| 1696 * alloc.c (Fobject_memory_usage): | |
| 1697 * alloc.c (compute_memusage_stats_length): | |
| 1698 * alloc.c (disksave_object_finalization_1): | |
| 1699 * alloc.c (Fgarbage_collect): | |
| 1700 * mc-alloc.c: | |
| 1701 * mc-alloc.c (mc_alloced_storage_size): | |
| 1702 * mc-alloc.h: | |
| 1703 No functionality change here. Collect the allocations-statistics | |
| 1704 code that was scattered throughout alloc.c into one place. Add | |
| 1705 remaining section headings so that all sections have headings | |
| 1706 clearly identifying the start of the section and its purpose. | |
| 1707 Expose mc_alloced_storage_size() even when not MEMORY_USAGE_STATS; | |
| 1708 this fixes build problems and is related to the export of | |
| 1709 lisp_object_storage_size() and malloced_storage_size() when | |
| 1710 non-MEMORY_USAGE_STATS in the previous change set. | |
| 1711 | |
| 1712 2010-03-22 Vin Shelton <acs@xemacs.org> | |
| 1713 | |
| 1714 * window.c (vars_of_window): Move HAVE_SCROLLBARS test so the code | |
| 1715 can compile under Visual Studio 6. | |
| 1716 | |
| 1717 2010-03-21 Aidan Kehoe <kehoea@parhasard.net> | |
| 1718 | |
| 1719 * alloc.c (tick_lrecord_stats): | |
| 1720 Fix the union build after Ben's last change, don't assume that a | |
| 1721 Lisp_Object will fit into a Bytecount. | |
| 1722 | |
| 1723 2010-03-20 Ben Wing <ben@xemacs.org> | |
| 1724 | |
| 1725 * alloc.c: | |
| 1726 * alloc.c (init_lrecord_stats): | |
| 1727 * alloc.c (free_normal_lisp_object): | |
| 1728 * alloc.c (struct): | |
| 1729 * alloc.c (clear_lrecord_stats): | |
| 1730 * alloc.c (tick_lrecord_stats): | |
| 1731 * alloc.c (COUNT_FROB_BLOCK_USAGE): | |
| 1732 * alloc.c (COPY_INTO_LRECORD_STATS): | |
| 1733 * alloc.c (sweep_strings): | |
| 1734 * alloc.c (UNMARK_string): | |
| 1735 * alloc.c (gc_sweep_1): | |
| 1736 * alloc.c (finish_object_memory_usage_stats): | |
| 1737 * alloc.c (object_memory_usage_stats): | |
| 1738 * alloc.c (object_dead_p): | |
| 1739 * alloc.c (fixed_type_block_overhead): | |
| 1740 * alloc.c (lisp_object_storage_size): | |
| 1741 * emacs.c (main_1): | |
| 1742 * lisp.h: | |
| 1743 * lrecord.h: | |
| 1744 Export lisp_object_storage_size() and malloced_storage_size() even | |
| 1745 when not MEMORY_USAGE_STATS, to get the non-MEMORY_USAGE_STATS | |
| 1746 build to compile. | |
| 1747 | |
| 1748 Don't export fixed_type_block_overhead() any more. | |
| 1749 | |
| 1750 Some code cleanup, rearrangement, add some section headers. | |
| 1751 | |
| 1752 Clean up various bugs especially involving computation of overhead | |
| 1753 and double-counting certain usage in total_gc_usage. Add | |
| 1754 statistics computing the overhead used by all types. Don't add a | |
| 1755 special entry for string headers in the object-memory-usage-stats | |
| 1756 because it's already present as just "string". But do count the | |
| 1757 overhead used by long strings. Don't try to call the | |
| 1758 memory_usage() methods when NEW_GC because there's nowhere obvious | |
| 1759 in the sweep stage to make the calls. | |
| 1760 | |
| 1761 * marker.c (compute_buffer_marker_usage): | |
| 1762 Just use lisp_object_storage_size() rather than trying to | |
| 1763 reimplement it. | |
| 1764 | |
| 1765 2010-03-19 Ben Wing <ben@xemacs.org> | |
| 1766 | |
| 1767 * alloc.c: | |
| 1768 * alloc.c (struct): | |
| 1769 * alloc.c (tick_lrecord_stats): | |
| 1770 * alloc.c (gc_sweep_1): | |
| 1771 * alloc.c (finish_object_memory_usage_stats): | |
| 1772 * alloc.c (object_memory_usage_stats): | |
| 1773 * alloc.c (compute_memusage_stats_length): | |
| 1774 Call new memory-usage mechanism at sweep time to compute extra | |
| 1775 memory utilization for all objects. Add up the values element-by- | |
| 1776 element to get an aggregrate set of statistics, where each is the | |
| 1777 sum of the values of a single statistic across different objects | |
| 1778 of the same type. At end of sweep time, call | |
| 1779 finish_object_memory_usage_stats() to add up all the aggreggrate | |
| 1780 stats that are related to non-Lisp memory storage to compute | |
| 1781 a single value, and add it to the list of values returned by | |
| 1782 `garbage-collect' and `object-memory-usage-stats'. | |
| 1783 | |
| 1784 * buffer.c (compute_buffer_text_usage): | |
| 1785 Don't crash on buffers without text (killed buffers?) and don't | |
| 1786 double-count indirect buffers. | |
| 1787 | |
| 1788 * elhash.c: | |
| 1789 * elhash.c (hash_table_objects_create): | |
| 1790 * elhash.c (vars_of_elhash): | |
| 1791 * symsinit.h: | |
| 1792 Add memory-usage method to count the size of `hentries'. | |
| 1793 | |
| 1794 * emacs.c (main_1): | |
| 1795 Call new functions in elhash.c, frame.c at init. | |
| 1796 | |
| 1797 * frame.c: | |
| 1798 * frame.c (compute_frame_usage): | |
| 1799 * frame.c (frame_memory_usage): | |
| 1800 * frame.c (frame_objects_create): | |
| 1801 * symsinit.h: | |
| 1802 Add memory-usage method to count gutter display structures, | |
| 1803 subwindow exposures. | |
| 1804 | |
| 1805 * gc.c (gc_finish): | |
| 1806 * lisp.h: | |
| 1807 Declare finish_object_memory_usage_stats(), call it in gc_finish(). | |
| 1808 | |
| 1809 * lrecord.h (struct lrecord_implementation): | |
| 1810 * lrecord.h (INIT_MEMORY_USAGE_STATS): | |
| 1811 New value in implementation struct to track number of non-Lisp-memory | |
| 1812 statistics. Computed in alloc.c. | |
| 1813 | |
| 1814 | |
| 1815 2010-03-18 Ben Wing <ben@xemacs.org> | |
| 1816 | |
| 1817 * alloc.c: | |
| 1818 * alloc.c (disksave_object_finalization_1): | |
| 1819 * alloc.c (lisp_object_storage_size): | |
| 1820 * alloc.c (listu): | |
| 1821 * alloc.c (listn): | |
| 1822 * alloc.c (Fobject_memory_usage_stats): | |
| 1823 * alloc.c (compute_memusage_stats_length): | |
| 1824 * alloc.c (Fobject_memory_usage): | |
| 1825 * alloc.c (Ftotal_object_memory_usage): | |
| 1826 * alloc.c (malloced_storage_size): | |
| 1827 * alloc.c (common_init_alloc_early): | |
| 1828 * alloc.c (reinit_alloc_objects_early): | |
| 1829 * alloc.c (reinit_alloc_early): | |
| 1830 * alloc.c (init_alloc_once_early): | |
| 1831 * alloc.c (syms_of_alloc): | |
| 1832 * alloc.c (reinit_vars_of_alloc): | |
| 1833 * buffer.c: | |
| 1834 * buffer.c (struct buffer_stats): | |
| 1835 * buffer.c (compute_buffer_text_usage): | |
| 1836 * buffer.c (compute_buffer_usage): | |
| 1837 * buffer.c (buffer_memory_usage): | |
| 1838 * buffer.c (buffer_objects_create): | |
| 1839 * buffer.c (syms_of_buffer): | |
| 1840 * buffer.c (vars_of_buffer): | |
| 1841 * console-impl.h (struct console_methods): | |
| 1842 * dynarr.c (Dynarr_memory_usage): | |
| 1843 * emacs.c (main_1): | |
| 1844 * events.c (clear_event_resource): | |
| 1845 * extents.c: | |
| 1846 * extents.c (compute_buffer_extent_usage): | |
| 1847 * extents.c (extent_objects_create): | |
| 1848 * extents.h: | |
| 1849 * faces.c: | |
| 1850 * faces.c (compute_face_cachel_usage): | |
| 1851 * faces.c (face_objects_create): | |
| 1852 * faces.h: | |
| 1853 * general-slots.h: | |
| 1854 * glyphs.c: | |
| 1855 * glyphs.c (compute_glyph_cachel_usage): | |
| 1856 * glyphs.c (glyph_objects_create): | |
| 1857 * glyphs.h: | |
| 1858 * lisp.h: | |
| 1859 * lisp.h (struct usage_stats): | |
| 1860 * lrecord.h: | |
| 1861 * lrecord.h (enum lrecord_type): | |
| 1862 * lrecord.h (struct lrecord_implementation): | |
| 1863 * lrecord.h (MC_ALLOC_CALL_FINALIZER_FOR_DISKSAVE): | |
| 1864 * lrecord.h (DEFINE_DUMPABLE_LISP_OBJECT): | |
| 1865 * lrecord.h (DEFINE_DUMPABLE_SIZABLE_LISP_OBJECT): | |
| 1866 * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_LISP_OBJECT): | |
| 1867 * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_SIZABLE_LISP_OBJECT): | |
| 1868 * lrecord.h (DEFINE_DUMPABLE_INTERNAL_LISP_OBJECT): | |
| 1869 * lrecord.h (DEFINE_DUMPABLE_SIZABLE_INTERNAL_LISP_OBJECT): | |
| 1870 * lrecord.h (DEFINE_NODUMP_LISP_OBJECT): | |
| 1871 * lrecord.h (DEFINE_NODUMP_SIZABLE_LISP_OBJECT): | |
| 1872 * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_LISP_OBJECT): | |
| 1873 * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_SIZABLE_LISP_OBJECT): | |
| 1874 * lrecord.h (DEFINE_NODUMP_INTERNAL_LISP_OBJECT): | |
| 1875 * lrecord.h (DEFINE_NODUMP_SIZABLE_INTERNAL_LISP_OBJECT): | |
| 1876 * lrecord.h (MAKE_LISP_OBJECT): | |
| 1877 * lrecord.h (DEFINE_DUMPABLE_MODULE_LISP_OBJECT): | |
| 1878 * lrecord.h (DEFINE_DUMPABLE_MODULE_SIZABLE_LISP_OBJECT): | |
| 1879 * lrecord.h (DEFINE_NODUMP_MODULE_LISP_OBJECT): | |
| 1880 * lrecord.h (DEFINE_NODUMP_MODULE_SIZABLE_LISP_OBJECT): | |
| 1881 * lrecord.h (MAKE_MODULE_LISP_OBJECT): | |
| 1882 * lrecord.h (INIT_LISP_OBJECT): | |
| 1883 * lrecord.h (INIT_MODULE_LISP_OBJECT): | |
| 1884 * lrecord.h (UNDEF_LISP_OBJECT): | |
| 1885 * lrecord.h (UNDEF_MODULE_LISP_OBJECT): | |
| 1886 * lrecord.h (DECLARE_LISP_OBJECT): | |
| 1887 * lrecord.h (DECLARE_MODULE_API_LISP_OBJECT): | |
| 1888 * lrecord.h (DECLARE_MODULE_LISP_OBJECT): | |
| 1889 * lstream.c: | |
| 1890 * lstream.c (syms_of_lstream): | |
| 1891 * lstream.c (vars_of_lstream): | |
| 1892 * marker.c: | |
| 1893 * marker.c (compute_buffer_marker_usage): | |
| 1894 * mc-alloc.c (mc_alloced_storage_size): | |
| 1895 * mc-alloc.h: | |
| 1896 * mule-charset.c: | |
| 1897 * mule-charset.c (struct charset_stats): | |
| 1898 * mule-charset.c (compute_charset_usage): | |
| 1899 * mule-charset.c (charset_memory_usage): | |
| 1900 * mule-charset.c (mule_charset_objects_create): | |
| 1901 * mule-charset.c (syms_of_mule_charset): | |
| 1902 * mule-charset.c (vars_of_mule_charset): | |
| 1903 * redisplay.c: | |
| 1904 * redisplay.c (compute_rune_dynarr_usage): | |
| 1905 * redisplay.c (compute_display_block_dynarr_usage): | |
| 1906 * redisplay.c (compute_glyph_block_dynarr_usage): | |
| 1907 * redisplay.c (compute_display_line_dynarr_usage): | |
| 1908 * redisplay.c (compute_line_start_cache_dynarr_usage): | |
| 1909 * redisplay.h: | |
| 1910 * scrollbar-gtk.c (gtk_compute_scrollbar_instance_usage): | |
| 1911 * scrollbar-msw.c (mswindows_compute_scrollbar_instance_usage): | |
| 1912 * scrollbar-x.c (x_compute_scrollbar_instance_usage): | |
| 1913 * scrollbar.c (compute_scrollbar_instance_usage): | |
| 1914 * scrollbar.h: | |
| 1915 * symbols.c: | |
| 1916 * symbols.c (reinit_symbol_objects_early): | |
| 1917 * symbols.c (init_symbols_once_early): | |
| 1918 * symbols.c (reinit_symbols_early): | |
| 1919 * symbols.c (defsymbol_massage_name_1): | |
| 1920 * symsinit.h: | |
| 1921 * ui-gtk.c: | |
| 1922 * ui-gtk.c (emacs_gtk_object_getprop): | |
| 1923 * ui-gtk.c (emacs_gtk_object_putprop): | |
| 1924 * ui-gtk.c (ui_gtk_objects_create): | |
| 1925 * unicode.c (compute_from_unicode_table_size_1): | |
| 1926 * unicode.c (compute_to_unicode_table_size_1): | |
| 1927 * unicode.c (compute_from_unicode_table_size): | |
| 1928 * unicode.c (compute_to_unicode_table_size): | |
| 1929 * window.c: | |
| 1930 * window.c (struct window_stats): | |
| 1931 * window.c (compute_window_mirror_usage): | |
| 1932 * window.c (compute_window_usage): | |
| 1933 * window.c (window_memory_usage): | |
| 1934 * window.c (window_objects_create): | |
| 1935 * window.c (syms_of_window): | |
| 1936 * window.c (vars_of_window): | |
| 1937 * window.h: | |
| 1938 Redo memory-usage mechanism, make it general; add way of dynamically | |
| 1939 initializing Lisp object types -- OBJECT_HAS_METHOD(), similar to | |
| 1940 CONSOLE_HAS_METHOD(). | |
| 1941 | |
| 1942 (1) Create OBJECT_HAS_METHOD(), OBJECT_HAS_PROPERTY() etc. for | |
| 1943 specifying that a Lisp object type has a particular method or | |
| 1944 property. Call such methods with OBJECT_METH, MAYBE_OBJECT_METH, | |
| 1945 OBJECT_METH_OR_GIVEN; retrieve properties with OBJECT_PROPERTY. | |
| 1946 Methods that formerly required a DEFINE_*GENERAL_LISP_OBJECT() to | |
| 1947 specify them (getprop, putprop, remprop, plist, disksave) now | |
| 1948 instead use the dynamic-method mechanism. The main benefit of | |
| 1949 this is that new methods or properties can be added without | |
| 1950 requiring that the declaration statements of all existing methods | |
| 1951 be modified. We have to make the `struct lrecord_implementation' | |
| 1952 non-const, but I don't think this should have any effect on speed -- | |
| 1953 the only possible method that's really speed-critical is the | |
| 1954 mark method, and we already extract those out into a separate | |
| 1955 (non-const) array for increased cache locality. | |
| 1956 | |
| 1957 Object methods need to be reinitialized after pdump, so we put | |
| 1958 them in separate functions such as face_objects_create(), | |
| 1959 extent_objects_create() and call them appropriately from emacs.c | |
| 1960 The only current object property (`memusage_stats_list') that | |
| 1961 objects can specify is a Lisp object and gets staticpro()ed so it | |
| 1962 only needs to be set during dump time, but because it references | |
| 1963 symbols that might not exist in a syms_of_() function, we | |
| 1964 initialize it in vars_of_(). There is also an object property | |
| 1965 (`num_extra_memusage_stats') that is automatically initialized based | |
| 1966 on `memusage_stats_list'; we do that in reinit_vars_of_alloc(), | |
| 1967 which is called after all vars_of_() functions are called. | |
| 1968 | |
| 1969 `disksaver' method was renamed `disksave' to correspond with the | |
| 1970 name normally given to the function (e.g. disksave_lstream()). | |
| 1971 | |
| 1972 (2) Generalize the memory-usage mechanism in `buffer-memory-usage', | |
| 1973 `window-memory-usage', `charset-memory-usage' into an object-type- | |
| 1974 specific mechanism called by a single function | |
| 1975 `object-memory-usage'. (Former function `object-memory-usage' | |
| 1976 renamed to `total-object-memory-usage'). Generalize the mechanism | |
| 1977 of different "slices" so that we can have different "classes" of | |
| 1978 memory described and different "slices" onto each class; `t' | |
| 1979 separates classes, `nil' separates slices. Currently we have | |
| 1980 three classes defined: the memory of an object itself, | |
| 1981 non-Lisp-object memory associated with the object (e.g. arrays or | |
| 1982 dynarrs stored as fields in the object), and Lisp-object memory | |
| 1983 associated with the object (other internal Lisp objects stored in | |
| 1984 the object). This isn't completely finished yet and we might need | |
| 1985 to further separate the "other internal Lisp objects" class into | |
| 1986 two classes. | |
| 1987 | |
| 1988 The memory-usage mechanism uses a `struct usage_stats' (renamed | |
| 1989 from `struct overhead_stats') to describe a malloc-view onto a set | |
| 1990 of allocated memory (listing how much was requested and various | |
| 1991 types of overhead) and a more general `struct generic_usage_stats' | |
| 1992 (with a `struct usage_stats' in it) to hold all statistics about | |
| 1993 object memory. `struct generic_usage_stats' contains an array of | |
| 1994 32 Bytecounts, which are statistics of unspecified semantics. The | |
| 1995 intention is that individual types declare a corresponding struct | |
| 1996 (e.g. `struct window_stats') with the same structure but with | |
| 1997 specific fields in place of the array, corresponding to specific | |
| 1998 statistics. The number of such statistics is an object property | |
| 1999 computed from the list of tags (Lisp symbols describing the | |
| 2000 statistics) stored in `memusage_stats_list'. The idea here is to | |
| 2001 allow particular object types to customize the number and | |
| 2002 semantics of the statistics where completely avoiding consing. | |
| 2003 This doesn't matter so much yet, but the intention is to have the | |
| 2004 memory usage of all objects computed at the end of GC, at the same | |
| 2005 time as other statistics are currently computed. The values for | |
| 2006 all statistics for a single type would be added up to compute | |
| 2007 aggregate values for all objects of a specific type. To make this | |
| 2008 efficient, we can't allow any memory allocation at all. | |
| 2009 | |
| 2010 (3) Create some additional functions for creating lists that | |
| 2011 specify the elements directly as args rather than indirectly through | |
| 2012 an array: listn() (number of args given), listu() (list terminated | |
| 2013 by Qunbound). | |
| 2014 | |
| 2015 (4) Delete a bit of remaining unused C window_config stuff, also | |
| 2016 unused lrecord_type_popup_data. | |
| 2017 | |
| 2018 | |
| 2019 2010-03-18 Ben Wing <ben@xemacs.org> | |
| 2020 | |
| 2021 * tests.c: | |
| 2022 * tests.c (Ftest_data_format_conversion): | |
| 2023 Need to GCPRO newly created objects or we'll eventually get | |
| 2024 a crash due to occurrence of call2(). | |
| 2025 | |
| 2026 2010-03-16 Ben Wing <ben@xemacs.org> | |
| 2027 | |
| 2028 * alloc.c (make_lcrecord_list): | |
| 2029 * alloc.c (alloc_managed_lcrecord): | |
| 2030 Fix compilation problems identified by Robert Delius Royar. | |
| 2031 | |
| 2032 2010-03-15 Ben Wing <ben@xemacs.org> | |
| 2033 | |
| 2034 * extents.c (Fprevious_single_property_change): | |
| 2035 * extents.c (Fnext_single_char_property_change): | |
| 2036 * extents.c (Fprevious_single_char_property_change): | |
| 2037 Fix see-also portion of documentation string. | |
| 2038 | |
| 2039 2010-03-15 Ben Wing <ben@xemacs.org> | |
| 2040 | |
| 2041 * alloc.c: | |
| 2042 * alloc.c (c_readonly): | |
| 2043 * alloc.c (deadbeef_memory): | |
| 2044 * alloc.c (make_compiled_function): | |
| 2045 * alloc.c (make_button_data): | |
| 2046 * alloc.c (make_motion_data): | |
| 2047 * alloc.c (make_process_data): | |
| 2048 * alloc.c (make_timeout_data): | |
| 2049 * alloc.c (make_magic_data): | |
| 2050 * alloc.c (make_magic_eval_data): | |
| 2051 * alloc.c (make_eval_data): | |
| 2052 * alloc.c (make_misc_user_data): | |
| 2053 * alloc.c (noseeum_make_marker): | |
| 2054 * alloc.c (ADDITIONAL_FREE_string): | |
| 2055 * alloc.c (common_init_alloc_early): | |
| 2056 * alloc.c (init_alloc_once_early): | |
| 2057 * bytecode.c (print_compiled_function): | |
| 2058 * bytecode.c (mark_compiled_function): | |
| 2059 * casetab.c: | |
| 2060 * casetab.c (print_case_table): | |
| 2061 * console.c: | |
| 2062 * console.c (print_console): | |
| 2063 * database.c (print_database): | |
| 2064 * database.c (finalize_database): | |
| 2065 * device-msw.c (sync_printer_with_devmode): | |
| 2066 * device-msw.c (print_devmode): | |
| 2067 * device-msw.c (finalize_devmode): | |
| 2068 * device.c: | |
| 2069 * device.c (print_device): | |
| 2070 * elhash.c: | |
| 2071 * elhash.c (print_hash_table): | |
| 2072 * eval.c (print_multiple_value): | |
| 2073 * eval.c (mark_multiple_value): | |
| 2074 * events.c (deinitialize_event): | |
| 2075 * events.c (print_event): | |
| 2076 * events.c (event_equal): | |
| 2077 * extents.c: | |
| 2078 * extents.c (soe_dump): | |
| 2079 * extents.c (soe_insert): | |
| 2080 * extents.c (soe_delete): | |
| 2081 * extents.c (soe_move): | |
| 2082 * extents.c (extent_fragment_update): | |
| 2083 * extents.c (print_extent_1): | |
| 2084 * extents.c (print_extent): | |
| 2085 * extents.c (vars_of_extents): | |
| 2086 * frame.c: | |
| 2087 * frame.c (print_frame): | |
| 2088 * free-hook.c: | |
| 2089 * free-hook.c (check_free): | |
| 2090 * glyphs.c: | |
| 2091 * glyphs.c (print_image_instance): | |
| 2092 * glyphs.c (print_glyph): | |
| 2093 * gui.c: | |
| 2094 * gui.c (copy_gui_item): | |
| 2095 * hash.c: | |
| 2096 * hash.c (NULL_ENTRY): | |
| 2097 * hash.c (KEYS_DIFFER_P): | |
| 2098 * keymap.c (print_keymap): | |
| 2099 * keymap.c (MARKED_SLOT): | |
| 2100 * lisp.h: | |
| 2101 * lrecord.h: | |
| 2102 * lrecord.h (LISP_OBJECT_UID): | |
| 2103 * lrecord.h (set_lheader_implementation): | |
| 2104 * lrecord.h (struct old_lcrecord_header): | |
| 2105 * lstream.c (print_lstream): | |
| 2106 * lstream.c (finalize_lstream): | |
| 2107 * marker.c (print_marker): | |
| 2108 * marker.c (marker_equal): | |
| 2109 * mc-alloc.c (visit_all_used_page_headers): | |
| 2110 * mule-charset.c: | |
| 2111 * mule-charset.c (print_charset): | |
| 2112 * objects.c (print_color_instance): | |
| 2113 * objects.c (print_font_instance): | |
| 2114 * objects.c (finalize_font_instance): | |
| 2115 * opaque.c (print_opaque): | |
| 2116 * opaque.c (print_opaque_ptr): | |
| 2117 * opaque.c (equal_opaque_ptr): | |
| 2118 * print.c (internal_object_printer): | |
| 2119 * print.c (enum printing_badness): | |
| 2120 * rangetab.c (print_range_table): | |
| 2121 * rangetab.c (range_table_equal): | |
| 2122 * specifier.c (print_specifier): | |
| 2123 * specifier.c (finalize_specifier): | |
| 2124 * symbols.c: | |
| 2125 * symbols.c (print_symbol_value_magic): | |
| 2126 * tooltalk.c: | |
| 2127 * tooltalk.c (print_tooltalk_message): | |
| 2128 * tooltalk.c (print_tooltalk_pattern): | |
| 2129 * window.c (print_window): | |
| 2130 * window.c (debug_print_window): | |
| 2131 (1) Make lrecord UID's have a separate UID space for each object. | |
| 2132 Otherwise, with 20-bit UID's, we rapidly wrap around, especially | |
| 2133 when common objects like conses and strings increment the UID value | |
| 2134 for every object created. (Originally I tried making two UID spaces, | |
| 2135 one for objects that always print readably and hence don't display | |
| 2136 the UID, and one for other objects. But certain objects like markers | |
| 2137 for which a UID is displayed are still generated rapidly enough that | |
| 2138 UID overflow is a serious issue.) This also has the advantage of | |
| 2139 making UID values smaller, hence easier to remember -- their main | |
| 2140 purpose is to make it easier to keep track of different objects of | |
| 2141 the same type when debugging code. Make sure we dump lrecord UID's | |
| 2142 so that we don't have problems with pdumped and non-dumped objects | |
| 2143 having the same UID. | |
| 2144 | |
| 2145 (2) Display UID's consistently whenever an object (a) doesn't | |
| 2146 consistently print readably (objects like cons and string, which | |
| 2147 always print readably, can't display a UID), and (b) doesn't | |
| 2148 otherwise have a unique property that makes objects of a | |
| 2149 particular type distinguishable. (E.g. buffers didn't and still | |
| 2150 don't print an ID, but the buffer name uniquely identifies the | |
| 2151 buffer.) Some types, such as event, extent, compiled-function, | |
| 2152 didn't always (or didn't ever) display an ID; others (such as | |
| 2153 marker, extent, lstream, opaque, opaque-ptr, any object using | |
| 2154 internal_object_printer()) used to display the actual machine | |
| 2155 pointer instead. | |
| 2156 | |
| 2157 (3) Rename NORMAL_LISP_OBJECT_UID to LISP_OBJECT_UID; make it work | |
| 2158 over all Lisp objects and take a Lisp object, not a struct pointer. | |
| 2159 | |
| 2160 (4) Some misc cleanups in alloc.c, elhash.c. | |
| 2161 | |
| 2162 (5) Change code in events.c that "deinitializes" an event so that | |
| 2163 it doesn't increment the event UID counter in the process. Also | |
| 2164 use deadbeef_memory() to overwrite memory instead of doing the same | |
| 2165 with custom code. In the process, make deadbeef_memory() in | |
| 2166 alloc.c always available, and delete extraneous copy in mc-alloc.c. | |
| 2167 Also capitalize all uses of 0xDEADBEEF. Similarly in elhash.c | |
| 2168 call deadbeef_memory(). | |
| 2169 | |
| 2170 (6) Resurrect "debug SOE" code in extents.c. Make it conditional | |
| 2171 on DEBUG_XEMACS and on a `debug-soe' variable, rather than on | |
| 2172 SOE_DEBUG. Make it output to stderr, not stdout. | |
| 2173 | |
| 2174 (7) Delete some custom print methods that were identical to | |
| 2175 external_object_printer(). | |
| 2176 | |
| 2177 2010-03-12 Ben Wing <ben@xemacs.org> | |
| 2178 | |
| 2179 * lisp.h: | |
| 2180 * lisp.h (redo-symbols): Removed. | |
| 2181 Put the Lisp variables and symbols where they belong, with other | |
| 2182 stuff related to the file they're in. | |
| 2183 | |
| 2184 * event-Xt.c (THIS_IS_X): | |
| 2185 * event-Xt.c (syms_of_event_Xt): | |
| 2186 * event-Xt.c (reinit_vars_of_event_Xt): | |
| 2187 * event-gtk.c: | |
| 2188 * event-gtk.c (syms_of_event_gtk): | |
| 2189 * event-gtk.c (reinit_vars_of_event_gtk): | |
| 2190 * event-stream.c: | |
| 2191 * event-stream.c (syms_of_event_stream): | |
| 2192 * event-stream.c (reinit_vars_of_event_stream): | |
| 2193 * events.c (reinit_vars_of_events): | |
| 2194 * events.c (vars_of_events): | |
| 2195 `sans-modifiers' was defsymbol'ed more than once. Move it to | |
| 2196 events-stream.c. `self-insert-command' was defsymbol'ed more than once. | |
| 2197 Vevent_resource should be staticpro_nodump()ed as it's declared in | |
| 2198 a reinit_*() method. | |
| 2199 | |
| 2200 * lread.c (vars_of_lread): | |
| 2201 Vfile_domain wasn't staticpro'ed. | |
| 2202 | |
| 2203 * minibuf.c: | |
| 2204 * minibuf.c (reinit_complex_vars_of_minibuf): | |
| 2205 Vminibuffer_zero and Vecho_area_buffer weren't staticpro'ed. | |
| 2206 | |
| 2207 2010-03-12 Ben Wing <ben@xemacs.org> | |
| 2208 | |
| 2209 * redisplay-msw.c: | |
| 2210 * redisplay-msw.c (mswindows_output_dibitmap_region): | |
| 2211 * redisplay-msw.c (mswindows_output_pixmap): | |
| 2212 * redisplay-msw.c (mswindows_clear_region): | |
| 2213 Have a crack at implementing the `absolute' property for | |
| 2214 background pixmaps. It seems to work; however, things don't | |
| 2215 work quite right in relation to window sizing/moving. In particular, | |
| 2216 ideally when you move the window the background should stay in place | |
| 2217 but it doesn't; instead it moves, and when you hit C-l it gets | |
| 2218 redrawn in the "proper" place. When resizing you get some serious | |
| 2219 jitter, apparently as first the image gets moved then redrawn in | |
| 2220 the correct offset position. #### Not sure how to fix this. | |
| 2221 | |
| 2222 2010-03-13 Ben Wing <ben@xemacs.org> | |
| 2223 | |
| 2224 * alloc.c (alloc_sized_lrecord_1): | |
| 2225 * alloc.c (alloc_sized_lrecord_array): | |
| 2226 * alloc.c (old_alloc_sized_lcrecord): | |
| 2227 * alloc.c (disksave_object_finalization_1): | |
| 2228 * alloc.c (mark_lcrecord_list): | |
| 2229 * alloc.c (alloc_managed_lcrecord): | |
| 2230 * alloc.c (free_managed_lcrecord): | |
| 2231 * alloc.c (tick_lcrecord_stats): | |
| 2232 * alloc.c (sweep_lcrecords_1): | |
| 2233 * buffer.c (print_buffer): | |
| 2234 * buffer.c (DEFVAR_BUFFER_LOCAL_1): | |
| 2235 * casetab.c: | |
| 2236 * casetab.c (print_case_table): | |
| 2237 * console.c (print_console): | |
| 2238 * console.c (DEFVAR_CONSOLE_LOCAL_1): | |
| 2239 * data.c (print_weak_list): | |
| 2240 * data.c (print_weak_box): | |
| 2241 * data.c (print_ephemeron): | |
| 2242 * data.c (ephemeron_equal): | |
| 2243 * database.c (print_database): | |
| 2244 * database.c (finalize_database): | |
| 2245 * device-msw.c (sync_printer_with_devmode): | |
| 2246 * device-msw.c (print_devmode): | |
| 2247 * device-msw.c (finalize_devmode): | |
| 2248 * device.c: | |
| 2249 * device.c (print_device): | |
| 2250 * elhash.c: | |
| 2251 * elhash.c (print_hash_table): | |
| 2252 * eval.c (print_subr): | |
| 2253 * eval.c (print_multiple_value): | |
| 2254 * event-stream.c (event_stream_resignal_wakeup): | |
| 2255 * events.c (clear_event_resource): | |
| 2256 * events.c (zero_event): | |
| 2257 * events.c (print_event): | |
| 2258 * extents.c: | |
| 2259 * extents.c (print_extent): | |
| 2260 * file-coding.c (print_coding_system): | |
| 2261 * font-mgr.c: | |
| 2262 * font-mgr.c (Ffc_init): | |
| 2263 * frame.c: | |
| 2264 * frame.c (print_frame): | |
| 2265 * gc.c: | |
| 2266 * gc.c (GC_CHECK_NOT_FREE): | |
| 2267 * glyphs.c: | |
| 2268 * glyphs.c (print_image_instance): | |
| 2269 * glyphs.c (print_glyph): | |
| 2270 * gui.c (print_gui_item): | |
| 2271 * gui.c (copy_gui_item): | |
| 2272 * keymap.c (print_keymap): | |
| 2273 * keymap.c (MARKED_SLOT): | |
| 2274 * lisp.h: | |
| 2275 * lisp.h (struct Lisp_String): | |
| 2276 * lisp.h (DEFUN): | |
| 2277 * lisp.h (DEFUN_NORETURN): | |
| 2278 * lrecord.h: | |
| 2279 * lrecord.h (NORMAL_LISP_OBJECT_UID): | |
| 2280 * lrecord.h (struct lrecord_header): | |
| 2281 * lrecord.h (set_lheader_implementation): | |
| 2282 * lrecord.h (struct old_lcrecord_header): | |
| 2283 * lrecord.h (struct free_lcrecord_header): | |
| 2284 * marker.c (print_marker): | |
| 2285 * mule-charset.c: | |
| 2286 * mule-charset.c (print_charset): | |
| 2287 * objects.c (print_color_instance): | |
| 2288 * objects.c (print_font_instance): | |
| 2289 * objects.c (finalize_font_instance): | |
| 2290 * print.c (print_cons): | |
| 2291 * print.c (printing_unreadable_object_fmt): | |
| 2292 * print.c (printing_unreadable_lisp_object): | |
| 2293 * print.c (external_object_printer): | |
| 2294 * print.c (internal_object_printer): | |
| 2295 * print.c (debug_p4): | |
| 2296 * print.c (ext_print_begin): | |
| 2297 * process.c (print_process): | |
| 2298 * rangetab.c (print_range_table): | |
| 2299 * rangetab.c (range_table_equal): | |
| 2300 * scrollbar.c (free_scrollbar_instance): | |
| 2301 * specifier.c (print_specifier): | |
| 2302 * specifier.c (finalize_specifier): | |
| 2303 * symbols.c (guts_of_unbound_marker): | |
| 2304 * symeval.h: | |
| 2305 * symeval.h (DEFVAR_SYMVAL_FWD): | |
| 2306 * tooltalk.c: | |
| 2307 * tooltalk.c (print_tooltalk_message): | |
| 2308 * tooltalk.c (print_tooltalk_pattern): | |
| 2309 * ui-gtk.c (ffi_object_printer): | |
| 2310 * ui-gtk.c (emacs_gtk_object_printer): | |
| 2311 * ui-gtk.c (emacs_gtk_boxed_printer): | |
| 2312 * window.c (print_window): | |
| 2313 * window.c (free_window_mirror): | |
| 2314 * window.c (debug_print_window): | |
| 2315 * xemacs.def.in.in: | |
| 2316 (1) printing_unreadable_object -> printing_unreadable_object_fmt. | |
| 2317 (2) printing_unreadable_lcrecord -> printing_unreadable_lisp_object | |
| 2318 and fix up so it no longer requires an lcrecord. | |
| 2319 | |
| 2320 These previous changes eliminate most of the remaining places where | |
| 2321 the terms `lcrecord' and `lrecord' occurred outside of specialized | |
| 2322 code. | |
| 2323 | |
| 2324 (3) Fairly major change: Reduce the number of words in an lcrecord | |
| 2325 from 3 to 2. The third word consisted of a uid that duplicated the | |
| 2326 lrecord uid, and a single free bit, which was moved into the lrecord | |
| 2327 structure. This reduces the size of the `uid' slot from 21 bits to | |
| 2328 20 bits. Arguably this isn't enough -- we could easily have more than | |
| 2329 1,000,000 or so objects created in a session. The answer is | |
| 2330 (a) It doesn't really matter if we overflow the uid field because | |
| 2331 it's only used for debugging, to identify an object uniquely | |
| 2332 (or pretty much so). | |
| 2333 (b) If we cared about it overflowing and wanted to reduce this, | |
| 2334 we could make it so that cons, string, float and certain other | |
| 2335 frob-block types that never print out the uid simply don't | |
| 2336 store a uid in them and don't increment the lrecord_uid_counter. | |
| 2337 | |
| 2338 (4) In conjunction with (3), create new macro NORMAL_LISP_OBJECT_UID() | |
| 2339 and use it to abstract out the differences between NEWGC and old-GC | |
| 2340 in accessing the `uid' value from a "normal Lisp Object pointer". | |
| 2341 | |
| 2342 (5) In events.c, use zero_nonsized_lisp_object() in place of custom- | |
| 2343 written equivalent. In font-mgr.c use external_object_printer() | |
| 2344 in place of custom-written equivalents. | |
| 2345 2010-03-07 Ben Wing <ben@xemacs.org> | |
| 2346 | |
| 2347 * number.c (bignum_finalize): | |
| 2348 * number.c (ratio_finalize): | |
| 2349 * number.c (bigfloat_finalize): | |
| 2350 Fix the finalizers to go with the new calling sequence. Done | |
| 2351 previously but somehow got lost. | |
| 2352 | |
| 2353 2010-03-06 Ben Wing <ben@xemacs.org> | |
| 2354 | |
| 2355 * frame.c (change_frame_size_1): | |
| 2356 Add a comment about where FRAME_PIXWIDTH/FRAME_PIXHEIGHT is set. | |
| 2357 | |
| 2358 2010-03-05 Ben Wing <ben@xemacs.org> | |
| 2359 | |
| 2360 * frame.c: | |
| 2361 * frame.c (Fframe_pixel_height): | |
| 2362 * frame.c (Fframe_displayable_pixel_height): | |
| 2363 * frame.c (Fframe_pixel_width): | |
| 2364 * frame.c (Fframe_displayable_pixel_width): | |
| 2365 * frame.c (Fset_frame_pixel_height): | |
| 2366 * frame.c (Fset_frame_displayable_pixel_height): | |
| 2367 * frame.c (Fset_frame_pixel_width): | |
| 2368 * frame.c (Fset_frame_displayable_pixel_width): | |
| 2369 * frame.c (get_frame_char_size): | |
| 2370 * frame.c (change_frame_size_1): | |
| 2371 Make it so that `frame-pixel-height', `set-frame-pixel-height', etc. | |
| 2372 use updated values for the displayable or total pixel size that | |
| 2373 will reflect what will happen as of the next redisplay. This | |
| 2374 basically means using the character-cell height and converting | |
| 2375 on-the-fly to pixel units. In the process, make sure FRAME_CHARWIDTH/ | |
| 2376 FRAME_CHARHEIGHT are always correct and change | |
| 2377 get_frame_char_size() to simply use them; the old logic in that | |
| 2378 function was inlined into change_frame_size_1(), which is the only | |
| 2379 place that needs the logic. | |
| 2380 | |
| 2381 2010-03-05 Ben Wing <ben@xemacs.org> | |
| 2382 | |
| 2383 * frame.c: | |
| 2384 * frame.c (frame_live_p): | |
| 2385 * frame.c (Fframep): | |
| 2386 * frame.c (Fdisable_frame): | |
| 2387 * frame.c (Fenable_frame): | |
| 2388 * frame.c (Fraise_frame): | |
| 2389 * frame.c (Fframe_name): | |
| 2390 * frame.c (Fset_frame_height): | |
| 2391 * frame.c (internal_set_frame_size): | |
| 2392 * frame.c (adjust_frame_size): | |
| 2393 Add documentation on the different types of units used to measure | |
| 2394 frame size. | |
| 2395 | |
| 2396 Add section headers to the various sections. | |
| 2397 | |
| 2398 Rearrange the location of some functions in the file to keep | |
| 2399 related functions together. This especially goes for frame-sizing | |
| 2400 functions (internal_set_frame_size() and adjust_frame_size()), | |
| 2401 which have been moved so that they form a group with | |
| 2402 change_frame_size() and change_frame_size_1(). | |
| 2403 | |
| 2404 No functionality should change. | |
| 2405 | |
| 2406 2010-03-05 Ben Wing <ben@xemacs.org> | |
| 2407 | |
| 2408 * alloc.c: | |
| 2409 * alloc.c (old_alloc_sized_lcrecord): | |
| 2410 * alloc.c (very_old_free_lcrecord): | |
| 2411 * alloc.c (copy_lisp_object): | |
| 2412 * alloc.c (zero_sized_lisp_object): | |
| 2413 * alloc.c (zero_nonsized_lisp_object): | |
| 2414 * alloc.c (lisp_object_storage_size): | |
| 2415 * alloc.c (free_normal_lisp_object): | |
| 2416 * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC): | |
| 2417 * alloc.c (ALLOC_FROB_BLOCK_LISP_OBJECT): | |
| 2418 * alloc.c (Fcons): | |
| 2419 * alloc.c (noseeum_cons): | |
| 2420 * alloc.c (make_float): | |
| 2421 * alloc.c (make_bignum): | |
| 2422 * alloc.c (make_bignum_bg): | |
| 2423 * alloc.c (make_ratio): | |
| 2424 * alloc.c (make_ratio_bg): | |
| 2425 * alloc.c (make_ratio_rt): | |
| 2426 * alloc.c (make_bigfloat): | |
| 2427 * alloc.c (make_bigfloat_bf): | |
| 2428 * alloc.c (size_vector): | |
| 2429 * alloc.c (make_compiled_function): | |
| 2430 * alloc.c (Fmake_symbol): | |
| 2431 * alloc.c (allocate_extent): | |
| 2432 * alloc.c (allocate_event): | |
| 2433 * alloc.c (make_key_data): | |
| 2434 * alloc.c (make_button_data): | |
| 2435 * alloc.c (make_motion_data): | |
| 2436 * alloc.c (make_process_data): | |
| 2437 * alloc.c (make_timeout_data): | |
| 2438 * alloc.c (make_magic_data): | |
| 2439 * alloc.c (make_magic_eval_data): | |
| 2440 * alloc.c (make_eval_data): | |
| 2441 * alloc.c (make_misc_user_data): | |
| 2442 * alloc.c (Fmake_marker): | |
| 2443 * alloc.c (noseeum_make_marker): | |
| 2444 * alloc.c (size_string_direct_data): | |
| 2445 * alloc.c (make_uninit_string): | |
| 2446 * alloc.c (make_string_nocopy): | |
| 2447 * alloc.c (mark_lcrecord_list): | |
| 2448 * alloc.c (alloc_managed_lcrecord): | |
| 2449 * alloc.c (free_managed_lcrecord): | |
| 2450 * alloc.c (sweep_lcrecords_1): | |
| 2451 * alloc.c (malloced_storage_size): | |
| 2452 * buffer.c (allocate_buffer): | |
| 2453 * buffer.c (compute_buffer_usage): | |
| 2454 * buffer.c (DEFVAR_BUFFER_LOCAL_1): | |
| 2455 * buffer.c (nuke_all_buffer_slots): | |
| 2456 * buffer.c (common_init_complex_vars_of_buffer): | |
| 2457 * buffer.h (struct buffer_text): | |
| 2458 * buffer.h (struct buffer): | |
| 2459 * bytecode.c: | |
| 2460 * bytecode.c (make_compiled_function_args): | |
| 2461 * bytecode.c (size_compiled_function_args): | |
| 2462 * bytecode.h (struct compiled_function_args): | |
| 2463 * casetab.c (allocate_case_table): | |
| 2464 * casetab.h (struct Lisp_Case_Table): | |
| 2465 * charset.h (struct Lisp_Charset): | |
| 2466 * chartab.c (fill_char_table): | |
| 2467 * chartab.c (Fmake_char_table): | |
| 2468 * chartab.c (make_char_table_entry): | |
| 2469 * chartab.c (copy_char_table_entry): | |
| 2470 * chartab.c (Fcopy_char_table): | |
| 2471 * chartab.c (put_char_table): | |
| 2472 * chartab.h (struct Lisp_Char_Table_Entry): | |
| 2473 * chartab.h (struct Lisp_Char_Table): | |
| 2474 * console-gtk-impl.h (struct gtk_device): | |
| 2475 * console-gtk-impl.h (struct gtk_frame): | |
| 2476 * console-impl.h (struct console): | |
| 2477 * console-msw-impl.h (struct Lisp_Devmode): | |
| 2478 * console-msw-impl.h (struct mswindows_device): | |
| 2479 * console-msw-impl.h (struct msprinter_device): | |
| 2480 * console-msw-impl.h (struct mswindows_frame): | |
| 2481 * console-msw-impl.h (struct mswindows_dialog_id): | |
| 2482 * console-stream-impl.h (struct stream_console): | |
| 2483 * console-stream.c (stream_init_console): | |
| 2484 * console-tty-impl.h (struct tty_console): | |
| 2485 * console-tty-impl.h (struct tty_device): | |
| 2486 * console-tty.c (allocate_tty_console_struct): | |
| 2487 * console-x-impl.h (struct x_device): | |
| 2488 * console-x-impl.h (struct x_frame): | |
| 2489 * console.c (allocate_console): | |
| 2490 * console.c (nuke_all_console_slots): | |
| 2491 * console.c (DEFVAR_CONSOLE_LOCAL_1): | |
| 2492 * console.c (common_init_complex_vars_of_console): | |
| 2493 * data.c (make_weak_list): | |
| 2494 * data.c (make_weak_box): | |
| 2495 * data.c (make_ephemeron): | |
| 2496 * database.c: | |
| 2497 * database.c (struct Lisp_Database): | |
| 2498 * database.c (allocate_database): | |
| 2499 * database.c (finalize_database): | |
| 2500 * device-gtk.c (allocate_gtk_device_struct): | |
| 2501 * device-impl.h (struct device): | |
| 2502 * device-msw.c: | |
| 2503 * device-msw.c (mswindows_init_device): | |
| 2504 * device-msw.c (msprinter_init_device): | |
| 2505 * device-msw.c (finalize_devmode): | |
| 2506 * device-msw.c (allocate_devmode): | |
| 2507 * device-tty.c (allocate_tty_device_struct): | |
| 2508 * device-x.c (allocate_x_device_struct): | |
| 2509 * device.c: | |
| 2510 * device.c (nuke_all_device_slots): | |
| 2511 * device.c (allocate_device): | |
| 2512 * dialog-msw.c (handle_question_dialog_box): | |
| 2513 * elhash.c: | |
| 2514 * elhash.c (struct Lisp_Hash_Table): | |
| 2515 * elhash.c (finalize_hash_table): | |
| 2516 * elhash.c (make_general_lisp_hash_table): | |
| 2517 * elhash.c (Fcopy_hash_table): | |
| 2518 * elhash.h (htentry): | |
| 2519 * emacs.c (main_1): | |
| 2520 * eval.c: | |
| 2521 * eval.c (size_multiple_value): | |
| 2522 * event-stream.c (finalize_command_builder): | |
| 2523 * event-stream.c (allocate_command_builder): | |
| 2524 * event-stream.c (free_command_builder): | |
| 2525 * event-stream.c (event_stream_generate_wakeup): | |
| 2526 * event-stream.c (event_stream_resignal_wakeup): | |
| 2527 * event-stream.c (event_stream_disable_wakeup): | |
| 2528 * event-stream.c (event_stream_wakeup_pending_p): | |
| 2529 * events.h (struct Lisp_Timeout): | |
| 2530 * events.h (struct command_builder): | |
| 2531 * extents-impl.h: | |
| 2532 * extents-impl.h (struct extent_auxiliary): | |
| 2533 * extents-impl.h (struct extent_info): | |
| 2534 * extents-impl.h (set_extent_no_chase_aux_field): | |
| 2535 * extents-impl.h (set_extent_no_chase_normal_field): | |
| 2536 * extents.c: | |
| 2537 * extents.c (gap_array_marker): | |
| 2538 * extents.c (gap_array): | |
| 2539 * extents.c (extent_list_marker): | |
| 2540 * extents.c (extent_list): | |
| 2541 * extents.c (stack_of_extents): | |
| 2542 * extents.c (gap_array_make_marker): | |
| 2543 * extents.c (extent_list_make_marker): | |
| 2544 * extents.c (allocate_extent_list): | |
| 2545 * extents.c (SLOT): | |
| 2546 * extents.c (mark_extent_auxiliary): | |
| 2547 * extents.c (allocate_extent_auxiliary): | |
| 2548 * extents.c (attach_extent_auxiliary): | |
| 2549 * extents.c (size_gap_array): | |
| 2550 * extents.c (finalize_extent_info): | |
| 2551 * extents.c (allocate_extent_info): | |
| 2552 * extents.c (uninit_buffer_extents): | |
| 2553 * extents.c (allocate_soe): | |
| 2554 * extents.c (copy_extent): | |
| 2555 * extents.c (vars_of_extents): | |
| 2556 * extents.h: | |
| 2557 * faces.c (allocate_face): | |
| 2558 * faces.h (struct Lisp_Face): | |
| 2559 * faces.h (struct face_cachel): | |
| 2560 * file-coding.c: | |
| 2561 * file-coding.c (finalize_coding_system): | |
| 2562 * file-coding.c (sizeof_coding_system): | |
| 2563 * file-coding.c (Fcopy_coding_system): | |
| 2564 * file-coding.h (struct Lisp_Coding_System): | |
| 2565 * file-coding.h (MARKED_SLOT): | |
| 2566 * fns.c (size_bit_vector): | |
| 2567 * font-mgr.c: | |
| 2568 * font-mgr.c (finalize_fc_pattern): | |
| 2569 * font-mgr.c (print_fc_pattern): | |
| 2570 * font-mgr.c (Ffc_pattern_p): | |
| 2571 * font-mgr.c (Ffc_pattern_create): | |
| 2572 * font-mgr.c (Ffc_name_parse): | |
| 2573 * font-mgr.c (Ffc_name_unparse): | |
| 2574 * font-mgr.c (Ffc_pattern_duplicate): | |
| 2575 * font-mgr.c (Ffc_pattern_add): | |
| 2576 * font-mgr.c (Ffc_pattern_del): | |
| 2577 * font-mgr.c (Ffc_pattern_get): | |
| 2578 * font-mgr.c (fc_config_create_using): | |
| 2579 * font-mgr.c (fc_strlist_to_lisp_using): | |
| 2580 * font-mgr.c (fontset_to_list): | |
| 2581 * font-mgr.c (Ffc_config_p): | |
| 2582 * font-mgr.c (Ffc_config_up_to_date): | |
| 2583 * font-mgr.c (Ffc_config_build_fonts): | |
| 2584 * font-mgr.c (Ffc_config_get_cache): | |
| 2585 * font-mgr.c (Ffc_config_get_fonts): | |
| 2586 * font-mgr.c (Ffc_config_set_current): | |
| 2587 * font-mgr.c (Ffc_config_get_blanks): | |
| 2588 * font-mgr.c (Ffc_config_get_rescan_interval): | |
| 2589 * font-mgr.c (Ffc_config_set_rescan_interval): | |
| 2590 * font-mgr.c (Ffc_config_app_font_add_file): | |
| 2591 * font-mgr.c (Ffc_config_app_font_add_dir): | |
| 2592 * font-mgr.c (Ffc_config_app_font_clear): | |
| 2593 * font-mgr.c (size): | |
| 2594 * font-mgr.c (Ffc_config_substitute): | |
| 2595 * font-mgr.c (Ffc_font_render_prepare): | |
| 2596 * font-mgr.c (Ffc_font_match): | |
| 2597 * font-mgr.c (Ffc_font_sort): | |
| 2598 * font-mgr.c (finalize_fc_config): | |
| 2599 * font-mgr.c (print_fc_config): | |
| 2600 * font-mgr.h: | |
| 2601 * font-mgr.h (struct fc_pattern): | |
| 2602 * font-mgr.h (XFC_PATTERN): | |
| 2603 * font-mgr.h (struct fc_config): | |
| 2604 * font-mgr.h (XFC_CONFIG): | |
| 2605 * frame-gtk.c (allocate_gtk_frame_struct): | |
| 2606 * frame-impl.h (struct frame): | |
| 2607 * frame-msw.c (mswindows_init_frame_1): | |
| 2608 * frame-x.c (allocate_x_frame_struct): | |
| 2609 * frame.c (nuke_all_frame_slots): | |
| 2610 * frame.c (allocate_frame_core): | |
| 2611 * gc.c: | |
| 2612 * gc.c (GC_CHECK_NOT_FREE): | |
| 2613 * glyphs.c (finalize_image_instance): | |
| 2614 * glyphs.c (allocate_image_instance): | |
| 2615 * glyphs.c (Fcolorize_image_instance): | |
| 2616 * glyphs.c (allocate_glyph): | |
| 2617 * glyphs.c (unmap_subwindow_instance_cache_mapper): | |
| 2618 * glyphs.c (register_ignored_expose): | |
| 2619 * glyphs.h (struct Lisp_Image_Instance): | |
| 2620 * glyphs.h (struct Lisp_Glyph): | |
| 2621 * glyphs.h (struct glyph_cachel): | |
| 2622 * glyphs.h (struct expose_ignore): | |
| 2623 * gui.c (allocate_gui_item): | |
| 2624 * gui.h (struct Lisp_Gui_Item): | |
| 2625 * keymap.c (struct Lisp_Keymap): | |
| 2626 * keymap.c (make_keymap): | |
| 2627 * lisp.h: | |
| 2628 * lisp.h (struct Lisp_String_Direct_Data): | |
| 2629 * lisp.h (struct Lisp_String_Indirect_Data): | |
| 2630 * lisp.h (struct Lisp_Vector): | |
| 2631 * lisp.h (struct Lisp_Bit_Vector): | |
| 2632 * lisp.h (DECLARE_INLINE_LISP_BIT_VECTOR): | |
| 2633 * lisp.h (struct weak_box): | |
| 2634 * lisp.h (struct ephemeron): | |
| 2635 * lisp.h (struct weak_list): | |
| 2636 * lrecord.h: | |
| 2637 * lrecord.h (struct lrecord_implementation): | |
| 2638 * lrecord.h (MC_ALLOC_CALL_FINALIZER): | |
| 2639 * lrecord.h (struct lcrecord_list): | |
| 2640 * lstream.c (finalize_lstream): | |
| 2641 * lstream.c (sizeof_lstream): | |
| 2642 * lstream.c (Lstream_new): | |
| 2643 * lstream.c (Lstream_delete): | |
| 2644 * lstream.h (struct lstream): | |
| 2645 * marker.c: | |
| 2646 * marker.c (finalize_marker): | |
| 2647 * marker.c (compute_buffer_marker_usage): | |
| 2648 * mule-charset.c: | |
| 2649 * mule-charset.c (make_charset): | |
| 2650 * mule-charset.c (compute_charset_usage): | |
| 2651 * objects-impl.h (struct Lisp_Color_Instance): | |
| 2652 * objects-impl.h (struct Lisp_Font_Instance): | |
| 2653 * objects-tty-impl.h (struct tty_color_instance_data): | |
| 2654 * objects-tty-impl.h (struct tty_font_instance_data): | |
| 2655 * objects-tty.c (tty_initialize_color_instance): | |
| 2656 * objects-tty.c (tty_initialize_font_instance): | |
| 2657 * objects.c (finalize_color_instance): | |
| 2658 * objects.c (Fmake_color_instance): | |
| 2659 * objects.c (finalize_font_instance): | |
| 2660 * objects.c (Fmake_font_instance): | |
| 2661 * objects.c (reinit_vars_of_objects): | |
| 2662 * opaque.c: | |
| 2663 * opaque.c (sizeof_opaque): | |
| 2664 * opaque.c (make_opaque_ptr): | |
| 2665 * opaque.c (free_opaque_ptr): | |
| 2666 * opaque.h: | |
| 2667 * opaque.h (Lisp_Opaque): | |
| 2668 * opaque.h (Lisp_Opaque_Ptr): | |
| 2669 * print.c (printing_unreadable_lcrecord): | |
| 2670 * print.c (external_object_printer): | |
| 2671 * print.c (debug_p4): | |
| 2672 * process.c (finalize_process): | |
| 2673 * process.c (make_process_internal): | |
| 2674 * procimpl.h (struct Lisp_Process): | |
| 2675 * rangetab.c (Fmake_range_table): | |
| 2676 * rangetab.c (Fcopy_range_table): | |
| 2677 * rangetab.h (struct Lisp_Range_Table): | |
| 2678 * scrollbar.c: | |
| 2679 * scrollbar.c (create_scrollbar_instance): | |
| 2680 * scrollbar.c (compute_scrollbar_instance_usage): | |
| 2681 * scrollbar.h (struct scrollbar_instance): | |
| 2682 * specifier.c (finalize_specifier): | |
| 2683 * specifier.c (sizeof_specifier): | |
| 2684 * specifier.c (set_specifier_caching): | |
| 2685 * specifier.h (struct Lisp_Specifier): | |
| 2686 * specifier.h (struct specifier_caching): | |
| 2687 * symeval.h: | |
| 2688 * symeval.h (SYMBOL_VALUE_MAGIC_P): | |
| 2689 * symeval.h (DEFVAR_SYMVAL_FWD): | |
| 2690 * symsinit.h: | |
| 2691 * syntax.c (init_buffer_syntax_cache): | |
| 2692 * syntax.h (struct syntax_cache): | |
| 2693 * toolbar.c: | |
| 2694 * toolbar.c (allocate_toolbar_button): | |
| 2695 * toolbar.c (update_toolbar_button): | |
| 2696 * toolbar.h (struct toolbar_button): | |
| 2697 * tooltalk.c (struct Lisp_Tooltalk_Message): | |
| 2698 * tooltalk.c (make_tooltalk_message): | |
| 2699 * tooltalk.c (struct Lisp_Tooltalk_Pattern): | |
| 2700 * tooltalk.c (make_tooltalk_pattern): | |
| 2701 * ui-gtk.c: | |
| 2702 * ui-gtk.c (allocate_ffi_data): | |
| 2703 * ui-gtk.c (emacs_gtk_object_finalizer): | |
| 2704 * ui-gtk.c (allocate_emacs_gtk_object_data): | |
| 2705 * ui-gtk.c (allocate_emacs_gtk_boxed_data): | |
| 2706 * ui-gtk.h: | |
| 2707 * window-impl.h (struct window): | |
| 2708 * window-impl.h (struct window_mirror): | |
| 2709 * window.c (finalize_window): | |
| 2710 * window.c (allocate_window): | |
| 2711 * window.c (new_window_mirror): | |
| 2712 * window.c (mark_window_as_deleted): | |
| 2713 * window.c (make_dummy_parent): | |
| 2714 * window.c (compute_window_mirror_usage): | |
| 2715 * window.c (compute_window_usage): | |
| 2716 | |
| 2717 Overall point of this change and previous ones in this repository: | |
| 2718 | |
| 2719 (1) Introduce new, clearer terminology: everything other than int | |
| 2720 or char is a "record" object, which comes in two types: "normal | |
| 2721 objects" and "frob-block objects". Fix up all places that | |
| 2722 referred to frob-block objects as "simple", "basic", etc. | |
| 2723 | |
| 2724 (2) Provide an advertised interface for doing operations on Lisp | |
| 2725 objects, including creating new types, that is clean and | |
| 2726 consistent in its naming, uses the above-referenced terms and | |
| 2727 avoids referencing "lrecords", "old lcrecords", etc., which should | |
| 2728 hide under the surface. | |
| 2729 | |
| 2730 (3) Make the size_in_bytes and finalizer methods take a | |
| 2731 Lisp_Object rather than a void * for consistency with other methods. | |
| 2732 | |
| 2733 (4) Separate finalizer method into finalizer and disksaver, so | |
| 2734 that normal finalize methods don't have to worry about disksaving. | |
| 2735 | |
| 2736 Other specifics: | |
| 2737 | |
| 2738 (1) Renaming: | |
| 2739 | |
| 2740 LISP_OBJECT_HEADER -> NORMAL_LISP_OBJECT_HEADER | |
| 2741 ALLOC_LISP_OBJECT -> ALLOC_NORMAL_LISP_OBJECT | |
| 2742 implementation->basic_p -> implementation->frob_block_p | |
| 2743 ALLOCATE_FIXED_TYPE_AND_SET_IMPL -> ALLOC_FROB_BLOCK_LISP_OBJECT | |
| 2744 *FCCONFIG*, wrap_fcconfig -> *FC_CONFIG*, wrap_fc_config | |
| 2745 *FCPATTERN*, wrap_fcpattern -> *FC_PATTERN*, wrap_fc_pattern | |
| 2746 | |
| 2747 (the last two changes make the naming of these macros consistent | |
| 2748 with the naming of all other macros, since the objects are named | |
| 2749 fc-config and fc-pattern with a hyphen) | |
| 2750 | |
| 2751 (2) Lots of documentation fixes in lrecord.h. | |
| 2752 | |
| 2753 (3) Eliminate macros for copying, freeing, zeroing objects, getting | |
| 2754 their storage size. Instead, new functions: | |
| 2755 | |
| 2756 zero_sized_lisp_object() | |
| 2757 zero_nonsized_lisp_object() | |
| 2758 lisp_object_storage_size() | |
| 2759 free_normal_lisp_object() | |
| 2760 (copy_lisp_object() already exists) | |
| 2761 LISP_OBJECT_FROB_BLOCK_P() (actually a macro) | |
| 2762 | |
| 2763 Eliminated: | |
| 2764 | |
| 2765 free_lrecord() | |
| 2766 zero_lrecord() | |
| 2767 copy_lrecord() | |
| 2768 copy_sized_lrecord() | |
| 2769 old_copy_lcrecord() | |
| 2770 old_copy_sized_lcrecord() | |
| 2771 old_zero_lcrecord() | |
| 2772 old_zero_sized_lcrecord() | |
| 2773 LISP_OBJECT_STORAGE_SIZE() | |
| 2774 COPY_SIZED_LISP_OBJECT() | |
| 2775 COPY_SIZED_LCRECORD() | |
| 2776 COPY_LISP_OBJECT() | |
| 2777 ZERO_LISP_OBJECT() | |
| 2778 FREE_LISP_OBJECT() | |
| 2779 | |
| 2780 (4) Catch the remaining places where lrecord stuff was used directly | |
| 2781 and use the advertised interface, e.g. alloc_sized_lrecord() -> | |
| 2782 ALLOC_SIZED_LISP_OBJECT(). | |
| 2783 | |
| 2784 (5) Make certain statically-declared pseudo-objects | |
| 2785 (buffer_local_flags, console_local_flags) have their lheader | |
| 2786 initialized correctly, so things like copy_lisp_object() can work | |
| 2787 on them. Make extent_auxiliary_defaults a proper heap object | |
| 2788 Vextent_auxiliary_defaults, and make extent auxiliaries dumpable | |
| 2789 so that this object can be dumped. allocate_extent_auxiliary() | |
| 2790 now just creates the object, and attach_extent_auxiliary() | |
| 2791 creates an extent auxiliary and attaches to an extent, like the | |
| 2792 old allocate_extent_auxiliary(). | |
| 2793 | |
| 2794 (6) Create EXTENT_AUXILIARY_SLOTS macro, similar to the foo-slots.h | |
| 2795 files but in a macro instead of a file. The purpose is to avoid | |
| 2796 duplication when iterating over all the slots in an extent auxiliary. | |
| 2797 Use it. | |
| 2798 | |
| 2799 (7) In lstream.c, don't zero out object after allocation because | |
| 2800 allocation routines take care of this. | |
| 2801 | |
| 2802 (8) In marker.c, fix a mistake in computing marker overhead. | |
| 2803 | |
| 2804 (9) In print.c, clean up printing_unreadable_lcrecord(), | |
| 2805 external_object_printer() to avoid lots of ifdef NEW_GC's. | |
| 2806 | |
| 2807 (10) Separate toolbar-button allocation into a separate | |
| 2808 allocate_toolbar_button() function for use in the example code | |
| 2809 in lrecord.h. | |
| 2810 | |
| 2811 2010-01-20 Ben Wing <ben@xemacs.org> | |
| 2812 | |
| 2813 * alloc.c: | |
| 2814 * alloc.c (very_old_free_lcrecord): | |
| 2815 * alloc.c (disksave_object_finalization_1): | |
| 2816 * alloc.c (make_lcrecord_list): | |
| 2817 * alloc.c (alloc_managed_lcrecord): | |
| 2818 * alloc.c (free_managed_lcrecord): | |
| 2819 * alloc.c (sweep_lcrecords_1): | |
| 2820 * buffer.c: | |
| 2821 * bytecode.c: | |
| 2822 * bytecode.c (Fcompiled_function_p): | |
| 2823 * chartab.c: | |
| 2824 * console-impl.h: | |
| 2825 * console-impl.h (CONSOLE_TYPE_P): | |
| 2826 * console.c: | |
| 2827 * console.c (set_quit_events): | |
| 2828 * data.c: | |
| 2829 * data.c (Fmake_ephemeron): | |
| 2830 * database.c: | |
| 2831 * database.c (finalize_database): | |
| 2832 * database.c (Fclose_database): | |
| 2833 * device-msw.c: | |
| 2834 * device-msw.c (finalize_devmode): | |
| 2835 * device-msw.c (allocate_devmode): | |
| 2836 * device.c: | |
| 2837 * elhash.c: | |
| 2838 * elhash.c (finalize_hash_table): | |
| 2839 * eval.c: | |
| 2840 * eval.c (bind_multiple_value_limits): | |
| 2841 * event-stream.c: | |
| 2842 * event-stream.c (finalize_command_builder): | |
| 2843 * events.c: | |
| 2844 * events.c (mark_event): | |
| 2845 * extents.c: | |
| 2846 * extents.c (finalize_extent_info): | |
| 2847 * extents.c (uninit_buffer_extents): | |
| 2848 * faces.c: | |
| 2849 * file-coding.c: | |
| 2850 * file-coding.c (finalize_coding_system): | |
| 2851 * file-coding.h: | |
| 2852 * file-coding.h (struct coding_system_methods): | |
| 2853 * file-coding.h (struct detector): | |
| 2854 * floatfns.c: | |
| 2855 * floatfns.c (extract_float): | |
| 2856 * fns.c: | |
| 2857 * fns.c (Fidentity): | |
| 2858 * font-mgr.c (finalize_fc_pattern): | |
| 2859 * font-mgr.c (finalize_fc_config): | |
| 2860 * frame.c: | |
| 2861 * glyphs.c: | |
| 2862 * glyphs.c (finalize_image_instance): | |
| 2863 * glyphs.c (unmap_subwindow_instance_cache_mapper): | |
| 2864 * gui.c: | |
| 2865 * gui.c (gui_error): | |
| 2866 * keymap.c: | |
| 2867 * lisp.h (struct Lisp_Symbol): | |
| 2868 * lrecord.h: | |
| 2869 * lrecord.h (struct lrecord_implementation): | |
| 2870 * lrecord.h (MC_ALLOC_CALL_FINALIZER): | |
| 2871 * lrecord.h (MC_ALLOC_CALL_FINALIZER_FOR_DISKSAVE): | |
| 2872 * lrecord.h (DEFINE_DUMPABLE_LISP_OBJECT): | |
| 2873 * lrecord.h (DEFINE_DUMPABLE_GENERAL_LISP_OBJECT): | |
| 2874 * lrecord.h (DEFINE_DUMPABLE_SIZABLE_LISP_OBJECT): | |
| 2875 * lrecord.h (DEFINE_DUMPABLE_SIZABLE_GENERAL_LISP_OBJECT): | |
| 2876 * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_LISP_OBJECT): | |
| 2877 * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_GENERAL_LISP_OBJECT): | |
| 2878 * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_SIZABLE_LISP_OBJECT): | |
| 2879 * lrecord.h (DEFINE_DUMPABLE_INTERNAL_LISP_OBJECT): | |
| 2880 * lrecord.h (DEFINE_DUMPABLE_SIZABLE_INTERNAL_LISP_OBJECT): | |
| 2881 * lrecord.h (DEFINE_NODUMP_LISP_OBJECT): | |
| 2882 * lrecord.h (DEFINE_NODUMP_GENERAL_LISP_OBJECT): | |
| 2883 * lrecord.h (DEFINE_NODUMP_SIZABLE_LISP_OBJECT): | |
| 2884 * lrecord.h (DEFINE_NODUMP_SIZABLE_GENERAL_LISP_OBJECT): | |
| 2885 * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_LISP_OBJECT): | |
| 2886 * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_GENERAL_LISP_OBJECT): | |
| 2887 * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_SIZABLE_LISP_OBJECT): | |
| 2888 * lrecord.h (DEFINE_NODUMP_INTERNAL_LISP_OBJECT): | |
| 2889 * lrecord.h (DEFINE_NODUMP_SIZABLE_INTERNAL_LISP_OBJECT): | |
| 2890 * lrecord.h (MAKE_LISP_OBJECT): | |
| 2891 * lrecord.h (DEFINE_DUMPABLE_MODULE_LISP_OBJECT): | |
| 2892 * lrecord.h (DEFINE_DUMPABLE_MODULE_GENERAL_LISP_OBJECT): | |
| 2893 * lrecord.h (DEFINE_DUMPABLE_MODULE_SIZABLE_LISP_OBJECT): | |
| 2894 * lrecord.h (DEFINE_DUMPABLE_MODULE_SIZABLE_GENERAL_LISP_OBJECT): | |
| 2895 * lrecord.h (DEFINE_NODUMP_MODULE_LISP_OBJECT): | |
| 2896 * lrecord.h (DEFINE_NODUMP_MODULE_GENERAL_LISP_OBJECT): | |
| 2897 * lrecord.h (DEFINE_NODUMP_MODULE_SIZABLE_LISP_OBJECT): | |
| 2898 * lrecord.h (DEFINE_NODUMP_MODULE_SIZABLE_GENERAL_LISP_OBJECT): | |
| 2899 * lrecord.h (MAKE_MODULE_LISP_OBJECT): | |
| 2900 * lstream.c: | |
| 2901 * lstream.c (finalize_lstream): | |
| 2902 * lstream.c (disksave_lstream): | |
| 2903 * marker.c: | |
| 2904 * marker.c (finalize_marker): | |
| 2905 * mule-charset.c (make_charset): | |
| 2906 * number.c: | |
| 2907 * objects.c: | |
| 2908 * objects.c (finalize_color_instance): | |
| 2909 * objects.c (finalize_font_instance): | |
| 2910 * opaque.c: | |
| 2911 * opaque.c (make_opaque_ptr): | |
| 2912 * process-nt.c: | |
| 2913 * process-nt.c (nt_finalize_process_data): | |
| 2914 * process-nt.c (nt_deactivate_process): | |
| 2915 * process.c: | |
| 2916 * process.c (finalize_process): | |
| 2917 * procimpl.h (struct process_methods): | |
| 2918 * scrollbar.c: | |
| 2919 * scrollbar.c (free_scrollbar_instance): | |
| 2920 * specifier.c (finalize_specifier): | |
| 2921 * symbols.c: | |
| 2922 * toolbar.c: | |
| 2923 * toolbar.c (Ftoolbar_button_p): | |
| 2924 * tooltalk.c: | |
| 2925 * ui-gtk.c: | |
| 2926 * ui-gtk.c (emacs_gtk_object_finalizer): | |
| 2927 * ui-gtk.c (allocate_emacs_gtk_boxed_data): | |
| 2928 * window.c: | |
| 2929 * window.c (finalize_window): | |
| 2930 * window.c (mark_window_as_deleted): | |
| 2931 | |
| 2932 Separate out regular and disksave finalization. Instead of a | |
| 2933 FOR_DISKSAVE argument to the finalizer, create a separate object | |
| 2934 method `disksaver'. Make `finalizer' have only one argument. | |
| 2935 | |
| 2936 Go through and separate out all finalize methods into finalize | |
| 2937 and disksave. Delete lots of thereby redundant disksave checking. | |
| 2938 Delete places that signal an error if we attempt to disksave -- | |
| 2939 all of these objects are non-dumpable and we will get an error | |
| 2940 from pdump anyway if we attempt to dump them. After this is done, | |
| 2941 only one object remains that has a disksave method -- lstream. | |
| 2942 | |
| 2943 Change DEFINE_*_LISP_OBJECT_WITH_PROPS to DEFINE_*_GENERAL_LISP_OBJECT, | |
| 2944 which is used for specifying either property methods or disksave | |
| 2945 methods (or in the future, any other less-used methods). | |
| 2946 | |
| 2947 Remove the for_disksave argument to finalize_process_data. Don't | |
| 2948 provide a disksaver for processes because no one currently needs | |
| 2949 it. | |
| 2950 | |
| 2951 Clean up various places where objects didn't provide a print method. | |
| 2952 It was made mandatory in previous changes, and all methods now | |
| 2953 either provide their own print method or use internal_object_printer | |
| 2954 or external_object_printer. | |
| 2955 | |
| 2956 Change the definition of CONSOLE_LIVE_P to use the contype enum | |
| 2957 rather than looking into the conmeths structure -- in some weird | |
| 2958 situations with dead objects, the conmeths structure is NULL, | |
| 2959 and printing such objects from debug_print() will crash if we try | |
| 2960 to look into the conmeths structure. | |
| 2961 | |
| 2962 | |
| 2963 2005-11-22 Ben Wing <ben@xemacs.org> | |
| 2964 | |
| 2965 * alloc.c: | |
| 2966 * alloc.c (assert_proper_sizing): | |
| 2967 * alloc.c (alloc_sized_lrecord_1): | |
| 2968 * alloc.c (alloc_sized_lrecord): | |
| 2969 * alloc.c (noseeum_alloc_sized_lrecord): | |
| 2970 * alloc.c (alloc_lrecord): | |
| 2971 * alloc.c (old_alloc_sized_lcrecord): | |
| 2972 * alloc.c (make_vector_internal): | |
| 2973 * alloc.c (make_bit_vector_internal): | |
| 2974 * alloc.c (alloc_automanaged_sized_lcrecord): | |
| 2975 * buffer.c (allocate_buffer): | |
| 2976 * buffer.c (DEFVAR_BUFFER_LOCAL_1): | |
| 2977 * buffer.c (common_init_complex_vars_of_buffer): | |
| 2978 * casetab.c (allocate_case_table): | |
| 2979 * chartab.c (Fmake_char_table): | |
| 2980 * chartab.c (make_char_table_entry): | |
| 2981 * chartab.c (copy_char_table_entry): | |
| 2982 * chartab.c (Fcopy_char_table): | |
| 2983 * console.c (allocate_console): | |
| 2984 * console.c (DEFVAR_CONSOLE_LOCAL_1): | |
| 2985 * console.c (common_init_complex_vars_of_console): | |
| 2986 * data.c (make_weak_list): | |
| 2987 * data.c (make_weak_box): | |
| 2988 * data.c (make_ephemeron): | |
| 2989 * database.c (allocate_database): | |
| 2990 * device-msw.c (allocate_devmode): | |
| 2991 * device.c (allocate_device): | |
| 2992 * dialog-msw.c (handle_question_dialog_box): | |
| 2993 * elhash.c (make_general_lisp_hash_table): | |
| 2994 * elhash.c (Fcopy_hash_table): | |
| 2995 * emacs.c (main_1): | |
| 2996 * event-stream.c: | |
| 2997 * event-stream.c (allocate_command_builder): | |
| 2998 * event-stream.c (free_command_builder): | |
| 2999 * event-stream.c (mark_timeout): | |
| 3000 * event-stream.c (event_stream_generate_wakeup): | |
| 3001 * event-stream.c (event_stream_resignal_wakeup): | |
| 3002 * event-stream.c (event_stream_disable_wakeup): | |
| 3003 * event-stream.c (reinit_vars_of_event_stream): | |
| 3004 * extents.c (allocate_extent_auxiliary): | |
| 3005 * extents.c (allocate_extent_info): | |
| 3006 * extents.c (copy_extent): | |
| 3007 * faces.c (allocate_face): | |
| 3008 * file-coding.c (allocate_coding_system): | |
| 3009 * frame.c (allocate_frame_core): | |
| 3010 * glyphs.c (allocate_image_instance): | |
| 3011 * glyphs.c (allocate_glyph): | |
| 3012 * gui.c (allocate_gui_item): | |
| 3013 * keymap.c (make_keymap): | |
| 3014 * lrecord.h: | |
| 3015 * lrecord.h (ALLOC_LCRECORD): | |
| 3016 * lrecord.h (ALLOC_SIZED_LCRECORD): | |
| 3017 * lrecord.h (struct old_lcrecord_header): | |
| 3018 * lrecord.h (old_alloc_lcrecord_type): | |
| 3019 * lrecord.h (alloc_lrecord_type): | |
| 3020 * lrecord.h (noseeum_alloc_lrecord_type): | |
| 3021 * lstream.c (Lstream_new): | |
| 3022 * mule-charset.c (make_charset): | |
| 3023 * objects.c (Fmake_color_instance): | |
| 3024 * objects.c (Fmake_font_instance): | |
| 3025 * objects.c (reinit_vars_of_objects): | |
| 3026 * opaque.c (make_opaque): | |
| 3027 * opaque.c (make_opaque_ptr): | |
| 3028 * process.c (make_process_internal): | |
| 3029 * rangetab.c (Fmake_range_table): | |
| 3030 * rangetab.c (Fcopy_range_table): | |
| 3031 * scrollbar.c (create_scrollbar_instance): | |
| 3032 * specifier.c (make_specifier_internal): | |
| 3033 * symbols.c (Fdefvaralias): | |
| 3034 * toolbar.c (update_toolbar_button): | |
| 3035 * tooltalk.c (make_tooltalk_message): | |
| 3036 * tooltalk.c (make_tooltalk_pattern): | |
| 3037 * ui-gtk.c (allocate_ffi_data): | |
| 3038 * ui-gtk.c (allocate_emacs_gtk_object_data): | |
| 3039 * ui-gtk.c (allocate_emacs_gtk_boxed_data): | |
| 3040 * window.c (allocate_window): | |
| 3041 * window.c (new_window_mirror): | |
| 3042 * window.c (make_dummy_parent): | |
| 3043 Create a simpler interface for allocating/declaring Lisp objects; | |
| 3044 documented in lrecord.h. | |
| 3045 | |
| 3046 ALLOC_LCRECORD_TYPE -> ALLOC_LISP_OBJECT (returns a Lisp object | |
| 3047 rather than a pointer), | |
| 3048 BASIC_ALLOC_LCRECORD -> ALLOC_SIZED_LISP_OBJECT | |
| 3049 DEFINE_LRECORD_IMPLEMENTATION -> DEFINE_*_LISP_OBJECT | |
| 3050 DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION -> DEFINE_*SIZABLE_*LISP_OBJECT | |
| 3051 DEFINE_LRECORD_*IMPLEMENTATION_WITH_PROPS -> DEFINE_*GENERAL_LISP_OBJECT | |
| 3052 DEFINE_BASIC_LRECORD_IMPLEMENTATION -> DEFINE_*FROB_BLOCK_LISP_OBJECT | |
| 3053 DEFINE_DUMPABLE_*/DEFINE_NODUMP_* instead of a 0 or 1 dumpable flag | |
| 3054 DEFINE_*INTERNAL_* for "internal" Lisp objects (shouldn't escape | |
| 3055 to Lisp) | |
| 3056 DEFINE_EXTERNAL_* -> DEFINE_MODULE_* | |
| 3057 MAKE_LRECORD_IMPLEMENTATION -> MAKE_LISP_OBJECT | |
| 3058 MAKE_EXTERNAL_LRECORD_IMPLEMENTATION -> MAKE_MODULE_LISP_OBJECT | |
| 3059 DECLARE_LRECORD -> DECLARE_LISP_OBJECT | |
| 3060 INIT_LRECORD_IMPLEMENTATION -> INIT_LISP_OBJECT | |
| 3061 alloc_lrecord -> alloc_sized_lrecord (since it takes a size) | |
| 3062 | |
| 3063 Dynarr_newf, Dynarr_lisp_newf: takes a Bytecount instead of an int | |
| 3064 | |
| 3065 2010-03-05 Ben Wing <ben@xemacs.org> | |
| 3066 | |
| 3067 * mule-coding.c: | |
| 3068 * mule-coding.c (iso2022_encode): | |
| 3069 Horrible bug: `escape-quoted' was failing to escape-quote special | |
| 3070 characters in the 0x80 - 0x9F range. Who knows what breakage ensued? | |
| 3071 SAME BUG IN XEMACS 21.4; MUST BE FIXED THERE TOO. | |
| 3072 | |
| 3073 2010-03-03 Ben Wing <ben@xemacs.org> | |
| 3074 | |
| 3075 * lrecord.h: Fix outdated comment. | |
| 3076 | |
| 3077 2010-03-03 Ben Wing <ben@xemacs.org> | |
| 3078 | |
| 3079 * emacs.c: | |
| 3080 * emacs.c (assert_equal_failed): | |
| 3081 * lisp.h: | |
| 3082 * lisp.h (assert_equal): | |
| 3083 New fun assert_equal, asserting that two values == each other, and | |
| 3084 printing out both values upon failure. | |
| 3085 | |
| 3086 * frame-gtk.c (gtk_initialize_frame_size): | |
| 3087 * frame-impl.h: | |
| 3088 * frame-impl.h (FRAME_TOP_INTERNAL_BORDER_START): | |
| 3089 * frame-impl.h (FRAME_BOTTOM_INTERNAL_BORDER_START): | |
| 3090 * frame-impl.h (FRAME_LEFT_INTERNAL_BORDER_START): | |
| 3091 * frame-impl.h (FRAME_PANED_TOP_EDGE): | |
| 3092 * frame-impl.h (FRAME_NONPANED_SIZE): | |
| 3093 * frame-x.c (x_initialize_frame_size): | |
| 3094 * frame.c: | |
| 3095 * gutter.c (get_gutter_coords): | |
| 3096 * gutter.c (calculate_gutter_size): | |
| 3097 * gutter.h: | |
| 3098 * gutter.h (WINDOW_REAL_TOP_GUTTER_BOUNDS): | |
| 3099 * gutter.h (FRAME_TOP_GUTTER_BOUNDS): | |
| 3100 * input-method-xlib.c: | |
| 3101 * input-method-xlib.c (XIM_SetGeometry): | |
| 3102 * redisplay-output.c (clear_left_border): | |
| 3103 * redisplay-output.c (clear_right_border): | |
| 3104 * redisplay-output.c (redisplay_output_pixmap): | |
| 3105 * redisplay-output.c (redisplay_clear_region): | |
| 3106 * redisplay-output.c (redisplay_clear_top_of_window): | |
| 3107 * redisplay-output.c (redisplay_clear_to_window_end): | |
| 3108 * redisplay-xlike-inc.c (XLIKE_clear_frame): | |
| 3109 * redisplay.c: | |
| 3110 * redisplay.c (UPDATE_CACHE_RETURN): | |
| 3111 * redisplay.c (pixel_to_glyph_translation): | |
| 3112 * toolbar.c (update_frame_toolbars_geometry): | |
| 3113 * window.c (Fwindow_pixel_edges): | |
| 3114 Get rid of some redundant macros. Consistently use the | |
| 3115 FRAME_TOP_*_START, FRAME_RIGHT_*_END, etc. format. Rename | |
| 3116 FRAME_*_BORDER_* to FRAME_*_INTERNAL_BORDER_*. Comment out | |
| 3117 FRAME_BOTTOM_* for gutters and the paned area due to the | |
| 3118 uncertainty over where the paned area actually begins. (Eventually | |
| 3119 we should probably move the gutters outside the minibuffer so that | |
| 3120 the paned area is contiguous.) Use FRAME_PANED_* more often in the | |
| 3121 code to make things clearer. | |
| 3122 | |
| 3123 Update the diagram to show that the bottom gutter is inside the | |
| 3124 minibuffer (!) and that there are "junk boxes" when you have left | |
| 3125 and/or right gutters (dead boxes that are mistakenly left uncleared, | |
| 3126 unlike the corresponding scrollbar dead boxes). Update the text | |
| 3127 appropriately to cover the bottom gutter position, etc. | |
| 3128 | |
| 3129 Rewrite gutter-geometry code to use the FRAME_*_GUTTER_* in place of | |
| 3130 equivalent expressions referencing other frame elements, to make the | |
| 3131 code more portable in case we move around the gutter location. | |
| 3132 | |
| 3133 Cleanup FRAME_*_GUTTER_BOUNDS() in gutter.h. | |
| 3134 | |
| 3135 Add some #### GEOM! comments where I think code is incorrect -- | |
| 3136 typically, it wasn't fixed up properly when the gutter was added. | |
| 3137 | |
| 3138 Some cosmetic changes. | |
| 3139 | |
| 3140 2010-03-02 Ben Wing <ben@xemacs.org> | |
| 3141 | |
| 3142 * lisp.h: | |
| 3143 * text.h: | |
| 3144 Move inclusion point of text.h earlier in lisp.h -- just before | |
| 3145 the definition of characters, which needs some of the stuff in | |
| 3146 text.h. With text.h later, some basic character properties had to | |
| 3147 be defined in lisp.h -- put them back into text.h where they belong. | |
| 3148 Move some text in lisp.h at the point of text.h inclusion into | |
| 3149 text.h -- it serves as a mini-introduction. | |
| 3150 | |
| 3151 2010-03-02 Ben Wing <ben@xemacs.org> | |
| 3152 | |
| 3153 * Makefile.in.in: | |
| 3154 * Makefile.in.in (objs): | |
| 3155 glyphs-shared.o, glyphs-eimage.o only needed when HAVE_WINDOW_SYSTEM. | |
| 3156 glyphs-widget.o should be too, but we need a bit of work ifdeffing | |
| 3157 out the subwindow stuff from redisplay.c et al. | |
| 3158 | |
| 3159 * bytecode.c (init_opcode_table_multi_op): | |
| 3160 Change var name to avoid shadowing with `basename'. | |
| 3161 | |
| 3162 * emacs.c (main_1): | |
| 3163 Don't call init/etc. routines for glyphs-shared, glyphs-eimage unless | |
| 3164 HAVE_WINDOW_SYSTEM is defined. | |
| 3165 | |
| 3166 * linuxplay.c: | |
| 3167 * linuxplay.c (sighandler): | |
| 3168 * vdb-posix.c (vdb_fault_handler): | |
| 3169 Use const for variables holding string constants to avoid C++ | |
| 3170 warnings. | |
| 3171 | |
| 3172 2010-03-02 Jerry James <james@xemacs.org> | |
| 3173 | |
| 3174 * lread.c (read_atom): Signal a read error upon encountering a | |
| 3175 ratio constant with a zero denominator. | |
| 3176 | |
| 3177 2010-03-03 Aidan Kehoe <kehoea@parhasard.net> | |
| 3178 | |
| 3179 * fns.c (Fsubstring): Removed. | |
| 3180 * search.c (Freplace_match): | |
| 3181 * minibuf.c (Ftry_completion): | |
| 3182 * lisp.h: | |
| 3183 * keymap.c (ensure_meta_prefix_char_keymapp): | |
| 3184 * dired.c (user_name_completion, file_name_completion): | |
| 3185 * console-x.c (x_canonicalize_console_connection): | |
| 3186 * bytecode.c (Bsubseq): | |
| 3187 * bytecode-ops.h (subseq): | |
| 3188 Move #'substring to Lisp, as an alias for #'subseq; change all | |
| 3189 C Fsubstring() calls to Fsubseq(), change the Bsubstring bytecode | |
| 3190 to Bsubseq. | |
| 3191 | |
| 3192 Motivation; not accepting vectors in #'substring is incompatible | |
| 3193 with GNU, and Common Lisp prefers #'subseq, it has no #'substring. | |
| 3194 | |
| 3195 2010-03-02 Aidan Kehoe <kehoea@parhasard.net> | |
| 3196 | |
| 3197 * eval.c (print_multiple_value): | |
| 3198 Say #<INTERNAL OBJECT (XEmacs bug?) ...> when printing these, for | |
| 3199 consistency with the rest of the print code. | |
| 3200 | |
| 3201 2010-03-01 Aidan Kehoe <kehoea@parhasard.net> | |
| 3202 | |
| 3203 * lisp.h (PARSE_KEYWORDS): New macro, for parsing keyword | |
| 3204 arguments from C subrs. | |
| 3205 * elhash.c (Fmake_hash_table): Use it. | |
| 3206 * general-slots.h (Q_allow_other_keys): Add this symbol. | |
| 3207 * eval.c (non_nil_allow_other_keys_p): | |
| 3208 (invalid_keyword_argument): | |
| 3209 New functions, called from the keyword argument parsing code. | |
| 3210 * data.c (init_errors_once_early): | |
| 3211 Add the new invalid-keyword-argument error here. | |
| 3212 | |
| 3213 2010-02-26 Aidan Kehoe <kehoea@parhasard.net> | |
| 3214 | |
| 3215 * file-coding.c (Fmake_coding_system_internal): | |
| 3216 Be somewhat clearer in this docstring, especially for the sake of | |
| 3217 people running non-Mule builds who will see this docstring when | |
| 3218 they do F1 f make-coding-system RET. | |
| 3219 | |
| 3220 2010-02-25 Didier Verna <didier@xemacs.org> | |
| 3221 | |
| 3222 The background-placement face property. | |
| 3223 * console-x-impl.h (struct x_frame): Add new slots x and y. | |
| 3224 * console-x-impl.h (FRAME_X_X, FRAME_X_Y): New slot accessors. | |
| 3225 * console-gtk-impl.h: Fake something similar for potential port. | |
| 3226 * frame-x.c (x_get_frame_text_position): New function. | |
| 3227 * frame-x.c (x_init_frame_3): Use it. | |
| 3228 * event-Xt.c (emacs_Xt_handle_magic_event): Eat spurious | |
| 3229 ConfigureNotify events, get the frame position and mark frame | |
| 3230 faces changed. | |
| 3231 * objects-impl.h: The face_background_placement_specifier | |
| 3232 structure and its accessors. | |
| 3233 * objects.c: New symbols Qabsolute and Qrelative. | |
| 3234 * objects.c (face_background_placement_create): | |
| 3235 * objects.c (face_background_placement_mark): | |
| 3236 * objects.c (face_background_placement_instantiate): | |
| 3237 * objects.c (face_background_placement_validate): | |
| 3238 * objects.c (face_background_placement_after_change): | |
| 3239 * objects.c (set_face_background_placement_attached_to): New. | |
| 3240 * objects.h (set_face_background_palcement_attached_to): Declare | |
| 3241 the one above. | |
| 3242 * objects.c (syms_of_objects): | |
| 3243 * objects.c (specifier_type_create_objects): | |
| 3244 * objects.c (reinit_specifier_type_create_objects): | |
| 3245 * objects.c (reinit_vars_of_objects): Update for the modifications | |
| 3246 above. | |
| 3247 * console-xlike-inc.h (XLIKE_GC_TS_X_ORIGIN, XLIKE_GC_TS_X_ORIGIN): | |
| 3248 New X11/Gtk compatibility macros. | |
| 3249 * redisplay-xlike-inc.c (XLIKE_get_gc): Add a background placement | |
| 3250 argument and handle it. | |
| 3251 * gtk-glue.c (face_to_gc): | |
| 3252 * redisplay-xlike-inc.c (XLIKE_output_string): | |
| 3253 * redisplay-xlike-inc.c (XLIKE_output_pixmap): | |
| 3254 * redisplay-xlike-inc.c (XLIKE_output_blank): | |
| 3255 * redisplay-xlike-inc.c (XLIKE_output_horizontal_line): | |
| 3256 * redisplay-xlike-inc.c (XLIKE_output_eol_cursor): Update | |
| 3257 accordingly. | |
| 3258 * console-impl.h (struct console_methods): Add a background | |
| 3259 placement (Lisp_Object) argument to the clear_region method. | |
| 3260 * console-stream.c (stream_clear_region): | |
| 3261 * redisplay-tty.c (tty_clear_region): | |
| 3262 * redisplay-msw.c (mswindows_clear_region): | |
| 3263 * redisplay-xlike-inc.c (XLIKE_clear_region): Update accordingly. | |
| 3264 * redisplay-output.c (redisplay_clear_region): Handle the | |
| 3265 background placement property and update the call to the | |
| 3266 clear_region method. | |
| 3267 * faces.h (struct Lisp_Face): | |
| 3268 * faces.h (struct face_cachel): Add a background placement slot. | |
| 3269 * faces.h (WINDOW_FACE_CACHEL_BACKGROUND_PLACEMENT): New accessor. | |
| 3270 * faces.c (mark_face): | |
| 3271 * faces.c (face_equal): | |
| 3272 * faces.c (face_getprop): | |
| 3273 * faces.c (face_putprop): | |
| 3274 * faces.c (face_remprop): | |
| 3275 * faces.c (face_plist): | |
| 3276 * faces.c (reset_face): | |
| 3277 * faces.c (mark_face_cachels): | |
| 3278 * faces.c (update_face_cachel_data): | |
| 3279 * faces.c (merge_face_cachel_data): | |
| 3280 * faces.c (reset_face_cachel): | |
| 3281 * faces.c (Fmake_face): | |
| 3282 * faces.c (Fcopy_face): Handle the background placement property. | |
| 3283 * faces.c (syms_of_faces): | |
| 3284 * faces.c (vars_of_faces): | |
| 3285 * faces.c (complex_vars_of_faces): Update accordingly. | |
| 3286 | |
| 3287 2010-02-25 Ben Wing <ben@xemacs.org> | |
| 3288 | |
| 3289 * frame-impl.h: | |
| 3290 Create some new macros for more clearly getting the size/edges | |
| 3291 of various rectangles surrounding the paned area. | |
| 3292 * frame.c (change_frame_size_1): | |
| 3293 Use the new macros. Clean up change_frame_size_1 and make sure | |
| 3294 the internal border width gets taken into account -- that was what | |
| 3295 was causing the clipped bottom and right. | |
| 3296 | |
| 3297 2010-02-25 Ben Wing <ben@xemacs.org> | |
| 3298 | |
| 3299 * EmacsFrame.c (EmacsFrameSetValues): | |
| 3300 * frame-impl.h: | |
| 3301 * frame-impl.h (struct frame): | |
| 3302 * frame-impl.h (FRAME_THEORETICAL_TOP_TOOLBAR_HEIGHT): | |
| 3303 * frame-impl.h (FRAME_THEORETICAL_TOP_TOOLBAR_BORDER_WIDTH): | |
| 3304 * frame-impl.h (FRAME_REAL_TOP_TOOLBAR_HEIGHT): | |
| 3305 * frame-impl.h (FRAME_REAL_TOP_TOOLBAR_BORDER_WIDTH): | |
| 3306 * frame-impl.h (FRAME_REAL_TOP_TOOLBAR_VISIBLE): | |
| 3307 * frame-impl.h (FRAME_REAL_TOP_TOOLBAR_BOUNDS): | |
| 3308 * frame.h: | |
| 3309 * frame.h (enum edge_pos): | |
| 3310 * gutter.c: | |
| 3311 * gutter.c (get_gutter_coords): | |
| 3312 * gutter.c (display_boxes_in_gutter_p): | |
| 3313 * gutter.c (construct_window_gutter_spec): | |
| 3314 * gutter.c (calculate_gutter_size_from_display_lines): | |
| 3315 * gutter.c (calculate_gutter_size): | |
| 3316 * gutter.c (output_gutter): | |
| 3317 * gutter.c (clear_gutter): | |
| 3318 * gutter.c (mark_gutters): | |
| 3319 * gutter.c (gutter_extent_signal_changed_region_maybe): | |
| 3320 * gutter.c (update_gutter_geometry): | |
| 3321 * gutter.c (update_frame_gutter_geometry): | |
| 3322 * gutter.c (update_frame_gutters): | |
| 3323 * gutter.c (reset_gutter_display_lines): | |
| 3324 * gutter.c (redraw_exposed_gutter): | |
| 3325 * gutter.c (redraw_exposed_gutters): | |
| 3326 * gutter.c (free_frame_gutters): | |
| 3327 * gutter.c (decode_gutter_position): | |
| 3328 * gutter.c (Fset_default_gutter_position): | |
| 3329 * gutter.c (Fgutter_pixel_width): | |
| 3330 * gutter.c (Fgutter_pixel_height): | |
| 3331 * gutter.c (recompute_overlaying_specifier): | |
| 3332 * gutter.c (gutter_specs_changed_1): | |
| 3333 * gutter.c (gutter_specs_changed): | |
| 3334 * gutter.c (top_gutter_specs_changed): | |
| 3335 * gutter.c (bottom_gutter_specs_changed): | |
| 3336 * gutter.c (left_gutter_specs_changed): | |
| 3337 * gutter.c (right_gutter_specs_changed): | |
| 3338 * gutter.c (gutter_geometry_changed_in_window): | |
| 3339 * gutter.c (init_frame_gutters): | |
| 3340 * gutter.c (specifier_vars_of_gutter): | |
| 3341 * gutter.h: | |
| 3342 * gutter.h (WINDOW_REAL_TOP_GUTTER_BOUNDS): | |
| 3343 * gutter.h (FRAME_TOP_GUTTER_BOUNDS): | |
| 3344 * lisp.h (enum edge_style): | |
| 3345 * native-gtk-toolbar.c: | |
| 3346 * native-gtk-toolbar.c (gtk_output_toolbar): | |
| 3347 * native-gtk-toolbar.c (gtk_clear_toolbar): | |
| 3348 * native-gtk-toolbar.c (gtk_output_frame_toolbars): | |
| 3349 * native-gtk-toolbar.c (gtk_initialize_frame_toolbars): | |
| 3350 * toolbar-msw.c: | |
| 3351 * toolbar-msw.c (TOOLBAR_HANDLE): | |
| 3352 * toolbar-msw.c (allocate_toolbar_item_id): | |
| 3353 * toolbar-msw.c (mswindows_clear_toolbar): | |
| 3354 * toolbar-msw.c (mswindows_output_toolbar): | |
| 3355 * toolbar-msw.c (mswindows_move_toolbar): | |
| 3356 * toolbar-msw.c (mswindows_redraw_exposed_toolbars): | |
| 3357 * toolbar-msw.c (mswindows_initialize_frame_toolbars): | |
| 3358 * toolbar-msw.c (mswindows_output_frame_toolbars): | |
| 3359 * toolbar-msw.c (mswindows_clear_frame_toolbars): | |
| 3360 * toolbar-msw.c (DELETE_TOOLBAR): | |
| 3361 * toolbar-msw.c (mswindows_free_frame_toolbars): | |
| 3362 * toolbar-msw.c (mswindows_get_toolbar_button_text): | |
| 3363 * toolbar-xlike.c: | |
| 3364 * toolbar-xlike.c (__prepare_button_area): | |
| 3365 * toolbar-xlike.c (XLIKE_OUTPUT_BUTTONS_LOOP): | |
| 3366 * toolbar-xlike.c (xlike_output_toolbar): | |
| 3367 * toolbar-xlike.c (xlike_clear_toolbar): | |
| 3368 * toolbar-xlike.c (xlike_output_frame_toolbars): | |
| 3369 * toolbar-xlike.c (xlike_clear_frame_toolbars): | |
| 3370 * toolbar-xlike.c (xlike_redraw_exposed_toolbar): | |
| 3371 * toolbar-xlike.c (xlike_redraw_exposed_toolbars): | |
| 3372 * toolbar-xlike.c (xlike_redraw_frame_toolbars): | |
| 3373 * toolbar.c: | |
| 3374 * toolbar.c (decode_toolbar_position): | |
| 3375 * toolbar.c (Fset_default_toolbar_position): | |
| 3376 * toolbar.c (mark_frame_toolbar_buttons_dirty): | |
| 3377 * toolbar.c (compute_frame_toolbar_buttons): | |
| 3378 * toolbar.c (set_frame_toolbar): | |
| 3379 * toolbar.c (compute_frame_toolbars_data): | |
| 3380 * toolbar.c (update_frame_toolbars_geometry): | |
| 3381 * toolbar.c (init_frame_toolbars): | |
| 3382 * toolbar.c (get_toolbar_coords): | |
| 3383 * toolbar.c (CHECK_TOOLBAR): | |
| 3384 * toolbar.c (toolbar_buttons_at_pixpos): | |
| 3385 * toolbar.c (CTB_ERROR): | |
| 3386 * toolbar.c (recompute_overlaying_specifier): | |
| 3387 * toolbar.c (specifier_vars_of_toolbar): | |
| 3388 * toolbar.h: | |
| 3389 * toolbar.h (SET_TOOLBAR_WAS_VISIBLE_FLAG): | |
| 3390 Create new enum edge_pos with TOP_EDGE, BOTTOM_EDGE, LEFT_EDGE, | |
| 3391 RIGHT_EDGE; subsume TOP_BORDER, TOP_GUTTER, enum toolbar_pos, | |
| 3392 enum gutter_pos, etc. | |
| 3393 | |
| 3394 Create EDGE_POS_LOOP, subsuming GUTTER_POS_LOOP. | |
| 3395 | |
| 3396 Create NUM_EDGES, use in many places instead of hardcoded '4'. | |
| 3397 | |
| 3398 Instead of top_toolbar_was_visible, bottom_toolbar_was_visible, | |
| 3399 etc. make an array toolbar_was_visible[NUM_EDGES]. This increases | |
| 3400 the frame size by 15 bytes or so (could be 3 if we use Boolbytes) | |
| 3401 but hardly seems w to matter -- frames are heavy weight objects | |
| 3402 anyway. Same with top_gutter_was_visible, etc. | |
| 3403 | |
| 3404 Remove duplicated SET_TOOLBAR_WAS_VISIBLE_FLAG and put defn in | |
| 3405 one place (toolbar.h). | |
| 3406 | |
| 3407 2010-02-24 Didier Verna <didier@xemacs.org> | |
| 3408 | |
| 3409 Modify XLIKE_get_gc's prototype. | |
| 3410 * redisplay-xlike-inc.c (XLIKE_get_gc): Take a frame instead of a | |
| 3411 device as first argument. | |
| 3412 * redisplay-xlike-inc.c (XLIKE_output_string): Update caller. | |
| 3413 * redisplay-xlike-inc.c (XLIKE_output_pixmap): Ditto. | |
| 3414 * redisplay-xlike-inc.c (XLIKE_output_blank): Ditto. | |
| 3415 * redisplay-xlike-inc.c (XLIKE_output_horizontal_line): Ditto. | |
| 3416 * redisplay-xlike-inc.c (XLIKE_clear_region): Ditto. | |
| 3417 * redisplay-xlike-inc.c (XLIKE_output_eol_cursor): Ditto. | |
| 3418 * console-gtk.h (gtk_get_gc): Take a frame instead of a device as | |
| 3419 first argument. | |
| 3420 * gtk-glue.c (face_to_gc): Update caller. | |
| 3421 | |
| 3422 2010-02-24 Didier Verna <didier@xemacs.org> | |
| 3423 | |
| 3424 * glyphs.c: Clarify comment about potential_pixmap_file_instantiator. | |
| 3425 * glyphs.c (xbm_mask_file_munging): Clarify comment, remove | |
| 3426 unreachable condition and provide a cuple of assertions. | |
| 3427 * glyphs.c (xbm_normalize): Clarify comments, error on mask file | |
| 3428 not found. | |
| 3429 * glyphs.c (xface_normalize): Ditto, and handle inline data properly. | |
| 3430 | |
| 3431 2010-02-22 Ben Wing <ben@xemacs.org> | |
| 3432 | |
| 3433 * EmacsFrame.c: | |
| 3434 * Makefile.in.in (x_objs): | |
| 3435 * Makefile.in.in (mswindows_objs): | |
| 3436 * Makefile.in.in (tty_objs): | |
| 3437 * Makefile.in.in (gtk_objs): | |
| 3438 * Makefile.in.in (objs): | |
| 3439 * console-tty.h: | |
| 3440 * console-x-impl.h: | |
| 3441 * console-x-impl.h (struct x_device): | |
| 3442 * console-x.h: | |
| 3443 * console-xlike-inc.h: | |
| 3444 * depend: | |
| 3445 * device-gtk.c: | |
| 3446 * device-msw.c: | |
| 3447 * device-x.c: | |
| 3448 * device-x.c (x_init_device): | |
| 3449 * device-x.c (x_finish_init_device): | |
| 3450 * device.c: | |
| 3451 * devslots.h (MARKED_SLOT): | |
| 3452 * emacs.c (main_1): | |
| 3453 * event-Xt.c: | |
| 3454 * event-gtk.c: | |
| 3455 * event-msw.c: | |
| 3456 * faces.c: | |
| 3457 * font-mgr.c: | |
| 3458 * fontcolor-gtk-impl.h: | |
| 3459 * fontcolor-gtk.c: | |
| 3460 * fontcolor-gtk.c (syms_of_fontcolor_gtk): | |
| 3461 * fontcolor-gtk.c (console_type_create_fontcolor_gtk): | |
| 3462 * fontcolor-gtk.c (vars_of_fontcolor_gtk): | |
| 3463 * fontcolor-gtk.h: | |
| 3464 * fontcolor-impl.h: | |
| 3465 * fontcolor-msw-impl.h: | |
| 3466 * fontcolor-msw.c: | |
| 3467 * fontcolor-msw.c (syms_of_fontcolor_mswindows): | |
| 3468 * fontcolor-msw.c (console_type_create_fontcolor_mswindows): | |
| 3469 * fontcolor-msw.c (reinit_vars_of_fontcolor_mswindows): | |
| 3470 * fontcolor-msw.c (vars_of_fontcolor_mswindows): | |
| 3471 * fontcolor-msw.h: | |
| 3472 * fontcolor-msw.h (mswindows_color_to_string): | |
| 3473 * fontcolor-tty-impl.h: | |
| 3474 * fontcolor-tty.c: | |
| 3475 * fontcolor-tty.c (syms_of_fontcolor_tty): | |
| 3476 * fontcolor-tty.c (console_type_create_fontcolor_tty): | |
| 3477 * fontcolor-tty.c (vars_of_fontcolor_tty): | |
| 3478 * fontcolor-tty.h: | |
| 3479 * fontcolor-x-impl.h: | |
| 3480 * fontcolor-x.c: | |
| 3481 * fontcolor-x.c (syms_of_fontcolor_x): | |
| 3482 * fontcolor-x.c (console_type_create_fontcolor_x): | |
| 3483 * fontcolor-x.c (vars_of_fontcolor_x): | |
| 3484 * fontcolor-x.c (Xatoms_of_fontcolor_x): | |
| 3485 * fontcolor-x.h: | |
| 3486 * fontcolor.c: | |
| 3487 * fontcolor.c (syms_of_fontcolor): | |
| 3488 * fontcolor.c (specifier_type_create_fontcolor): | |
| 3489 * fontcolor.c (reinit_specifier_type_create_fontcolor): | |
| 3490 * fontcolor.c (reinit_vars_of_fontcolor): | |
| 3491 * fontcolor.c (vars_of_fontcolor): | |
| 3492 * fontcolor.h: | |
| 3493 * fontcolor.h (set_face_boolean_attached_to): | |
| 3494 * frame-gtk.c: | |
| 3495 * frame-x.c: | |
| 3496 * glyphs-eimage.c: | |
| 3497 * glyphs-gtk.c: | |
| 3498 * glyphs-msw.c: | |
| 3499 * glyphs-widget.c: | |
| 3500 * glyphs-x.c: | |
| 3501 * glyphs.c: | |
| 3502 * gtk-glue.c: | |
| 3503 * gtk-glue.c (xemacs_type_register): | |
| 3504 * gtk-xemacs.c: | |
| 3505 * inline.c: | |
| 3506 * intl-win32.c: | |
| 3507 * lisp.h: | |
| 3508 * lrecord.h: | |
| 3509 * mule-charset.c: | |
| 3510 * native-gtk-toolbar.c: | |
| 3511 * redisplay-msw.c: | |
| 3512 * redisplay-tty.c: | |
| 3513 * redisplay.c: | |
| 3514 * select-x.c: | |
| 3515 * select.c: | |
| 3516 * symsinit.h: | |
| 3517 * toolbar-msw.c: | |
| 3518 * toolbar-msw.c (TOOLBAR_ITEM_ID_BITS): | |
| 3519 * toolbar-x.c: | |
| 3520 * ui-gtk.c: | |
| 3521 * window.c: | |
| 3522 Rename objects*.[ch] -> fontcolor*.[ch]. Fix up all references to | |
| 3523 the old files (e.g. in #include statements, Makefiles, | |
| 3524 functions like syms_of_objects_x(), etc.). | |
| 3525 | |
| 3526 2010-02-22 Ben Wing <ben@xemacs.org> | |
| 3527 | |
| 3528 * .gdbinit.in.in: | |
| 3529 * Makefile.in.in (batch_test_emacs): | |
| 3530 test-harness.el is in lisp directory now so change how we call it. | |
| 3531 | |
| 3532 2010-02-22 Ben Wing <ben@xemacs.org> | |
| 3533 | |
| 3534 * alloc.c (object_memory_usage_stats): | |
| 3535 Remove unused var. | |
| 3536 | |
| 3537 2010-02-21 Ben Wing <ben@xemacs.org> | |
| 3538 | |
| 3539 * alloc.c: | |
| 3540 * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC): | |
| 3541 * alloc.c (struct): | |
| 3542 * alloc.c (tick_lrecord_stats): | |
| 3543 * alloc.c (tick_lcrecord_stats): | |
| 3544 * alloc.c (sweep_lcrecords_1): | |
| 3545 * alloc.c (COUNT_FROB_BLOCK_USAGE): | |
| 3546 * alloc.c (SWEEP_FIXED_TYPE_BLOCK_1): | |
| 3547 * alloc.c (free_cons): | |
| 3548 * alloc.c (free_key_data): | |
| 3549 * alloc.c (free_button_data): | |
| 3550 * alloc.c (free_motion_data): | |
| 3551 * alloc.c (free_process_data): | |
| 3552 * alloc.c (free_timeout_data): | |
| 3553 * alloc.c (free_magic_data): | |
| 3554 * alloc.c (free_magic_eval_data): | |
| 3555 * alloc.c (free_eval_data): | |
| 3556 * alloc.c (free_misc_user_data): | |
| 3557 * alloc.c (free_marker): | |
| 3558 * alloc.c (gc_sweep_1): | |
| 3559 * alloc.c (HACK_O_MATIC): | |
| 3560 * alloc.c (FROB): | |
| 3561 * alloc.c (object_memory_usage_stats): | |
| 3562 * alloc.c (Fgarbage_collect): | |
| 3563 * dumper.c: | |
| 3564 * dumper.c (pdump_objects_unmark): | |
| 3565 * lrecord.h: | |
| 3566 * lrecord.h (enum lrecord_alloc_status): | |
| 3567 Fixes to memory-usage-tracking code, etc. | |
| 3568 | |
| 3569 (1) Incorporate NEW_GC stuff into FREE_FIXED_TYPE_WHEN_NOT_IN_GC | |
| 3570 to avoid duplication. | |
| 3571 | |
| 3572 (2) Rewrite tick_lcrecord_stats() to include separate | |
| 3573 tick_lrecord_stats(); use in dumper.c to note pdumped objects. | |
| 3574 | |
| 3575 (3) Instead of handling frob-block objects specially in | |
| 3576 object_memory_usage_stats(), have SWEEP_FIXED_TYPE_BLOCK_1 | |
| 3577 increment the stats in lrecord_stats[] so that they get handled | |
| 3578 like other objects. | |
| 3579 | |
| 3580 (4) Pluralize entry as entries, etc. | |
| 3581 | |
| 3582 2010-02-21 Ben Wing <ben@xemacs.org> | |
| 3583 | |
| 3584 * alloc.c: | |
| 3585 * alloc.c (pluralize_word): | |
| 3586 New function to pluralize a word. | |
| 3587 * alloc.c (pluralize_and_append): New function. | |
| 3588 * alloc.c (object_memory_usage_stats): | |
| 3589 Clean up duplication. | |
| 3590 | |
| 3591 2010-02-21 Vin Shelton <acs@xemacs.org> | |
| 3592 | |
| 3593 * events.c (event_pixel_translation): Simplify assertion for | |
| 3594 Visual C 6. | |
| 3595 | |
| 3596 2010-02-21 Ben Wing <ben@xemacs.org> | |
| 3597 | |
| 3598 * gc.c (kkcc_marking): Fix compile error. | |
| 3599 * mc-alloc.c: | |
| 3600 #if 0 out some unused functions. | |
| 3601 | |
| 3602 2010-02-21 Ben Wing <ben@xemacs.org> | |
| 3603 | |
| 3604 * extents.c (process_extents_for_insertion_mapper): | |
| 3605 Assertion wasn't quite set up correctly in previous patch. | |
| 3606 | |
| 3607 2010-02-20 Ben Wing <ben@xemacs.org> | |
| 3608 | |
| 3609 * EmacsFrame.c: | |
| 3610 * EmacsFrame.c (EmacsFrameRecomputeCellSize): | |
| 3611 * alloca.c (i00afunc): | |
| 3612 * buffer.c: | |
| 3613 * buffer.c (MARKED_SLOT): | |
| 3614 * buffer.c (complex_vars_of_buffer): | |
| 3615 * cm.c: | |
| 3616 * cm.c (cmcheckmagic): | |
| 3617 * console.c: | |
| 3618 * console.c (MARKED_SLOT): | |
| 3619 * device-x.c: | |
| 3620 * device-x.c (x_get_visual_depth): | |
| 3621 * emacs.c (sort_args): | |
| 3622 * eval.c (throw_or_bomb_out): | |
| 3623 * event-stream.c: | |
| 3624 * event-stream.c (Fadd_timeout): | |
| 3625 * event-stream.c (Fadd_async_timeout): | |
| 3626 * event-stream.c (Frecent_keys): | |
| 3627 * events.c: | |
| 3628 * events.c (Fdeallocate_event): | |
| 3629 * events.c (event_pixel_translation): | |
| 3630 * extents.c: | |
| 3631 * extents.c (process_extents_for_insertion_mapper): | |
| 3632 * fns.c (Fbase64_encode_region): | |
| 3633 * fns.c (Fbase64_encode_string): | |
| 3634 * fns.c (Fbase64_decode_region): | |
| 3635 * fns.c (Fbase64_decode_string): | |
| 3636 * font-lock.c: | |
| 3637 * font-lock.c (find_context): | |
| 3638 * frame-x.c: | |
| 3639 * frame-x.c (x_wm_mark_shell_size_user_specified): | |
| 3640 * frame-x.c (x_wm_mark_shell_position_user_specified): | |
| 3641 * frame-x.c (x_wm_set_shell_iconic_p): | |
| 3642 * frame-x.c (x_wm_set_cell_size): | |
| 3643 * frame-x.c (x_wm_set_variable_size): | |
| 3644 * frame-x.c (x_wm_store_class_hints): | |
| 3645 * frame-x.c (x_wm_maybe_store_wm_command): | |
| 3646 * frame-x.c (x_initialize_frame_size): | |
| 3647 * frame.c (delete_frame_internal): | |
| 3648 * frame.c (change_frame_size_1): | |
| 3649 * free-hook.c (check_free): | |
| 3650 * free-hook.c (note_block_input): | |
| 3651 * free-hook.c (log_gcpro): | |
| 3652 * gccache-gtk.c (gc_cache_lookup): | |
| 3653 * gccache-x.c: | |
| 3654 * gccache-x.c (gc_cache_lookup): | |
| 3655 * glyphs-gtk.c: | |
| 3656 * glyphs-gtk.c (init_image_instance_from_gdk_pixmap): | |
| 3657 * glyphs-x.c: | |
| 3658 * glyphs-x.c (extract_xpm_color_names): | |
| 3659 * insdel.c: | |
| 3660 * insdel.c (move_gap): | |
| 3661 * keymap.c: | |
| 3662 * keymap.c (keymap_lookup_directly): | |
| 3663 * keymap.c (keymap_delete_inverse_internal): | |
| 3664 * keymap.c (accessible_keymaps_mapper_1): | |
| 3665 * keymap.c (where_is_recursive_mapper): | |
| 3666 * lisp.h: | |
| 3667 * lstream.c (make_lisp_buffer_stream_1): | |
| 3668 * macros.c: | |
| 3669 * macros.c (pop_kbd_macro_event): | |
| 3670 * mc-alloc.c (remove_page_from_used_list): | |
| 3671 * menubar-x.c: | |
| 3672 * menubar-x.c (set_frame_menubar): | |
| 3673 * ralloc.c: | |
| 3674 * ralloc.c (obtain): | |
| 3675 * ralloc.c (relinquish): | |
| 3676 * ralloc.c (relocate_blocs): | |
| 3677 * ralloc.c (resize_bloc): | |
| 3678 * ralloc.c (r_alloc_free): | |
| 3679 * ralloc.c (r_re_alloc): | |
| 3680 * ralloc.c (r_alloc_thaw): | |
| 3681 * ralloc.c (init_ralloc): | |
| 3682 * ralloc.c (Free_Addr_Block): | |
| 3683 * scrollbar-x.c: | |
| 3684 * scrollbar-x.c (x_update_scrollbar_instance_status): | |
| 3685 * sunplay.c (init_device): | |
| 3686 * unexnt.c: | |
| 3687 * unexnt.c (read_in_bss): | |
| 3688 * unexnt.c (map_in_heap): | |
| 3689 * window.c: | |
| 3690 * window.c (real_window): | |
| 3691 * window.c (window_display_lines): | |
| 3692 * window.c (window_display_buffer): | |
| 3693 * window.c (set_window_display_buffer): | |
| 3694 * window.c (unshow_buffer): | |
| 3695 * window.c (Fget_lru_window): | |
| 3696 if (...) ABORT(); ---> assert(); | |
| 3697 | |
| 3698 More specifically: | |
| 3699 | |
| 3700 if (x == y) ABORT (); --> assert (x != y); | |
| 3701 if (x != y) ABORT (); --> assert (x == y); | |
| 3702 if (x > y) ABORT (); --> assert (x <= y); | |
| 3703 etc. | |
| 3704 if (!x) ABORT (); --> assert (x); | |
| 3705 if (x) ABORT (); --> assert (!x); | |
| 3706 | |
| 3707 DeMorgan's Law's applied and manually simplified: | |
| 3708 if (x && !y) ABORT (); --> assert (!x || y); | |
| 3709 if (!x || y >= z) ABORT (); --> assert (x && y < z); | |
| 3710 | |
| 3711 Checked to make sure that assert() of an expression with side | |
| 3712 effects ensures that the side effects get executed even when | |
| 3713 asserts are disabled, and add a comment about this being a | |
| 3714 requirement of any "disabled assert" expression. | |
| 3715 | |
| 3716 * depend: | |
| 3717 * make-src-depend: | |
| 3718 * make-src-depend (PrintDeps): | |
| 3719 Fix broken code in make-src-depend so it does what it was always | |
| 3720 supposed to do, which was separate out config.h and lisp.h and | |
| 3721 all the files they include into separate variables in the | |
| 3722 depend part of Makefile so that quick-build can turn off the | |
| 3723 lisp.h/config.h/text.h/etc. dependencies of the source files, to | |
| 3724 speed up recompilation. | |
| 3725 | |
| 3726 | |
| 3727 2010-02-20 Ben Wing <ben@xemacs.org> | |
| 3728 | |
| 3729 * EmacsFrame.c (EmacsFrameRecomputeCellSize): | |
| 3730 * faces.c (default_face_font_info): | |
| 3731 * faces.c (default_face_width_and_height): | |
| 3732 * faces.c (Fface_list): | |
| 3733 * faces.h: | |
| 3734 * frame-gtk.c (gtk_set_initial_frame_size): | |
| 3735 * frame-gtk.c (gtk_set_frame_size): | |
| 3736 * frame-gtk.c (gtk_recompute_cell_sizes): | |
| 3737 * frame.c: | |
| 3738 * frame.c (frame_conversion_internal_1): | |
| 3739 * frame.c (change_frame_size_1): | |
| 3740 * frame.c (change_frame_size): | |
| 3741 * glyphs-msw.c (mswindows_combo_box_instantiate): | |
| 3742 * glyphs-widget.c (widget_instantiate): | |
| 3743 * glyphs-widget.c (tree_view_query_geometry): | |
| 3744 * glyphs-widget.c (Fwidget_logical_to_character_width): | |
| 3745 * glyphs-widget.c (Fwidget_logical_to_character_height): | |
| 3746 * indent.c (vmotion_pixels): | |
| 3747 * redisplay-output.c (get_cursor_size_and_location): | |
| 3748 * redisplay-xlike-inc.c (XLIKE_output_eol_cursor): | |
| 3749 * redisplay-xlike-inc.c (XLIKE_flash): | |
| 3750 * redisplay.c (calculate_baseline): | |
| 3751 * redisplay.c (start_with_point_on_display_line): | |
| 3752 * redisplay.c (glyph_to_pixel_translation): | |
| 3753 * redisplay.c (pixel_to_glyph_translation): | |
| 3754 * window.c (margin_width_internal): | |
| 3755 * window.c (frame_size_valid_p): | |
| 3756 * window.c (frame_pixsize_valid_p): | |
| 3757 * window.c (check_frame_size): | |
| 3758 * window.c (set_window_pixsize): | |
| 3759 * window.c (window_pixel_height_to_char_height): | |
| 3760 * window.c (window_char_height_to_pixel_height): | |
| 3761 * window.c (window_displayed_height): | |
| 3762 * window.c (window_pixel_width_to_char_width): | |
| 3763 * window.c (window_char_width_to_pixel_width): | |
| 3764 * window.c (change_window_height): | |
| 3765 * window.c (window_scroll): | |
| 3766 * window.h: | |
| 3767 IMPORTANT: Aidan and Carbon Repo, please pay attention and fix | |
| 3768 appropriately! | |
| 3769 | |
| 3770 Rename: default_face_height_and_width -> default_face_width_and_height | |
| 3771 and reverse width/height arguments. | |
| 3772 | |
| 3773 Reverse width/height arguments to the following functions: | |
| 3774 -- default_face_font_info | |
| 3775 -- default_face_height_and_width (see above) | |
| 3776 -- check_frame_size | |
| 3777 -- frame_size_valid_p (made into a static function) | |
| 3778 | |
| 3779 Fix a redisplay bug where args to default_face_height_and_width | |
| 3780 were in the wrong order. | |
| 3781 | |
| 3782 | |
| 3783 2010-02-20 Ben Wing <ben@xemacs.org> | |
| 3784 | |
| 3785 * syswindows.h: | |
| 3786 Add table about GNU Emacs -> XEmacs Windows constants from | |
| 3787 the internals manual. | |
| 3788 | |
| 3789 * frame.c: | |
| 3790 Shrink size of diagram consistent with internals manual. | |
| 3791 | |
| 3792 * alloc.c: | |
| 3793 * compiler.h: | |
| 3794 * console.c: | |
| 3795 * events.c: | |
| 3796 * gc.c (gc_stat_start_new_gc): | |
| 3797 * gc.c (gc_stat_resume_gc): | |
| 3798 * gc.c (kkcc_marking): | |
| 3799 * gc.c (gc_1): | |
| 3800 * gc.c (gc): | |
| 3801 * objects-tty.c: | |
| 3802 * redisplay-msw.c: | |
| 3803 * redisplay-msw.c (mswindows_clear_region): | |
| 3804 * syntax.c: | |
| 3805 * syntax.c (ST_COMMENT_STYLE): | |
| 3806 * sysdep.c: | |
| 3807 Fix various compiler warnings. | |
| 3808 | |
| 3809 2010-02-16 Ben Wing <ben@xemacs.org> | |
| 3810 | |
| 3811 * frame-impl.h: | |
| 3812 * frame-impl.h (FRAME_INTERNAL_BORDER_WIDTH): | |
| 3813 * frame-impl.h (FRAME_REAL_TOOLBAR_BOUNDS): | |
| 3814 * frame-impl.h (FRAME_REAL_TOP_TOOLBAR_BOUNDS): | |
| 3815 * frame-impl.h (FRAME_BOTTOM_BORDER_START): | |
| 3816 * frame-impl.h (FRAME_LEFT_BORDER_START): | |
| 3817 * frame-impl.h (FRAME_RIGHT_BORDER_START): | |
| 3818 * frame.c (frame_conversion_internal_1): | |
| 3819 * frame.c (change_frame_size_1): | |
| 3820 * redisplay-output.c (clear_left_border): | |
| 3821 * redisplay-output.c (clear_right_border): | |
| 3822 * redisplay-output.c (redisplay_clear_top_of_window): | |
| 3823 * redisplay-output.c (redisplay_clear_to_window_end): | |
| 3824 * redisplay-output.c (redisplay_clear_bottom_of_window): | |
| 3825 Rename FRAME_BORDER_* to FRAME_INTERNAL_BORDER_*. Add | |
| 3826 general FRAME_INTERNAL_BORDER_SIZE(). Add FRAME_REAL_TOOLBAR_BOUNDS() | |
| 3827 to encompass the entire size of the toolbar including its border. | |
| 3828 Add specific top/left/bottom/right versions of this macro. | |
| 3829 Rewrite FRAME_*_BORDER_START and FRAME_*_BORDER_END to take into use | |
| 3830 FRAME_REAL_*_TOOLBAR_BOUNDS(). Add some comments about existing | |
| 3831 problems in frame sizing and how they might be fixed. Simplify | |
| 3832 change_frame_size_1() using the macros just created. | |
| 3833 | |
| 3834 2010-02-15 Ben Wing <ben@xemacs.org> | |
| 3835 | |
| 3836 * frame.c (change_frame_size_1): | |
| 3837 Simplify the logic in this function. | |
| 3838 | |
| 3839 (1) Don't allow 0 as the value of height or width. The old code | |
| 3840 that tried to allow this was totally broken, anyway, so obviously | |
| 3841 this never happens any more. | |
| 3842 | |
| 3843 (2) Don't duplicate the code in frame_conversion_internal() that | |
| 3844 converts displayable pixel size to total pixel size -- just call | |
| 3845 that function. | |
| 3846 | |
| 3847 2010-02-15 Ben Wing <ben@xemacs.org> | |
| 3848 | |
| 3849 * EmacsFrame.c: | |
| 3850 * EmacsFrame.c (EmacsFrameResize): | |
| 3851 * console-msw-impl.h: | |
| 3852 * console-msw-impl.h (struct mswindows_frame): | |
| 3853 * console-msw-impl.h (FRAME_MSWINDOWS_TARGET_RECT): | |
| 3854 * device-tty.c: | |
| 3855 * device-tty.c (tty_asynch_device_change): | |
| 3856 * event-msw.c: | |
| 3857 * event-msw.c (mswindows_wnd_proc): | |
| 3858 * faces.c (Fface_list): | |
| 3859 * faces.h: | |
| 3860 * frame-gtk.c: | |
| 3861 * frame-gtk.c (gtk_set_initial_frame_size): | |
| 3862 * frame-gtk.c (gtk_set_frame_size): | |
| 3863 * frame-msw.c: | |
| 3864 * frame-msw.c (mswindows_init_frame_1): | |
| 3865 * frame-msw.c (mswindows_set_frame_size): | |
| 3866 * frame-msw.c (mswindows_size_frame_internal): | |
| 3867 * frame-msw.c (msprinter_init_frame_3): | |
| 3868 * frame.c: | |
| 3869 * frame.c (enum): | |
| 3870 * frame.c (Fmake_frame): | |
| 3871 * frame.c (adjust_frame_size): | |
| 3872 * frame.c (store_minibuf_frame_prop): | |
| 3873 * frame.c (Fframe_property): | |
| 3874 * frame.c (Fframe_properties): | |
| 3875 * frame.c (Fframe_displayable_pixel_height): | |
| 3876 * frame.c (Fframe_displayable_pixel_width): | |
| 3877 * frame.c (internal_set_frame_size): | |
| 3878 * frame.c (Fset_frame_height): | |
| 3879 * frame.c (Fset_frame_pixel_height): | |
| 3880 * frame.c (Fset_frame_displayable_pixel_height): | |
| 3881 * frame.c (Fset_frame_width): | |
| 3882 * frame.c (Fset_frame_pixel_width): | |
| 3883 * frame.c (Fset_frame_displayable_pixel_width): | |
| 3884 * frame.c (Fset_frame_size): | |
| 3885 * frame.c (Fset_frame_pixel_size): | |
| 3886 * frame.c (Fset_frame_displayable_pixel_size): | |
| 3887 * frame.c (frame_conversion_internal_1): | |
| 3888 * frame.c (get_frame_displayable_pixel_size): | |
| 3889 * frame.c (change_frame_size_1): | |
| 3890 * frame.c (change_frame_size): | |
| 3891 * frame.c (generate_title_string): | |
| 3892 * frame.h: | |
| 3893 * gtk-xemacs.c: | |
| 3894 * gtk-xemacs.c (gtk_xemacs_size_request): | |
| 3895 * gtk-xemacs.c (gtk_xemacs_size_allocate): | |
| 3896 * gtk-xemacs.c (gtk_xemacs_paint): | |
| 3897 * gutter.c: | |
| 3898 * gutter.c (update_gutter_geometry): | |
| 3899 * redisplay.c (end_hold_frame_size_changes): | |
| 3900 * redisplay.c (redisplay_frame): | |
| 3901 * toolbar.c: | |
| 3902 * toolbar.c (update_frame_toolbars_geometry): | |
| 3903 * window.c: | |
| 3904 * window.c (frame_pixsize_valid_p): | |
| 3905 * window.c (check_frame_size): | |
| 3906 Various fixes to frame geometry to make it a bit easier to understand | |
| 3907 and fix some bugs. | |
| 3908 | |
| 3909 1. IMPORTANT: Some renamings. Will need to be applied carefully to | |
| 3910 the carbon repository, in the following order: | |
| 3911 | |
| 3912 -- pixel_to_char_size -> pixel_to_frame_unit_size | |
| 3913 -- char_to_pixel_size -> frame_unit_to_pixel_size | |
| 3914 -- pixel_to_real_char_size -> pixel_to_char_size | |
| 3915 -- char_to_real_pixel_size -> char_to_pixel_size | |
| 3916 -- Reverse second and third arguments of change_frame_size() and | |
| 3917 change_frame_size_1() to try to make functions consistent in | |
| 3918 putting width before height. | |
| 3919 -- Eliminate old round_size_to_char, because it didn't really | |
| 3920 do anything differently from round_size_to_real_char() | |
| 3921 -- round_size_to_real_char -> round_size_to_char; any places that | |
| 3922 called the old round_size_to_char should just call the new one. | |
| 3923 | |
| 3924 2. IMPORTANT FOR CARBON: The set_frame_size() method is now passed | |
| 3925 sizes in "frame units", like all other frame-sizing functions, | |
| 3926 rather than some hacked-up combination of char-cell units and | |
| 3927 total pixel size. This only affects window systems that use | |
| 3928 "pixelated geometry", and I'm not sure if Carbon is one of them. | |
| 3929 MS Windows is pixelated, X and GTK are not. For pixelated-geometry | |
| 3930 systems, the size in set_frame_size() is in displayable pixels | |
| 3931 rather than total pixels and needs to be converted appropriately; | |
| 3932 take a look at the changes made to mswindows_set_frame_size() | |
| 3933 method if necessary. | |
| 3934 | |
| 3935 3. Add a big long comment in frame.c describing how frame geometry | |
| 3936 works. | |
| 3937 | |
| 3938 4. Remove MS Windows-specific character height and width fields, | |
| 3939 duplicative and unused. | |
| 3940 | |
| 3941 5. frame-displayable-pixel-* and set-frame-displayable-pixel-* | |
| 3942 didn't use to work on MS Windows, but they do now. | |
| 3943 | |
| 3944 6. In general, clean up the handling of "pixelated geometry" so | |
| 3945 that fewer functions have to worry about this. This is really | |
| 3946 an abomination that should be removed entirely but that will | |
| 3947 have to happen later. Fix some buggy code in | |
| 3948 frame_conversion_internal() that happened to "work" because it | |
| 3949 was countered by oppositely buggy code in change_frame_size(). | |
| 3950 | |
| 3951 7. Clean up some frame-size code in toolbar.c and use functions | |
| 3952 already provided in frame.c instead of rolling its own. | |
| 3953 | |
| 3954 8. Fix check_frame_size() in window.c, which formerly didn't take | |
| 3955 pixelated geometry into account. | |
| 3956 | |
| 3957 | |
| 3958 2010-02-15 Ben Wing <ben@xemacs.org> | |
| 3959 | |
| 3960 * mc-alloc.c: | |
| 3961 * mc-alloc.c (mc_realloc_1): | |
| 3962 * mc-alloc.c (set_dirty_bit): | |
| 3963 * mc-alloc.c (set_dirty_bit_for_address): | |
| 3964 * mc-alloc.c (get_dirty_bit): | |
| 3965 * mc-alloc.c (get_dirty_bit_for_address): | |
| 3966 * mc-alloc.c (set_protection_bit): | |
| 3967 * mc-alloc.c (set_protection_bit_for_address): | |
| 3968 * mc-alloc.c (get_protection_bit): | |
| 3969 * mc-alloc.c (get_protection_bit_for_address): | |
| 3970 * mc-alloc.c (get_page_start): | |
| 3971 * vdb-win32.c (win32_fault_handler): | |
| 3972 * vdb.c: | |
| 3973 Fix some compile warnings, make vdb test code conditional on | |
| 3974 DEBUG_XEMACS. | |
| 3975 | |
| 3976 2010-02-15 Ben Wing <ben@xemacs.org> | |
| 3977 | |
| 3978 * regex.c: | |
| 3979 * regex.c (DEBUG_FAIL_PRINT1): | |
| 3980 * regex.c (PUSH_FAILURE_POINT): | |
| 3981 * regex.c (POP_FAILURE_POINT): | |
| 3982 * regex.c (regex_compile): | |
| 3983 * regex.c (re_match_2_internal): | |
| 3984 * regex.h: | |
| 3985 * search.c: | |
| 3986 * search.c (search_buffer): | |
| 3987 * search.c (debug_regexps_changed): | |
| 3988 * search.c (vars_of_search): | |
| 3989 Add an internal variable debug_regexps and a corresponding Lisp | |
| 3990 variable `debug-regexps' that takes a list of areas in which to | |
| 3991 display debugging info about regex compilation and matching | |
| 3992 (currently three areas exist). Use existing debugging code | |
| 3993 already in regex.c and modify it so that it recognizes the | |
| 3994 debug_regexps variable and the flags in it. | |
| 3995 | |
| 3996 Rename variable `debug-xemacs-searches' to just `debug-searches', | |
| 3997 consistent with other debug vars. | |
| 3998 | |
| 3999 2010-02-20 Ben Wing <ben@xemacs.org> | |
| 4000 | |
| 4001 * device-x.c (Fx_get_resource): | |
| 4002 * dynarr.c: | |
| 4003 * dynarr.c (Dynarr_realloc): | |
| 4004 * dynarr.c (Dynarr_newf): | |
| 4005 * dynarr.c (Dynarr_lisp_realloc): | |
| 4006 * dynarr.c (Dynarr_lisp_newf): | |
| 4007 * dynarr.c (Dynarr_resize): | |
| 4008 * dynarr.c (Dynarr_insert_many): | |
| 4009 * dynarr.c (Dynarr_delete_many): | |
| 4010 * dynarr.c (Dynarr_memory_usage): | |
| 4011 * dynarr.c (stack_like_free): | |
| 4012 * file-coding.c (coding_reader): | |
| 4013 * file-coding.c (gzip_convert): | |
| 4014 * gutter.c (output_gutter): | |
| 4015 * lisp.h: | |
| 4016 * lisp.h (Dynarr_declare): | |
| 4017 * lisp.h (DYNARR_SET_LISP_IMP): | |
| 4018 * lisp.h (CHECK_NATNUM): | |
| 4019 * profile.c (create_timing_profile_table): | |
| 4020 * redisplay-output.c (sync_rune_structs): | |
| 4021 * redisplay-output.c (sync_display_line_structs): | |
| 4022 * redisplay-output.c (redisplay_output_window): | |
| 4023 * redisplay.c: | |
| 4024 * redisplay.c (get_display_block_from_line): | |
| 4025 * redisplay.c (add_ichar_rune_1): | |
| 4026 * redisplay.c (ensure_modeline_generated): | |
| 4027 * redisplay.c (generate_displayable_area): | |
| 4028 * redisplay.c (regenerate_window): | |
| 4029 * redisplay.c (update_line_start_cache): | |
| 4030 * signal.c: | |
| 4031 * signal.c (check_quit): | |
| 4032 | |
| 4033 Lots of rewriting of dynarr code. | |
| 4034 | |
| 4035 (1) Lots of documentation added. Also fix places that | |
| 4036 referenced a now-bogus internals node concerning redisplay | |
| 4037 critical sections. | |
| 4038 | |
| 4039 (2) Rename: | |
| 4040 | |
| 4041 Dynarr_add_lisp_string -> Dynarr_add_ext_lisp_string | |
| 4042 Dynarr_set_length -> Dynarr_set_lengthr ("restricted") | |
| 4043 Dynarr_increment -> Dynarr_incrementr | |
| 4044 Dynarr_resize_if -> Dynarr_resize_to_add | |
| 4045 | |
| 4046 (3) New functions: | |
| 4047 | |
| 4048 Dynarr_elsize = dy->elsize_ | |
| 4049 Dynarr_set_length(): Set length, resizing as necessary | |
| 4050 Dynarr_set_length_and_zero(): Set length, resizing as necessary, | |
| 4051 zeroing out new elements | |
| 4052 Dynarr_increase_length(), Dynarr_increase_length_and_zero(): | |
| 4053 Optimization of Dynarr_set_length(), Dynarr_set_length_and_zero() | |
| 4054 when size is known to increase | |
| 4055 Dynarr_resize_to_fit(): Resize as necessary to fit a given length. | |
| 4056 Dynarr_set(): Set element at a given position, increasing length | |
| 4057 as necessary and setting any newly created positions to 0 | |
| 4058 | |
| 4059 (4) Use Elemcount, Bytecount. | |
| 4060 | |
| 4061 (5) Rewrite many macros as inline functions. | |
| 4062 | |
| 4063 2010-02-20 Ben Wing <ben@xemacs.org> | |
| 4064 | |
| 4065 * tests.c: | |
| 4066 Fix operation of c-tests. | |
| 4067 | |
| 4068 2010-02-19 Aidan Kehoe <kehoea@parhasard.net> | |
| 4069 | |
| 4070 * fns.c (split_string_by_ichar_1): | |
| 4071 Use better types (e.g., not an Ichar for a buffer size) in this | |
| 4072 function when dealing with ESCAPECHAR. | |
| 4073 | |
| 4074 2010-02-19 Aidan Kehoe <kehoea@parhasard.net> | |
| 4075 | |
| 4076 * fns.c (mapcarX): | |
| 4077 Correct this function, discarding multiple values when one | |
| 4078 SEQUENCE is supplied, choosing a better label name. Correct the | |
| 4079 comment describing the SOME_OR_EVERY argument. | |
| 4080 | |
| 4081 2010-02-12 Aidan Kehoe <kehoea@parhasard.net> | |
| 4082 | |
| 4083 * syswindows.h: | |
| 4084 Remove the PDWORD_PTR typedef; it's not used in | |
| 4085 intl-auto-encap-win32.h , and it breaks the build with Visual C++ | |
| 4086 2005 Express Edition and a 2005 copy of the SDK. | |
| 4087 | |
| 1 2010-02-20 Ben Wing <ben@xemacs.org> | 4088 2010-02-20 Ben Wing <ben@xemacs.org> |
| 2 | 4089 |
| 3 * sysdep.c: | 4090 * sysdep.c: |
| 4 * sysdep.c (qxe_reliable_signal): | 4091 * sysdep.c (qxe_reliable_signal): |
| 5 * sysdep.c (retry_open_1): | 4092 * sysdep.c (retry_open_1): |
| 3538 New function complex_vars_of_unicode(). In it, create the utf-8 | 7625 New function complex_vars_of_unicode(). In it, create the utf-8 |
| 3539 coding system. Call it appropriately in emacs.c. Sort the | 7626 coding system. Call it appropriately in emacs.c. Sort the |
| 3540 prototypes of complex_vars_of_*() in symsinit.h, for cosmetic | 7627 prototypes of complex_vars_of_*() in symsinit.h, for cosmetic |
| 3541 reasons. | 7628 reasons. |
| 3542 | 7629 |
| 7630 | |
| 7631 2010-02-07 Aidan Kehoe <kehoea@parhasard.net> | |
| 7632 | |
| 7633 * fns.c (split_string_by_ichar_1): Extend this to take UNESCAPE | |
| 7634 and ESCAPECHAR arguments. | |
| 7635 (split_external_path, split_env_path, Fsplit_string_by_char) | |
| 7636 (Fsplit_path): | |
| 7637 Pass the new arguments to split_string_by_ichar_1(); take a new | |
| 7638 optional argument, ESCAPE-CHAR, in #'split-string-by-char, | |
| 7639 allowing SEPCHAR to be escaped. | |
| 3543 | 7640 |
| 3544 2010-01-09 Didier Verna <didier@xemacs.org> | 7641 2010-01-09 Didier Verna <didier@xemacs.org> |
| 3545 | 7642 |
| 3546 * glyphs.c (query_string_font): Use proper domain for cachel | 7643 * glyphs.c (query_string_font): Use proper domain for cachel |
| 3547 updating. | 7644 updating. |
| 54809 * s/hpux10-shr.h: Renamed from hpux10shr.h. | 58906 * s/hpux10-shr.h: Renamed from hpux10shr.h. |
| 54810 | 58907 |
| 54811 Wed Dec 4 23:38:03 1996 Steven L Baur <steve@altair.xemacs.org> | 58908 Wed Dec 4 23:38:03 1996 Steven L Baur <steve@altair.xemacs.org> |
| 54812 | 58909 |
| 54813 * redisplay.c: Allow column numbers in modeline to start from 1. | 58910 * redisplay.c: Allow column numbers in modeline to start from 1. |
| 58911 | |
| 58912 | |
| 58913 ChangeLog entries synched from GNU Emacs are the property of the FSF. | |
| 58914 Other ChangeLog entries are usually the property of the author of the | |
| 58915 change. | |
| 58916 | |
| 58917 This file is part of XEmacs. | |
| 58918 | |
| 58919 XEmacs is free software: you can redistribute it and/or modify it | |
| 58920 under the terms of the GNU General Public License as published by the | |
| 58921 Free Software Foundation, either version 3 of the License, or (at your | |
| 58922 option) any later version. | |
| 58923 | |
| 58924 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
| 58925 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| 58926 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| 58927 for more details. | |
| 58928 | |
| 58929 You should have received a copy of the GNU General Public License | |
| 58930 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
