| 1 | 2000-08-28 Dave Love <fx@gnu.org> |
| 2 | |
| 3 | * keymap.c (store_in_keymap): Add `static' to declaration. |
| 4 | |
| 5 | 2000-08-28 Gerd Moellmann <gerd@gnu.org> |
| 6 | |
| 7 | * emacs.c, callint.c, doc.c, editfns.c |
| 8 | (toplevel) [HAVE_STRING_H]: Include string.h. |
| 9 | (toplevel) [HAVE_STRINGS_H]: Include strings.h. |
| 10 | (index): Remove prototypes which might conflict with non-standard |
| 11 | definitions of index/strchr. |
| 12 | |
| 13 | * s/usg5-3.h (index): Define only if not HAVE_INDEX. |
| 14 | (rindex): Define only if !HAVE_RINDEX. |
| 15 | |
| 16 | * s/sco5.h (bcopy, bzero, bcmp): Don't define. |
| 17 | |
| 18 | * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs. |
| 19 | |
| 20 | 2000-08-28 Miles Bader <miles@gnu.org> |
| 21 | |
| 22 | * xfaces.c (merge_face_vectors): Clear TO's :font attribute if |
| 23 | made inconsistent by a font-related attribute in FROM. |
| 24 | (merge_face_inheritance): Add function comment. |
| 25 | |
| 26 | 2000-08-28 Kenichi Handa <handa@etl.go.jp> |
| 27 | |
| 28 | * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with |
| 29 | the 4th arg (PREV_EVENT) Qt to suppress input method. |
| 30 | |
| 31 | 2000-08-27 Stefan Monnier <monnier@cs.yale.edu> |
| 32 | |
| 33 | * regex.c: Indent cpp directives and remove parens after `defined'. |
| 34 | (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place. |
| 35 | (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition. |
| 36 | (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY. |
| 37 | (re_compile_pattern): Use size_t for length. |
| 38 | (init_syntax_once): Move to a better place. |
| 39 | * regex.h: Merge changes from GNU libc. Indent cpp directives. |
| 40 | (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning). |
| 41 | |
| 42 | * syntax.c (back_comment): Detect cases where a comment-starter is |
| 43 | actually inside another comment as in: /* a // b */ c // d \n. |
| 44 | Make it clear that `comstart_pos' is unused for nested comments. |
| 45 | |
| 46 | * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes. |
| 47 | (KEYMAPP): New macro. |
| 48 | (Fkeymap_parent, Fset_keymap_parent): Use it. |
| 49 | (fix_submap_inheritance): Mark it static. |
| 50 | (define_as_prefix, describe_buffer_bindings, describe_command) |
| 51 | (describe_translation, describe_map): Complete prototypes. |
| 52 | |
| 53 | * lisp.h (store_in_keymap, fix_submap_inheritance): Remove. |
| 54 | |
| 55 | * keyboard.c (menu_bar_item): Detect duplicate entries for all items |
| 56 | to better match the key-lookup behavior. |
| 57 | |
| 58 | 2000-08-27 Gerd Moellmann <gerd@gnu.org> |
| 59 | |
| 60 | * xfaces.c (lface_fully_specified_p): Handle :inherit. |
| 61 | (Finternal_set_lisp_face_attribute): Fix typo in error message. |
| 62 | |
| 63 | 2000-08-27 Eli Zaretskii <eliz@is.elta.co.il> |
| 64 | |
| 65 | * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o) |
| 66 | (process.o, scroll.o, sysdep.o): Depend on keyboard.h. |
| 67 | (xterm.o): Depend on coding.h |
| 68 | |
| 69 | 2000-08-26 Kenichi Handa <handa@etl.go.jp> |
| 70 | |
| 71 | * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and |
| 72 | the corresponding '#endif'. |
| 73 | |
| 74 | 2000-08-26 Miles Bader <miles@gnu.org> |
| 75 | |
| 76 | * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX. |
| 77 | * xfaces.c (QCinherit): New variable. |
| 78 | (syms_of_xfaces): Initialize it. |
| 79 | (LFACE_INHERIT): New macro. |
| 80 | (Finternal_get_lisp_face_attribute) |
| 81 | (merge_face_vector_with_property) |
| 82 | (Finternal_set_lisp_face_attribute): Deal with :inherit attribute. |
| 83 | (check_lface_attrs): Allow new types of face height. Check |
| 84 | inherit attribute. |
| 85 | (CYCLE_CHECK): New macro. |
| 86 | (merge_face_inheritance): New function. |
| 87 | (merge_face_vectors): Merge inherited faces too. Add F and |
| 88 | CYCLE_CHECK arguments. |
| 89 | (merge_face_vector_with_property, Finternal_merge_in_global_face) |
| 90 | (lookup_named_face, lookup_derived_face, realize_named_face) |
| 91 | (face_at_string_position, face_at_buffer_position): Supply |
| 92 | new F and CYCLE_CHECK arguments to merge_face_vectors. |
| 93 | (merge_face_heights): New function. |
| 94 | (merge_face_vectors, merge_face_vector_with_property) |
| 95 | (Finternal_set_lisp_face_attribute): Call merge_face_heights to |
| 96 | handle relative face heights. |
| 97 | (lface_same_font_attributes_p): Compare heights using EQ. |
| 98 | |
| 99 | 2000-08-26 Kenichi Handa <handa@etl.go.jp> |
| 100 | |
| 101 | * charset.c (char_to_string): Check the character validity. |
| 102 | (char_valid_p): If C is not less than MAX_CHAR, be sure to return |
| 103 | 0. |
| 104 | |
| 105 | 2000-08-25 Stefan Monnier <monnier@cs.yale.edu> |
| 106 | |
| 107 | * regex.c (PUSH_FAILURE_COUNT): New macro. |
| 108 | (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG. |
| 109 | Handle popping of a register's or a counter's data. |
| 110 | (POP_FAILURE_POINT): Use the new name. |
| 111 | (re_match_2_internal): Push counter data on the stack for succeed_n, |
| 112 | jump_n and set_number_at and remove misleading dead code in succeed_n. |
| 113 | |
| 114 | 2000-08-25 Gerd Moellmann <gerd@gnu.org> |
| 115 | |
| 116 | * xdisp.c (redisplay_internal): If considering all windows on all |
| 117 | frames, update the display for each frame as soon as possible, |
| 118 | instead of first building all desired matrices for all frames, and |
| 119 | then updating them all. |
| 120 | (try_cursor_movement): Handle case that last_cursor.vpos is -1. |
| 121 | |
| 122 | 2000-08-24 Gerd Moellmann <gerd@gnu.org> |
| 123 | |
| 124 | * bytecode.c (mark_byte_stack): Add a comment. |
| 125 | |
| 126 | * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH) |
| 127 | (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is |
| 128 | a graphical frame. |
| 129 | |
| 130 | 2000-08-24 Kenichi Handa <handa@etl.go.jp> |
| 131 | |
| 132 | * minibuf.c (do_completion): Always use compare-string, not |
| 133 | string-equal because the latter doesn't pay attention to |
| 134 | multibyteness of strings. |
| 135 | |
| 136 | * process.c (create_process): Don't setup raw-text coding here. |
| 137 | (Fopen_network_stream): Don't set coding->src_multibyte and |
| 138 | coding->dst_multibyte here. |
| 139 | (read_process_output): For process filter, return unibyte string |
| 140 | if default-enable-multibyte-characters is nil. |
| 141 | (send_process): If OBJECT is multibyte text, be sure to encoded it |
| 142 | by the specified coding system for the process. Otherwise, setup |
| 143 | raw-text coding. |
| 144 | (init_process): Don't initialize default-process-coding-system |
| 145 | here. |
| 146 | |
| 147 | 2000-08-23 Eli Zaretskii <eliz@is.elta.co.il> |
| 148 | |
| 149 | * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix. |
| 150 | <scroll-down-aggressively>: Likewise. |
| 151 | |
| 152 | 2000-08-23 Kenichi Handa <handa@etl.go.jp> |
| 153 | |
| 154 | * coding.c (encode_eol): Fix bug for the case of dst_bytes being |
| 155 | zero. Set coding->produced_char correctly. |
| 156 | |
| 157 | 2000-08-22 Andrew Innes <andrewi@gnu.org> |
| 158 | |
| 159 | * makefile.w32-in: New file. |
| 160 | |
| 161 | * unexw32.c (unexec): Ignore old_name, and use the actual location |
| 162 | of the current executable instead. Base new_name on this. |
| 163 | |
| 164 | * w32proc.c (create_child): Remove reference to security |
| 165 | descriptor, which isn't needed and doesn't compile with mingw32. |
| 166 | |
| 167 | * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws |
| 168 | up dllimport attributes. |
| 169 | (x_update_window_end): Update prototype. |
| 170 | |
| 171 | * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary |
| 172 | extern, which screws up dllimport attributes. |
| 173 | |
| 174 | * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws |
| 175 | up dllimport attributes. |
| 176 | |
| 177 | * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which |
| 178 | screws up dllimport attributes. |
| 179 | |
| 180 | * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws |
| 181 | up dllimport attributes. |
| 182 | (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which |
| 183 | screws up dllimport attributes. |
| 184 | |
| 185 | * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws |
| 186 | up dllimport attributes. |
| 187 | |
| 188 | * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which |
| 189 | screws up dllimport attributes. |
| 190 | |
| 191 | * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which |
| 192 | screws up dllimport attributes. |
| 193 | |
| 194 | * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws |
| 195 | up dllimport attributes. |
| 196 | |
| 197 | * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove |
| 198 | unnecessary extern, which screws up dllimport attributes. |
| 199 | (main): Ditto. |
| 200 | |
| 201 | * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws |
| 202 | up dllimport attributes. |
| 203 | |
| 204 | * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove |
| 205 | unnecessary extern, which screws up dllimport attributes. |
| 206 | |
| 207 | * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which |
| 208 | screws up dllimport attributes. |
| 209 | |
| 210 | * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws |
| 211 | up dllimport attributes. |
| 212 | |
| 213 | * w32proc.c (IsValidLocale): Extern missing from mingw32 headers. |
| 214 | |
| 215 | * w32bdf.c (search_file_line): |
| 216 | (set_bdf_font_info): |
| 217 | (seek_char): |
| 218 | (w32_get_bdf_glyph): |
| 219 | (w32_BDF_to_x_font): Fix compile warnings. |
| 220 | |
| 221 | * w32menu.c: Include keyboard.h before frame.h. Fix compile |
| 222 | warnings. |
| 223 | |
| 224 | * w32select.c: Include keyboard.h before frame.h. |
| 225 | |
| 226 | * w32fns.c (max): Define macro. |
| 227 | (JOHAB_CHARSET): Define if not known. |
| 228 | (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known. |
| 229 | (Fx_show_tip): Synch with X version. |
| 230 | |
| 231 | * w32xfns.c: Include keyboard.h before frame.h. |
| 232 | |
| 233 | * w32fns.c: Include keyboard.h before frame.h. |
| 234 | |
| 235 | * w32term.c: Include keyboard.h before frame.h. |
| 236 | |
| 237 | * fontset.c: Include keyboard.h before frame.h. |
| 238 | |
| 239 | * w32inevt.c: Include keyboard.h before frame.h. |
| 240 | (MOUSE_MOVED): Define if not known. |
| 241 | |
| 242 | * minibuf.c: Include keyboard.h before frame.h. |
| 243 | |
| 244 | * keyboard.c: Include keyboard.h before frame.h. |
| 245 | |
| 246 | * indent.c: Include keyboard.h before frame.h. |
| 247 | |
| 248 | * dispnew.c: Include keyboard.h before frame.h. |
| 249 | |
| 250 | * buffer.c: Include keyboard.h before frame.h. |
| 251 | |
| 252 | * alloc.c: Include keyboard.h before frame.h. |
| 253 | |
| 254 | * print.c: Include keyboard.h before frame.h. |
| 255 | |
| 256 | * process.c: Include keyboard.h before frame.h. |
| 257 | |
| 258 | * scroll.c: Include keyboard.h before frame.h. |
| 259 | |
| 260 | * sysdep.c: Include keyboard.h before frame.h. |
| 261 | |
| 262 | * term.c: Include keyboard.h before frame.h. |
| 263 | |
| 264 | * window.c: Include keyboard.h before frame.h. |
| 265 | |
| 266 | * xdisp.c: Include keyboard.h before frame.h. |
| 267 | Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE. |
| 268 | |
| 269 | * frame.c: Include keyboard.h before frame.h. |
| 270 | |
| 271 | * w32heap.h: Undefine min, max. |
| 272 | |
| 273 | * w32gui.h: Undefine min, max. |
| 274 | |
| 275 | * unexw32.c: Change PUCHAR to PCHAR. |
| 276 | (PTR_TO_OFFSET): Cast ptr to unsigned char *. |
| 277 | (relocate_offset): |
| 278 | (get_section_info): |
| 279 | (copy_executable_and_dump_data): Remove unnecessary static defs. |
| 280 | (copy_executable_and_dump_data): Fix compile warnings. |
| 281 | |
| 282 | * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined. |
| 283 | |
| 284 | * w32console.c (min): Define macro. |
| 285 | (clear_frame, write_glyphs): Fix compile warning. |
| 286 | |
| 287 | * w32proc.c (compare_env): |
| 288 | (find_child_console): Fix compile warning. |
| 289 | |
| 290 | * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use |
| 291 | sys_errlist instead of _sys_errlist. |
| 292 | (get_emacs_configuration_options): New function. |
| 293 | |
| 294 | * s/ms-w32.h (sys_nerr): Provide default definition. |
| 295 | (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same |
| 296 | name with _ prepended. |
| 297 | (NSIG): Define if not known. |
| 298 | (get_emacs_configuration): Provide extern declaration. |
| 299 | (get_emacs_configuration_options): Provide extern declaration. |
| 300 | (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options. |
| 301 | |
| 302 | * w32.c (gettimeofday): Use struct timeb, not struct _timeb. |
| 303 | (map_w32_filename): |
| 304 | (read_unc_volume): Fix compile warning. |
| 305 | |
| 306 | * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock |
| 307 | definitions from being used. |
| 308 | |
| 309 | * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd. |
| 310 | |
| 311 | * w32.c (unc_volume_file_attributes): |
| 312 | (open_unc_volume): Make arg const. |
| 313 | |
| 314 | * sysdep.c [WINDOWSNT]: Remove extern decl of errno. |
| 315 | (read_input_waiting): Remove excess parameter. |
| 316 | |
| 317 | * w32.c (init_environment): Call _access. |
| 318 | (check_windows_init_file): Call _close. |
| 319 | (init_user_info): Call _putenv. |
| 320 | (init_environment): Call _putenv and _strdup. |
| 321 | (init_ntproc): Reset volume info cache on startup. |
| 322 | |
| 323 | * s/ms-w32.h (malloc, free, realloc, calloc): Rename if |
| 324 | USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it |
| 325 | cannot override the CRT malloc. |
| 326 | |
| 327 | * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested. |
| 328 | (LINK_FLAGS): Append to original value of LINK_FLAGS. |
| 329 | |
| 330 | * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term |
| 331 | unless we are linking with a static CRT. |
| 332 | (RVA_TO_PTR): Cast result to unsigned char*. |
| 333 | |
| 334 | * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup. |
| 335 | (add_volume_info): Use xstrdup. |
| 336 | |
| 337 | 2000-08-22 Stefan Monnier <monnier@cs.yale.edu> |
| 338 | |
| 339 | * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'. |
| 340 | (do_completion, Fminibuffer_complete_word): Use it. |
| 341 | (syms_of_minibuf): Turn completion-auto-help into a proper Lisp |
| 342 | var so it can take non-boolean values. |
| 343 | |
| 344 | 2000-08-21 Gerd Moellmann <gerd@gnu.org> |
| 345 | |
| 346 | * editfns.c (find_field): Formatting changes. |
| 347 | (toplevel): Some old-style function forward declarations |
| 348 | changed to prototypes, some new protypes added, some functions |
| 349 | made static. |
| 350 | |
| 351 | * lisp.h (set_time_zone_rule): Add prototype. |
| 352 | (use_dialog_box): External declaration. |
| 353 | |
| 354 | * keyboard.c (gen_help_event): Add parameter SIZE. |
| 355 | (kbd_buffer_events_waiting): Slightly rewritten. |
| 356 | (clear_event): New function. |
| 357 | (kbd_buffer_get_event): Use it, and clear the input_events of |
| 358 | HELP_EVENTs. |
| 359 | (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and |
| 360 | don't fill the newly created array with nils. |
| 361 | (toplevel): Convert some old-style function forward declarations |
| 362 | to prototypes. |
| 363 | |
| 364 | * keyboard.h (gen_help_event): Change prototype. |
| 365 | |
| 366 | * xterm.c (XTread_socket): Change calls to gen_help_event. |
| 367 | |
| 368 | * w32term.c (w32_read_socket): Change calls to gen_help_event. |
| 369 | |
| 370 | * eval.c (Fmacroexpand): Doc fix. |
| 371 | |
| 372 | 2000-08-20 Jason Rumney <jasonr@gnu.org> |
| 373 | |
| 374 | * w32term.h (x_display_info_for_display): Remove as this function |
| 375 | does not exist on W32. |
| 376 | |
| 377 | * w32term.c (help_echo_window): New variable. |
| 378 | (syms_of_w32term): staticpro it. |
| 379 | (note_mode_line_highlight): Set it. |
| 380 | (XTextExtents16): Removed as there is no equivalent on W32. |
| 381 | (x_compute_glyph_string_overhangs): Incomplete body removed, as |
| 382 | the X way of doing this will not work for W32. |
| 383 | (w32_intersect_rectangles): Removed. Use IntersectRect API call. |
| 384 | (x_draw_image_foreground): Avoid drawing outside of the clip area |
| 385 | when image doesn't have a mask. |
| 386 | (note_mouse_highlight): Process overlays in the right order of |
| 387 | priority. Set help_echo_window. |
| 388 | (x_draw_bar_cursor): If cursor is on an image, draw a box cursor |
| 389 | because that's more visible for large images. |
| 390 | |
| 391 | * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane |
| 392 | name to single_keymap_panes. |
| 393 | (w32_menu_show): Set wv->title when dealing with titles. |
| 394 | (w32_menu_display_help): Call show_help_echo with OBJECT and POS. |
| 395 | |
| 396 | 2000-08-21 Miles Bader <miles@gnu.org> |
| 397 | |
| 398 | * minibuf.c (do_completion): Try again if we rewrite the input |
| 399 | string, but no completion was done, so that any completion message |
| 400 | will be correct. |
| 401 | |
| 402 | 2000-08-20 Gerd Moellmann <gerd@gnu.org> |
| 403 | |
| 404 | * xfaces.c (lface_equal_p): Compare strings differently. |
| 405 | (Qtty_color_alist, Vtty_defined_color_alist): New variables. |
| 406 | (realize_tty_face): Use them. |
| 407 | (syms_of_xfaces): Initialize new variables. |
| 408 | (map_tty_color): New function, extracted from realize_tty_face. |
| 409 | (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default |
| 410 | foreground or background color, store the new color name in the |
| 411 | realized face; previous code trying to do this had no effect. |
| 412 | (realize_tty_face): Use map_tty_color. |
| 413 | (Fclear_face_cache): Set face_change_count and ensure thorough |
| 414 | redisplay. |
| 415 | |
| 416 | 2000-08-19 Gerd Moellmann <gerd@gnu.org> |
| 417 | |
| 418 | * undo.c (record_first_change, record_marker_adjustment): Don't |
| 419 | use XBUFFER on last_undo_buffer which might not be a buffer. |
| 420 | |
| 421 | 2000-08-18 Kenichi Handa <handa@etl.go.jp> |
| 422 | |
| 423 | * coding.c (decode_coding_string): Set members consumed, |
| 424 | consumed_char, produced, produced_char of *coding correctly. If |
| 425 | decode_coding doesn't consume any byte, don't try anymore. |
| 426 | (encode_coding_string): Likewise. |
| 427 | |
| 428 | 2000-08-18 Gerd Moellmann <gerd@gnu.org> |
| 429 | |
| 430 | * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the |
| 431 | conditional have void type, for Standard C compilers. |
| 432 | |
| 433 | * xdisp.c (redisplay_internal): Compare windows for equality with |
| 434 | EQ, instead of applying XWINDOW to something that might not |
| 435 | be a window. |
| 436 | |
| 437 | 2000-08-18 Kenichi Handa <handa@etl.go.jp> |
| 438 | |
| 439 | * fontset.c (Finternal_char_font): Search only the selected frame |
| 440 | for a window of the current buffer. |
| 441 | |
| 442 | 2000-08-18 Gerd Moellmann <gerd@gnu.org> |
| 443 | |
| 444 | * minibuf.c (do_completion): Use EQ instead of `!=' to compare |
| 445 | Lisp_Objects. |
| 446 | |
| 447 | * keyboard.c (kbd_buffer_get_event): Handle the case that the |
| 448 | second half of a HELP_EVENT is found at the start of kbd_buffer. |
| 449 | |
| 450 | 2000-08-18 Miles Bader <miles@gnu.org> |
| 451 | |
| 452 | * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl. |
| 453 | |
| 454 | * editfns.c (save_restriction_save): Rewrite to use markers. |
| 455 | (save_restriction_restore): Rewrite to understand new form of data |
| 456 | saved by save_restriction_save. |
| 457 | (Fsave_restriction): Remove cautionary note in doc-string. |
| 458 | |
| 459 | 2000-08-17 Gerd Moellmann <gerd@gnu.org> |
| 460 | |
| 461 | * fileio.c (build_annotations): Add a comment explaining the |
| 462 | return value of format-annotate-function. Replace a spurious call |
| 463 | to Flength with a CONSP test. Call format-annotate-function with |
| 464 | a fifth arg specifying how many times the function is been called |
| 465 | in a row, to let it choose temporary buffers appropriately. |
| 466 | |
| 467 | 2000-08-17 Dave Love <fx@gnu.org> |
| 468 | |
| 469 | * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't |
| 470 | declare make_temp_name twice. |
| 471 | |
| 472 | * lread.c: Prototype readevalloop, load_unwind, |
| 473 | load_descriptor_unwind. |
| 474 | (unreadpure): Give it an arg. |
| 475 | |
| 476 | * unexalpha.c: Prototype fatal_unexec, mark_x, |
| 477 | update_dynamic_symbols. Declare unexec as void. |
| 478 | |
| 479 | * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>. |
| 480 | [!HAVE_TERMCAP_H]: Prototype tputs, tgoto. |
| 481 | |
| 482 | * alloc.c (lisp_malloc): Declare with POINTER_TYPE. |
| 483 | [SYSTEM_MALLOC]: Make decls in malloc.h conditional on |
| 484 | DOUG_LEA_MALLOC. |
| 485 | |
| 486 | * alloca.c: Use #error. |
| 487 | [POINTER_TYPE]: Use it. |
| 488 | |
| 489 | * eval.c (Fdefvar): Doc fix. |
| 490 | |
| 491 | * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid |
| 492 | INITIALIZE_INTERVAL. |
| 493 | |
| 494 | * buffer.h: Avoid DECLARE_INTERVALS. |
| 495 | |
| 496 | * config.in: Add size_t. |
| 497 | |
| 498 | 2000-08-17 Eli Zaretskii <eliz@is.elta.co.il> |
| 499 | |
| 500 | * w16select.c (set_clipboard_data): If there's not enough memory |
| 501 | to put text into clipboard, return 1, as Fw16_set_clipboard_data |
| 502 | expects. In case of other failures, return 3. |
| 503 | (system_error_msg): New error message. |
| 504 | (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print |
| 505 | system_error_msg. |
| 506 | |
| 507 | 2000-08-16 Gerd Moellmann <gerd@gnu.org> |
| 508 | |
| 509 | * term.c (write_glyphs): Also turn off inverse video after turning |
| 510 | off other appearances in case TS_exit_attribute_mode is not equal |
| 511 | to TS_end_standout_mode. |
| 512 | (insert_glyphs): Turn inverse video on/off for each run of glyphs |
| 513 | with the same face. |
| 514 | (turn_off_face): Reset standout_mode only if |
| 515 | TS_exit_attribute_mode has been output and TS_exit_attribute_mode |
| 516 | is equal to TS_end_standout_mode. |
| 517 | |
| 518 | 2000-08-16 Kenichi Handa <handa@etl.go.jp> |
| 519 | |
| 520 | * coding.c (encode_coding): Fix the bug of not flushing ISO escape |
| 521 | sequence at the end of the source block. |
| 522 | |
| 523 | * ccl.c (Fccl_program_p): Docstring modified. |
| 524 | (Fccl_execute): Likewise. |
| 525 | (Fccl_execute_on_string): Likewise. |
| 526 | |
| 527 | 2000-08-16 Eli Zaretskii <eliz@is.elta.co.il> |
| 528 | |
| 529 | * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *. |
| 530 | |
| 531 | 2000-08-16 Kenichi Handa <handa@etl.go.jp> |
| 532 | |
| 533 | The following changes are mainly to fix bugs of |
| 534 | encode/decode-coding-string failing if encoding/decoding return |
| 535 | CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global |
| 536 | variable conversion_buffer. |
| 537 | |
| 538 | * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char, |
| 539 | decrement dst_end to avoid buffer overflow in the later call of |
| 540 | string_as_multibyte |
| 541 | |
| 542 | * coding.h (conversion_buffer_size, conversion_buffer) |
| 543 | (get_conversion_buffer): Extern deleted. |
| 544 | |
| 545 | * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted. |
| 546 | (conversion_buffer, conversion_buffer_size): Variables deleted. |
| 547 | (get_conversion_buffer): Function deleted. |
| 548 | (struct conversion_buffer): New structure. |
| 549 | (MAX_ALLOCA): New macro. |
| 550 | (allocate_conversion_buffer): New macro. |
| 551 | (extend_conversion_buffer, free_conversion_buffer): New functions. |
| 552 | (ccl_coding_driver): Set coding->result. |
| 553 | (decode_coding): Set coding->result to CODING_FINISH_NORMAL if |
| 554 | this is the last block of source. |
| 555 | (encode_coding): Likewise. Handle the source block as the last |
| 556 | one only when the whole source text is consumed. |
| 557 | (decode_coding_string): Handle the case that the output buffer is |
| 558 | too small to decode the whole source text. Use |
| 559 | allocate_conversion_buffer, extend_conversion_buffer and |
| 560 | free_conversion_buffer, not get_conversion_buffer. |
| 561 | (encode_coding_string): Likewise. |
| 562 | (init_coding): Function deleted. |
| 563 | (init_coding_once): Delete code to initialize |
| 564 | conversion_buffer_size. |
| 565 | |
| 566 | * emacs.c (main): Don't call init_coding. |
| 567 | |
| 568 | * msdos.c (IT_write_glyphs): Use a locally declared |
| 569 | conversion_buffer. |
| 570 | |
| 571 | * term.c (write_glyphs): Use a locally declared conversion_buffer. |
| 572 | (insert_glyphs): Likewise. |
| 573 | |
| 574 | * w32console.c (write_glyphs): Use a locally declared |
| 575 | conversion_buffer. |
| 576 | |
| 577 | 2000-08-15 Eli Zaretskii <eliz@is.elta.co.il> |
| 578 | |
| 579 | * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame |
| 580 | member of display_info is NULL. |
| 581 | |
| 582 | 2000-08-15 Gerd Moellmann <gerd@gnu.org> |
| 583 | |
| 584 | * alloc.c (compact_small_strings): Use safe_bcopy, add an |
| 585 | assertion. |
| 586 | |
| 587 | * term.c (turn_off_face): Reset standout_mode when resetting |
| 588 | appearances with capability `me'. |
| 589 | (write_glyphs): Switch on inverse video before each face change. |
| 590 | |
| 591 | 2000-08-14 Dave Love <fx@gnu.org> |
| 592 | |
| 593 | * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk. |
| 594 | [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk. |
| 595 | (lisp_free): Declare and make static. |
| 596 | |
| 597 | * window.c: Fix embedded comment. |
| 598 | (syms_of_window): Fix doc string. |
| 599 | |
| 600 | 2000-08-14 Gerd Moellmann <gerd@gnu.org> |
| 601 | |
| 602 | * keymap.c (push_key_description): If C without modifiers is < 32, |
| 603 | make sure to print `C-' before `M-', like in the manual. |
| 604 | |
| 605 | 2000-08-11 Gerd Moellmann <gerd@gnu.org> |
| 606 | |
| 607 | * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially |
| 608 | since they aren't relocated anymore. |
| 609 | (sxhash_string): Make sure returned hash code fits in a Lisp |
| 610 | integer. |
| 611 | |
| 612 | * xdisp.c (try_cursor_movement): Fix handling of cursor in |
| 613 | partially visible line which is smaller than the window's |
| 614 | height. |
| 615 | |
| 616 | 2000-08-11 Kenichi Handa <handa@etl.go.jp> |
| 617 | |
| 618 | * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to |
| 619 | the multibyte form of eight-bit-control characters. |
| 620 | (Fccl_execute_on_string): Initialize ccl->multibyte. |
| 621 | |
| 622 | * ccl.h (struct ccl_program): New member multibyte. |
| 623 | |
| 624 | * coding.c (ccl_coding_driver): Initialize ccl->multibyte. |
| 625 | |
| 626 | 2000-08-11 Kenichi Handa <handa@etl.go.jp> |
| 627 | |
| 628 | * regex.c (regex_compile) <normal_char>: Pay attention to |
| 629 | multibyteness. |
| 630 | (analyse_first) <exactn>: Setup fastmap correctly for |
| 631 | eight-bit-control characters. |
| 632 | |
| 633 | 2000-08-11 Kenichi Handa <handa@etl.go.jp> |
| 634 | |
| 635 | * termhooks.h (enum event_kind): New member |
| 636 | multibyte_char_keystroke. |
| 637 | |
| 638 | * keyboard.c (make_lispy_event): Handle the new event type |
| 639 | multibyte_char_keystroke. |
| 640 | |
| 641 | * xterm.c: Include coding.h. |
| 642 | (XTread_socket): Work around a bug of XmbLookupString. If the |
| 643 | input is from XIM, decode it according to the current locale. In |
| 644 | that case, generate multibyte_char_keystroke events. |
| 645 | |
| 646 | 2000-08-11 Kenichi Handa <handa@etl.go.jp> |
| 647 | |
| 648 | * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon. |
| 649 | (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy. |
| 650 | |
| 651 | 2000-08-10 Gerd Moellmann <gerd@gnu.org> |
| 652 | |
| 653 | * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable. |
| 654 | (TRACE_MOVE) [GLYPH_DEBUG]: New macro. |
| 655 | (move_it_in_display_line_to): Record iterator's ascent and descent |
| 656 | before producing glyphs, and restore them when we know the glyph |
| 657 | doesn't fit on the line. |
| 658 | (move_it_to): Restructured so that it's easier to debug. If |
| 659 | moving to a vpos, and not moving to an x or character position, |
| 660 | stop as soon as the specified vpos is reached; don't move further |
| 661 | into that line because that might change the computed line height. |
| 662 | (try_cursor_movement): New function, extracted from the cursor |
| 663 | movement branch of redisplay_window. If ending on a partially |
| 664 | visible line, don't try to scroll if the cursor line is taller |
| 665 | than the window. |
| 666 | (redisplay_window): Use try_cursor_movement. |
| 667 | |
| 668 | * window.c (Fwindow_end): Rewritten to not use Fvertical_motion, |
| 669 | because that function doesn't cope with variable-height lines. |
| 670 | |
| 671 | * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a |
| 672 | box cursor because that's better visible for large images. |
| 673 | |
| 674 | 2000-08-10 Miles Bader <miles@gnu.org> |
| 675 | |
| 676 | * w32term.c (note_mouse_highlight): Update calls to overlays_at. |
| 677 | |
| 678 | 2000-08-10 Gerd Moellmann <gerd@gnu.org> |
| 679 | |
| 680 | * xdisp.c (Vmessages_buffer_name): New variable. |
| 681 | (message_dolog): Use it. |
| 682 | (syms_of_xdisp): Initialize it. |
| 683 | |
| 684 | 2000-08-10 Eli Zaretskii <eliz@is.elta.co.il> |
| 685 | |
| 686 | * msdos.c (IT_note_mouse_highlight): Update the calls to |
| 687 | overlays_at. |
| 688 | (toplevel) <kbd_buffer_store_event>: Remove prototype, it's |
| 689 | redundant now that keyboard.h is included. |
| 690 | |
| 691 | 2000-08-09 Eli Zaretskii <eliz@is.elta.co.il> |
| 692 | |
| 693 | * keyboard.c (kbd_buffer_events_waiting): New function. |
| 694 | |
| 695 | * keyboard.h (kbd_buffer_events_waiting): Add prototype. |
| 696 | |
| 697 | * msdos.c: Include keyboard.h. |
| 698 | (XMenuActivate): Empty no_event events from the event buffer. If |
| 699 | no events are left after that, call clear_input_pending. |
| 700 | (mouse_clear_clicks): New function, code moved from mouse_init. |
| 701 | (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the |
| 702 | mouse driver to ``forget'' any past clicks. |
| 703 | |
| 704 | * Makefile.in (msdos.o): Depend on keyboard.h. |
| 705 | |
| 706 | 2000-08-09 Gerd Moellmann <gerd@gnu.org> |
| 707 | |
| 708 | * lisp.h (input_pending): External declaration. |
| 709 | |
| 710 | * dispextern.h (Qredisplay_dont_pause): Declare extern. |
| 711 | |
| 712 | * xdisp.c (echo_area_display): Display thoroughly if input is |
| 713 | pending. Bind redisplay-dont-pause to t during the redisplay. |
| 714 | in case input is pending. |
| 715 | |
| 716 | * dispnew.c (Qredisplay_dont_pause): New variable. |
| 717 | (syms_of_display): Initialize and staticpro it. |
| 718 | (update_frame_1): Don't interrupt the display for pending input if |
| 719 | redisplay_dont_pause is set. |
| 720 | |
| 721 | * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P. |
| 722 | |
| 723 | * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix. |
| 724 | |
| 725 | 2000-08-09 Miles Bader <miles@lsi.nec.co.jp> |
| 726 | |
| 727 | * callproc.c (Fcall_process): Terminate the unwind-protect around |
| 728 | the post-read-conversion of coding system. |
| 729 | |
| 730 | * buffer.c (overlays_at): Add CHANGE_REQ parameter. |
| 731 | (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it. |
| 732 | * buffer.h (overlays_at): Update prototype. |
| 733 | * xdisp.c (next_overlay_change): Update call to overlays_at. |
| 734 | * xfaces.c (face_at_buffer_position): Likewise. |
| 735 | * textprop.c (Fget_char_property): Likewise. |
| 736 | * xterm.c (note_mouse_highlight): Likewise. |
| 737 | |
| 738 | * minibuf.c (do_completion): Don't consider a simple change of |
| 739 | case as `completion'. |
| 740 | |
| 741 | 2000-08-08 Ken Raeburn <raeburn@gnu.org> |
| 742 | |
| 743 | * keyboard.c (syms_of_keyboard): Initialize |
| 744 | last_point_position_buffer. |
| 745 | * undo.c (record_delete): Make sure last_point_position_buffer is |
| 746 | a buffer before comparing pointers. |
| 747 | |
| 748 | * coding.h (decode_coding_string): Declare. |
| 749 | |
| 750 | * intervals.h (Fprevious_single_char_property_change): Declare. |
| 751 | |
| 752 | * textprop.c (Fprevious_single_char_property_change): Don't do |
| 753 | arithmetic directly on lisp objects. |
| 754 | |
| 755 | * editfns.c (find_field): Use EQ, not ==, to compare Lisp |
| 756 | objects. |
| 757 | |
| 758 | * keyboard.h (menu_item_eval_property): Declare. |
| 759 | |
| 760 | * xdisp.c (message_dolog): Save and protect string "*Messages*" to |
| 761 | reuse as buffer name, instead of recreating (and discarding) every |
| 762 | time a message is logged. |
| 763 | (with_echo_area_buffer): Make callback arg A2 a lisp object. |
| 764 | (current_message_1, truncate_message_1, set_message_1) |
| 765 | (display_echo_area_1, resize_mini_window_1): Signatures changed. |
| 766 | (current_message, truncate_echo_area, display_echo_area) |
| 767 | (resize_echo_area_axactly): Changed calls. |
| 768 | |
| 769 | * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a |
| 770 | Lisp object. |
| 771 | (Ffind_coding_systems_region_internal): First argument to Fappend |
| 772 | must be an integer, not a Lisp object. |
| 773 | |
| 774 | 2000-08-08 Kenichi Handa <handa@etl.go.jp> |
| 775 | |
| 776 | * charset.c (Fchar_width): Doc fix. |
| 777 | |
| 778 | 2000-08-08 Gerd Moellmann <gerd@gnu.org> |
| 779 | |
| 780 | * charset.c (Fstring_width): Doc fix. |
| 781 | |
| 782 | 2000-08-07 Gerd Moellmann <gerd@gnu.org> |
| 783 | |
| 784 | * xdisp.c (start_display): When starting display on a continuation |
| 785 | line, clear ascent and descent members of the iterator structure; |
| 786 | the height of the continued line does not affect the height of the |
| 787 | continuation line. |
| 788 | (make_cursor_line_fully_visible): Do nothing if cursor is on a |
| 789 | line taller than the window. |
| 790 | (redisplay_window) <forced window start>: Handle case that the |
| 791 | middle of the window is not found in any row. |
| 792 | (dump_glyph_row): Show more information. |
| 793 | (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the |
| 794 | first text line in a glyph matrix. |
| 795 | |
| 796 | * xterm.c (x_draw_image_foreground): Avoid drawing outside |
| 797 | of the clip area when image doesn't have a mask. |
| 798 | |
| 799 | * fns.c (sweep_weak_table): Fix survival conditions for |
| 800 | key-or-value and key-and-value weakness. |
| 801 | |
| 802 | * .gdbinit (xhashtable): New command. |
| 803 | |
| 804 | * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked |
| 805 | tables out of the list of all weak hash tables. |
| 806 | |
| 807 | * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and |
| 808 | a new buffer is created, make sure echo_area_buffer[] references |
| 809 | the new buffer. |
| 810 | |
| 811 | 2000-08-07 Eli Zaretskii <eliz@is.elta.co.il> |
| 812 | |
| 813 | * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in |
| 814 | the doc string. |
| 815 | |
| 816 | 2000-08-07 Kenichi Handa <handa@etl.go.jp> |
| 817 | |
| 818 | * syntax.c (skip_chars): Fix previous change. Make the handling |
| 819 | of unibyte string consistent with that of regex search. |
| 820 | |
| 821 | 2000-08-05 Gerd Moellmann <gerd@gnu.org> |
| 822 | |
| 823 | * xmenu.c (popup_get_selection): Use xfree instead of free. |
| 824 | |
| 825 | * fileio.c (Finsert_file_contents): Use xfree instead of free. |
| 826 | |
| 827 | * editfns.c (Ftranspose_regions): Use xfree instead of free. |
| 828 | |
| 829 | * callproc.c (child_setup): Use xfree instead of free. |
| 830 | |
| 831 | * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc |
| 832 | instead of malloc. |
| 833 | (run_mac_command, closedir): Use `xfree' instead of `free'. |
| 834 | |
| 835 | * keymap.c (current_minor_maps): Use xmalloc instead of malloc. |
| 836 | |
| 837 | * eval.c (error): Use xfree instead of free. |
| 838 | |
| 839 | * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'. |
| 840 | |
| 841 | * fns.c: Replace `illegal' with `invalid'. |
| 842 | (Fmake_hash_table, make_hash_table): Allow table size of 0. |
| 843 | |
| 844 | 2000-08-05 Kenichi Handa <handa@etl.go.jp> |
| 845 | |
| 846 | * syntax.c (skip_chars): Fix handling of multibyte<->unibyte |
| 847 | conversion. |
| 848 | |
| 849 | 2000-08-04 Noah Friedman <friedman@splode.com> |
| 850 | |
| 851 | * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in |
| 852 | docstring. |
| 853 | |
| 854 | 2000-08-04 Gerd Moellmann <gerd@gnu.org> |
| 855 | |
| 856 | * syntax.c (skip_chars): Fix typo in error message. |
| 857 | |
| 858 | 2000-08-04 Andreas Schwab <schwab@suse.de> |
| 859 | |
| 860 | * m/ia64.h: Moved from s/ia64.h. |
| 861 | |
| 862 | 2000-08-04 Kenichi Handa <handa@etl.go.jp> |
| 863 | |
| 864 | * process.c (read_process_output): Big simplification. Handle |
| 865 | composition and post-read-conversion of coding system correctly. |
| 866 | (send_process): Handle composition correctly. |
| 867 | |
| 868 | * callproc.c (Fcall_process): Handle post-read-conversion of |
| 869 | coding system if any. |
| 870 | |
| 871 | * coding.c (decode_coding_iso2022): More strict check for handling |
| 872 | single shifting. |
| 873 | (coding_restore_composition): Pay attention to the case that |
| 874 | cmp_data is not set properly (because of invalid code in the |
| 875 | source text). |
| 876 | (run_pre_post_conversion_on_str): Include text properties in the |
| 877 | resulting string. |
| 878 | (decode_coding_string): Set members of coding correctly. |
| 879 | |
| 880 | 2000-08-03 Gerd Moellmann <gerd@gnu.org> |
| 881 | |
| 882 | * s/ia64.h: New file. |
| 883 | |
| 884 | * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues): |
| 885 | Use NULL instead of 0 at the end of variable argument list of |
| 886 | XtVaGetValues and XtVaSetValues, because 0 fails on systems where |
| 887 | sizeof (int) < sizeof (void *). |
| 888 | |
| 889 | * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end |
| 890 | of variable argument lists of XtVaGetValues and XtVaSetValues. |
| 891 | |
| 892 | * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of |
| 893 | variable argument lists of XtVaGetValues and XtVaSetValues. |
| 894 | |
| 895 | 2000-08-02 Gerd Moellmann <gerd@gnu.org> |
| 896 | |
| 897 | * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE. |
| 898 | (xrealloc, xmalloc): Use size_t. Some callers adjusted. |
| 899 | |
| 900 | * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change |
| 901 | prototype. |
| 902 | |
| 903 | * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter |
| 904 | in call to Fsingle_key_description. |
| 905 | |
| 906 | * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES. |
| 907 | Callers changed. |
| 908 | |
| 909 | 2000-08-02 Colin Walters <walters@cis.ohio-state.edu> |
| 910 | |
| 911 | * window.c (display_buffer_reuse_frames): New variable. |
| 912 | (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse |
| 913 | frames displaying BUFFER. |
| 914 | (syms_of_window): Define Lisp variable |
| 915 | display-buffer-reuse-frames. |
| 916 | |
| 917 | 2000-08-01 Miles Bader <miles@gnu.org> |
| 918 | |
| 919 | * editfns.c (Fconstrain_to_field): Fix the conditions for deciding |
| 920 | when to constrain NEW_POS (they were pretty screwed up before). |
| 921 | |
| 922 | 2000-07-31 Eli Zaretskii <eliz@is.elta.co.il> |
| 923 | |
| 924 | * msdos.c (run_msdos_command): Save and restore the master |
| 925 | environment, for the case that child_setup signals an error. |
| 926 | When mirroring slashes in DOS shell commands, don't fail when |
| 927 | argv[2] has embedded blanks. |
| 928 | (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions. |
| 929 | (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons. |
| 930 | (dos_ttraw): Call mouse_setup_buttons. |
| 931 | |
| 932 | * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of |
| 933 | using alloca; free it after run_msdos_command returns. |
| 934 | |
| 935 | 2000-07-27 Dave Love <fx@gnu.org> |
| 936 | |
| 937 | * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't |
| 938 | define. |
| 939 | [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently |
| 940 | working. |
| 941 | |
| 942 | * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define. |
| 943 | |
| 944 | 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il> |
| 945 | |
| 946 | * editfns.c (lisp_time_argument): Fix last change. |
| 947 | |
| 948 | 2000-07-27 Gerd Moellmann <gerd@gnu.org> |
| 949 | |
| 950 | * fns.c (Fdelete): Make it work on vectors and strings in addition |
| 951 | to lists. |
| 952 | |
| 953 | * fns.c (Qkey_or_value, Qkey_and_value): New variables. |
| 954 | (syms_of_fns): Initialize new variables. |
| 955 | (sweep_weak_table): Handle weakness `key-or-value' and |
| 956 | `key-and-value'. |
| 957 | (Fmake_hash_table): Recognize `key-and-value' and `key-or-value' |
| 958 | weakness, with t meaning the same as `key-and-value'. |
| 959 | |
| 960 | 2000-07-27 Kenichi Handa <handa@etl.go.jp> |
| 961 | |
| 962 | * coding.h (struct coding_system): Member safe_charset deleted. |
| 963 | |
| 964 | * coding.c (Qsafe_charsets): This variable deleted. |
| 965 | (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New |
| 966 | variables. |
| 967 | (coding_safe_chars): New function. |
| 968 | (CODING_SAFE_CHAR_P): New macro. |
| 969 | (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of |
| 970 | checking safe_charsets member of the coding system. Caller |
| 971 | changed. |
| 972 | (detect_coding_iso2022): New local variable safe_chars. |
| 973 | (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking |
| 974 | safe_charsets member of the coding system. |
| 975 | (decode_coding_iso2022): New local variable safe_chars. |
| 976 | (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here. |
| 977 | (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise. |
| 978 | (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed. |
| 979 | (ENCODE_UNSAFE_CHARACTER): New macro. |
| 980 | (encode_coding_iso2022): New local variable safe_chars. Check |
| 981 | unsafe chars. |
| 982 | (setup_coding_system): Delete the code to initialize |
| 983 | coding->safe_charses |
| 984 | (intersection, find_safe_codings): New functions. |
| 985 | (Ffind_coding_systems_region_internal): New function. |
| 986 | (syms_of_coding): Defsubr it. Initialize Qsafe_chars, |
| 987 | Qsafe_cding_system. Make Vchar_coding_system_table a Lisp |
| 988 | variable and initialize it. |
| 989 | |
| 990 | * fns.c (char_table_ref_and_index): New function. |
| 991 | |
| 992 | * lisp.h (char_table_ref_and_index): Add prototype. |
| 993 | |
| 994 | 2000-07-26 Sam Steingold <sds@gnu.org> |
| 995 | |
| 996 | * editfns.c (lisp_time_argument): Added third argument `usec'. |
| 997 | (Ffloat_time): New built-in Lisp function. |
| 998 | |
| 999 | 2000-07-26 Gerd Moellmann <gerd@gnu.org> |
| 1000 | |
| 1001 | * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits |
| 1002 | for the character code. |
| 1003 | |
| 1004 | * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and |
| 1005 | GNU/Linux. |
| 1006 | |
| 1007 | * xmenu.c (menu_highlight_callback): Call show_help_echo directly |
| 1008 | if called for a popup menu. |
| 1009 | (xmenu_show): Store help string in widget values. |
| 1010 | |
| 1011 | 2000-07-26 Dave Love <fx@gnu.org> |
| 1012 | |
| 1013 | * syswait.h: Move some definitions. |
| 1014 | (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex. |
| 1015 | [!HAVE_SYS_WAIT_H]: Define things unconditionally. More |
| 1016 | perspicuous definitions. |
| 1017 | (WTERMSIG): Fix bit pattern used. |
| 1018 | |
| 1019 | 2000-07-26 Kenichi Handa <handa@etl.go.jp> |
| 1020 | |
| 1021 | * print.c (print_object): If vector printing is truncated, print |
| 1022 | "..." to indicate it as well as the case of list printing. |
| 1023 | |
| 1024 | 2000-07-25 Gerd Moellmann <gerd@gnu.org> |
| 1025 | |
| 1026 | * xdisp.c (next_element_from_display_vector): Improve comments. |
| 1027 | |
| 1028 | * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits |
| 1029 | for the character code, and the rest for the face id as in 20.x. |
| 1030 | (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly. |
| 1031 | |
| 1032 | * window.c (window_display_table): Cleaned up. |
| 1033 | |
| 1034 | * syntax.c (Fforward_word): Add last arg nil in call of |
| 1035 | Fconstrain_to_field. |
| 1036 | |
| 1037 | 2000-07-25 Eli Zaretskii <eliz@is.elta.co.il> |
| 1038 | |
| 1039 | * fileio.c (Frename_file) [DOS_NT]: If the file names are |
| 1040 | identical but for the letter-case, don't call |
| 1041 | barf_or_query_if_file_exists. |
| 1042 | |
| 1043 | 2000-07-25 Miles Bader <miles@gnu.org> |
| 1044 | |
| 1045 | * editfns.c (find_field): Honor special `boundary' fields. |
| 1046 | (Qboundary): New variables. |
| 1047 | (syms_of_editfns): Initialize Qboundary. |
| 1048 | (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument. |
| 1049 | Use scan_buffer instead of find_before_next_newline, because it |
| 1050 | allows us to detect the boundary case where there's a newline at |
| 1051 | the search limit. |
| 1052 | * lisp.h (Fconstrain_to_field): Update external declaration. |
| 1053 | |
| 1054 | 2000-07-24 Gerd Moellmann <gerd@gnu.org> |
| 1055 | |
| 1056 | * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks |
| 1057 | if that is nil. |
| 1058 | |
| 1059 | 2000-07-24 Dave Love <fx@gnu.org> |
| 1060 | |
| 1061 | * s/sunos4-0.h, s/sol2.h: |
| 1062 | (LIBS_TERMCAP): Move from m/sparc.h. |
| 1063 | |
| 1064 | * m/sparc.h (TERMINFO): Moved to system files (probably only |
| 1065 | relevant for sunos4 judging by its vintage). |
| 1066 | (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on |
| 1067 | __arch64__. |
| 1068 | |
| 1069 | 2000-07-24 Eli Zaretskii <eliz@is.elta.co.il> |
| 1070 | |
| 1071 | * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane |
| 1072 | name to single_keymap_panes. |
| 1073 | |
| 1074 | 2000-07-24 Andreas Schwab <schwab@suse.de> |
| 1075 | |
| 1076 | * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil. |
| 1077 | |
| 1078 | 2000-07-24 Gerd Moellmann <gerd@gnu.org> |
| 1079 | |
| 1080 | * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT |
| 1081 | parameters instead of using int parameters. Expect FN to accept |
| 1082 | EMACS_INT parameters. |
| 1083 | (display_echo_area, resize_echo_area_axactly, current_message) |
| 1084 | (truncate_echo_area, set_message_1): Call with_echo_area_buffer |
| 1085 | with new argument list. |
| 1086 | (resize_mini_window_1): New callback function. |
| 1087 | (current_message_1, truncate_message_1, set_message_1): Change |
| 1088 | parameter lists to the new format expected by |
| 1089 | with_echo_area_buffer. |
| 1090 | |
| 1091 | 2000-07-24 Kenichi Handa <handa@etl.go.jp> |
| 1092 | |
| 1093 | * fontset.c (fontset_ref): Remove INLINE declaration. |
| 1094 | (fontset_ref_via_base): Likewise. |
| 1095 | (Fset_fontset_font): Convert FAMILY and REGISTRY specifications |
| 1096 | to downcase. |
| 1097 | |
| 1098 | 2000-07-23 Eli Zaretskii <eliz@is.elta.co.il> |
| 1099 | |
| 1100 | * msdos.c (IT_note_mouse_highlight): Process overlays in the |
| 1101 | correct order of priority. If help echo was found in an overlay, |
| 1102 | use that overlay as the object in which the help echo was found. |
| 1103 | |
| 1104 | 2000-07-22 Miles Bader <miles@gnu.org> |
| 1105 | |
| 1106 | * textprop.c (Fprevious_single_char_property_change): The initial |
| 1107 | property value should be from the position preceding POSITION, not |
| 1108 | following it. |
| 1109 | |
| 1110 | 2000-07-22 Eli Zaretskii <eliz@is.elta.co.il> |
| 1111 | |
| 1112 | * coding.c (syms_of_coding): Doc fix for |
| 1113 | inhibit-iso-escape-detection. |
| 1114 | |
| 1115 | 2000-07-21 Gerd Moellmann <gerd@gnu.org> |
| 1116 | |
| 1117 | * xterm.c (note_mouse_highlight): Process overlays in the right |
| 1118 | order of priority. |
| 1119 | |
| 1120 | * keyboard.c (show_help_echo, gen_help_event): Extend comments. |
| 1121 | |
| 1122 | * xterm.c (note_mouse_highlight): If help-echo was found in an |
| 1123 | overlay, use that overlay as the object in which the help was |
| 1124 | found. |
| 1125 | |
| 1126 | * window.c (foreach_window_1): Fix typo reversing an if-condition. |
| 1127 | |
| 1128 | * window.c (foreach_window): Instead of a fake variable argument |
| 1129 | list, take one USER_DATA argument. |
| 1130 | (foreach_window_1): Likewise, and call callback functions with two |
| 1131 | args, the window and USER_DATA. |
| 1132 | (struct check_window_data): New struct. |
| 1133 | (check_window_containing): Use it. |
| 1134 | (window_from_coordinates): Set up a struct check_window_data for |
| 1135 | foreach_window. |
| 1136 | (add_window_to_list, freeze_window_start): Change parameters |
| 1137 | according to new calling convention. |
| 1138 | |
| 1139 | * window.h (foreach_window): Change prototype. |
| 1140 | |
| 1141 | * buffer.c (Fprevious_overlay_change): Avoid memory leak. |
| 1142 | |
| 1143 | 2000-07-21 Eli Zaretskii <eliz@is.elta.co.il> |
| 1144 | |
| 1145 | * xmenu.c (menu_help_callback): Call show_help_echo with |
| 1146 | additional arguments OBJECT and POS. |
| 1147 | |
| 1148 | 2000-07-21 Kenichi Handa <handa@etl.go.jp> |
| 1149 | |
| 1150 | * data.c (Faset): Allow storing any multibyte character in a |
| 1151 | string. Convert unibyte string to multibyte if necessary. |
| 1152 | |
| 1153 | * xfns.c (x_encode_text): New function. |
| 1154 | (x_set_name): Use x_encode_text. |
| 1155 | (x_set_title): Likewise. |
| 1156 | |
| 1157 | * xselect.c (lisp_data_to_selection_data): Use x_encode_text. |
| 1158 | |
| 1159 | * xterm.h (x_encode_text): Add prototype. |
| 1160 | |
| 1161 | 2000-07-20 Dave Love <fx@gnu.org> |
| 1162 | |
| 1163 | * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use |
| 1164 | xfree, not free. |
| 1165 | |
| 1166 | 2000-07-20 Eli Zaretskii <eliz@is.elta.co.il> |
| 1167 | |
| 1168 | * msdos.c (help_echo_window): New variable. |
| 1169 | (syms_of_msdos): Initialize and staticpro it. |
| 1170 | (IT_note_mode_line_highlight): Set help_echo_window. |
| 1171 | (IT_note_mouse_highlight): Ditto. |
| 1172 | (dos_rawgetc): Store help_echo_window in the second event produced |
| 1173 | for HELP_EVENTs. |
| 1174 | |
| 1175 | * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight): |
| 1176 | Record the object that generated the help echo and the position of |
| 1177 | that object in help_echo_object and help_echo_pos. Record that |
| 1178 | some glyphs in a row are displayed in mouse-face. |
| 1179 | (IT_update_begin): Don't clear mouse highlight unless one of the |
| 1180 | enabled glyph rows is marked as being displayed in mouse-face. |
| 1181 | (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object |
| 1182 | and position recorded in help_echo_object and help_echo_pos to the |
| 1183 | event queue. |
| 1184 | (IT_menu_display): Accept a new argument PN: the pane number of |
| 1185 | the current menu pane. Record the pane number and the item |
| 1186 | number of the item which has associated help string. |
| 1187 | (XMenuActivate): Update the prototype for help_callback in |
| 1188 | function declaration. Call IT_menu_display with the current menu |
| 1189 | pane number as an additional argument. Call help_callback with |
| 1190 | two additional arguments: the pane number and the item number of |
| 1191 | the menu item associated with the help text. |
| 1192 | (help_echo_object, help_echo_pos): New variables. |
| 1193 | (syms_of_msdos): Initialize them and staticpro help_echo_object. |
| 1194 | |
| 1195 | * msdos.h (XMenuActivate): Update prototype. |
| 1196 | |
| 1197 | 2000-07-19 Gerd Moellmann <gerd@gnu.org> |
| 1198 | |
| 1199 | * xdisp.c (with_echo_area_buffer): Call FN with more arguments. |
| 1200 | Add some more prototypes. |
| 1201 | |
| 1202 | * xterm.c, xterm.h: Add some more prototypes. |
| 1203 | |
| 1204 | * lisp.h (Fnext_single_char_property_change): Add prototype. |
| 1205 | |
| 1206 | * dispnew.c (direct_output_for_insert): Remove confusing |
| 1207 | outer local variable mouse_face_overwritten_p. |
| 1208 | (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG. |
| 1209 | |
| 1210 | * alloc.c (allocate_string_data): Don't copy old string contents. |
| 1211 | |
| 1212 | 2000-07-19 Kenichi Handa <handa@etl.go.jp> |
| 1213 | |
| 1214 | * coding.c (code_convert_region): Delete text properties before |
| 1215 | shrinking the conversion region. |
| 1216 | |
| 1217 | 2000-07-18 Gerd Moellmann <gerd@gnu.org> |
| 1218 | |
| 1219 | * dispnew.c (update_text_area): Write the whole row if it |
| 1220 | has mouse-face in it. |
| 1221 | |
| 1222 | * xfaces.c (face-alternative-font-family-alist): Remove |
| 1223 | DEFVAR_LISP; staticpro instead. |
| 1224 | |
| 1225 | * xmenu.c (menu_help_callback): Call show_help_echo with |
| 1226 | new arguments. |
| 1227 | |
| 1228 | * keyboard.c (show_help_echo): Add parameter WINDOW. |
| 1229 | (read_char): Call show_help_echo with window extracted from Lisp |
| 1230 | help event. |
| 1231 | (gen_help_event): Add parameter WINDOW. |
| 1232 | |
| 1233 | * keyboard.h (show_help_echo, gen_help_event): Change prototypes. |
| 1234 | |
| 1235 | * xterm.c (help_echo_window): New variable. |
| 1236 | (note_mouse_highlight, note_tool_bar_highlight): Set |
| 1237 | help_echo_window. |
| 1238 | (XTread_socket): Pass help_echo_window to gen_help_event. |
| 1239 | (syms_of_xterm): Initialize and staticpro help_echo_window. |
| 1240 | |
| 1241 | 2000-07-18 Dave Love <fx@gnu.org> |
| 1242 | |
| 1243 | * Makefile.in: Fix dependencies of blockinput.h on atimer.h, |
| 1244 | systime.h. |
| 1245 | |
| 1246 | 2000-07-18 Gerd Moellmann <gerd@gnu.org> |
| 1247 | |
| 1248 | * alloc.c (allocate_string_data): If string had already data |
| 1249 | assigned, copy old contents to new string data. |
| 1250 | |
| 1251 | * coding.c (syms_of_coding): Fix typo in spelling of variable |
| 1252 | `inhibit-iso-escape-detection'. |
| 1253 | |
| 1254 | * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE. |
| 1255 | |
| 1256 | * Makefile.in: Add dependencies on dispextern.h. |
| 1257 | (alloca.o): Don't define malloc and define EMACS_FREE instead of |
| 1258 | `free'; both can conflict with system header files. |
| 1259 | |
| 1260 | 2000-07-18 Kenichi Handa <handa@etl.go.jp> |
| 1261 | |
| 1262 | * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is |
| 1263 | undefined. |
| 1264 | |
| 1265 | 2000-07-18 Dave Love <fx@gnu.org> |
| 1266 | |
| 1267 | * window.c (Fwindow_list): Declare arg `window'. |
| 1268 | |
| 1269 | 2000-07-18 Kenichi Handa <handa@etl.go.jp> |
| 1270 | |
| 1271 | * coding.c (setup_coding_system): Don't override the explicitly |
| 1272 | specified designations. |
| 1273 | |
| 1274 | 2000-07-15 Miles Bader <miles@gnu.org> |
| 1275 | |
| 1276 | * editfns.c (char_property_eq, char_property_stickiness): Renamed |
| 1277 | from `text_property_eq' and `text_property_stickiness', respectively. |
| 1278 | (find_field, Fconstrain_to_field, char_property_eq) |
| 1279 | (char_property_stickiness): Changed to call char-property functions |
| 1280 | instead of text-property-only ones. |
| 1281 | |
| 1282 | * textprop.c (Fnext_single_char_property_change): Made a subr (was |
| 1283 | `next_single_char_property_change'). Do more error checking, and |
| 1284 | cleanup limit behavior. |
| 1285 | (Fprevious_single_char_property_change): New function. |
| 1286 | (syms_of_textprop): Initialize new subrs. |
| 1287 | |
| 1288 | * xdisp.c (display_prop_end, invisible_text_between_p): |
| 1289 | Call Fnext_single_char_property_change instead of |
| 1290 | next_single_char_property_change. |
| 1291 | |
| 1292 | 2000-07-15 Jason Rumney <jasonr@gnu.org> |
| 1293 | |
| 1294 | * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree |
| 1295 | after menu is finished with. |
| 1296 | (add_menu_item): Only consider wv->title as a menu title. |
| 1297 | (w32_menu_display_help): Add OBJECT and POS to show_help_echo. |
| 1298 | |
| 1299 | * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a |
| 1300 | null title. |
| 1301 | (FONT_REGEXP): Remove unused macro, and its sub-components. |
| 1302 | (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts. |
| 1303 | |
| 1304 | * w32term.c (help_echo_object, help_echo_pos): New variables. |
| 1305 | (note_mode_line_highlight): Store additional information about the |
| 1306 | help-echo in help_echo_object and help_echo_pos. Check both |
| 1307 | `local-map' and `keymap' properties for changing the cursor |
| 1308 | (note_mouse_highlight): Store additional information about the |
| 1309 | help-echo in help_echo_object and help_echo_pos. |
| 1310 | (note_tool_bar_highlight): Set help_echo_object to nil and |
| 1311 | help_echo_pos to -1. |
| 1312 | (w32_read_socket): Use gen_help_event instead of filling |
| 1313 | input_events manually. |
| 1314 | (syms_of_w32term): Staticpro help_echo_object. |
| 1315 | (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If |
| 1316 | set, arrange for a mouse-highlight redisplay in |
| 1317 | XTframe_up_to_date. |
| 1318 | (x_clear_mouse_face): New function. |
| 1319 | (w32_redisplay_interface): Add pointer to x_clear_mouse_face. |
| 1320 | (x_update_window_begin): No need to turn off the mouse |
| 1321 | highlight here. |
| 1322 | (show_mouse_face): Set the mouse_face_p flag of glyph rows |
| 1323 | depending on whether they contain glyphs highlighted in |
| 1324 | mouse-face. |
| 1325 | (x_fill_stretch_glyph_string): Consume runs of stretch |
| 1326 | glyphs instead of a single one. |
| 1327 | (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string |
| 1328 | with new argument list. |
| 1329 | (x_set_glyph_string_gc): Make sure the face's GC is valid. |
| 1330 | (x_append_glyph, x_append_composite_glyph) |
| 1331 | (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to |
| 1332 | changes in struct glyph starting 1999-12-27. See comments for |
| 1333 | xterm.c on 2000-07-05. |
| 1334 | |
| 1335 | 2000-07-14 Sam Steingold <sds@gnu.org> |
| 1336 | |
| 1337 | * xfaces.c (realize_x_face): Fix the last patch: |
| 1338 | check `default_face' before dereferencing. |
| 1339 | |
| 1340 | 2000-07-14 Dave Love <fx@gnu.org> |
| 1341 | |
| 1342 | * syntax.c (back_comment): Add null default in switch (for pcc). |
| 1343 | |
| 1344 | 2000-07-14 Kenichi Handa <handa@etl.go.jp> |
| 1345 | |
| 1346 | * xfaces.c (realize_x_face): Make fontset using the base of the |
| 1347 | default_face's fontset, not using the default fontset. |
| 1348 | |
| 1349 | * coding.c (inhibit_iso_escape_detection): New variable. |
| 1350 | (syms_of_coding): Make it a Lisp variable. |
| 1351 | (detect_coding_iso2022): If inhibit_iso_escape_detection is |
| 1352 | nonzero, ignore ISO2022's escape sequence. |
| 1353 | |
| 1354 | 2000-07-14 Gerd Moellmann <gerd@gnu.org> |
| 1355 | |
| 1356 | * alloca.c (malloc) [emacs]: Define as xmalloc. |
| 1357 | |
| 1358 | * xfns.c (Fx_show_tip): If frame parameters contain a position, |
| 1359 | use that instead of the mouse position. Add parameters DX and DY. |
| 1360 | |
| 1361 | * dispextern.h (Fx_show_tip): Adjust number of parameters |
| 1362 | in prototype. |
| 1363 | |
| 1364 | * keyboard.c (show_help_echo): Add parameters OBJECT and POS. |
| 1365 | if HELP is a function, call it with OBJECT and POS as parameters |
| 1366 | to get the help to display. |
| 1367 | (gen_help_event, kbd_buffer_store_help_event): New functions. |
| 1368 | (kbd_buffer_get_event): Construct the Lisp help-event differently. |
| 1369 | (read_char): Call show_help_echo with new parameters. |
| 1370 | |
| 1371 | * keyboard.h (gen_help_event, kbd_buffer_store_help_event): |
| 1372 | Add prototypes. |
| 1373 | |
| 1374 | * xterm.c (help_echo_object, help_echo_pos): New variables. |
| 1375 | (note_mode_line_highlight): Store additional information about the |
| 1376 | help-echo in help_echo_object and help_echo_pos. Check both |
| 1377 | `local-map' and `keymap' properties for changing the cursor |
| 1378 | (note_mouse_highlight): Store additional information about the |
| 1379 | help-echo in help_echo_object and help_echo_pos. |
| 1380 | (note_tool_bar_highlight): Set help_echo_object to nil and |
| 1381 | help_echo_pos to -1. |
| 1382 | (XTread_socket): Use gen_help_event instead of filling |
| 1383 | input_events manually. |
| 1384 | (syms_of_xterm): Staticpro help_echo_object. |
| 1385 | |
| 1386 | * xmenu.c (menu_highlight_callback): Use |
| 1387 | kbd_buffer_store_help_event instead of setting up and input_event |
| 1388 | structure manually. |
| 1389 | |
| 1390 | * xdisp.c (eval_form): GCPRO argument sexpr. |
| 1391 | (call_function): New function. |
| 1392 | (handle_single_display_prop): Use call_function and FUNCTIONP |
| 1393 | instead of checking whether if font_height is a symbol and |
| 1394 | using eval_form. |
| 1395 | |
| 1396 | * eval.c (internal_condition_case_2): New function. |
| 1397 | |
| 1398 | * lisp.h (FUNCTIONP): New macro. |
| 1399 | (internal_condition_case_2, call_function): Add prototypes. |
| 1400 | |
| 1401 | * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event) |
| 1402 | (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket): |
| 1403 | Always set `arg' member of input_events. |
| 1404 | (construct_menu_click): Unused function removed. |
| 1405 | |
| 1406 | * msdos.c (dos_rawgetc): Always set `arg' member of input_events. |
| 1407 | |
| 1408 | * w32term.c (construct_mouse_click, construct_mouse_wheel) |
| 1409 | (construct_drag_n_drop, x_scroll_bar_handle_click) |
| 1410 | (w32_read_socket): Always set `arg' member of input_events. |
| 1411 | |
| 1412 | * keyboard.c (show_help_echo): Use eval_form. Add comment. |
| 1413 | |
| 1414 | * lisp.h (eval_form): Add prototype. |
| 1415 | |
| 1416 | * xdisp.c (eval_form): Make it externally visible. |
| 1417 | |
| 1418 | 2000-07-13 Gerd Moellmann <gerd@gnu.org> |
| 1419 | |
| 1420 | * xterm.c (x_handle_tool_bar_click): Store the frame in the |
| 1421 | frame_or_window slot of TOOL_BAR_EVENT input events instead of |
| 1422 | consing. For prefix events, store the frame in the `arg' slot of |
| 1423 | the event, otherwise store the key there. |
| 1424 | (XTread_socket): Instead of consing, use the frame_or_window slot |
| 1425 | of HELP_EVENTs for the frame, and the `arg' slot for the help |
| 1426 | string. |
| 1427 | |
| 1428 | * xmenu.c (menu_highlight_callback): Store help string in the |
| 1429 | `arg' member of the input event; don't cons. |
| 1430 | (menubar_selection_callback): Use the `arg' slot of input events |
| 1431 | to queue additional information, instead of consing. |
| 1432 | |
| 1433 | * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs. |
| 1434 | |
| 1435 | * w32term.c (w32_handle_tool_bar_click): Adapt to changes in |
| 1436 | TOOL_BAR_EVENTs. |
| 1437 | (w32_read_socket): Adapt to changes in HELP_EVENTs. |
| 1438 | |
| 1439 | * w32menu.c (menubar_selection_callback): Use the `arg' slot of |
| 1440 | input events to queue additional information, instead of consing. |
| 1441 | |
| 1442 | * keyboard.c (kbd_buffer_gcpro): Renamed from |
| 1443 | kbd_buffer_frame_or_window. Now used for all Lisp objects |
| 1444 | referenced from the input queue. |
| 1445 | (kbd_buffer_store_event): Always use structure assignment for |
| 1446 | copying input events. Record all Lisp objects referenced from |
| 1447 | events in kbd_buffer_gcpro. |
| 1448 | (kbd_buffer_get_event): Construct Lisp `help-echo' events |
| 1449 | differently from input events. Test for prefix menu_bar_events |
| 1450 | and TOOL_BAR_EVENTs differently. Reset all slots used by an input |
| 1451 | event in kbd_buffer_gcpro to nil. |
| 1452 | (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose |
| 1453 | frame_or_window is equal to its arg member as prefix events. |
| 1454 | (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro |
| 1455 | used by an input event to nil. |
| 1456 | (init_keyboard): Use two times the size of the input queue |
| 1457 | for kbd_buffer_gcpro. |
| 1458 | (syms_of_keyboard): Likewise. |
| 1459 | |
| 1460 | * emacs.c (handle_USR2_signal, handle_USR1_signal): Use |
| 1461 | USER_SIGNAL_EVENT. |
| 1462 | |
| 1463 | * termhooks.h (struct input_event): Add member `arg'. |
| 1464 | (MENU_BAR_EVENT): Renamed from menu_bar_event. |
| 1465 | (USER_SIGNAL_EVENT): Renamed from user_signal. |
| 1466 | |
| 1467 | * xfaces.c (ASET): Remove definition. |
| 1468 | |
| 1469 | * lisp.h (AREF, ASET, ASIZE): New macros. |
| 1470 | |
| 1471 | * fontset.c (AREF, ASIZE): Remove definitions. |
| 1472 | |
| 1473 | * fns.c (AREF): Remove definition. |
| 1474 | |
| 1475 | * composite.c (AREF): Remove definition. |
| 1476 | |
| 1477 | 2000-07-12 Gerd Moellmann <gerd@gnu.org> |
| 1478 | |
| 1479 | * dispnew.c (redraw_overlapped_rows): Add missing local. |
| 1480 | (scrolling_window): Remove debug code. |
| 1481 | |
| 1482 | * xdisp.c (try_window_reusing_current_matrix, try_window_id): |
| 1483 | Before scrolling, turn off a mouse-highlight in the window |
| 1484 | being scrolled. |
| 1485 | |
| 1486 | * xterm.c (x_update_window_end): Add parameter |
| 1487 | MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight |
| 1488 | redisplay in XTframe_up_to_date. |
| 1489 | (x_clear_mouse_face): New function. |
| 1490 | (x_redisplay_interface): Add pointer to x_clear_mouse_face. |
| 1491 | |
| 1492 | * dispnew.c (make_current): Preserve the mouse_face_p flag of the |
| 1493 | current glyph row. |
| 1494 | (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set |
| 1495 | it when any row is written to that contains glyphs highlighted in |
| 1496 | mouse-face. |
| 1497 | (update_window): Call the window update end hook with new |
| 1498 | parameter MOUSE_FACE_OVERWRITTEN_P. |
| 1499 | (direct_output_for_insert): Give up if row contains mouse-face. |
| 1500 | |
| 1501 | * dispextern.h (struct redisplay_interface): Add parameter |
| 1502 | MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function. |
| 1503 | (clear_mouse_face): New function pointer member. |
| 1504 | |
| 1505 | 2000-07-11 Stefan Monnier <monnier@cs.yale.edu> |
| 1506 | |
| 1507 | * syntax.c (back_comment): Use one switch rather than a few `if's. |
| 1508 | Obey open_paren_in_column_0_is_defun_start. |
| 1509 | When reverting to the `slow' method, try to nicely handle the case |
| 1510 | of nested comments by checking that the comment-starter we found |
| 1511 | does indeed match the comment-ender. |
| 1512 | (scan_sexps_forward, scan_sexps_forward): |
| 1513 | Ignore excessive opening parenthesis rather than throwing an error. |
| 1514 | |
| 1515 | 2000-07-11 Gerd Moellmann <gerd@gnu.org> |
| 1516 | |
| 1517 | * doc.c (Fsubstitute_command_keys): Handle case that a GC |
| 1518 | in Fwhere_is_internal or get_keymap_1 relocates string contents. |
| 1519 | |
| 1520 | * dispnew.c (direct_output_forward_char): Give up if currently |
| 1521 | displaying a message instead of the minibuffer contents. |
| 1522 | |
| 1523 | * xterm.c (x_update_window_begin): No need to turn off the mouse |
| 1524 | highlight here. |
| 1525 | (show_mouse_face): Set the mouse_face_p flag of glyph rows |
| 1526 | depending on whether they contain glyphs highlighted in |
| 1527 | mouse-face. |
| 1528 | |
| 1529 | * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set, |
| 1530 | compare the mouse_face_p flags of both rows. |
| 1531 | |
| 1532 | * dispextern.h (struct glyph_row): Add flag mouse_face_p. |
| 1533 | |
| 1534 | 2000-07-11 Eli Zaretskii <eliz@is.elta.co.il> |
| 1535 | |
| 1536 | * keyboard.c (show_help_echo): Accept additional parameter |
| 1537 | ok_to_overwrite_keystroke_echo. |
| 1538 | (read_char): Call show_help_echo with a zero |
| 1539 | ok_to_overwrite_keystroke_echo argument. |
| 1540 | * keyboard.h (show_help_echo): Update prototype of |
| 1541 | show_help_echo. |
| 1542 | * xmenu.c (menu_help_callback): Call show_help_echo with non-zero |
| 1543 | ok_to_overwrite_keystroke_echo argument. |
| 1544 | * w32menu.c (w32_menu_display_help): Call show_help_echo with |
| 1545 | non-zero ok_to_overwrite_keystroke_echo argument. |
| 1546 | |
| 1547 | 2000-07-10 Gerd Moellmann <gerd@gnu.org> |
| 1548 | |
| 1549 | * xdisp.c (try_window_id): If changes are all below what is |
| 1550 | displayed in the window, and point is in the window, we still |
| 1551 | might have to find point on the display. |
| 1552 | |
| 1553 | * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch |
| 1554 | glyphs instead of a single one. |
| 1555 | (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string |
| 1556 | with new argument list. |
| 1557 | (x_set_glyph_string_gc): Make sure the face's GC is valid. |
| 1558 | |
| 1559 | * keymap.c (get_keymap_1): Add comment that this function can GC. |
| 1560 | (where_is_internal_2, where_is_internal_1): Add GCPROs, add |
| 1561 | comment that functions can GC. |
| 1562 | (Fset_keymap_parent): GCPRO arg KEYMAP. |
| 1563 | |
| 1564 | 2000-07-10 Eli Zaretskii <eliz@is.elta.co.il> |
| 1565 | |
| 1566 | * msdos.c (XMenuActivate): After exiting the menu, restore the |
| 1567 | echo area message and erase it. |
| 1568 | |
| 1569 | 2000-07-10 Kenichi Handa <handa@etl.go.jp> |
| 1570 | |
| 1571 | * fontset.c (Ffontset_info): Make the return value more compatible |
| 1572 | with that of Emacs 20. |
| 1573 | |
| 1574 | 2000-07-07 Gerd Moellmann <gerd@gnu.org> |
| 1575 | |
| 1576 | * eval.c (Fsignal): Handle case that backtrace_list is null. |
| 1577 | |
| 1578 | 2000-07-07 Kenichi Handa <handa@etl.go.jp> |
| 1579 | |
| 1580 | * ccl.c (Fccl_execute): Typo fixed. |
| 1581 | |
| 1582 | 2000-07-06 Gerd Moellmann <gerd@gnu.org> |
| 1583 | |
| 1584 | * window.c (window_loop): Add missing gcpro1 local variable. |
| 1585 | |
| 1586 | * window.c (Fwindow_list): Reverse list at the end. |
| 1587 | (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil |
| 1588 | means allow windows on OWINDOW's frame, only. |
| 1589 | (window_loop): Simplified; use Fwindow_list. |
| 1590 | |
| 1591 | * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make. |
| 1592 | |
| 1593 | 2000-07-05 Gerd Moellmann <gerd@gnu.org> |
| 1594 | |
| 1595 | * xterm.c (XTread_socket): Increment handling_signal at the start, |
| 1596 | decrement it at the end. |
| 1597 | |
| 1598 | * eval.c (handling_signal): New variable. |
| 1599 | (Fsignal): Abort if handling_signal is non-zero. |
| 1600 | |
| 1601 | * lisp.h (handling_signal): External declaration. |
| 1602 | |
| 1603 | * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0. |
| 1604 | |
| 1605 | 2000-07-05 Ken Raeburn <raeburn@gnu.org> |
| 1606 | |
| 1607 | Sound support for NetBSD through "Linux emulation" support: |
| 1608 | * config.in (HAVE_SOUNDCARD_H): Undef. |
| 1609 | (HAVE_SOUND): Define if HAVE_SOUNDCARD_H. |
| 1610 | * Makefile.in (LIBSOUND): New variable. |
| 1611 | (LIBES): Include it. |
| 1612 | * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and |
| 1613 | <soundcard.h>. |
| 1614 | (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined |
| 1615 | elsewhere. |
| 1616 | (vox_open): Use DEFAULT_SOUND_DEVICE. |
| 1617 | * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio. |
| 1618 | |
| 1619 | 2000-07-05 Gerd Moellmann <gerd@gnu.org> |
| 1620 | |
| 1621 | * print.c (print_error_message): If Vsignaling_function is set, |
| 1622 | show it in *Messages*. |
| 1623 | |
| 1624 | * lisp.h (Vsignaling_function): External declaration. |
| 1625 | |
| 1626 | * eval.c (Vsignaling_function): New variable. |
| 1627 | (Fsignal): Compute it. |
| 1628 | (syms_of_eval): Staticpro it. |
| 1629 | |
| 1630 | 2000-07-05 Dave Love <fx@gnu.org> |
| 1631 | |
| 1632 | * syswait.h: Use the autoconf recommended approach. Old code |
| 1633 | #if'd out in case we need to revert. |
| 1634 | |
| 1635 | * config.in (HAVE_SYS_WAIT_H): Added. |
| 1636 | |
| 1637 | 2000-07-05 Andrew Innes <andrewi@gnu.org> |
| 1638 | |
| 1639 | * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore |
| 1640 | when non-NULL instead of __morecore, to take account of buffer |
| 1641 | memory. This also solves a problem with spurious memory warnings |
| 1642 | on Windows. |
| 1643 | |
| 1644 | * ralloc.c: Make real_morecore non-static. |
| 1645 | |
| 1646 | * eval.c (internal_condition_case): Comment out abort if |
| 1647 | interrupt_input_blocked is not zero. |
| 1648 | |
| 1649 | * makefile.nt: Add support for `bootstrap' and related targets. |
| 1650 | Include minimal debug info in emacs.exe in release build. |
| 1651 | Remove all dependencies on lisp.h, and fixup some others. |
| 1652 | |
| 1653 | * w32.c (init_environment): Install code from 20.7 for providing |
| 1654 | default values for environment variables, based on the |
| 1655 | executable's own location. |
| 1656 | (map_w32_filename): Handle filenames that are longer than |
| 1657 | MAX_PATH. |
| 1658 | (sys_socket): Install socket inheritance bug fix from 20.7. |
| 1659 | |
| 1660 | * alloca.c [emacs]: Include lisp.h (needed by atimer.h included |
| 1661 | here via blockinput.h). |
| 1662 | |
| 1663 | 2000-07-05 Stefan Monnier <monnier@cs.yale.edu> |
| 1664 | |
| 1665 | * w32menu.c (w32_menu_display_help): |
| 1666 | * xmenu.c (menu_help_callback): Use show_help_echo. |
| 1667 | |
| 1668 | * keyboard.h (show_help_echo): Declare. |
| 1669 | |
| 1670 | * keyboard.c (show_help_echo): New function, extracted from read_char. |
| 1671 | Feval its `msg' argument if it's a cons cell. |
| 1672 | (read_char): Use it. |
| 1673 | (follow_key): Pass `autoload' to get_keyelt. |
| 1674 | |
| 1675 | * xterm.c (note_mode_line_highlight, note_mouse_highlight) |
| 1676 | (note_tool_bar_highlight, XTread_socket): |
| 1677 | * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight) |
| 1678 | (dos_rawgetc): |
| 1679 | * w32term.c (note_mode_line_highlight, note_mouse_highlight) |
| 1680 | (note_tool_bar_highlight, w32_read_socket): |
| 1681 | Do not gratuitously ignore non-string `help-echo' properties. |
| 1682 | |
| 1683 | 2000-07-05 Gerd Moellmann <gerd@gnu.org> |
| 1684 | |
| 1685 | * eval.c (Feval): Put check for interrupt_input_block in #if 0. |
| 1686 | |
| 1687 | * window.c (delete_all_subwindows): Reset Vwindow_list. |
| 1688 | |
| 1689 | * xterm.c (x_append_glyph, x_append_composite_glyph) |
| 1690 | (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to |
| 1691 | changes in struct glyph starting 1999-12-27. Some bit-fields of |
| 1692 | struct glyph were not set, which made glyphs unequal when compared |
| 1693 | with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering |
| 1694 | effects were the result. This also depended on the contents of |
| 1695 | memory returned by xmalloc. If flickering happens again, activate |
| 1696 | the code in clear_glyph_row that's in #if 0. If the flickering is |
| 1697 | gone with that, chances are that it is caused by something |
| 1698 | similar. |
| 1699 | |
| 1700 | * dispnew.c (clear_glyph_row): Add debug code in #if 0. |
| 1701 | |
| 1702 | * dispextern.h: Add some comments. |
| 1703 | |
| 1704 | * window.c (add_window_to_list): Add parameter LIST. |
| 1705 | (window_list): Order list so that, for each frame, windows are |
| 1706 | in canonical order, and so that frames appear in the list in |
| 1707 | the order given by Vframe_list. |
| 1708 | (next_window): Reverse the handling of NEXT_P. |
| 1709 | |
| 1710 | 2000-07-04 Gerd Moellmann <gerd@gnu.org> |
| 1711 | |
| 1712 | * window.c (Vwindow_list): New variable. |
| 1713 | (make_window, delete_window): Set Vwindow_list to nil. |
| 1714 | (check_window_containing): New function. |
| 1715 | (window_from_coordinates): Rewritten. |
| 1716 | (add_window_to_list, window_list, candidate_window_p) |
| 1717 | (decode_next_window_args, next_window): New functions. |
| 1718 | (Fnext_window, Fprevious_window): Rewritten in terms of |
| 1719 | next_window. |
| 1720 | (Fwindow_list): New function. |
| 1721 | (Fother_window): Cleaned up. |
| 1722 | (foreach_window): Add a longer "variable argument list". Let |
| 1723 | callback function return 0 to indicate that cycling over windows |
| 1724 | should stop. |
| 1725 | (foreach_window_1): Likewise. |
| 1726 | (freeze_window_start): Return int. |
| 1727 | (init_window): New function. |
| 1728 | (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list. |
| 1729 | |
| 1730 | * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear |
| 1731 | input_event with bzero. |
| 1732 | (main): Call init_window. |
| 1733 | |
| 1734 | * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating |
| 1735 | a menu filter. |
| 1736 | |
| 1737 | 2000-07-04 Kenichi Handa <handa@etl.go.jp> |
| 1738 | |
| 1739 | * composite.h (make_composition_value_copy): Extern it. |
| 1740 | |
| 1741 | * composite.c (make_composition_value_copy): New function. |
| 1742 | |
| 1743 | * editfns.c (Fformat): While copying text properties, make each |
| 1744 | composition property value a copy. |
| 1745 | |
| 1746 | * fns.c (concat): While copying text properties, make each |
| 1747 | composition property value a copy. |
| 1748 | |
| 1749 | 2000-07-03 Gerd Moellmann <gerd@gnu.org> |
| 1750 | |
| 1751 | * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define. |
| 1752 | |
| 1753 | * fns.c (sweep_weak_table): Mark only objects that are not |
| 1754 | marked already. |
| 1755 | |
| 1756 | * frame.c (next_frame, prev_frame): If MINIBUF is a window, |
| 1757 | include those frames as candidates which have their focus |
| 1758 | redirected to the minibuffer frame. |
| 1759 | |
| 1760 | 2000-07-03 Stefan Monnier <monnier@cs.yale.edu> |
| 1761 | |
| 1762 | * fns.c (Fputhash): Return `value' rather than nil. |
| 1763 | |
| 1764 | 2000-06-30 Gerd Moellmann <gerd@gnu.org> |
| 1765 | |
| 1766 | * frame.c (next_frame): Don't check focus redirection in case |
| 1767 | MINIBUF is a window. Doing so excludes frames using MINIBUF |
| 1768 | unless their focus is redirected, which contradicts the |
| 1769 | specification of next-frame, and leads to infinite loops in |
| 1770 | certain situations when cycling through windows with next-window. |
| 1771 | |
| 1772 | 2000-06-30 Kenichi Handa <handa@etl.go.jp> |
| 1773 | |
| 1774 | * coding.c (code_convert_region): Even if the length of text is |
| 1775 | zero, try to convert it if coding->type is coding_type_ccl. |
| 1776 | (decode_coding_string, encode_coding_string): Likewise. |
| 1777 | |
| 1778 | 2000-06-28 Gerd Moellmann <gerd@gnu.org> |
| 1779 | |
| 1780 | * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse |
| 1781 | the display if windows_or_buffers_changed. |
| 1782 | |
| 1783 | * dispnew.c (struct row_entry): New structure. |
| 1784 | (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table) |
| 1785 | (row_table_size, old_lines, new_lines, old_lines_size) |
| 1786 | (new_lines_size, run_pool, runs_size, runs): New variables. |
| 1787 | (add_row_entry): New function. |
| 1788 | (scrolling_window): Use data structures allocated with xmalloc and |
| 1789 | held in global variables, instead of allocating them with alloca and |
| 1790 | holding them in local variables. Use a larger hash table whose |
| 1791 | size depends on glyph matrix sizes. Don't use bzero to clear the |
| 1792 | hash table; instead, clear used slots only. |
| 1793 | |
| 1794 | * fns.c (next_almost_prime): Make it externally visible. |
| 1795 | |
| 1796 | * lisp.h (next_almost_prime): Add prototype. |
| 1797 | |
| 1798 | * s/isc4-0.h (sigunblock): Define. |
| 1799 | |
| 1800 | * s/sco5.h (sigunblock): Define. |
| 1801 | |
| 1802 | 2000-06-27 Dave Love <fx@gnu.org> |
| 1803 | |
| 1804 | * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change |
| 1805 | (moved to osf5-0.h). |
| 1806 | [!NOT_C_CODE]: Protect string.h stuff. |
| 1807 | |
| 1808 | * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED) |
| 1809 | (sys_siglist, NSIG): Definitions moved here from osf1.h. |
| 1810 | |
| 1811 | 2000-06-27 Gerd Moellmann <gerd@gnu.org> |
| 1812 | |
| 1813 | * xdisp.c (resize_mini_window): Subtract the extra line spacing |
| 1814 | below the last line from the needed window height. |
| 1815 | |
| 1816 | 2000-06-26 Stefan Monnier <monnier@cs.yale.edu> |
| 1817 | |
| 1818 | * fns.c (Fplist_member): Renamed from Fwidget_plist_member. |
| 1819 | (Fwidget_get): Use it. |
| 1820 | (syms_of_fns): Defsubr it. |
| 1821 | |
| 1822 | 2000-06-26 Gerd Moellmann <gerd@gnu.org> |
| 1823 | |
| 1824 | * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the |
| 1825 | display info for XIM. |
| 1826 | (xim_open_dpy): Likewise. |
| 1827 | (xim_close_dpy): Don't free the display info's XIM. |
| 1828 | |
| 1829 | * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic. |
| 1830 | |
| 1831 | * config.in (USE_XIM): New define. |
| 1832 | |
| 1833 | * keymap.c (get_keyelt): For menu-items containing a `:filter |
| 1834 | FILTER', apply FILTER to the menu-item's definition to get the |
| 1835 | real definition to use. |
| 1836 | |
| 1837 | * lisp.h (QCfilter): External declaration. |
| 1838 | |
| 1839 | * xfns.c (Fimage_size): New function. |
| 1840 | (syms_of_xfns): Defsubr it. |
| 1841 | |
| 1842 | 2000-06-26 Andreas Schwab <schwab@suse.de> |
| 1843 | |
| 1844 | * coding.c (decode_coding_string): Re-fetch STRING_BYTES after |
| 1845 | Fstring_as_unibyte. |
| 1846 | |
| 1847 | 2000-06-25 Dave Love <fx@gnu.org> |
| 1848 | |
| 1849 | * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, |
| 1850 | tgetnum. |
| 1851 | |
| 1852 | * Makefile.in (blockinput.h): Depend on atimer.h. |
| 1853 | (atimer.h): Depend on systime.h. |
| 1854 | |
| 1855 | * blockinput.h: Protect against multiple inclusion. Include |
| 1856 | atimer.h. |
| 1857 | |
| 1858 | * atimer.h: Protect against multiple inclusion. Include |
| 1859 | systime.h. |
| 1860 | |
| 1861 | * lisp.h (swap_in_global_binding): Declare. |
| 1862 | |
| 1863 | 2000-06-24 Ken Raeburn <raeburn@gnu.org> |
| 1864 | |
| 1865 | * process.c (Fopen_network_stream): Turn off atimers for duration |
| 1866 | of call to connect. (Patch from Gerd.) |
| 1867 | |
| 1868 | 2000-06-23 Dave Love <fx@gnu.org> |
| 1869 | |
| 1870 | * ralloc.c: Maybe include unistd.h |
| 1871 | |
| 1872 | * emacs.c (setgrp): Undefine before defining. |
| 1873 | (malloc_warning, set_time_zone_rule, index): Prototype. |
| 1874 | |
| 1875 | * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use |
| 1876 | HAVE_STRUCT_TIMEZONE. |
| 1877 | |
| 1878 | * s/osf1.h: Move string.h hack here from alpha.h and make it |
| 1879 | conditional. |
| 1880 | (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with |
| 1881 | _XOPEN_SOURCE. |
| 1882 | (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define. |
| 1883 | (SOCKLEN_TYPE): Don't define. |
| 1884 | |
| 1885 | * m/alpha.h: Remove string.h hack. |
| 1886 | |
| 1887 | * s/osf5-0.h: New file. |
| 1888 | |
| 1889 | * filelock.c: Use feature tests for fcntl.h, string.h. Don't |
| 1890 | include time.h, done by systime.h. |
| 1891 | [__FreeBSD__]: Remove redundant includes. |
| 1892 | |
| 1893 | * callproc.c (setpgrp): Undefine before defining. |
| 1894 | (delete_temp_file): Return Qnil to avoid warning. |
| 1895 | |
| 1896 | * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add. |
| 1897 | |
| 1898 | * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not |
| 1899 | HAVE_X_WINDOWS. |
| 1900 | |
| 1901 | * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset. |
| 1902 | |
| 1903 | * composite.h (compose_text): Declare. |
| 1904 | |
| 1905 | * xterm.c: Don't include sys/types.h unconditionally. Don't |
| 1906 | protect its inclusion with !USG (following xmenu.c). |
| 1907 | |
| 1908 | 2000-06-23 Gerd Moellmann <gerd@gnu.org> |
| 1909 | |
| 1910 | * xfns.c (x_create_tip_frame): Initialize frame's colors like |
| 1911 | in x_create_frame. |
| 1912 | |
| 1913 | 2000-06-23 Eli Zaretskii <eliz@is.elta.co.il> |
| 1914 | |
| 1915 | * coding.c (decode_eol_post_ccl): Special handling for undecided |
| 1916 | and inconsistent EOL types. |
| 1917 | |
| 1918 | 2000-06-22 Gerd Moellmann <gerd@gnu.org> |
| 1919 | |
| 1920 | * xrdb.c (x_load_resources): Add default resource for scroll bar's |
| 1921 | trough color and main window's background color. |
| 1922 | |
| 1923 | * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events |
| 1924 | differently. |
| 1925 | |
| 1926 | * xterm.h (Xt_app_con): External declaration. |
| 1927 | |
| 1928 | * widget.c (EmacsFrameRealize): Fix typo. |
| 1929 | |
| 1930 | * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask. |
| 1931 | |
| 1932 | * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero. |
| 1933 | (handle_invisible_prop): Record the start of invisible text in |
| 1934 | it->add_overlay_start. |
| 1935 | (struct overlay_entry): Add member `overlay'. |
| 1936 | (handle_overlay_change): Simplify. |
| 1937 | (next_overlay_string): After having processed overlay strings at the |
| 1938 | end of the buffer, record that fact in |
| 1939 | it->overlay_strings_at_end_processed_p. |
| 1940 | (compare_overlay_entries): If before- and after-strings come |
| 1941 | from the same overlay, let before-strings come first. |
| 1942 | (RECORD_OVERLAY_STRING): Record the overlay that strings come from. |
| 1943 | (load_overlay_strings): Take it->add_overlay_start into account |
| 1944 | when adding overlay strings. |
| 1945 | |
| 1946 | * dispextern.h (struct it): Add member add_overlay_start. |
| 1947 | |
| 1948 | 2000-06-22 Dave Love <fx@gnu.org> |
| 1949 | |
| 1950 | * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500. |
| 1951 | |
| 1952 | * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here. |
| 1953 | |
| 1954 | 2000-06-22 Kenichi Handa <handa@etl.go.jp> |
| 1955 | |
| 1956 | * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it |
| 1957 | is greater than 0. |
| 1958 | |
| 1959 | 2000-06-21 Dave Love <fx@gnu.org> |
| 1960 | |
| 1961 | * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it. |
| 1962 | |
| 1963 | 2000-06-21 Stefan Monnier <monnier@cs.yale.edu> |
| 1964 | |
| 1965 | * syntax.c (back_comment): Simplify string-parity counting (with |
| 1966 | the added benefit of handling multiple string-styles as long as |
| 1967 | they are not intertwined). |
| 1968 | Jump to the slow code as soon as a comment starter is found in |
| 1969 | a "string_lossage" position. Fixes the case: " /* " /* " */. |
| 1970 | |
| 1971 | 2000-06-21 Dave Love <fx@gnu.org> |
| 1972 | |
| 1973 | * Makefile.in: Use GETLOADAVG_LIBS. |
| 1974 | |
| 1975 | * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS, |
| 1976 | _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE. |
| 1977 | |
| 1978 | 2000-06-20 Stefan Monnier <monnier@cs.yale.edu> |
| 1979 | |
| 1980 | * syntax.c (describe_syntax): Recognize the `n'estable bit. |
| 1981 | (Fforward_comment, scan_lists): |
| 1982 | Check the comstyle of single-char comment-starters. |
| 1983 | (scan_sexps_forward): Don't try to recognize `half comment-enders' if |
| 1984 | we're just at the beginning of the comment (f.ex with (*) ... (*)). |
| 1985 | Check the comstyle of single-char comment-starters. |
| 1986 | Clarify control-flow around the Scomment case. |
| 1987 | |
| 1988 | 2000-06-20 Dave Love <fx@gnu.org> |
| 1989 | |
| 1990 | * fns.c (make_hash_table, maybe_resize_hash_table): |
| 1991 | Cast arg of next_almost_prime. |
| 1992 | |
| 1993 | * tparam.c [emacs]: Include lisp.h. |
| 1994 | |
| 1995 | * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h |
| 1996 | and unistd.h. |
| 1997 | |
| 1998 | 2000-06-20 Gerd Moellmann <gerd@gnu.org> |
| 1999 | |
| 2000 | * keyboard.c (adjust_point_for_property): Check if display |
| 2001 | property should be treated as intangible by looking at its |
| 2002 | value. |
| 2003 | |
| 2004 | * xdisp.c (single_display_prop_intangible_p) |
| 2005 | (display_prop_intangible_p): New functions. |
| 2006 | |
| 2007 | * dispextern.h (display_prop_intangible_p): Add prototype. |
| 2008 | |
| 2009 | * xdisp.c (dump_glyph_row): Show type of glyph->object. |
| 2010 | |
| 2011 | * s/isc4-0.h (sigblock): Redefined to pass a pointer as second |
| 2012 | argument to sigprocmask. |
| 2013 | |
| 2014 | * s/sco5.h (sigblock): Redefined to pass a pointer as second |
| 2015 | argument to sigprocmask. |
| 2016 | |
| 2017 | * syssignal.h (sigblock, sigunblock) [USG5_4]: Set |
| 2018 | sigprocmask_set, and pass a pointer to it to sigprocmask. |
| 2019 | |
| 2020 | * sysdep.c (sigprocmask_set): New variable. |
| 2021 | |
| 2022 | * fileio.c (make_temp_name): Don't use `%s' in string passed to |
| 2023 | report_file_error. |
| 2024 | |
| 2025 | 2000-06-20 Sam Steingold <sds@gnu.org> |
| 2026 | |
| 2027 | * xrdb.c: Don't declare xmalloc, xrealloc. |
| 2028 | |
| 2029 | 2000-06-20 Stefan Monnier <monnier@cs.yale.edu> |
| 2030 | |
| 2031 | * regex.c (re_match, re_match_2): Protect calls to alloca (0). |
| 2032 | (re_comp): Cast gettext return value to avoid complaints when |
| 2033 | !HAVE_LIBINTL. |
| 2034 | |
| 2035 | 2000-06-20 Dave Love <fx@gnu.org> |
| 2036 | |
| 2037 | * m/stride.h, m/mips.h: Don't define HAVE_GETWD, |
| 2038 | HAVE_GETTIMEOFDAY. |
| 2039 | |
| 2040 | * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK. |
| 2041 | |
| 2042 | * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD. |
| 2043 | |
| 2044 | * m/alpha.h: Don't declare xmalloc, xrealloc. |
| 2045 | |
| 2046 | * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT. |
| 2047 | |
| 2048 | * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE. |
| 2049 | |
| 2050 | * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY. |
| 2051 | |
| 2052 | * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare |
| 2053 | HAVE_GETWD. |
| 2054 | |
| 2055 | * keyboard.h (poll_for_input_1): Declare. |
| 2056 | |
| 2057 | * getloadavg.c: Don't define NLIST_STRUCT (handled by configure). |
| 2058 | |
| 2059 | * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE. |
| 2060 | |
| 2061 | * doprnt.c: Don't declare xmalloc, xrealloc. |
| 2062 | |
| 2063 | * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text) |
| 2064 | (getenv, ctime, getwd): Removed. |
| 2065 | (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE. |
| 2066 | |
| 2067 | * xterm.h: Remove duplicate prototypes. Declare free_frame_xic, |
| 2068 | x_set_tool_bar_lines. |
| 2069 | |
| 2070 | * config.in: Add HAVE_GETWD. Move some definitions above |
| 2071 | machine/system includes. |
| 2072 | |
| 2073 | 2000-06-20 Kenichi Handa <handa@etl.go.jp> |
| 2074 | |
| 2075 | * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1. |
| 2076 | |
| 2077 | * xfaces.c (font_list): Handle the case that REGISTRY doesn't |
| 2078 | contain information about ENCODING. |
| 2079 | |
| 2080 | * fontset.c (FONTSET_ASCII): Use the first element of char table |
| 2081 | for an ASCII font, not defalt slot. |
| 2082 | (fontset_ref_via_base): If FONTSET doesn't contain information for |
| 2083 | C, try the default fontset. |
| 2084 | (make_fontset): Don't copy the default fontset. |
| 2085 | (fontset_font_pattern): Likewise. |
| 2086 | (accumulate_font_info): If ELT is nil, use the corresponding |
| 2087 | element in the default fontset. |
| 2088 | |
| 2089 | 2000-06-19 Dave Love <fx@gnu.org> |
| 2090 | |
| 2091 | * syntax.c (Fparse_partial_sexp): Doc fix. |
| 2092 | |
| 2093 | * regex.h: Test PROTOTYPES as well as __STDC__. |
| 2094 | |
| 2095 | * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare |
| 2096 | errno, strerror. Put text after #endif in comment. |
| 2097 | |
| 2098 | * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for |
| 2099 | pcc). |
| 2100 | |
| 2101 | * xterm.c (x_frame_of_widget): Likewise. |
| 2102 | |
| 2103 | 2000-06-19 Gerd Moellmann <gerd@gnu.org> |
| 2104 | |
| 2105 | * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table |
| 2106 | to Vfundamental_mode_abbrev_table. |
| 2107 | |
| 2108 | * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no |
| 2109 | bogus objects are marked. This slows down GC by ~80 percent, but |
| 2110 | it might be worth trying when debugging GC-related problems. |
| 2111 | This feature requires conservative stack marking to be enabled. |
| 2112 | |
| 2113 | * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString |
| 2114 | returns XLookupChars, reset `modifiers' to zero. |
| 2115 | |
| 2116 | 2000-06-19 Dave Love <fx@gnu.org> |
| 2117 | |
| 2118 | * mktime.c: Unprotoized. |
| 2119 | |
| 2120 | 2000-06-19 Richard Stallman <rms@gnu.org> |
| 2121 | |
| 2122 | * data.c (set_internal): If variable is frame-local, |
| 2123 | store the new value immediately into the frame parameter alist. |
| 2124 | |
| 2125 | 2000-06-19 Ken Raeburn <raeburn@gnu.org> |
| 2126 | |
| 2127 | * xfns.c (jpeg_load): Fetch error-handling data first, then fill |
| 2128 | in the custom handler pointer. |
| 2129 | |
| 2130 | * keyboard.c (follow_key, read_key_sequence): Use XUINT on key |
| 2131 | value, or checks for CHAR_META can fail when Lisp_Object is a |
| 2132 | union type. |
| 2133 | * keymap.c (get_keyelt): Likewise. |
| 2134 | |
| 2135 | 2000-06-19 Kenichi Handa <handa@etl.go.jp> |
| 2136 | |
| 2137 | * ccl.h (struct ccl_program): New member eol_type. |
| 2138 | (struct ccl_spec): New member cr_carryover. |
| 2139 | |
| 2140 | * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type. |
| 2141 | (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF. |
| 2142 | |
| 2143 | * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'. |
| 2144 | (ccl_coding_driver): On encoding, initialize ccl->eol_type. |
| 2145 | (decode_eol_post_ccl): New function. |
| 2146 | (decode_coding): Don't detect EOL format here for CCL based coding |
| 2147 | systems. |
| 2148 | (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call |
| 2149 | decode_eol_post_ccl after running the CCL program. |
| 2150 | (code_convert_region): Don't detect EOL format here for CCL based |
| 2151 | coding systems. |
| 2152 | (decode_coding_string): Likewise. |
| 2153 | |
| 2154 | 2000-06-18 Ken Raeburn <raeburn@gnu.org> |
| 2155 | |
| 2156 | * charset.c (update_charset_table): Use XINT on "iso_final_char" |
| 2157 | when treating it as an integer. |
| 2158 | |
| 2159 | * coding.h (encode_coding_string): Declare. |
| 2160 | |
| 2161 | * keyboard.c (read_key_sequence): Use XINT on "pos" when treating |
| 2162 | it as an integer. |
| 2163 | |
| 2164 | * keymap.c (Fwhere_is_internal): Rename argument "keymap" to |
| 2165 | "xkeymap" to avoid shadowing the "enum map_type" value that needs |
| 2166 | to be passed to get_local_map. |
| 2167 | |
| 2168 | * sound.c (Fplay_sound): Don't call make_number on |
| 2169 | Frun_hook_with_args count argument. |
| 2170 | |
| 2171 | * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer |
| 2172 | for lisp objects in X event structure data field, when lisp |
| 2173 | objects are represented with unions. |
| 2174 | (x_scroll_bar_to_input_event): Ditto. |
| 2175 | |
| 2176 | 2000-06-16 Ken Raeburn <raeburn@gnu.org> |
| 2177 | |
| 2178 | * xdisp.c (decode_mode_spec): In "no_value" case, do NUL |
| 2179 | termination of string. Fix sense of test whether |
| 2180 | Vline_number_display_limit is an integer. |
| 2181 | |
| 2182 | 2000-06-16 Gerd Moellmann <gerd@gnu.org> |
| 2183 | |
| 2184 | * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors |
| 2185 | only if HAVE_X_WINDOWS. |
| 2186 | |
| 2187 | * keymap.c (describe_buffer_bindings): Add `\f\n' in front |
| 2188 | of titles. |
| 2189 | |
| 2190 | * dispnew.c (update_frame_1): Handle case that cursor vpos is |
| 2191 | out of bounds. |
| 2192 | |
| 2193 | 2000-06-15 Eli Zaretskii <eliz@is.elta.co.il> |
| 2194 | |
| 2195 | * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS |
| 2196 | of its headers. |
| 2197 | |
| 2198 | 2000-06-15 Kenichi Handa <handa@etl.go.jp> |
| 2199 | |
| 2200 | * coding.c (decode_coding_emacs_mule): Always set src_base at the |
| 2201 | start of the while loop. |
| 2202 | |
| 2203 | 2000-06-15 Gerd Moellmann <gerd@gnu.org> |
| 2204 | |
| 2205 | * atimer.c (alarm_signal_handler): Add forward declaration. |
| 2206 | |
| 2207 | * data.c (set_internal): Remove debug code. |
| 2208 | |
| 2209 | 2000-06-14 Gerd Moellmann <gerd@gnu.org> |
| 2210 | |
| 2211 | * Makefile.in (bootstrap-temacs): Add `-I../src'. |
| 2212 | |
| 2213 | * unexec.c (toplevel) [COFF]: Include coff.h. |
| 2214 | |
| 2215 | * s/lynxos.h: New file. |
| 2216 | |
| 2217 | * keymap.c (Fsingle_key_description): Enclose function key and |
| 2218 | event symbol names in angle brackets. |
| 2219 | |
| 2220 | * xdisp.c (setup_echo_area_for_printing): Call |
| 2221 | message_log_maybe_newline if message_buf_print is not set. |
| 2222 | |
| 2223 | * print.c (printchar, strout): Don't check message_buf_print |
| 2224 | before calling setup_echo_area_for_printing because that |
| 2225 | function does something useful even when message_buf_print is |
| 2226 | already set. |
| 2227 | |
| 2228 | * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New |
| 2229 | variables. |
| 2230 | (ensure_echo_area_buffers): Initialize echo buffer's |
| 2231 | truncate lines setting to nil. |
| 2232 | (with_echo_area_buffer): Don't set the echo buffer's truncate |
| 2233 | lines setting here. |
| 2234 | (set_message_1): Set it here instead, based on the value |
| 2235 | of message_truncate_lines. |
| 2236 | (resize_mini_window): Handle case that lines are truncated. |
| 2237 | (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL |
| 2238 | message-truncate-lines. |
| 2239 | |
| 2240 | * keyboard.c (read_char): Bind message-truncate-lines to t |
| 2241 | while displaying a help-echo. |
| 2242 | |
| 2243 | * lisp.h (Qmessage_truncate_lines): External declaration. |
| 2244 | |
| 2245 | 2000-06-13 Gerd Moellmann <gerd@gnu.org> |
| 2246 | |
| 2247 | * xdisp.c (Vline_number_display_limit): Renamed from |
| 2248 | line_number_display_limit. |
| 2249 | (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit. |
| 2250 | Extend documentation string. Initialize |
| 2251 | Vline_number_display_limit to nil meaning no limit. |
| 2252 | (decode_mode_spec): Use Vline_number_display_limit with its new |
| 2253 | meaning. |
| 2254 | |
| 2255 | * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype. |
| 2256 | |
| 2257 | 2000-06-13 Richard Stallman <rms@gnu.org> |
| 2258 | |
| 2259 | * frame.c (Fmodify_frame_parameters): Doc fix. |
| 2260 | |
| 2261 | * xfns.c (x_set_frame_parameters): Comment fix. |
| 2262 | |
| 2263 | * frame.c (store_frame_param): Call swap_in_global_binding if the |
| 2264 | variable's current binding was chosen based on this frame. |
| 2265 | |
| 2266 | * data.c (swap_in_global_binding): New function. |
| 2267 | |
| 2268 | 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il> |
| 2269 | |
| 2270 | * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING |
| 2271 | macro, instead AND with CODING_REQUIRE_ENCODING_MASK. |
| 2272 | |
| 2273 | 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il> |
| 2274 | |
| 2275 | * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_. |
| 2276 | |
| 2277 | 2000-06-12 Jason Rumney <jasonr@gnu.org> |
| 2278 | |
| 2279 | * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__ |
| 2280 | |
| 2281 | * w32.h (EMACS_W32_H): Renamed from _NT_H_ |
| 2282 | |
| 2283 | * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__ |
| 2284 | |
| 2285 | * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__ |
| 2286 | |
| 2287 | 2000-06-12 Gerd Moellmann <gerd@gnu.org> |
| 2288 | |
| 2289 | * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function. |
| 2290 | (syms_of_xfaces): Defsubr Sdump_colors. |
| 2291 | (x_free_colors): Don't treat b&w specially on default visual. |
| 2292 | (x_free_dpy_colors): New function. |
| 2293 | (free_face_colors): Don't check visual class; it's done |
| 2294 | in x_free_colors. |
| 2295 | |
| 2296 | * xterm.c (x_frame_of_widget): New function. |
| 2297 | (x_alloc_nearest_color_for_widget): Use it. |
| 2298 | (x_copy_dpy_color): New function. |
| 2299 | (x_destroy_window): Free various colors. |
| 2300 | |
| 2301 | 2000-06-12 Kenichi Handa <handa@etl.go.jp> |
| 2302 | |
| 2303 | * ccl.h (EMACS_CCL_H): Renamed from _CCL_H. |
| 2304 | |
| 2305 | * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H. |
| 2306 | |
| 2307 | * coding.h (EMASC_CODING_H): Renamed from _CODING_H. |
| 2308 | |
| 2309 | * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H. |
| 2310 | |
| 2311 | * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H. |
| 2312 | |
| 2313 | 2000-06-11 Dave Love <fx@gnu.org> |
| 2314 | |
| 2315 | * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H. |
| 2316 | |
| 2317 | 2000-06-11 Eli Zaretskii <eliz@is.elta.co.il> |
| 2318 | |
| 2319 | * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead. |
| 2320 | |
| 2321 | 2000-06-11 Gerd Moellmann <gerd@gnu.org> |
| 2322 | |
| 2323 | * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu |
| 2324 | to `XEvent *'. |
| 2325 | |
| 2326 | 2000-06-10 Kenichi Handa <handa@etl.go.jp> |
| 2327 | |
| 2328 | * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env. |
| 2329 | (regex_compile): Fix the code for handling the case of single byte |
| 2330 | char and multibyte char being mixed in a range within [...]. |
| 2331 | |
| 2332 | * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte |
| 2333 | and dst_multibyte members of coding. |
| 2334 | |
| 2335 | * charset.c (update_charset_table): Update the table |
| 2336 | bytes_by_char_head. |
| 2337 | (init_charset_once): Initialize elements of bytes_by_char_head to |
| 2338 | 1 except for leading codes for private charases. |
| 2339 | |
| 2340 | * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80. |
| 2341 | (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte |
| 2342 | sequence. |
| 2343 | |
| 2344 | 2000-06-09 Ken Raeburn <raeburn@gnu.org> |
| 2345 | |
| 2346 | * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to |
| 2347 | access the data it doesn't point to. |
| 2348 | |
| 2349 | 2000-06-08 Gerd Moellmann <gerd@gnu.org> |
| 2350 | |
| 2351 | * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which |
| 2352 | will be translated to a switch-frame event when reading the |
| 2353 | event queue. This is necessary because Emacs otherwise won't |
| 2354 | perform a switch-frame to a new frame until some other event, for |
| 2355 | example a keystroke event, forces it to do so. This has various |
| 2356 | effects, one visible being that the cursor of a frame created with |
| 2357 | C-x 5 2 or switched to with a window manager key binding like |
| 2358 | A-TAB stays hollow because selected_window isn't on the newly |
| 2359 | focused frame until the switch-frame is performed. |
| 2360 | |
| 2361 | * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by |
| 2362 | generating a switch-frame event if necessary. |
| 2363 | |
| 2364 | * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT. |
| 2365 | |
| 2366 | * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos'; |
| 2367 | it's an integer. |
| 2368 | |
| 2369 | 2000-06-08 Kenichi Handa <handa@etl.go.jp> |
| 2370 | |
| 2371 | * fontset.c (Fset_fontset_font): The arg CHARACTER may be a |
| 2372 | charset. |
| 2373 | |
| 2374 | 2000-06-07 Gerd Moellmann <gerd@gnu.org> |
| 2375 | |
| 2376 | * window.c (displayed_window_lines): Take empty lines at |
| 2377 | the bottom of a window into account. |
| 2378 | |
| 2379 | * window.c (displayed_window_lines): New function. |
| 2380 | (Fmove_to_window_line): Use displayed_window_lines to determine |
| 2381 | the number of lines to move, instead of using the window's height. |
| 2382 | |
| 2383 | * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange |
| 2384 | to stop reading, even if the form read sets point to a different |
| 2385 | value when evaluated. |
| 2386 | |
| 2387 | * xdisp.c (display_line): Fix code deciding in which line to |
| 2388 | put the cursor. |
| 2389 | |
| 2390 | 2000-06-07 Kenichi Handa <handa@etl.go.jp> |
| 2391 | |
| 2392 | * fileio.c (e_write): Free composition data if stored in |
| 2393 | coding->cmp_data. |
| 2394 | |
| 2395 | 2000-06-06 Gerd Moellmann <gerd@gnu.org> |
| 2396 | |
| 2397 | * xdisp.c (display_line): Set row's and iterator's |
| 2398 | starts_in_middle_of_char_p and ends_in_middle_of_char_p flags. |
| 2399 | Set cursor even if row ends in the middle of a character. |
| 2400 | (dump_glyph_row): Print values of new flags. |
| 2401 | (redisplay_window) <cursor movement in unchanged window>: When |
| 2402 | point has been moved forward, and PT is at the end of the cursor |
| 2403 | row, don't place the cursor in the next row if the cursor row ends |
| 2404 | in the middle of a character or at ZV. |
| 2405 | |
| 2406 | * dispextern.h (struct it): Add starts_in_middle_of_char_p. |
| 2407 | (struct glyph_row): Add starts_in_middle_of_char_p and |
| 2408 | ends_in_middle_of_char_p. |
| 2409 | (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's |
| 2410 | ends_in_middle_of_char_p flag. |
| 2411 | (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise. |
| 2412 | |
| 2413 | * term.c (append_glyph): Revert change of 2000-06-06. |
| 2414 | |
| 2415 | * xdisp.c (display_line): Revert change of 2000-06-06. Treat |
| 2416 | padding glyph not fitting on line as whole character not |
| 2417 | fitting on line. |
| 2418 | |
| 2419 | * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0'; |
| 2420 | this isn't true for images with `:ascent 100'. |
| 2421 | |
| 2422 | 2000-06-06 Kenichi Handa <handa@etl.go.jp> |
| 2423 | |
| 2424 | * buffer.c (Fset_buffer_multibyte): Don't make the current buffer |
| 2425 | as modified if it is originally unmodified. |
| 2426 | |
| 2427 | * term.c (encode_terminal_code): Change the way to check if |
| 2428 | terminal coding does any conversion. |
| 2429 | (append_glyph): Set glyph->pixel_width correctly. |
| 2430 | |
| 2431 | * xdisp.c (display_line): While checking line continuation, pay |
| 2432 | attention to a padding glyph. |
| 2433 | |
| 2434 | 2000-06-05 Gerd Moellmann <gerd@gnu.org> |
| 2435 | |
| 2436 | * xdisp.c (redisplay_window): Always use set_buffer_internal_1. |
| 2437 | |
| 2438 | 2000-06-05 Dave Love <fx@gnu.org> |
| 2439 | |
| 2440 | * xdisp.c: Include fontset.h. |
| 2441 | |
| 2442 | * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned. |
| 2443 | |
| 2444 | * xterm.c (x_calc_absolute_position): Declare nchildren unsigned. |
| 2445 | |
| 2446 | * dispnew.c: Conditionally include term.h. |
| 2447 | |
| 2448 | * coding.h: Declare code_convert_string_norecord. |
| 2449 | |
| 2450 | * frame.h (struct frame): Use volatile unconditionally. |
| 2451 | |
| 2452 | * buffer.h: Remove Vbefore_change_function, Vafter_change_function. |
| 2453 | |
| 2454 | * xmenu.c (menu_item_selection): Declare volatile unconditionally. |
| 2455 | |
| 2456 | * systime.h: Protect against multiple inclusion. |
| 2457 | (timezone) [USG5_4]: Define as time_t. |
| 2458 | |
| 2459 | * lisp.h (DEFUN, EXFUN): Test PROTOTYPES. |
| 2460 | (Foptimize_char_table, make_temp_name): Declare. |
| 2461 | |
| 2462 | * Makefile.in (xdisp.o): Depend on fontset.h. |
| 2463 | |
| 2464 | * xterm.c (x_calc_absolute_position): Declare nchildren unsigned. |
| 2465 | |
| 2466 | * lisp.h (DEFUN, EXFUN): Test PROTOTYPES. |
| 2467 | (Foptimize_char_table, make_temp_name): Declare. |
| 2468 | |
| 2469 | * s/irix4-0.h: |
| 2470 | * s/irix5-0.h: |
| 2471 | * s/netbsd.h: Don't define autoconfiscated MATHERR. |
| 2472 | |
| 2473 | 2000-06-02 Dave Love <fx@gnu.org> |
| 2474 | |
| 2475 | * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define. |
| 2476 | |
| 2477 | 2000-06-02 Gerd Moellmann <gerd@gnu.org> |
| 2478 | |
| 2479 | * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the |
| 2480 | result face, set flags in that face indicating that colors may not |
| 2481 | be freed. |
| 2482 | |
| 2483 | * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character |
| 2484 | glyph, use the ASCII NUL character to determine the face. |
| 2485 | |
| 2486 | 2000-06-02 Dave Love <fx@gnu.org> |
| 2487 | |
| 2488 | * sysdep.c: Conditionally include stdlib.h, unistd.h. |
| 2489 | (VFORK_RETURN_TYPE): Remove. |
| 2490 | |
| 2491 | * config.in: Add NO_MATHERR. |
| 2492 | |
| 2493 | 2000-06-01 Dave Love <fx@gnu.org> |
| 2494 | |
| 2495 | * cmds.c (internal_self_insert): Don't check |
| 2496 | Vbefore_change_function, Vafter_change_function. |
| 2497 | |
| 2498 | * insdel.c (signal_before_change, signal_after_change): Likewise. |
| 2499 | |
| 2500 | * buffer.c (Vbefore_change_function, Vafter_change_function): |
| 2501 | Variables and their initializations deleted. |
| 2502 | |
| 2503 | * callint.c (Fcall_interactively): Doc fix. |
| 2504 | |
| 2505 | * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern. |
| 2506 | |
| 2507 | 2000-05-31 Dave Love <fx@gnu.org> |
| 2508 | |
| 2509 | * textprop.c: Revert last change -- duplicated. |
| 2510 | |
| 2511 | 2000-05-31 Gerd Moellmann <gerd@gnu.org> |
| 2512 | |
| 2513 | * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put |
| 2514 | in #if 0. |
| 2515 | |
| 2516 | * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'. |
| 2517 | |
| 2518 | 2000-05-31 Jason Rumney <jasonr@gnu.org> |
| 2519 | |
| 2520 | * search.c (Fre_search_forward, Fre_search_backward) |
| 2521 | (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs. |
| 2522 | |
| 2523 | * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil. |
| 2524 | |
| 2525 | 2000-05-30 Jason Rumney <jasonr@gnu.org> |
| 2526 | |
| 2527 | * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros. |
| 2528 | [WINDOWSNT]: Add extern for Vw32_system_coding_system. |
| 2529 | |
| 2530 | * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type |
| 2531 | member. |
| 2532 | |
| 2533 | * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog. |
| 2534 | (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to |
| 2535 | expand a nil default_filename. |
| 2536 | |
| 2537 | * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window |
| 2538 | pointer to glyph_to_pixel_coords, not a frame. |
| 2539 | |
| 2540 | * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and |
| 2541 | coding.h to dependencies. |
| 2542 | |
| 2543 | * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p. |
| 2544 | |
| 2545 | * w32console.c (glyph_to_pixel_coords): Change first parameter to |
| 2546 | window pointer to be consistent with w32term.c and xterm.c. |
| 2547 | |
| 2548 | * w32fns.c: Format and doc changes to bring closer to xfns.c. |
| 2549 | (VIETNAMESE_CHARSET): Define if not defined in system headers. |
| 2550 | (Qline_spacing, Qcenter): New variables. |
| 2551 | (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c. |
| 2552 | (x_set_line_spacing): New function. |
| 2553 | (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT |
| 2554 | macros. |
| 2555 | (x_specified_cursor_type): New function. |
| 2556 | (x_set_cursor_type): Use it. |
| 2557 | (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar |
| 2558 | and icon strings. |
| 2559 | (validate_x_resource_name, x_get_resource_string): Measure lengths |
| 2560 | of external strings in bytes. |
| 2561 | (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling |
| 2562 | GetTextExtentPoint32 with NULL title. |
| 2563 | (Fx_create_frame): Initialize Qline_spacing. |
| 2564 | (w32_load_system_font): Initialize font->double_byte_p. |
| 2565 | (x_to_w32_charset): Use Vw32_charset_info_alist. |
| 2566 | (Image, busy cursor, tooltip functions): Merged changes from |
| 2567 | xfns.c. Not yet functional on Windows. |
| 2568 | |
| 2569 | * w32gui.h (W32FontStruct): Add double_byte_p member. |
| 2570 | |
| 2571 | * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant. |
| 2572 | (emacs_button_translation): Use it. |
| 2573 | (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit |
| 2574 | in `mask' to be set. |
| 2575 | |
| 2576 | * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on |
| 2577 | menu strings. |
| 2578 | |
| 2579 | * w32term.c: Format and doc changes to bring closer to xterm.c. |
| 2580 | (w32_char_font_type): New enum. |
| 2581 | (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c. |
| 2582 | (w32_per_char_metric): Use w32_char_font_type instead of unicode_p. |
| 2583 | (w32_encode_char): New function. |
| 2584 | (x_encode_char): Removed. |
| 2585 | (x_get_glyph_and_face_encoding): Use w32_encode_char in place of |
| 2586 | x_encode_char and w32_font_is_double_byte. |
| 2587 | (x_produce_image_glyph): Use image_ascent. |
| 2588 | (x_produce_glyphs): Use new version of w32_per_char_metric and |
| 2589 | handle NULL return value. Allow extra line spacing. |
| 2590 | (W32_TEXTOUT): Distinguish between Unicode and DBCS text. |
| 2591 | (w32_get_glyph_overhangs): Remove unicode_p param. Use |
| 2592 | w32_font_type member of glyph instead. |
| 2593 | (x_draw_glyph_string): Draw underline and strike-out for BDF fonts. |
| 2594 | (fast_find_position): Make sure not to consider rows not visible |
| 2595 | in the window. |
| 2596 | (w32_read_socket) [WM_MENUSELECT]: Cannot call |
| 2597 | w32_menu_display_help with input blocked, as it can abort. |
| 2598 | (x_display_and_set_cursor): Choose cursor depending |
| 2599 | on buffer-local value of cursor_type. |
| 2600 | (x_draw_bar_cursor): Add parameter WIDTH. |
| 2601 | |
| 2602 | * w32term.h (CP_DEFAULT): Define. |
| 2603 | (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare. |
| 2604 | |
| 2605 | 2000-05-30 Gerd Moellmann <gerd@gnu.org> |
| 2606 | |
| 2607 | * search.c (Fre_search_forward, Fre_search_backward) |
| 2608 | (Fposix_search_backward, Fposix_search_forward): Doc fix. |
| 2609 | |
| 2610 | 2000-05-30 Kenichi Handa <handa@etl.go.jp> |
| 2611 | |
| 2612 | * coding.c (detect_coding_iso2022): Fix code for checking |
| 2613 | CODING_CATEGORY_MASK_ISO_8_2. |
| 2614 | |
| 2615 | 2000-05-29 Stefan Monnier <monnier@cs.yale.edu> |
| 2616 | |
| 2617 | * regex.c (PREFETCH_NOLIMIT): New function. |
| 2618 | (re_match_2_internal): Use it and adjust the end_match_2 logic. |
| 2619 | |
| 2620 | 2000-05-29 Gerd Moellmann <gerd@gnu.org> |
| 2621 | |
| 2622 | * syntax.c (find_defun_start): Move test for |
| 2623 | open_paren_in_column_0_is_defun_start outside of the loop. |
| 2624 | |
| 2625 | * xdisp.c (redisplay_window): Really switch buffers when |
| 2626 | displaying mode lines, and temporarily set selected_frame to the |
| 2627 | frame of the window that's redisplayed. |
| 2628 | |
| 2629 | * xfaces.c (free_realized_faces): Block/unblock input. |
| 2630 | (free_realized_multibyte_face): Ditto. |
| 2631 | |
| 2632 | 2000-05-29 Dave Love <fx@gnu.org> |
| 2633 | |
| 2634 | * textprop.c (Qkeymap): New variable. |
| 2635 | (syms_of_textprop): Intern it. |
| 2636 | |
| 2637 | * keymap.c: Include intervals.h. |
| 2638 | (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property. |
| 2639 | |
| 2640 | * Makefile.in (keymap.o): Depend on intervals.h. |
| 2641 | |
| 2642 | * keyboard.c (menu_bar_items, tool_bar_items) |
| 2643 | (Fexecute_extended_command): Deal with `keymap' property. |
| 2644 | (read_key_sequence): Track map from `keymap' property as well as |
| 2645 | `local_map'. |
| 2646 | |
| 2647 | * intervals.c (get_local_map): Extra arg to allow looking for |
| 2648 | `keymap' too. |
| 2649 | |
| 2650 | * intervals.h (map_property): New enum. |
| 2651 | (get_local_map): Extra arg using it. |
| 2652 | (Qkeymap): Declare. |
| 2653 | |
| 2654 | * lisp.h (get_local_map): Don't declare here. |
| 2655 | |
| 2656 | 2000-05-29 Kenichi Handa <handa@etl.go.jp> |
| 2657 | |
| 2658 | * Makefile.in (callproc.o): Depend on composite.h. |
| 2659 | |
| 2660 | * callproc.c: Include composite.h. |
| 2661 | (Fcall_process): Handle composition correctly. |
| 2662 | |
| 2663 | * coding.h (coding_allocate_composition_data): Extern it. |
| 2664 | (coding_restore_composition): Likewise. |
| 2665 | |
| 2666 | * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not |
| 2667 | yet allocated, finish decoding with result |
| 2668 | CODING_FINISH_INSUFFICIENT_CMP. |
| 2669 | (coding_allocate_composition_data): Make it non-static. |
| 2670 | (coding_restore_composition): Likewise. |
| 2671 | |
| 2672 | 2000-05-29 Eli Zaretskii <eliz@is.elta.co.il> |
| 2673 | |
| 2674 | * charset.c (syms_of_charset): Revert last change. |
| 2675 | |
| 2676 | 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il> |
| 2677 | |
| 2678 | * term.c (produce_glyphs): Treat characters from the eight-bit-* |
| 2679 | charsets as unibyte, with 1-column screen width. Sent by Kenichi |
| 2680 | Handa. |
| 2681 | |
| 2682 | 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il> |
| 2683 | |
| 2684 | * charset.c (syms_of_charset): Set width of character sets |
| 2685 | eight-bit-control and eight-bit-graphic to 1 column. |
| 2686 | |
| 2687 | 2000-05-26 Gerd Moellmann <gerd@gnu.org> |
| 2688 | |
| 2689 | * config.in (HAVE_SPEED_T): New define. |
| 2690 | |
| 2691 | * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as |
| 2692 | `extern speed_t'. |
| 2693 | |
| 2694 | 2000-05-26 Dave Love <fx@gnu.org> |
| 2695 | |
| 2696 | * coding.c (shrink_decoding_region): Initialize eol_conversion. |
| 2697 | |
| 2698 | * data.c (Qsubrp, Qmany, Qunevalled): New variables. |
| 2699 | (Fsubr_arity): New function. |
| 2700 | (syms_of_data): Install them. |
| 2701 | |
| 2702 | 2000-05-26 Kenichi Handa <handa@etl.go.jp> |
| 2703 | |
| 2704 | * charset.c (init_charset_once): Set the table bytes_by_char_head |
| 2705 | correctly. |
| 2706 | |
| 2707 | * fontset.c (syms_of_fontset): Adjust the font name for ascii of |
| 2708 | the default fontset to what Emacs uses by default. |
| 2709 | (check_registry_encoding): This function deleted. |
| 2710 | (Fset_fontset_font): Remove the adhoc condition for the default |
| 2711 | fontset. Allow cons in FONTNAME. |
| 2712 | |
| 2713 | * fns.c (map_char_table): Ignore char-table entries for |
| 2714 | charsets eight-bit-control and eight-bit-graphic. |
| 2715 | |
| 2716 | 2000-05-25 Ken Raeburn <raeburn@gnu.org> |
| 2717 | |
| 2718 | * emacs.c (main): Initialize keyboard syms before initializing |
| 2719 | window code, so face names are available. |
| 2720 | |
| 2721 | 2000-05-25 Stefan Monnier <monnier@cs.yale.edu> |
| 2722 | |
| 2723 | * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case |
| 2724 | of an anchor at the beginning of a shy-group. |
| 2725 | |
| 2726 | 2000-05-25 Gerd Moellmann <gerd@gnu.org> |
| 2727 | |
| 2728 | * xdisp.c (handle_invisible_prop): Don't try to skip over |
| 2729 | invisible text if end of text is already reached. |
| 2730 | |
| 2731 | 2000-05-25 Dave Love <fx@gnu.org> |
| 2732 | |
| 2733 | * xdisp.c (Fdump_glyph_matrix): Declare the arg. |
| 2734 | |
| 2735 | * coding.c (encode_eol): Add null statement after label. |
| 2736 | |
| 2737 | 2000-05-25 Eli Zaretskii <eliz@is.elta.co.il> |
| 2738 | |
| 2739 | * w16select.c (Fw16_set_clipboard_data): Fix the change from |
| 2740 | 2000-05-20. |
| 2741 | |
| 2742 | 2000-05-25 Kenichi Handa <handa@etl.go.jp> |
| 2743 | |
| 2744 | * ccl.c (ccl_driver): Fix previous change. |
| 2745 | |
| 2746 | 2000-05-25 Kenichi Handa <handa@etl.go.jp> |
| 2747 | |
| 2748 | * coding.c (run_pre_post_conversion_on_str): Set point to the |
| 2749 | beginning of buffer before calling coding->post_read_conversion. |
| 2750 | (decode_coding_string): Give correct args to |
| 2751 | run_pre_post_conversion_on_str. |
| 2752 | (encode_coding_string): Likewise. |
| 2753 | |
| 2754 | * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2> |
| 2755 | <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and |
| 2756 | eight-bit-graphic correctly. |
| 2757 | |
| 2758 | 2000-05-24 Kenichi HANDA <handa@etl.go.jp> |
| 2759 | |
| 2760 | * fileio.c (Finsert_file_contents): Even if a file is not found, |
| 2761 | execute codes for setting up coding system. Call |
| 2762 | after-insert-file-functions unconditionally. |
| 2763 | |
| 2764 | 2000-05-24 Gerd Moellmann <gerd@gnu.org> |
| 2765 | |
| 2766 | * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and |
| 2767 | BSD_PGRPS are not defined. |
| 2768 | |
| 2769 | 2000-05-24 Kenichi Handa <handa@etl.go.jp> |
| 2770 | |
| 2771 | * charset.c (update_charset_table): Accept nil in LONG_NAME and |
| 2772 | DESCRIPTION. |
| 2773 | (syms_of_charset): Avoid building same strings. |
| 2774 | |
| 2775 | 2000-05-23 Gerd Moellmann <gerd@gnu.org> |
| 2776 | |
| 2777 | * lread.c (Fload): Add a comment about the meaning of |
| 2778 | Vuser_init_file being t. |
| 2779 | |
| 2780 | * puresize.h (BASE_PURESIZE): Increase to 675000. |
| 2781 | |
| 2782 | * s/gnu-linux.h (setpgrp): Don't define it here because this |
| 2783 | prevents compilation on GNU/Linux systems with glib 2.2. |
| 2784 | |
| 2785 | * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define |
| 2786 | as setpgid. |
| 2787 | |
| 2788 | 2000-05-23 Eli Zaretskii <eliz@is.elta.co.il> |
| 2789 | |
| 2790 | * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc, |
| 2791 | dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS |
| 2792 | version. |
| 2793 | (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc. |
| 2794 | |
| 2795 | 2000-05-23 Kenichi Handa <handa@etl.go.jp> |
| 2796 | |
| 2797 | * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE |
| 2798 | unconditionally. |
| 2799 | |
| 2800 | * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1. |
| 2801 | |
| 2802 | * term.c (encode_terminal_code): Set coding->src_multibyte |
| 2803 | properly. |
| 2804 | |
| 2805 | * coding.c (encode_eol): Fix a bug of DOS style EOL encoding. |
| 2806 | |
| 2807 | 2000-05-22 Kenichi Handa <handa@etl.go.jp> |
| 2808 | |
| 2809 | * keyboard.c (read_char): Allow character codes 128..255 to be |
| 2810 | handled by input-method-function. |
| 2811 | |
| 2812 | * insdel.c (adjust_markers_for_replace): Fix previous change. |
| 2813 | (adjust_after_replace): If PREV_TEXT is nil, call |
| 2814 | adjust_markers_for_insert, not adjust_markers_for_replace. |
| 2815 | |
| 2816 | 2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp> |
| 2817 | |
| 2818 | * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define. |
| 2819 | (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF) |
| 2820 | [HAVE_GRANDPT]: Define. |
| 2821 | (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE. |
| 2822 | |
| 2823 | * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined |
| 2824 | like SYSV_PTYS. |
| 2825 | |
| 2826 | * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines. |
| 2827 | |
| 2828 | * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h. |
| 2829 | |
| 2830 | 2000-05-20 Kenichi Handa <handa@etl.go.jp> |
| 2831 | |
| 2832 | The following changes are to handle 8-bit characters in a |
| 2833 | multibyte buffer/string without facing with byte combining |
| 2834 | problem. Two new charsets eight-bit-control (for 0x80..0x9F) and |
| 2835 | eight-bit-graphic (for 0xA0..0xFF) are introduced. |
| 2836 | |
| 2837 | * Makefile.in (fns.o): Depend on charset.h. |
| 2838 | |
| 2839 | * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte, |
| 2840 | convert it to unibyte. |
| 2841 | (make_string): Use parse_str_as_multibyte, not chars_in_text. |
| 2842 | |
| 2843 | * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a |
| 2844 | apparent char boundary. |
| 2845 | (Fset_buffer_multibyte): Convert 8-bit characters in the range |
| 2846 | 0x80..0x9F to/from multibyte form. |
| 2847 | |
| 2848 | * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it |
| 2849 | to unibyte. |
| 2850 | |
| 2851 | * callproc.c (Fcall_process): Always encode an argument string if |
| 2852 | it is multibyte. Setup src_multibyte and dst_multibyte members of |
| 2853 | process_coding properly. |
| 2854 | |
| 2855 | * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not |
| 2856 | SPLIT_NON_ASCII_CHAR. |
| 2857 | |
| 2858 | * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters |
| 2859 | as is. |
| 2860 | (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR. |
| 2861 | |
| 2862 | * charset.c (Qeight_bit_control, Qeight_bit_graphic): New |
| 2863 | variables. |
| 2864 | (SPLIT_CHARACTER_SEQ): This macro deleted. |
| 2865 | (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is |
| 2866 | valid. |
| 2867 | (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control |
| 2868 | and eight-bit-graphic. |
| 2869 | (char_to_string): Likewise. Signal an error for too large |
| 2870 | character code. |
| 2871 | (char_printable_p): Return 0 for 8-bit characters. |
| 2872 | (update_charset_table): Update iso_charset_table only when a final |
| 2873 | character is non-negative. |
| 2874 | (find_charset_in_text): Renamed from find_charset_in_str. |
| 2875 | Arguments and return value changed. Callers changed. |
| 2876 | (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can |
| 2877 | be -1 if CHARSET is used only internally. |
| 2878 | (Fmake_char_internal): Handle new charsets; eight-bit-control and |
| 2879 | eight-bit-graphic. |
| 2880 | (Fcharset_after): Simplified. |
| 2881 | (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR. |
| 2882 | (char_bytes): Return 2 for chars of the range 0xA0..0xFF. |
| 2883 | (multibyte_chars_in_text): Simplified by assuming there's no |
| 2884 | invalid multibyte sequence. |
| 2885 | (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte, |
| 2886 | str_as_unibyte): New functions. |
| 2887 | (Fstring): Simpified by assuming that byte combining never |
| 2888 | happens. |
| 2889 | (init_charset_once): Initialization for |
| 2890 | LEADING_CODE_8_BIT_CONTROL. |
| 2891 | (syms_of_charset): Intern and staticpro Qeight_bit_control and |
| 2892 | Qeight_bit_graphic. Include them in Vcharset_list. Make charsets |
| 2893 | eight-bit-control and eight-bit-graphic. |
| 2894 | |
| 2895 | * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL, |
| 2896 | CHARSET_8_BIT_GRAPHIC): New macros. |
| 2897 | (SINGLE_BYTE_CHAR_P): Make it faster by using casting. |
| 2898 | (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT. |
| 2899 | (CHARSET_REVERSE_CHARSET): Likewise. |
| 2900 | (CHARSET_VALID_P): Handle new charsets; eight-bit-control and |
| 2901 | eight-bit-graphic. |
| 2902 | (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII. |
| 2903 | (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise. |
| 2904 | (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we |
| 2905 | encounter an invalid multibyte sequence. |
| 2906 | (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte |
| 2907 | sequence is always valid. |
| 2908 | (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted. |
| 2909 | (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New |
| 2910 | macros. |
| 2911 | (CHAR_STRING): For 8-bit characters, call char_to_string. |
| 2912 | (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume |
| 2913 | multibyte sequence is always valid. |
| 2914 | (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise. |
| 2915 | (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte, |
| 2916 | str_as_unibyte): Extern them. |
| 2917 | (BCOPY_SHORT): Fix a bug. |
| 2918 | (CHAR_LEN): This macro deleted. Callers changed to use |
| 2919 | CHAR_BYTES. |
| 2920 | (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING. |
| 2921 | (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro. |
| 2922 | (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer. |
| 2923 | |
| 2924 | * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to |
| 2925 | CODING_FINISH_INSUFFICIENT_SRC if there's not enough source. |
| 2926 | (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE, |
| 2927 | EMIT_BYTES): New macros. |
| 2928 | (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII, |
| 2929 | DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These |
| 2930 | macros deleted. |
| 2931 | (CHECK_CODE_RANGE_A0_FF): This macro deleted. |
| 2932 | (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to |
| 2933 | check the validity of multibyte sequence. |
| 2934 | (decode_coding_emacs_mule): New function. |
| 2935 | (encode_coding_emacs_mule): New macro. |
| 2936 | (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from |
| 2937 | the source. |
| 2938 | (DECODE_ISO_CHARACTER): Just return a character code. |
| 2939 | (DECODE_COMPOSITION_START): Set coding->result instead of result. |
| 2940 | (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use |
| 2941 | EMIT_CHAR to produced decoded characters. Exit the loop only by |
| 2942 | macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last |
| 2943 | block here. |
| 2944 | (ENCODE_ISO_CHARACTER): Don't translate character here. Produce |
| 2945 | only position codes for an invalid character. |
| 2946 | (encode_designation_at_bol): Return new destination pointer. 5th |
| 2947 | arg DSTP is changed to DST. |
| 2948 | (encode_coding_iso2022, decode_coding_sjis_big5): Get a character |
| 2949 | from the source by ONE_MORE_CHAR. Don't handle the case of last |
| 2950 | block here. |
| 2951 | (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These |
| 2952 | macros deleted. |
| 2953 | (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8, |
| 2954 | detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and |
| 2955 | TWO_MORE_BYTES to fetch a byte from the source. |
| 2956 | (encode_eol): Pay attention to coding->src_multibyte. |
| 2957 | (detect_coding, detect_eol): Preserve members src_multibyte and |
| 2958 | dst_multibyte. |
| 2959 | (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text. |
| 2960 | (encoding_buffer_size): Set magnification to 3 for all coding |
| 2961 | systems that require encoding. |
| 2962 | (ccl_coding_driver): For decoding, be sure that the result is |
| 2963 | valid multibyte sequence. |
| 2964 | (decode_coding): Initialize coding->errors and coding->result. |
| 2965 | For emacs-mule, call decode_coding_emacs_mule. For no-conversion |
| 2966 | and raw-text, always call decode_eol. Handle the case of last |
| 2967 | block here. If not coding->dst_multibyte, convert the resulting |
| 2968 | sequence to unibyte. |
| 2969 | (encode_coding): Initialize coding->errors and coding->result. |
| 2970 | For emacs-mule, call encode_coding_emacs_mule. For no-conversion |
| 2971 | and raw-text, always call encode_eol. Handle the case of last |
| 2972 | block here. |
| 2973 | (shrink_decoding_region, shrink_encoding_region): Detect cases |
| 2974 | that we can't skip data more rigidly. |
| 2975 | (code_convert_region): Setup src_multibyte and dst_multibyte |
| 2976 | members of coding. For decoding, if the buffer is multibyte, |
| 2977 | convert the source sequence to unibyte in advance. For encoding, |
| 2978 | if the buffer is multibyte, convert the resulting sequence to |
| 2979 | multibyte afterward. |
| 2980 | (run_pre_post_conversion_on_str): New function. |
| 2981 | (code_convert_string): Deleted and divided into the following two. |
| 2982 | (decode_coding_string, encode_coding_string): New functions. |
| 2983 | (code_convert_string1, code_convert_string_norecord): Call one of |
| 2984 | above. |
| 2985 | (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of |
| 2986 | MAKE_NON_ASCII_CHAR. |
| 2987 | (Fset_terminal_coding_system_internal, |
| 2988 | Fset_safe_terminal_coding_system_internal): Setup src_multibyte |
| 2989 | and dst_multibyte members. |
| 2990 | (init_coding_once): Initialize iso_code_class with new enum |
| 2991 | ISO_control_0 and ISO_control_1. |
| 2992 | |
| 2993 | * coding.h (enum iso_code_class_type): Member ISO_control_code is |
| 2994 | devided into ISO_control_0 and ISO_control_1. |
| 2995 | (struct coding_system): New members src_multibyte, dst_multibyte, |
| 2996 | errors, and result. Delete member fake_multibyte. |
| 2997 | (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is |
| 2998 | nonzero. |
| 2999 | (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is |
| 3000 | nonzero. |
| 3001 | |
| 3002 | * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR. |
| 3003 | (Faset): Likewise. |
| 3004 | |
| 3005 | * editfns.c (Fformat): Be sure to convert 8-bit characters to |
| 3006 | multibyte form. |
| 3007 | (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte |
| 3008 | combining occurs. |
| 3009 | (Ftranspose_region): Delete codes for handling byte combining. |
| 3010 | |
| 3011 | * fileio.c (Finsert_file_contents): Setup src_multibyte and |
| 3012 | dst_multibyte members of coding. On handling REPLACE on unibyte |
| 3013 | buffer, convert the result of decode_coding to unibyte. On |
| 3014 | inserting into a mutibyte buffer, always call code_convert_region. |
| 3015 | (e_write): Setup coding->src_multibyte according to the |
| 3016 | multibyteness of the source (buffer or string). |
| 3017 | |
| 3018 | * fns.c (concat): Handle 8-bit characters correctly. |
| 3019 | (Fstring_as_unibyte): Be sure to make all 8-bit characters in |
| 3020 | unibyte in the result. |
| 3021 | (Fstring_as_multibyte): Be sure to make all 8-bit characters in |
| 3022 | valid multibyte form in the result. |
| 3023 | (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR. |
| 3024 | (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1 |
| 3025 | return -1, signal an error. |
| 3026 | (base64_encode_1): New arg MULTIBYTE. Get each character by |
| 3027 | CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte |
| 3028 | character is found, return -1. |
| 3029 | (Fbase64_decode_region): Delete codes for handling byte-combining. |
| 3030 | Treat each decoded byte as a unibyte character. |
| 3031 | (Fbase64_decode_string): Return unibyte string. |
| 3032 | (Fcompare_strings, concat, string_byte_to_char): Use |
| 3033 | FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off |
| 3034 | FETCH_STRING_CHAR_ADVANCE. |
| 3035 | (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally. |
| 3036 | (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE. |
| 3037 | |
| 3038 | * fontset.c (fontset_ref): Use SPLIT_CHAR instead of |
| 3039 | SPLIT_NON_ASCII_CHAR. |
| 3040 | (fontset_ref_via_base, fontset_set): Likewise |
| 3041 | |
| 3042 | * insdel.c (adjust_markers_for_record_delete): Deleted. |
| 3043 | (adjust_markers_for_insert): Argument changed. Caller changed. |
| 3044 | (adjust_markers_for_replace): Likewise. |
| 3045 | (ADJUST_CHAR_POS, combine_bytes, byte_combining_error, |
| 3046 | CHECK_BYTE_COMBINING_FOR_INSERT): Deleted. |
| 3047 | (copy_text): Delete unused local varialbe c_save. For converting |
| 3048 | to multibyte, be sure to make all 8-bit characters in valid |
| 3049 | multibyte form. |
| 3050 | (count_size_as_multibyte): Handle 8-bit characters correctly. |
| 3051 | (insert_1_both, insert_from_string_1, insert_from_buffer_1, |
| 3052 | adjust_after_replace, replace_range, del_range_2) |
| 3053 | [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs. |
| 3054 | (insert_1_both, insert_from_string_1, insert_from_buffer_1, |
| 3055 | adjust_after_replace, replace_range, del_range_2) Delete codes for |
| 3056 | handling byte combining. |
| 3057 | (adjust_before_replace): Deleted. |
| 3058 | |
| 3059 | * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of |
| 3060 | SPLIT_NON_ASCII_CHAR. |
| 3061 | (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR. |
| 3062 | (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE |
| 3063 | unconditionally. |
| 3064 | (Fkey_description): Likewise. |
| 3065 | |
| 3066 | * lread.c (read1): On reading multibyte string, be sure to make |
| 3067 | all 8-bit chararacters in valid multibyte form. |
| 3068 | (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally. |
| 3069 | |
| 3070 | * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE |
| 3071 | unconditionally. |
| 3072 | |
| 3073 | * process.c (Fstart_process): GCPRO current_dir before calling |
| 3074 | Ffind_operation_coding_system. Encode arguments here. |
| 3075 | (create_process): Don't encode arguments here. Setup |
| 3076 | src_multibyte and dst_multibyte members of struct coding. |
| 3077 | (read_process_output): Setup src_multibyte and dst_multibyte |
| 3078 | members of struct coding. If the output is to multibyte buffer, |
| 3079 | always decode the output of the process. Adjust the |
| 3080 | representation of 8-bit characters to the multibyteness of the |
| 3081 | output. |
| 3082 | (send_process): Setup coding->src_multibyte according to the |
| 3083 | multibyteness of the source. |
| 3084 | |
| 3085 | * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE |
| 3086 | unconditionally. |
| 3087 | (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and |
| 3088 | FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately. |
| 3089 | |
| 3090 | * term.c (produce_special_glyphs): Use CHAR_BYTES instead of |
| 3091 | CHAR_LEN. |
| 3092 | |
| 3093 | * w16select.c (Fw16_set_clipboard_data): Setup members |
| 3094 | src_multibyte and dst_multibyte of coding. Adjusted for the |
| 3095 | change for find_charset_in_str. |
| 3096 | (Fw16_get_clipboard_data): Likewise. |
| 3097 | |
| 3098 | * w32fns.c (w32_to_x_font): Setup members src_multibyte and |
| 3099 | dst_multibyte of coding. |
| 3100 | (x_to_w32_font): Likewise. |
| 3101 | |
| 3102 | * w32select.c (Fw32_set_clipboard_data): Setup members |
| 3103 | src_multibyte and dst_multibyte of coding. Adjusted for the |
| 3104 | change for find_charset_in_str. |
| 3105 | (Fw32_get_clipboard_data): Likewise. |
| 3106 | |
| 3107 | * xdisp.c (get_next_display_element): Handle 8-bit characters |
| 3108 | correctly. |
| 3109 | (next_element_from_display_vector): Use CHAR_BYTES instead of |
| 3110 | CHAR_LEN. |
| 3111 | (disp_char_vector): Use SPLIT_CHAR instead of |
| 3112 | SPLIT_NON_ASCII_CHAR. |
| 3113 | |
| 3114 | * xselect.c (selection_data_to_lisp_data): Setup members |
| 3115 | src_multibyte and dst_multibyte of coding. Adjusted for the |
| 3116 | change for find_charset_in_str. |
| 3117 | (lisp_data_to_selection_data): Likewise. |
| 3118 | |
| 3119 | 2000-05-19 Gerd Moellmann <gerd@gnu.org> |
| 3120 | |
| 3121 | * buffer.c (Fbury_buffer): Avoid trouble from burying a killed |
| 3122 | buffer. |
| 3123 | |
| 3124 | * dispextern.h (Vimage_types): Add extern declaration. |
| 3125 | |
| 3126 | * xdisp.c (Vimage_types): Moved here from xfns.c. |
| 3127 | (syms_of_xdisp): Move `image-types' variable here from xfns.c. |
| 3128 | |
| 3129 | * xfns.c (Vimages_types): Moved to xdisp.c. |
| 3130 | (syms_of_xfns): Move `image-types' to xdisp.c. |
| 3131 | |
| 3132 | * w32fns.c (Vimage_types): Removed. |
| 3133 | (syms_of_w32fns): Remove `image-types'. |
| 3134 | |
| 3135 | 2000-05-18 Kenichi Handa <handa@etl.go.jp> |
| 3136 | |
| 3137 | * fns.c (map_char_table): Pay attention to character number of |
| 3138 | charset. Check the validity of charset at the first level. For |
| 3139 | leaf nodes that has nil value, call C_FUNCTION or FUNCTION with |
| 3140 | the default value. |
| 3141 | |
| 3142 | * fontset.c: Include "buffer.h". |
| 3143 | (fs_load_font): If the face has fontset, record the face ID in |
| 3144 | that fontset. |
| 3145 | (Finternal_char_font): New function. |
| 3146 | (accumulate_font_info): New function. |
| 3147 | (Ffontset_info): Rewritten for the new fontset implementation. |
| 3148 | (syms_of_fontset): Register Vdefault_fontset in the first element |
| 3149 | of Vfontset_table. Include Vdefault_fontset in |
| 3150 | Vfontset_alias_alist. Declare `internal-char-font' as a Lisp |
| 3151 | function. |
| 3152 | |
| 3153 | 2000-05-16 Dave Love <fx@gnu.org> |
| 3154 | |
| 3155 | * m/iris5d.h: Deleted -- unused. |
| 3156 | |
| 3157 | 2000-05-16 Gerd Moellmann <gerd@gnu.org> |
| 3158 | |
| 3159 | * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term |
| 3160 | `invalid' instead of `illegal'. |
| 3161 | |
| 3162 | * indent.c (Fmove_to_column): When ending within a tab, insert |
| 3163 | spaces first so that markers at the end of the tab get adjusted. |
| 3164 | |
| 3165 | * frame.c (frames_bury_buffer): Don't add a buffer to the frame's |
| 3166 | buffer list that wasn't selected in that frame. |
| 3167 | |
| 3168 | * filelock.c (get_boot_time): To obtain an 8 char file name, which |
| 3169 | is needed on mescaline, use a 2 char prefix, and call |
| 3170 | make_temp_name with second arg non-zero. |
| 3171 | |
| 3172 | * fileio.c (make_temp_name): New function, extracted from |
| 3173 | Fmake_temp_name. |
| 3174 | (Fmake_temp_name): Use it. |
| 3175 | |
| 3176 | 2000-05-15 Eli Zaretskii <eliz@is.elta.co.il> |
| 3177 | |
| 3178 | * window.c (coordinates_in_window): Subtract 1 when computing |
| 3179 | right_x. |
| 3180 | |
| 3181 | 2000-05-15 Gerd Moellmann <gerd@gnu.org> |
| 3182 | |
| 3183 | * Makefile.in (lisp): Add env.elc. |
| 3184 | |
| 3185 | * callproc.c (Fgetenv_internal): Renamed from Fgetenv. |
| 3186 | |
| 3187 | 2000-05-12 Gerd Moellmann <gerd@gnu.org> |
| 3188 | |
| 3189 | * search.c (Freplace_match): Handle case of `\N' in the |
| 3190 | replacement when there's no group N. |
| 3191 | |
| 3192 | 2000-05-11 Gerd Moellmann <gerd@gnu.org> |
| 3193 | |
| 3194 | * xdisp.c (add_to_log): Don't pass the terminating NUL byte |
| 3195 | of the message to message_dolog. |
| 3196 | |
| 3197 | * keyboard.c (read_char): Don't clear current message for help |
| 3198 | events; let the code handling help events handle this. Change |
| 3199 | code detecting help events that should be ignored. |
| 3200 | |
| 3201 | * xdisp.c (handle_single_display_prop): Don't try to set PT if |
| 3202 | we're interating over a string. |
| 3203 | |
| 3204 | 2000-05-09 Dave Love <fx@gnu.org> |
| 3205 | |
| 3206 | * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to |
| 3207 | that offset before writing. Move gcpro region past call of |
| 3208 | Ffile_regular_p. |
| 3209 | |
| 3210 | 2000-05-04 Dave Love <fx@gnu.org> |
| 3211 | |
| 3212 | * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix. |
| 3213 | |
| 3214 | 2000-05-04 Gerd Moellmann <gerd@gnu.org> |
| 3215 | |
| 3216 | * insdel.c (insert_from_buffer_1): Adjust FROM position by number |
| 3217 | of inserted characters when BUF equals the current buffer, and PT |
| 3218 | is in front of or equal to FROM. |
| 3219 | |
| 3220 | 2000-05-03 Gerd Moellmann <gerd@gnu.org> |
| 3221 | |
| 3222 | * xdisp.c (handle_single_display_prop): If display property value |
| 3223 | is invalid, or something not supported on the frame, restore |
| 3224 | iterator's position to what it was initially. Make sure to return |
| 3225 | 0 for invalid and unsupported property values. |
| 3226 | |
| 3227 | * xterm.c (x_produce_glyphs) <composite chars>: Handle case |
| 3228 | that x_per_char_metric returns null. |
| 3229 | |
| 3230 | 2000-05-02 Gerd Moellmann <gerd@gnu.org> |
| 3231 | |
| 3232 | * xterm.h (struct face): Add forward declaration. |
| 3233 | (struct image): Ditto. |
| 3234 | (image_ascent): Add prototype. |
| 3235 | |
| 3236 | * xterm.c (x_produce_image_glyph, x_draw_image_foreground) |
| 3237 | (x_draw_image_relief, x_draw_image_foreground_1): Call function |
| 3238 | image_ascent instead of using IMAGE_ASCENT. |
| 3239 | |
| 3240 | * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro. |
| 3241 | (IMAGE_ASCENT): Removed. |
| 3242 | |
| 3243 | * xfns.c (Qcenter): New variable. |
| 3244 | (enum image_value_type): Add IMAGE_ASCENT_VALUE. |
| 3245 | (parse_image_spec): Handle IMAGE_ASCENT_VALUE. |
| 3246 | (image_ascent): New function. |
| 3247 | (lookup_image): Recognize `:ascent center'. |
| 3248 | (xbm_format, xpm_format, pbm_format, png_format, jpeg_format) |
| 3249 | (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE. |
| 3250 | (xbm_load): Don't set image's ascent here. |
| 3251 | (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p) |
| 3252 | (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't |
| 3253 | check ascent values here. |
| 3254 | (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed. |
| 3255 | (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions. |
| 3256 | (syms_of_xfns): Initialize Qcenter. |
| 3257 | |
| 3258 | * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near |
| 3259 | to the limits, increase the limits. |
| 3260 | |
| 3261 | 2000-05-01 Kenichi Handa <handa@etl.go.jp> |
| 3262 | |
| 3263 | * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII. |
| 3264 | Check Vfont_encoding_alist against the full name of the opened |
| 3265 | font. |
| 3266 | |
| 3267 | 2000-04-28 Gerd Moellmann <gerd@gnu.org> |
| 3268 | |
| 3269 | * xdisp.c (make_cursor_line_fully_visible): Handle case of rows |
| 3270 | taller than the window. |
| 3271 | |
| 3272 | 2000-04-28 Kenichi Handa <handa@etl.go.jp> |
| 3273 | |
| 3274 | * xfaces.c (realize_x_face): Fix the argument of the second |
| 3275 | xassert. BASE_FACE may not be a face for ASCII. |
| 3276 | |
| 3277 | 2000-04-27 Gerd Moellmann <gerd@gnu.org> |
| 3278 | |
| 3279 | * print.c (print_object): Treat print-length < 0 as nil. |
| 3280 | |
| 3281 | * Makefile.in (termcapobj): Don't use TERMCAP_OBJ. |
| 3282 | |
| 3283 | * s/freebsd.h (TERMCAP_OBJ): Removed. |
| 3284 | (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000. |
| 3285 | |
| 3286 | * lread.c (read1): Don't treat period followed by certain |
| 3287 | characters as symbol start. |
| 3288 | |
| 3289 | * xfns.c (slurp_file): New function. |
| 3290 | (xbm_image_p): Handle case of in-memory XBM files. |
| 3291 | (xbm_scan): Rewritten to work on memory buffers instead of files. |
| 3292 | (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data. |
| 3293 | Work on memory buffers instead of files. If DATA is null test |
| 3294 | if buffer looks like an in-memory XBM file. |
| 3295 | (xbm_load_image): Renamed from xbm_load_image_file. Work on |
| 3296 | memory buffers instead of files. |
| 3297 | (xbm_file_p): New function. |
| 3298 | (xbm_load): Accept :data DATA where DATA is an in-memory XBM file. |
| 3299 | |
| 3300 | * lread.c (end_of_file_error): New function. |
| 3301 | (read1): Call it instead of signaling `end-of-file' directly. |
| 3302 | |
| 3303 | * print.c (print_error_message): Print data of `end-of-file' |
| 3304 | with Fprinc instead of Fprin1. |
| 3305 | |
| 3306 | 2000-04-26 Ken Raeburn <raeburn@gnu.org> |
| 3307 | |
| 3308 | * window.c (freeze_window_start): Check that minibuffer scroll |
| 3309 | window isn't nil before extracting the window structure pointer |
| 3310 | from it. |
| 3311 | |
| 3312 | * undo.c (record_delete): If we hit the end of the undo list, stop |
| 3313 | picking elements apart. |
| 3314 | |
| 3315 | 2000-04-26 Gerd Moellmann <gerd@gnu.org> |
| 3316 | |
| 3317 | * xdisp.c (display_line): If lines are continued, restore |
| 3318 | iterator's ascent/descent information to the values before the |
| 3319 | first glyph not fitting on the line. |
| 3320 | |
| 3321 | 2000-04-25 Gerd Moellmann <gerd@gnu.org> |
| 3322 | |
| 3323 | * xdisp.c (try_window_id) <all changes above window start>: Adjust |
| 3324 | positions in glyph matrix. Don't compute new window end |
| 3325 | positions. |
| 3326 | |
| 3327 | * dispnew.c (increment_matrix_positions): Renamed from |
| 3328 | increment_glyph_matrix_buffer_positions. |
| 3329 | (increment_row_positions): Renamed from |
| 3330 | increment_glyph_row_buffer_positions. |
| 3331 | |
| 3332 | * dispextern.h: Change names of renamed functions from dispnew.c |
| 3333 | in prototypes. |
| 3334 | |
| 3335 | 2000-04-24 Gerd Moellmann <gerd@gnu.org> |
| 3336 | |
| 3337 | * fileio.c (Fdo_auto_save): Create directories for auto-save |
| 3338 | list file if necessary. |
| 3339 | |
| 3340 | * xdisp.c (init_iterator): Set iterator's extra_line_spacing |
| 3341 | from buffer or frame. |
| 3342 | (automatic_hscrolling_p): New variable. |
| 3343 | (hscroll_windows): Scroll windows horizontally only if automatic |
| 3344 | hscrolling is allowed. |
| 3345 | (syms_of_xdisp): New variable `automatic-hscrolling'. |
| 3346 | |
| 3347 | * frame.h (struct frame): Add member extra_line_spacing. |
| 3348 | |
| 3349 | * xfns.c (x_set_line_spacing): New function. |
| 3350 | (Fx_create_frame): Set line spacing from resources. |
| 3351 | (Qline_spacing): New variable. |
| 3352 | (syms_of_xfns): Initialize Qline_spacing. |
| 3353 | |
| 3354 | * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'. |
| 3355 | |
| 3356 | * buffer.c (init_buffer_once): Handle extra_line_spacing. |
| 3357 | (syms_of_buffer): Add `default-line-spacing' and `line-spacing'. |
| 3358 | (reset_buffer): Don't initialize extra2 and extra3. Initialize |
| 3359 | extra_line_spacing from default value. |
| 3360 | (init_buffer_once): Initialize default value of extra_line_spacing. |
| 3361 | |
| 3362 | * buffer.h (struct buffer): Add extra_line_spacing, remove extra2 |
| 3363 | and extra3. |
| 3364 | |
| 3365 | * xterm.c (x_produce_glyphs): Remove reference to struct it's |
| 3366 | prompt_width. Add extra line spacing. |
| 3367 | |
| 3368 | * term.c (produce_glyphs): Remove reference to struct it's |
| 3369 | prompt_width. |
| 3370 | |
| 3371 | * dispextern.h (struct it): Remove member prompt_width, add |
| 3372 | extra_line_spacing. |
| 3373 | |
| 3374 | 2000-04-22 Gerd Moellmann <gerd@gnu.org> |
| 3375 | |
| 3376 | * dispnew.c (update_frame_line): When writing a whole line, make |
| 3377 | sure cursor is in the right row afterwards, otherwise a use of |
| 3378 | capability `ch' in cmgoto might leave the cursor in the row below. |
| 3379 | |
| 3380 | 2000-04-21 Gerd Moellmann <gerd@gnu.org> |
| 3381 | |
| 3382 | * lisp.h (struct Lisp_Buffer_Cons): Remove. |
| 3383 | |
| 3384 | * keyboard.c (timer_check): Fix typo in comment. |
| 3385 | |
| 3386 | 2000-04-21 Kenichi Handa <handa@etl.go.jp> |
| 3387 | |
| 3388 | * fontset.c (Fset_fontset_font): Fix docstring. Local variable |
| 3389 | name change: ch -> character. |
| 3390 | |
| 3391 | 2000-04-20 Gerd Moellmann <gerd@gnu.org> |
| 3392 | |
| 3393 | * keyboard.c (echo_message_buffer): New variable. |
| 3394 | (echo_now): Set echo_message_buffer to the echo area buffer used |
| 3395 | to display the echo. |
| 3396 | (cancel_echoing): Reset echo_message_buffer to nil. |
| 3397 | (read_char): Code rewritten that handles canceling an echo or |
| 3398 | echoing a dash, respectively. |
| 3399 | |
| 3400 | * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent |
| 3401 | directory doesn't exist. |
| 3402 | |
| 3403 | 2000-04-19 Dave Love <fx@gnu.org> |
| 3404 | |
| 3405 | * fns.c (syms_of_fns): Defsubr mapc. |
| 3406 | (concat): Don't allow numeric args. |
| 3407 | (Fconcat): Doc change. |
| 3408 | |
| 3409 | 2000-04-19 Stefan Monnier <monnier@cs.yale.edu> |
| 3410 | |
| 3411 | * regex.c (re_match_2_internal): Don't shorten the strings anymore, |
| 3412 | instead define end_match(1|2) more carefully. |
| 3413 | Use GET_CHAR_BEFORE_2 for `begline'. |
| 3414 | |
| 3415 | 2000-04-19 Gerd Moellmann <gerd@gnu.org> |
| 3416 | |
| 3417 | * frame.h (SELECTED_FRAME): Change definition to compile cleanly |
| 3418 | on 64-bit systems where NULL is defined as `0'. |
| 3419 | |
| 3420 | * xdisp.c (with_echo_area_buffer): Add more `int' parameters for |
| 3421 | the `variable argument list' to make it work on Alpha. |
| 3422 | |
| 3423 | * m/alpha.h (_LP64) [!_LP64]: Define. |
| 3424 | (ORDINARY_LINK): Define for NetBSD. |
| 3425 | |
| 3426 | * m/macppc.h (ORDINARY_LINK): Define for NetBSD. |
| 3427 | |
| 3428 | 2000-04-19 Dave Love <fx@gnu.org> |
| 3429 | |
| 3430 | * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14 |
| 3431 | change. |
| 3432 | |
| 3433 | * Makefile.in (LIBS): Don't use. |
| 3434 | (GETLOADAVG_OBJ): Define again. |
| 3435 | (otherobj): Add GETLOADAVG_OBJ. |
| 3436 | |
| 3437 | * buffer.c (Fmake_indirect_buffer): Escape newline in doc. |
| 3438 | |
| 3439 | 2000-04-18 Gerd Moellmann <gerd@gnu.org> |
| 3440 | |
| 3441 | * lread.c (read_filtered_event): Cancel and start busy cursor. |
| 3442 | |
| 3443 | * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account |
| 3444 | that the per-character metrics may be null. |
| 3445 | |
| 3446 | 2000-04-17 Gerd Moellmann <gerd@gnu.org> |
| 3447 | |
| 3448 | * buffer.c (clone_per_buffer_values): New function. |
| 3449 | (Fmake_indirect_buffer): Add optional argument CLONE. Call |
| 3450 | clone_per_buffer_values if CLONE is not nil. |
| 3451 | |
| 3452 | * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix. |
| 3453 | |
| 3454 | 2000-04-16 Dave Love <fx@gnu.org> |
| 3455 | |
| 3456 | * Makefile.in: Remove obsolete localcpp stuff. |
| 3457 | (GETLOADAVG_OBJ): Don't define. |
| 3458 | (obj): Move LIBOBJS... |
| 3459 | (otherobj): ... to here. |
| 3460 | (MSDOS_OBJ): Convert to make variable -- preprocessing zapped |
| 3461 | whitespace-only lines after the continuation (Irix). |
| 3462 | |
| 3463 | 2000-04-14 Gerd Moellmann <gerd@gnu.org> |
| 3464 | |
| 3465 | * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors. |
| 3466 | |
| 3467 | * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'. |
| 3468 | |
| 3469 | 2000-04-14 Dave Love <fx@gnu.org> |
| 3470 | |
| 3471 | * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h: |
| 3472 | * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h: |
| 3473 | * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h: |
| 3474 | * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated |
| 3475 | NLIST_STRUCT. |
| 3476 | |
| 3477 | * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define |
| 3478 | autoconfiscated HAVE_GETLOADAVG. |
| 3479 | |
| 3480 | * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated |
| 3481 | BROKEN_MKTIME. |
| 3482 | |
| 3483 | 2000-04-14 Gerd Moellmann <gerd@gnu.org> |
| 3484 | |
| 3485 | * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes. |
| 3486 | (fill_in_lock_file_name): Avoid existing files that aren't |
| 3487 | links. |
| 3488 | |
| 3489 | 2000-04-14 Dave Love <fx@gnu.org> |
| 3490 | |
| 3491 | * Makefile.in (LIBS, LIBOBJS): New variable. |
| 3492 | (INTERVAL_SRC): Convert to make variable. |
| 3493 | (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT) |
| 3494 | (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove. |
| 3495 | (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and |
| 3496 | add LIBOBJS. |
| 3497 | (SOME_MACHINE_OBJECTS): Remove interval stuff. |
| 3498 | (lisp): Substitute FACE_SUPPORT, FLOAT_SUP. |
| 3499 | (shortlisp): Add facemenu, float-sup, frame. |
| 3500 | (SOME_MACHINE_LISP): Remove them from here. |
| 3501 | (LIBES): Change unused LDLIBS to autoconf LIBS. |
| 3502 | |
| 3503 | * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION. |
| 3504 | |
| 3505 | 2000-04-14 Kenichi Handa <handa@etl.go.jp> |
| 3506 | |
| 3507 | * composite.c (update_compositions): If FROM and TO are not in a |
| 3508 | valid range, do nothing. |
| 3509 | |
| 3510 | 2000-04-13 Gerd Moellmann <gerd@gnu.org> |
| 3511 | |
| 3512 | * tparam.c (tparam1): Abort when encountering an unknown |
| 3513 | `%'-specifier. |
| 3514 | |
| 3515 | * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as |
| 3516 | terminfo.o. |
| 3517 | |
| 3518 | * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define |
| 3519 | as TERMCAP_OBJ. |
| 3520 | |
| 3521 | 2000-04-13 Eli Zaretskii <eliz@is.elta.co.il> |
| 3522 | |
| 3523 | * fileio.c (a_write): Remove redundant semi-colons. |
| 3524 | (e_write): Return -1 if failed to write all the data. |
| 3525 | This fixes the changes made at 1999-12-15. |
| 3526 | |
| 3527 | 2000-04-12 Dave Love <fx@gnu.org> |
| 3528 | |
| 3529 | * fns.c (mapcar1): Test for null vals to support mapc. |
| 3530 | (Fmapc): New function. |
| 3531 | |
| 3532 | 2000-04-12 Eli Zaretskii <eliz@is.elta.co.il> |
| 3533 | |
| 3534 | * msdos.c (NUM_MOUSE_BUTTONS): Define. |
| 3535 | (IT_frame_up_to_date): Support the buffer local value of |
| 3536 | cursor-type, if defined. |
| 3537 | |
| 3538 | 2000-04-10 Dave Love <fx@gnu.org> |
| 3539 | |
| 3540 | * editfns.c (preceding-char, following-char): Doc fix. |
| 3541 | |
| 3542 | 2000-04-10 Ken Raeburn <raeburn@gnu.org> |
| 3543 | |
| 3544 | * Makefile.in (temacs): Revert 2000-03-12 change. |
| 3545 | |
| 3546 | 2000-04-10 Jason Rumney <jasonr@gnu.org> |
| 3547 | |
| 3548 | * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P. |
| 3549 | |
| 3550 | 2000-04-10 Gerd Moellmann <gerd@gnu.org> |
| 3551 | |
| 3552 | * xdisp.c (setup_echo_area_for_printing): Choose an echo |
| 3553 | area buffer, if it's not set up yet. |
| 3554 | |
| 3555 | * indent.c (compute_motion): Set immediate_quit. |
| 3556 | |
| 3557 | 2000-04-09 Gerd Moellmann <gerd@gnu.org> |
| 3558 | |
| 3559 | * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New |
| 3560 | variable. |
| 3561 | (realize_tty_face): Suppress boldness if colors are the inverse of |
| 3562 | the default colors, and tty_suppress_bold_inverse_default_colors_p |
| 3563 | is set. |
| 3564 | (Ftty_suppress_bold_inverse_default_colors): New function. |
| 3565 | (syms_of_xfaces): Defsubr it. |
| 3566 | |
| 3567 | * buffer.c (Frestore_buffer_modified_p): New function. |
| 3568 | (syms_of_buffer): Defsubr it. |
| 3569 | |
| 3570 | 2000-04-08 Ken Raeburn <raeburn@gnu.org> |
| 3571 | |
| 3572 | * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a |
| 3573 | charset id (int) argument, not a charset (Lisp_Object). |
| 3574 | |
| 3575 | * coding.h (code_convert_string): Declare. |
| 3576 | * coding.c (code_convert_string_norecord): Pass an int, not a lisp |
| 3577 | object, as the fourth argument to code_convert_string. |
| 3578 | |
| 3579 | * fontset.c (make_fontset_for_ascii_face): Use XINT on return |
| 3580 | value. |
| 3581 | (Fset_fontset_font): Use EQ to compare lisp objects. |
| 3582 | |
| 3583 | 2000-04-05 Ken Raeburn <raeburn@gnu.org> |
| 3584 | |
| 3585 | * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for |
| 3586 | a pointer that looks like a lisp object. |
| 3587 | (SET_INTERVAL_OBJECT): Don't explicitly compare the object with |
| 3588 | zero, instead see whether it's an integer object, since they can't |
| 3589 | have intervals. |
| 3590 | (GET_INTERVAL_OBJECT): Simply assign to the destination. |
| 3591 | |
| 3592 | * dispnew.c (allocate_matrices_for_frame_redisplay, |
| 3593 | direct_output_forward_char): Use X(U)INT and make_number as needed |
| 3594 | to convert between (unsigned) int values and lisp integers. |
| 3595 | * keyboard.c (read_key_sequence): Likewise. |
| 3596 | * lread.c (substitute_object_recurse): Likewise. |
| 3597 | * fns.c (concat, hash_lookup, hash_remove): Likewise. |
| 3598 | * minibuf.c (do_completion, Fminibuffer_complete_word, |
| 3599 | Fminibuffer_completion_help): Likewise. |
| 3600 | * term.c (produce_special_glyphs): Likewise. |
| 3601 | |
| 3602 | * fileio.c (Fwrite_region): Use EQ when comparing lisp objects. |
| 3603 | * print.c (print_preprocess, print_object): Likewise. |
| 3604 | |
| 3605 | * search.c (compile_pattern): Use NILP when checking for nil. |
| 3606 | |
| 3607 | * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 && |
| 3608 | __OPTIMIZE__]: Provide a GNU C macro version that handles |
| 3609 | lisp-object unions. |
| 3610 | (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type |
| 3611 | field, to better cope with ENABLE_CHECKING and calls that modify a |
| 3612 | Lisp_Object using its old value. |
| 3613 | |
| 3614 | 2000-04-04 Gerd Moellmann <gerd@gnu.org> |
| 3615 | |
| 3616 | * window.c (compare_window_configurations): Signal an error |
| 3617 | if parameters C1 or C2 aren't window configurations. |
| 3618 | |
| 3619 | * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/ |
| 3620 | AFTER_POTENTIAL_GC calls around calls to functions that can |
| 3621 | signal an error and thus invoke the debugger. |
| 3622 | |
| 3623 | 2000-04-03 Gerd Moellmann <gerd@gnu.org> |
| 3624 | |
| 3625 | * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal |
| 3626 | an error if decoding fails. |
| 3627 | |
| 3628 | * keyboard.c (lispy_mouse_names): Variable removed. |
| 3629 | (Vlispy_mouse_stem): New variable. |
| 3630 | (syms_of_keyboard): Initialize Vlispy_mouse_stem. |
| 3631 | (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort |
| 3632 | for any mouse button number. Increase size of mouse_syms and |
| 3633 | button_down_location as needed. Call modify_event_symbol with |
| 3634 | different arguments. |
| 3635 | (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]: |
| 3636 | Call modify_event_symbol with different arguments. |
| 3637 | (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort |
| 3638 | for any button number. Call modify_event_symbol with different |
| 3639 | arguments. |
| 3640 | (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM. |
| 3641 | Accept a string for NAME_ALIST_OR_STEM. |
| 3642 | |
| 3643 | * lisp.h (larger_vector): Add prototype. |
| 3644 | |
| 3645 | * fns.c (larger_vector): Make externally visible. |
| 3646 | |
| 3647 | * termhooks.h (NUM_MOUSE_BUTTONS): Removed. |
| 3648 | |
| 3649 | 2000-04-02 Stefan Monnier <monnier@cs.yale.edu> |
| 3650 | |
| 3651 | * regex.c (PTR_TO_OFFSET) [!emacs]: Remove. |
| 3652 | (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros. |
| 3653 | (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when |
| 3654 | we are between str1 and str2. |
| 3655 | (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default. |
| 3656 | (PATFETCH): Use `TRANSLATE'. |
| 3657 | (PATFETCH_RAW): Fetch multibyte char if applicable. |
| 3658 | (PATUNFETCH): Remove. |
| 3659 | (regex_compile): Rely on PATFETCH to do most of the multibyte magic. |
| 3660 | When writing a char, write it directly into the pattern buffer rather |
| 3661 | than going needlessly through a temp char-array. |
| 3662 | (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the |
| 3663 | multibyte magic and remove the useless `#ifdef emacs'. |
| 3664 | (bcmp_translate): Don't compare as multibyte chars when in a unibyte |
| 3665 | buffer. |
| 3666 | |
| 3667 | * regex.h (struct re_pattern_buffer): Make field `multibyte' |
| 3668 | conditional on `emacs'. |
| 3669 | |
| 3670 | * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c. |
| 3671 | |
| 3672 | 2000-04-01 Ken Raeburn <raeburn@gnu.org> |
| 3673 | |
| 3674 | * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand |
| 3675 | non-union-type versions of XMARK and friends here, because XMARK |
| 3676 | and friends won't work on an integer field if NO_UNION_TYPE is not |
| 3677 | defined. |
| 3678 | (make_number): Define as a function if it's not defined as a |
| 3679 | macro. |
| 3680 | |
| 3681 | * composite.c (run_composite_function): Use NILP when checking for |
| 3682 | nil. |
| 3683 | (syms_of_composite): Delete local var NARGS, pass an int as first |
| 3684 | argument to Fmake_hash_table. |
| 3685 | |
| 3686 | * editfns.c (text_property_stickiness): Use NILP to test |
| 3687 | Lisp_Object boolean value. |
| 3688 | (Fmessage_or_box): Don't use NILP to test int variable. |
| 3689 | (Fformat): Use a temporary variable to avoid ENABLE_CHECKING |
| 3690 | problems reading from and changing the same lisp value in an |
| 3691 | XSETSTRING call. |
| 3692 | |
| 3693 | 2000-04-01 Gerd Moellmann <gerd@gnu.org> |
| 3694 | |
| 3695 | * term.c (TN_no_color_video): New variable. |
| 3696 | (term_init): Intitialize TN_no_color_video. |
| 3697 | (enum no_color_bit): New enumeration. |
| 3698 | (MAY_USE_WITH_COLORS_P): New macro. |
| 3699 | (turn_on_face): Use it to determine if attributes may be used |
| 3700 | combined with colors. |
| 3701 | |
| 3702 | 2000-04-01 Ken Raeburn <raeburn@gnu.org> |
| 3703 | |
| 3704 | * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues |
| 3705 | with int lvalues via casts; instead, just yield lisp object |
| 3706 | lvalues. |
| 3707 | (enlarge_window): Variable sizep now points to Lisp_Object. Use |
| 3708 | proper accessor macros. |
| 3709 | (shrink_window_lowest_first): w->top is Lisp_Object; use XINT. |
| 3710 | (grow_mini_window): Fix typo getting int value of root->height. |
| 3711 | |
| 3712 | * xdisp.c (compute_string_pos): Fix order of arguments to |
| 3713 | string_pos_nchars_ahead. |
| 3714 | (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as |
| 3715 | count arg to variable-arg routines like Frun_hook_with_args and |
| 3716 | Fformat. |
| 3717 | (back_to_previous_visible_line_start) |
| 3718 | (build_desired_tool_bar_string): Pass Lisp_Object, not int, to |
| 3719 | fixed-arg routines like Fget_char_property and Fmake_string. |
| 3720 | (reconsider_clip_changes): Use XINT when comparing integer lisp |
| 3721 | objects, or passing them as int arguments. |
| 3722 | (mark_window_display_accurate, insert_left_trunc_glyphs) |
| 3723 | (append_space, extend_face_to_end_of_line): Use make_number when |
| 3724 | storing or passing integer values as lisp objects. |
| 3725 | (set_cursor_from_row, highlight_trailing_whitespace): Use |
| 3726 | INTEGERP, not implicit test against zero, for glyph object. |
| 3727 | (try_window_id): Don't use make_number when we want an int value. |
| 3728 | |
| 3729 | * xfaces.c (xlfd_symbolic_value): Make last argument a |
| 3730 | Lisp_Object, to be consistent with callers. |
| 3731 | (Fbitmap_spec_p): Use XINT to get numeric value of height. |
| 3732 | (lface_hash): Apply XFASTINT to lisp values before folding in. |
| 3733 | |
| 3734 | * xfns.c (Fx_show_tip): Use make_number to get lisp objects to |
| 3735 | fill in window width and height. Pass an int, not a lisp object, |
| 3736 | as first arg to Finsert. |
| 3737 | |
| 3738 | 2000-04-01 Gerd Moellmann <gerd@gnu.org> |
| 3739 | |
| 3740 | * xfaces.c (realize_basic_faces): Block input while realizing |
| 3741 | the faces. |
| 3742 | |
| 3743 | * keyboard.c (lispy_mouse_names): Add additional mouse names. |
| 3744 | |
| 3745 | * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15. |
| 3746 | |
| 3747 | 2000-03-31 Gerd Moellmann <gerd@gnu.org> |
| 3748 | |
| 3749 | * xterm.c (x_produce_glyphs): When displaying unibyte text |
| 3750 | or ASCII, handle case that per-char metric is null. |
| 3751 | |
| 3752 | 2000-03-30 Ken Raeburn <raeburn@gnu.org> |
| 3753 | |
| 3754 | * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef. |
| 3755 | |
| 3756 | * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW, |
| 3757 | XSUBR, XBUFFER): Verify correct object type before returning |
| 3758 | pointer, using eassert. |
| 3759 | * frame.h (XFRAME): Likewise. |
| 3760 | |
| 3761 | * buffer.c (Frename_buffer, Fset_buffer_multibyte, |
| 3762 | swap_out_buffer_local_variables, Fmove_overlay): Don't apply |
| 3763 | XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong |
| 3764 | type. |
| 3765 | * data.c (set_internal): Likewise. |
| 3766 | * dispextern.h (WINDOW_WANTS_MODELINE_P, |
| 3767 | WINDOW_WANTS_HEADER_LINE_P): Likewise. |
| 3768 | * fileio.c (auto_save_1): Likewise. |
| 3769 | * insdel.c (check_markers): Likewise. |
| 3770 | * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise. |
| 3771 | * undo.c (record_insert): Likewise. |
| 3772 | * vmsproc.c (child_sig): Likewise. |
| 3773 | * window.c (unshow_buffer, window_loop): Likewise. |
| 3774 | * xterm.c (x_erase_phys_cursor): Likewise. |
| 3775 | |
| 3776 | 2000-03-30 Gerd Moellmann <gerd@gnu.org> |
| 3777 | |
| 3778 | * xfns.c (free_image_cache): Free the cache structure itself |
| 3779 | last, after all its members have been freed. |
| 3780 | |
| 3781 | * lisp.h (xstrdup): Add prototype. |
| 3782 | |
| 3783 | * alloc.c (xstrdup): Moved here from xfaces.c. |
| 3784 | (allocating_for_lisp): Variable removed. |
| 3785 | (lisp_malloc): Block input around the calls to malloc and |
| 3786 | mem_insert. |
| 3787 | |
| 3788 | * xfaces.c (realize_tty_face): Use find_symbol_value instead |
| 3789 | of Fsymbol_value. |
| 3790 | (xstrdup): Moved to alloc.c. |
| 3791 | |
| 3792 | 2000-03-29 Ken Raeburn <raeburn@gnu.org> |
| 3793 | |
| 3794 | * scroll.c (CHECK_BOUNDS): Renamed from CHECK. |
| 3795 | |
| 3796 | * emacs.c (main): Fix sense of no-loadup test. |
| 3797 | |
| 3798 | * config.in (ENABLE_CHECKING): Undef. |
| 3799 | |
| 3800 | * lisp.h (struct interval): Replace "parent" field with a union of |
| 3801 | interval pointer and Lisp_Object; add new bitfield to use as |
| 3802 | discriminant. Change other flag fields to bitfields. |
| 3803 | (CHECK): New macro for consistency checking. If ENABLE_CHECKING |
| 3804 | is defined and the supplied test fails, print a message and |
| 3805 | abort. |
| 3806 | (eassert): New macro. Use CHECK to provide an assert-like |
| 3807 | facility. |
| 3808 | |
| 3809 | * intervals.h (NULL_INTERVAL_P): Now applies only to real interval |
| 3810 | pointers; abort if the value looks like a lisp object. |
| 3811 | (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT, |
| 3812 | SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT): |
| 3813 | Modify for new interval parent definition. |
| 3814 | |
| 3815 | * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE, |
| 3816 | UNMARK_BALANCE_INTERVALS): Update references that need an |
| 3817 | addressable lisp object in the interval structure. |
| 3818 | (die): New function. |
| 3819 | (suppress_checking): New variable. |
| 3820 | |
| 3821 | * intervals.c (interval_start_pos): Just return 0 if there's no |
| 3822 | parent object. |
| 3823 | |
| 3824 | 2000-03-29 Gerd Moellmann <gerd@gnu.org> |
| 3825 | |
| 3826 | * lread.c (read1): Accept `.' (period) as symbol start like in CL |
| 3827 | and earlier Emacs versions. |
| 3828 | |
| 3829 | * keyboard.c (Ftop_level): Cancel busy-cursor. |
| 3830 | |
| 3831 | * eval.c (call_debugger): Cancel busy-cursor. |
| 3832 | |
| 3833 | 2000-03-29 Kenichi Handa <handa@etl.go.jp> |
| 3834 | |
| 3835 | * search.c (Freplace_match): Adjust multibyteness of the current |
| 3836 | buffer and NEWTEXT. Free allocated memory before signaling an |
| 3837 | error. |
| 3838 | |
| 3839 | 2000-03-28 Stefan Monnier <monnier@cs.yale.edu> |
| 3840 | |
| 3841 | * regex.c (analyse_first): New function obtained by ripping out most |
| 3842 | of re_compile_fastmap and generalizing it a little bit so that it |
| 3843 | can also just return whether a given (sub)pattern can match the empty |
| 3844 | string or not. |
| 3845 | (regex_compile): Use `analyse_first' to decide whether the loop-check |
| 3846 | needs to be done or not for *, +, *? and +? (the loop check is costly |
| 3847 | for non-greedy repetition). |
| 3848 | (re_compile_fastmap): Delegate the actual work to `analyse_first'. |
| 3849 | |
| 3850 | 2000-03-28 Dave Love <fx@gnu.org> |
| 3851 | |
| 3852 | * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, |
| 3853 | alpha. |
| 3854 | |
| 3855 | * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__. |
| 3856 | |
| 3857 | 2000-03-27 Stefan Monnier <monnier@cs.yale.edu> |
| 3858 | |
| 3859 | * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as |
| 3860 | an expression. |
| 3861 | (enum re_opcode_t): Update description of succeed_n. |
| 3862 | (PATFETCH): Always define. |
| 3863 | (regex_compile): Use lookahead rather than PATUNFETCH (for repetition |
| 3864 | operators, char classes, shy-groups and intervals). |
| 3865 | Optimize special cases of intervals so as to only use succeed_n and |
| 3866 | jump_n when really needed. |
| 3867 | (re_compile_fastmap): Simplify handling of jump_n and succeed_n now |
| 3868 | that we don't have to handle the special cases any more. |
| 3869 | Simplify on_failure_jump handling as well. |
| 3870 | |
| 3871 | 2000-03-28 Jason Rumney <jasonr@gnu.org> |
| 3872 | |
| 3873 | * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT. |
| 3874 | |
| 3875 | 2000-03-27 Gerd Moellmann <gerd@gnu.org> |
| 3876 | |
| 3877 | * s/freebsd.h (GC_SETJMP_WORKS): Define. |
| 3878 | |
| 3879 | * s/msdos.h (GC_SETJMP_WORKS): Define. |
| 3880 | |
| 3881 | * alloc.c (mark_maybe_object): New function. |
| 3882 | (mark_memory): Use it. |
| 3883 | (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros. |
| 3884 | (setjmp_tested_p, longjmp_done): New variables. |
| 3885 | (test_setjmp): New function. |
| 3886 | (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp. |
| 3887 | (init_alloc): Initialize setjmp_tested_p and longjmp_done. |
| 3888 | |
| 3889 | * xdisp.c (face_before_or_after_it_pos): Pass multibyteness |
| 3890 | to DEC_TEXT_POS and INC_TEXT_POS. |
| 3891 | |
| 3892 | * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS |
| 3893 | with parameter MULTIBYTE_P. |
| 3894 | |
| 3895 | * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter |
| 3896 | MULTIBYTE_P. |
| 3897 | |
| 3898 | * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte |
| 3899 | buffers because it looks for multibyte character byte sequences |
| 3900 | which don't exist in unibyte text. |
| 3901 | |
| 3902 | * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes. |
| 3903 | |
| 3904 | * xfaces.c (register_color, unregister_color, unregister_colors) |
| 3905 | [DEBUG_X_COLORS]: New functions. |
| 3906 | (x_free_colors) [DEBUG_X_COLORS]: Unregister colors. |
| 3907 | |
| 3908 | * xfns.c (x_set_cursor_color): Get color reference counts right. |
| 3909 | |
| 3910 | * xterm.c (x_copy_color): New function. |
| 3911 | (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color. |
| 3912 | |
| 3913 | * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS. |
| 3914 | (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET. |
| 3915 | (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX. |
| 3916 | (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P. |
| 3917 | (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P. |
| 3918 | (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX. |
| 3919 | (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE. |
| 3920 | (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE. |
| 3921 | (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL. |
| 3922 | (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE. |
| 3923 | |
| 3924 | * category.c, data.c, syntax.c, print.c, lread.c: Use new macro |
| 3925 | names for handling per-buffer variables. |
| 3926 | |
| 3927 | * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS |
| 3928 | instead of MAX_BUFFER_LOCAL_VARS. |
| 3929 | (last_per_buffer_idx): Renamed from max_buffer_local_idx. |
| 3930 | |
| 3931 | * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P. |
| 3932 | |
| 3933 | * xfns.c (x_specified_cursor_type): New function. |
| 3934 | (x_set_cursor_type): Use it. |
| 3935 | |
| 3936 | * buffer.h (struct buffer): Add cursor_type. |
| 3937 | |
| 3938 | 2000-03-26 Stefan Monnier <monnier@cs.yale.edu> |
| 3939 | |
| 3940 | * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop. |
| 3941 | (print_partial_compiled_pattern, re_compile_fastmap): Handle new |
| 3942 | opcode. |
| 3943 | (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops. |
| 3944 | (re_match_2_internal): Add code for on_failure_jump_nastyloop when |
| 3945 | executing it as well as when popping it off the stack to find infinite |
| 3946 | loops in non-greedy repetition operators. |
| 3947 | |
| 3948 | 2000-03-26 Gerd Moellmann <gerd@gnu.org> |
| 3949 | |
| 3950 | * doc.c (Qfunction_documentation): New variable. |
| 3951 | (syms_of_doc): Initialize Qfunction_documentation. |
| 3952 | (Fdocumentation): If FUNCTION is a symbol with non-nil |
| 3953 | `function-documentation' property, return a documentation derived |
| 3954 | from that. |
| 3955 | |
| 3956 | * buffer.c (syms_of_buffer): Add default-cursor-type. |
| 3957 | (init_buffer_once): Don't let cursor_type have a local value |
| 3958 | in every buffer. |
| 3959 | |
| 3960 | * xterm.c (x_display_and_set_cursor): Choose cursor depending |
| 3961 | on buffer-local value of cursor_type. |
| 3962 | (x_draw_bar_cursor): Add parameter WIDTH. |
| 3963 | |
| 3964 | * buffer.c (reset_buffer): Initialize buffer's cursor_type. |
| 3965 | (init_buffer_once): Set default cursor_type value to t. |
| 3966 | Mark cursor_type as local everywhere. |
| 3967 | (syms_of_buffer): New per-buffer variable cursor-type. |
| 3968 | |
| 3969 | * buffer.h (struct buffer): Remove member local_var_flags, |
| 3970 | add local_flags. |
| 3971 | (MAX_BUFFER_LOCAL_VARS): New macro. |
| 3972 | (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX) |
| 3973 | (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P) |
| 3974 | (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE) |
| 3975 | (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros. |
| 3976 | |
| 3977 | * print.c (print_object): Use new macros for per-buffer |
| 3978 | variables. |
| 3979 | |
| 3980 | * category.c (Fset_category_table): Use new macros for per-buffer |
| 3981 | variables. |
| 3982 | |
| 3983 | * buffer.c (buffer_permanent_local_flags): Make a char array. |
| 3984 | (max_buffer_local_idx): New variable. |
| 3985 | (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten |
| 3986 | for new handling of per-buffer variables. |
| 3987 | (buffer_slot_type_mismatch): Use new macros for per-buffer vars. |
| 3988 | (init_buffer_once): Initialize per-buffer vars differently. |
| 3989 | Set max_buffer_local_idx. |
| 3990 | |
| 3991 | * syntax.c (Fset_syntax_table): Use new macros for per-buffer |
| 3992 | variables. |
| 3993 | |
| 3994 | * lread.c (defvar_per_buffer): Use new macros for per-buffer |
| 3995 | variables. |
| 3996 | |
| 3997 | * data.c (do_symval_forwarding, store_symval_forwarding) |
| 3998 | (find_symbol_value, set_internal, default_value, Fset_default) |
| 3999 | (Fkill_local_variable, Flocal_variable_p): Use new macros for |
| 4000 | per-buffer variables. |
| 4001 | |
| 4002 | * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'. |
| 4003 | |
| 4004 | 2000-03-24 Gerd Moellmann <gerd@gnu.org> |
| 4005 | |
| 4006 | * xterm.c (x_term_init): Unblock input around call1 of |
| 4007 | Qvendor_specific_keysyms. |
| 4008 | |
| 4009 | * syntax.c (open_paren_in_column_0_is_defun_start): New variable. |
| 4010 | (find_defun_start): Consider an open parenthesis in column 0 |
| 4011 | a defun start only if open_paren_in_column_0_is_defun_start is set. |
| 4012 | (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start. |
| 4013 | |
| 4014 | 2000-03-24 Stefan Monnier <monnier@cs.yale.edu> |
| 4015 | |
| 4016 | * eval.c (Fautoload): Add entry in load-history (if after dump). |
| 4017 | * lread.c (load-history): Update docstring. |
| 4018 | |
| 4019 | 2000-03-24 Gerd Moellmann <gerd@gnu.org> |
| 4020 | |
| 4021 | * indent.c (Fvertical_motion): Always use the current buffer. |
| 4022 | Temporarily change the window's buffer, if necessary. |
| 4023 | |
| 4024 | 2000-03-23 Gerd Moellmann <gerd@gnu.org> |
| 4025 | |
| 4026 | * xterm.c (fast_find_position): Make sure not to consider rows |
| 4027 | not visible in the window. |
| 4028 | |
| 4029 | 2000-03-22 Stefan Monnier <monnier@cs.yale.edu> |
| 4030 | |
| 4031 | * regex.c (enum syntaxcode): Provide default for non-Emacs. |
| 4032 | (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix. |
| 4033 | |
| 4034 | 2000-03-22 Jason Rumney <jasonr@gnu.org> |
| 4035 | |
| 4036 | * w32menu.c (single_submenu): Set help string to NULL if none. |
| 4037 | (w32_menu_show): Set help string correctly. |
| 4038 | (add-menu-item): Set help string in MIIM_DATA for menu item. |
| 4039 | Load SetMenuItemInfoA explicitly. |
| 4040 | (w32_menu_display_help): New function. |
| 4041 | |
| 4042 | * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message. |
| 4043 | (QCdata): Moved to xdisp.c. |
| 4044 | |
| 4045 | * w32term.c (w32_read_socket): Handle WM_MENUSELECT message. |
| 4046 | (Vw32_charset_to_codepage_alist): Removed. |
| 4047 | (Vw32_charset_info_alist): New variable. |
| 4048 | (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312, |
| 4049 | chinesebig5, oem, easteurope, turkish, baltic, russian, arabic, |
| 4050 | greek, hebrew, thai, johab, mac, unicode]): New symbols. |
| 4051 | (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace |
| 4052 | with TODO comment. |
| 4053 | (w32_codepage_for_font): Use Vw32_charset_info_alist. |
| 4054 | (syms_of_w32term): Remove Vw32_charset_to_codepage_alist. |
| 4055 | Define Vw32_charset_info_alist and w32_charset symbols. |
| 4056 | |
| 4057 | 2000-03-22 Jason Rumney <jasonr@gnu.org> |
| 4058 | |
| 4059 | * makefile.nt (w32bdf.obj): Update dependencies. |
| 4060 | |
| 4061 | * w32bdf.c: Include frame.h and dispextern.h before fontset.h. |
| 4062 | |
| 4063 | * w32fns.c: Include fontset.h after dispextern.h. |
| 4064 | (Fx_create_frame): Do not create fontset. |
| 4065 | (w32_load_system_font): Doc fix. |
| 4066 | (Fx_close_connection): Free full_name if it is not shared. |
| 4067 | |
| 4068 | * w32term.c: Include fontset.h after dispextern.h. |
| 4069 | (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers |
| 4070 | updated. |
| 4071 | (w32_per_char_metric): If PCM is invalid, delete and return NULL. |
| 4072 | (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id. |
| 4073 | (w32_font_is_double_byte): New function, needs body. |
| 4074 | (x_append_glyph): Set glyph->glyph_not_available_p. |
| 4075 | (x_produce_glyphs): Set it->glyph_not_available_p. Don't set |
| 4076 | it->charset. If it->multibyte_p is zero and it->c is a multibyte |
| 4077 | character, convert it to a unibyte character. |
| 4078 | (struct glyph_string): Delete member `charset'. |
| 4079 | (W32_TEXTOUT): Temporarily remove charset_dim until another way of |
| 4080 | calculating it is found. |
| 4081 | (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle |
| 4082 | the case that per char metric is not available correctly. |
| 4083 | (x_fill_glyph_string): Handle the case that the specific glyph is |
| 4084 | not available correctly. |
| 4085 | (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset. |
| 4086 | (BUILD_COMPOSITE_GLYPH_STRING): Likewise. |
| 4087 | (x_new_font): Call FS_LOAD_FONT, not fs_load_font. |
| 4088 | (x_new_fontset): Call fontset_ascii to get ASCII font name of the |
| 4089 | fontset. Don't call FS_LOAD_FONT. |
| 4090 | |
| 4091 | 2000-03-22 Ken Raeburn <raeburn@gnu.org> |
| 4092 | |
| 4093 | * intervals.h (NULL_INTERVAL): Cast to INTERVAL type. |
| 4094 | (INT_LISPLIKE): New macro. |
| 4095 | (NULL_INTERVAL_P): Use it. |
| 4096 | (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT, |
| 4097 | SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT, |
| 4098 | GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros. |
| 4099 | |
| 4100 | * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all |
| 4101 | explicit references to "parent" field of struct interval and |
| 4102 | associated unclean type conversions. |
| 4103 | * intervals.c (create_root_interval, root_interval, rotate_right, |
| 4104 | rotate_left, balance_possible_root_interval, split_interval_right, |
| 4105 | split_interval_left, interval_start_pos, find_interval, |
| 4106 | next_interval, previous_interval, update_interval, |
| 4107 | adjust_intervals_for_insertion, delete_node, delete_interval, |
| 4108 | adjust_intervals_for_deletion, merge_interval_right, |
| 4109 | merge_interval_left, reproduce_tree, graft_intervals_into_buffer, |
| 4110 | copy_intervals_to_string): Likewise. |
| 4111 | * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL): |
| 4112 | Likewise. |
| 4113 | * syntax.c (update_syntax_table): Likewise. |
| 4114 | |
| 4115 | * intervals.c (reproduce_tree_obj): New function, like |
| 4116 | reproduce_tree but takes a Lisp_Object for the parent. Declare |
| 4117 | with prototype. |
| 4118 | (graft_intervals_into_buffer): Use it when appropriate. |
| 4119 | (reproduce_tree): Declare with prototype. |
| 4120 | (balance_possible_root_interval): Check that the parent is a lisp |
| 4121 | object before trying to examine its type. |
| 4122 | |
| 4123 | 2000-03-22 Gerd Moellmann <gerd@gnu.org> |
| 4124 | |
| 4125 | * xfaces.c (lface_same_font_attributes_p): Compare font attributes |
| 4126 | as strings only if both are known to be strings. |
| 4127 | |
| 4128 | * s/openbsd.h (LIBS_TERMCAP): Undef. |
| 4129 | |
| 4130 | 2000-03-21 Stefan Monnier <monnier@cs.yale.edu> |
| 4131 | |
| 4132 | * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default |
| 4133 | definitions for non-Emacs compilation. |
| 4134 | (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec |
| 4135 | outside of `#ifdef emacs'. |
| 4136 | (print_partial_compiled_pattern): Update. |
| 4137 | (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar. |
| 4138 | (re_compile_fastmap): Merge handling of charset and charset_not (for |
| 4139 | emacs and non-emacs compilation as well). |
| 4140 | Similarly for (not)categoryspec and (not)syntaxspec. |
| 4141 | Don't use the fastmap when reaching `anychar' since the added |
| 4142 | complexity is not justified. |
| 4143 | (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs) |
| 4144 | and (not)syntaxspec. Merge (not)categoryspec. |
| 4145 | |
| 4146 | 2000-03-22 Kenichi Handa <handa@etl.go.jp> |
| 4147 | |
| 4148 | * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P, |
| 4149 | FACE_FOR_CHAR): Define them differently for the configuration of |
| 4150 | --without-x. |
| 4151 | |
| 4152 | 2000-03-21 Dave Love <fx@gnu.org> |
| 4153 | |
| 4154 | * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in |
| 4155 | doc string. |
| 4156 | |
| 4157 | 2000-03-21 Gerd Moellmann <gerd@gnu.org> |
| 4158 | |
| 4159 | * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error. |
| 4160 | (lface_fully_specified_p): Don't check contents of |
| 4161 | LFACE_FONT_INDEX because that attribute is optional. |
| 4162 | (realize_x_face): Remove now unwarranted xassert. |
| 4163 | |
| 4164 | 2000-03-21 Kenichi HANDA <handa@etl.go.jp> |
| 4165 | |
| 4166 | The following changes are to make font selection based on |
| 4167 | characters, not charset. In addition, they recover fontset |
| 4168 | facilities while utilizing the new font selection mechanism. |
| 4169 | |
| 4170 | * Makefile.in (fontset.o): Depend on dispextern.h. |
| 4171 | |
| 4172 | * alloc.c (mark_face_cache): Don't mark face->registry. |
| 4173 | |
| 4174 | * dispextern.h (struct glyph): New member glyph_not_available_p. |
| 4175 | Use 22 bits for face_id. |
| 4176 | (enum lface_attribute_index): Add LFACE_FONT_INDEX. |
| 4177 | (struct face): Delete member registry, new member ascii_face. |
| 4178 | (FACE_SUITABLE_FOR_CHAR_P): Renamed from |
| 4179 | FACE_SUITABLE_FOR_CHARSET_P. Caller changed. |
| 4180 | (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed. |
| 4181 | (struct it): Delete member charset, new member |
| 4182 | glyph_not_available_p. |
| 4183 | |
| 4184 | * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed. |
| 4185 | (struct fontset_info, struct fontset_data): Structs removed. |
| 4186 | (allloc_fontset_data, free_fontset_data, fs_regiser_fontset, |
| 4187 | Vglobale_fontset_alist, font_idx_temp): Externs removed. |
| 4188 | (fs_load_font, fs_query_fontset): Adjusted for new argument. |
| 4189 | (fs_free_face_fontset, fontset_font_pattern, |
| 4190 | face_suitable_for_char_p, face_for_char, |
| 4191 | make_fontset_for_ascii_face): Extern them. |
| 4192 | (FS_LOAD_FONT): Adjusted for the change of fontset implementation. |
| 4193 | (FS_LOAD_FACE_FONT): New macro. |
| 4194 | |
| 4195 | * fontset.c: All codes rewritten or adjusted for the change of |
| 4196 | fontset implementation. Now fontset is represented by char table. |
| 4197 | (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables |
| 4198 | removed. |
| 4199 | (my_strcasecmp): Function removed. |
| 4200 | (Vfontset_table, next_fontset_id, Vdefault_fontset): New |
| 4201 | variables. |
| 4202 | (AREF, ASIZE): New macros. |
| 4203 | (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME, |
| 4204 | FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF, |
| 4205 | FONTSET_REF_VIA_BASE, FONTSET_SET): New macros. |
| 4206 | (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset, |
| 4207 | fontset_id_valid_p, font_family_registry, fontset_name, |
| 4208 | fontset_ascii, free_face_fontset, face_suitable_for_char_p, |
| 4209 | face_for_char, make_fontset_for_ascii_face, fontset_font_pattern): |
| 4210 | New functions. |
| 4211 | (fs_load_font): New arg FACE. Caller changed. |
| 4212 | (fs_query_fontset): Argument changed. Caller changed. |
| 4213 | (Fquery_fontset): call fs_query_fontset. |
| 4214 | (fs_register_fontset, alloc_fontset_data, free_fontset_data): |
| 4215 | Functions removed. |
| 4216 | (clear_fontset_elements, check_registry_encoding, |
| 4217 | check_fontset_name): New functions. |
| 4218 | (syms_of_fontset): Set char-table-extra-slots property of fontset |
| 4219 | to 3. Staticpro and initialize Vfontset_table and |
| 4220 | Vdefault_fontset. Defsubr fontset_font and fontset_list. |
| 4221 | |
| 4222 | * frame.h (struct frame): Member `fontset_data' removed. |
| 4223 | (FRAME_FONTSET_DATA): Macro removed. |
| 4224 | |
| 4225 | * frame.c (make_frame): Don't allocate f->fontset_data. |
| 4226 | (Fdelete_frame): Don't free f->fontset_data. |
| 4227 | |
| 4228 | * msdos.c (XMenuActivate): Args to lookup_derived_face changed. |
| 4229 | |
| 4230 | * xdisp.c (charset_at_position): Function removed. |
| 4231 | (init_iterator): Don't set member charset of struct `it'. |
| 4232 | (handle_face_prop, reseat_to_string, set_iterator_to_next, |
| 4233 | next_element_from_display_vector, insert_left_trunc_glyphs): |
| 4234 | Likewise. |
| 4235 | (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not |
| 4236 | FACE_FOR_CHARSET. |
| 4237 | (get_next_display_element, append_space, |
| 4238 | extend_face_to_end_of_line): Likewise. |
| 4239 | |
| 4240 | * xfaces.c (Qx_charset_registry, Vface_default_registry): |
| 4241 | Variables removed. |
| 4242 | (clear_font_table, frame_update_line_height, load_face_font): |
| 4243 | Adjusted for the change of fontset implementation. |
| 4244 | (load_face_fontset_font): Function removed. |
| 4245 | (pixel_point_size): New function. |
| 4246 | (font_list): Argument type changed. Caller changed. |
| 4247 | (LFACE_FONT): New macro. |
| 4248 | (check_lface_attrs): Check attr[LFACE_FONT_INDEX]. |
| 4249 | (set_lface_from_font_name): Type of arg FONTNAME is changed to |
| 4250 | Lisp_Object. Determine the font name by actually loading a font |
| 4251 | by the specified pattern. Set LFACE_FONT (lface) to the specified |
| 4252 | pattern. Even if a font is not found, don't try alternatives. |
| 4253 | (Finternal_set_lisp_face_attribute): Handle `font' slot in lface. |
| 4254 | (set_font_frame_param): If `font' is specified in lface, use it. |
| 4255 | (Finternal_get_lisp_face_attribute): Handle `font' slot in lface. |
| 4256 | (lface_same_font_attributes_p): Likewise. |
| 4257 | (make_realized_face): Arguent changed. Caller changed. Set |
| 4258 | face->ascii_face to face itself. |
| 4259 | (free_realized_face): Free face->fontset if face is for ASCII. |
| 4260 | (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p, |
| 4261 | deduce_unibyte_registry, x_charset_registry): Functions removed. |
| 4262 | (free_realized_multibyte_face): New function. |
| 4263 | (lookup_face, lookup_named_face, lookup_derived_face): Argument |
| 4264 | changed. Caller changed. |
| 4265 | (try_font_list): Argument type changed. |
| 4266 | (face_fontset): Check `font' slot of ATTRS, not `family' slot. |
| 4267 | (choose_face_font): Argument changed. Handle fontset properly. |
| 4268 | (choose_face_fontset_font): Function removed. |
| 4269 | (realize_default_face, realize_named_face): Don't remove the |
| 4270 | former face here. |
| 4271 | (realize_face): Argument changed. Caller changed. Remove face |
| 4272 | with the arg former_face_id in advance. Load font for the new |
| 4273 | face. |
| 4274 | (realize_x_face): Argument changed. Caller changed. For a |
| 4275 | multibyte character, share fontset with base_face. For a single |
| 4276 | byte character, make a new realized fontset. Don't load a font |
| 4277 | here. |
| 4278 | (realize_tty_face): Argument changed. Caller changed. |
| 4279 | (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET. |
| 4280 | (face_at_buffer_position): Don't check multibyte_p for returning |
| 4281 | DEFAULT_FACE_ID. |
| 4282 | (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not |
| 4283 | FACE_SUITABLE_FOR_CHARSET_P. |
| 4284 | (syms_of_xfaces): Remove code for Qx_charset_registry and |
| 4285 | Vface_default_registry. |
| 4286 | |
| 4287 | * xterm.c: Include fontset.h after dispextern.h. Undo the changes |
| 4288 | related to PER_CHAR_METRIC done by Gerd on 2000-03-03. |
| 4289 | (x_per_char_metric): Don't try FONT->default_char. Even if |
| 4290 | pcm->width is zero, glyph bits may exist. |
| 4291 | (x_encode_char): Always initialize char2b->byte1. |
| 4292 | (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id. |
| 4293 | (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller |
| 4294 | changed. |
| 4295 | (x_append_glyph): Set glyph->glyph_not_available_p. |
| 4296 | (x_produce_glyphs): Set it->glyph_not_available_p. Don't set |
| 4297 | it->charset. Handle the case that per char metric is not |
| 4298 | available. If it->multibyte_p is zero and it->c is a multibyte |
| 4299 | character, convert it to a unibyte character. |
| 4300 | (struct glyph_string): Delete member `charset'. |
| 4301 | (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle |
| 4302 | the case that per char metric is not available correctly. |
| 4303 | (x_fill_glyph_string): Handle the case that the specific glyph is |
| 4304 | not available correctly. |
| 4305 | (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset. |
| 4306 | (BUILD_COMPOSITE_GLYPH_STRING): Likewise. |
| 4307 | (x_new_font): Call FS_LOAD_FONT, not fs_load_font. |
| 4308 | (x_new_fontset): Call fontset_ascii to get ASCII font name of the |
| 4309 | fontset. Don't call FS_LOAD_FONT. |
| 4310 | |
| 4311 | * xfns.c (Fx_create_frame): Don't cal fs_register_fontset. |
| 4312 | (x_create_tip_frame): Likewise. |
| 4313 | (Fx_close_connection): Free full_name of font_info. |
| 4314 | |
| 4315 | * fns.c (optimize_sub_char_table): New function. |
| 4316 | (Foptimize_char_table): New function. |
| 4317 | (syms_of_fns): Defsubr Soptimize_char_table. |
| 4318 | |
| 4319 | 2000-03-20 Gerd Moellmann <gerd@gnu.org> |
| 4320 | |
| 4321 | * buffer.c (Fset_buffer_modified_p): Set update_mode_lines |
| 4322 | only if buffer is displayed in some window. |
| 4323 | |
| 4324 | * xdisp.c (handle_single_display_prop): Initialize local `value'. |
| 4325 | (try_window_reusing_current_matrix): Don't call scroll run |
| 4326 | function if run's current and desired position are the same; |
| 4327 | this prevents cursor flickering. |
| 4328 | |
| 4329 | 2000-03-19 Stefan Monnier <monnier@cs.yale.edu> |
| 4330 | |
| 4331 | * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c. |
| 4332 | |
| 4333 | * regex.c (RE_STRING_CHAR): New macro. |
| 4334 | (GET_CHAR_AFER_2): Remove. |
| 4335 | (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h. |
| 4336 | (enum re_opcode_t): Remove on_failure_jump_exclusive. |
| 4337 | (print_partial_compiled_pattern, re_compile_fastmap) |
| 4338 | (re_match_2_internal): Remove on_failure_jump_exclusive. |
| 4339 | (regex_compile): Turn optimizable P+ loops into PP*, so that the |
| 4340 | optimization only need to work for * (ie. can use of_keep_string_jump). |
| 4341 | Remove the special case for .*\n since it is now covered by the general |
| 4342 | optimization. |
| 4343 | (re_search_2): Don't bother with `room'. |
| 4344 | (skip_one_char): New function. |
| 4345 | (skip_noops): Simplify since `memory' is not needed any more. |
| 4346 | (mutually_exclusive_p): Restructure slightly to use `switch' and |
| 4347 | add handling for "all" remaining cases. |
| 4348 | (re_match_2_internal): Change on_failure_jump_smart to use |
| 4349 | on_failure_keep_string_jump (and redirect the end-of-loop jump) |
| 4350 | rather than on_failure_jump_exclusive. |
| 4351 | |
| 4352 | 2000-03-19 Gerd Moellmann <gerd@gnu.org> |
| 4353 | |
| 4354 | * xfns.c (select_visual): Don't set dpyinfo->n_planes to the |
| 4355 | number of bits per RGB because it's everywhere used as the depth |
| 4356 | of the visual. |
| 4357 | |
| 4358 | * term.c (calculate_costs): Remove code dealing with X frames. |
| 4359 | |
| 4360 | 2000-03-19 Richard M. Stallman <rms@gnu.org> |
| 4361 | |
| 4362 | * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte. |
| 4363 | |
| 4364 | 2000-03-18 Gerd Moellmann <gerd@gnu.org> |
| 4365 | |
| 4366 | * lread.c (read_integer): Unread the last char not consumed. |
| 4367 | |
| 4368 | 2000-03-17 Gerd Moellmann <gerd@gnu.org> |
| 4369 | |
| 4370 | * xterm.c (x_update_window_cursor): Don't update in frames |
| 4371 | which are in the process of being deleted. |
| 4372 | |
| 4373 | 2000-03-16 Gerd Moellmann <gerd@gnu.org> |
| 4374 | |
| 4375 | * Makefile.in (mostlyclean): Add `*.core'. |
| 4376 | (clean): Add `bootstrap-emacs'. |
| 4377 | |
| 4378 | * lread.c (read_integer): New function. |
| 4379 | (read1): Support read syntax #o, #x, #b, #r. |
| 4380 | |
| 4381 | 2000-03-15 Stefan Monnier <monnier@cs.yale.edu> |
| 4382 | |
| 4383 | * regex.c (re_match_2): Fix string shortening (to fit `stop') to |
| 4384 | make sure POINTER_TO_OFFSET gives the same value before and after |
| 4385 | PREFETCH. Use `dfail' to guarantee "atomic" matching. |
| 4386 | (PTR_TO_OFFSET): Use POINTER_TO_OFFSET. |
| 4387 | (debug): Now only active if > 0 rather than if != 0. |
| 4388 | (DEBUG_*): Update for the new meaning of `debug'. |
| 4389 | (print_partial_compiled_pattern): Add missing `succeed' case. Use |
| 4390 | CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs |
| 4391 | in `succeed_n', `jump_n' and `set_number_at'. |
| 4392 | (store_op1, store_op2, insert_op1, insert_op2) |
| 4393 | (at_begline_loc_p, at_endline_loc_p): Add prototype. |
| 4394 | (group_in_compile_stack): Move to after its arg's types are |
| 4395 | declared and add a prototype. |
| 4396 | (PATFETCH): Define in terms of PATFETCH_RAW. |
| 4397 | (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' |
| 4398 | wrapper. |
| 4399 | (QUIT): Redefine as a nop except for NTemacs. |
| 4400 | (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix |
| 4401 | indentation of the greedy-op and shy-group code. |
| 4402 | (at_(beg|end)line_loc_p): Fix argument's types. |
| 4403 | (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc. |
| 4404 | (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation. |
| 4405 | (MATCHING_IN_FIRST_STRING): Remove. |
| 4406 | (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr |
| 4407 | to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use |
| 4408 | QUIT unconditionally. |
| 4409 | |
| 4410 | 2000-03-15 Gerd Moellmann <gerd@gnu.org> |
| 4411 | |
| 4412 | * minibuf.c (Fminibuffer_complete): Set point to ZV if finding |
| 4413 | a sole completion. |
| 4414 | |
| 4415 | * process.c (send_process): Add a hint that the function |
| 4416 | can call Lisp code to its comment. |
| 4417 | |
| 4418 | * lread.c (load_dangerous_libraries): New variable. |
| 4419 | (Vbytecomp_version_regexp): New variable. |
| 4420 | (safe_to_load_p): New function. |
| 4421 | (Fload): Handle files not compiled with Emacs specially. |
| 4422 | (syms_of_lread): New Lisp variable load-dangerous-libraries. |
| 4423 | |
| 4424 | 2000-03-14 Gerd Moellmann <gerd@gnu.org> |
| 4425 | |
| 4426 | * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon. |
| 4427 | |
| 4428 | * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM |
| 4429 | support functions only if HAVE_X11R6_XIM is defined. |
| 4430 | (xim_instantiate_callback): Define only if HAVE_X11R6_XIM. |
| 4431 | |
| 4432 | * s/sol2.h (INHIBIT_X11R6_XIM): Define. |
| 4433 | |
| 4434 | * xfns.c (X_I18N_INHIBITED): Don't define. |
| 4435 | (create_frame_xic): Remove conditional compilation on |
| 4436 | X_I18N_INHIBITED. |
| 4437 | (x_kill_gs_process, x_window): Use FRAME_X_VISUAL. |
| 4438 | |
| 4439 | * config.in (HAVE_X_I18N): Moved here from xterm.h. |
| 4440 | (HAVE_X11R6_XIM): Define. |
| 4441 | |
| 4442 | * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in. |
| 4443 | |
| 4444 | * xterm.c (x_term_init): Add support for X resource `synchronous'. |
| 4445 | If set, call XSynchronize. |
| 4446 | |
| 4447 | 2000-03-13 Stefan Monnier <monnier@cs.yale.edu> |
| 4448 | |
| 4449 | * regex.c: Declare a new type `re_char' used throughout the code |
| 4450 | for the string char type. It's `const unsigned char' to match the |
| 4451 | rest of Emacs. Consistently make sure all pointers to strings use |
| 4452 | it and make sure all pointers into the pattern use `unsigned |
| 4453 | char'. |
| 4454 | (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of |
| 4455 | GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce |
| 4456 | code duplication. |
| 4457 | |
| 4458 | * charset.h (GET_CHAR_AFTER_2): Remove. |
| 4459 | (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else. |
| 4460 | |
| 4461 | 2000-03-12 Ken Raeburn <raeburn@gnu.org> |
| 4462 | |
| 4463 | * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary |
| 4464 | variable before the invocation of YMF_PASS_LDFLAGS, in case both |
| 4465 | of them try to use backquotes. |
| 4466 | |
| 4467 | 2000-03-12 Dave Love <fx@gnu.org> |
| 4468 | |
| 4469 | * unexelf.c: Restore changes of 1999-10-19. |
| 4470 | (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise |
| 4471 | fix its type and alignment; copy it from current process. |
| 4472 | |
| 4473 | 2000-03-12 Gerd Moellmann <gerd@gnu.org> |
| 4474 | |
| 4475 | * atimer.c (cancel_atimer): Break out of the loop as soon as timer |
| 4476 | has been found. Fix bug not computing timer's predecessor. |
| 4477 | |
| 4478 | * fileio.c (Fread_file_name): Handle case that DIR contains a |
| 4479 | file name. |
| 4480 | |
| 4481 | * window.c (Fsave_window_excursion): Doc fix. |
| 4482 | |
| 4483 | * xfns.c (x_defined_color): Rewritten to use |
| 4484 | x_allocate_nearest_color. |
| 4485 | |
| 4486 | 2000-03-12 Eli Zaretskii <eliz@is.elta.co.il> |
| 4487 | |
| 4488 | * msdos.c (vga_installed): New function, code moved from |
| 4489 | dos_set_window_size. |
| 4490 | (Qbar, Qcursor_type, outside_cursor): New variables. |
| 4491 | (syms_of_msdos): Intern and staticpro them. |
| 4492 | (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor |
| 4493 | shape used outside Emacs when called for the first time. |
| 4494 | (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the |
| 4495 | cursor shape used outside Emacs. |
| 4496 | (msdos_set_cursor_shape, IT_set_cursor_type): New functions. |
| 4497 | (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor |
| 4498 | type has changed. |
| 4499 | (IT_set_frame_parameters): Call IT_set_cursor_type if the frame |
| 4500 | parameters specify the cursor. Make qreverse a global |
| 4501 | variable (renamed to Qreverse). |
| 4502 | |
| 4503 | 2000-03-09 Gerd Moellmann <gerd@gnu.org> |
| 4504 | |
| 4505 | * fns.c (Fy_or_n_p): Cancel busy-cursor. |
| 4506 | |
| 4507 | 2000-03-08 Stefan Monnier <monnier@cs.yale.edu> |
| 4508 | |
| 4509 | This is a big redesign of failure-stack and register handling, prompted |
| 4510 | by bugs revealed when trying to add shy-groups. Overall, what happened |
| 4511 | is that loops are now structured a little differently, groups can be |
| 4512 | shy and the code is a little simpler. |
| 4513 | |
| 4514 | * regex.h: Update the copyright. |
| 4515 | (RE_SHY_GROUPS): New value. |
| 4516 | (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber. |
| 4517 | (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS. |
| 4518 | |
| 4519 | * regex.c (enum re_opcode_t): Remove jump_past_alt, |
| 4520 | maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add |
| 4521 | on_failure_jump_(exclusive, loop and smart). Also fix the comment |
| 4522 | for (start|stop)_memory since they now only take one argument (the |
| 4523 | second has becomes unnecessary). |
| 4524 | (print_partial_compiled_pattern): Adjust for changes in |
| 4525 | re_opcode_t. |
| 4526 | (print_compiled_pattern): Use %ld to printf long ints and flush to |
| 4527 | make debugging a little easier. |
| 4528 | (union fail_stack_elt): Make the integer unsigned. |
| 4529 | (struct fail_stack_type): Add a `frame' element. |
| 4530 | (INIT_FAIL_STACK): Init `frame' as well. |
| 4531 | (POP_PATTERN_OP): New macro for re_compile_fastmap. |
| 4532 | (DEBUG_PUSH, DEBUG_POP): Remove. |
| 4533 | (NUM_REG_ITEMS): Remove. |
| 4534 | (NUM_NONREG_ITEMS): Adjust. |
| 4535 | (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE) |
| 4536 | (TOP_FAILURE_HANDLE): New macros for the cycle detection. |
| 4537 | (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT). |
| 4538 | (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New |
| 4539 | macros. |
| 4540 | (PUSH_FAILURE_POINT): Don't push registers any more. The pattern |
| 4541 | address pushed is not the destination of the jump but the source |
| 4542 | of it instead. |
| 4543 | (NUM_FAILURE_ITEMS): Remove. |
| 4544 | (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop |
| 4545 | registers before the actual failure point). Don't hardcode any |
| 4546 | meaning for str==NULL anymore. |
| 4547 | (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE) |
| 4548 | (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED): |
| 4549 | Remove. |
| 4550 | (REG_UNSET_VALUE): Use NULL (why not?). |
| 4551 | (compile_range): Remove declaration since it doesn't exist. |
| 4552 | (struct compile_stack_elt_t): Remove inner_group_offset. |
| 4553 | (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove. |
| 4554 | (regex_grow_registers): Remove dead code. |
| 4555 | (FIXUP_ALT_JUMP): New macro. |
| 4556 | (regex_compile): Add shy-groups Change loops to use |
| 4557 | on_failure_jump_smart&jump instead of |
| 4558 | on_failure_jump&maybe_pop_jump. Change + loops to eliminate the |
| 4559 | initial (dummy_failure_)jump. Remove c1_base (looks like unused |
| 4560 | variable to me). Use `jump' instead of `jump_past_alt' and don't |
| 4561 | bother with push_dummy_failure in alternatives since it is now |
| 4562 | unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef |
| 4563 | emacs' for (re)allocating the stack. |
| 4564 | (re_compile_fastmap): Remove dead variables i and num_regs. Exit |
| 4565 | from loop when bufp->can_be_null rather than jumping to `done'. |
| 4566 | Avoid jumping backwards so as to ensure termination. Use |
| 4567 | PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of |
| 4568 | backreferences. Remove dead code in handling of `anychar'. |
| 4569 | (skip_noops, mutually_exclusive_p): New functions taken from the |
| 4570 | handling of `maybe_pop_jump' in re_match_2_internal. Slightly |
| 4571 | improve mutually_exclusive_p to handle ".+\n". |
| 4572 | (lowest_active_reg, highest_active_reg, |
| 4573 | NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove. |
| 4574 | (re_match_2_internal): Use %p instead of 0x%x when printf'ing |
| 4575 | ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead |
| 4576 | variables. Push register (in `start_memory') on the stack rather |
| 4577 | than storing it in old_reg(start|end). Remove the cycle detection |
| 4578 | from `stop_memory', replaced by the use of on_failure_jump_loop |
| 4579 | for greedy loops. Add code for the new on_failure_jump_<foo>. |
| 4580 | Remove ad-hoc code in `on_failure_jump' to push more registers in |
| 4581 | the case of a loop. Take out code from `maybe_pop_jump' into |
| 4582 | separate functions and adapt it to the semantics of |
| 4583 | `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump |
| 4584 | and push_dummy_failure. Remove dummy_failure handling and |
| 4585 | handling of `failures to jump to on_failure_jump' (this last one |
| 4586 | was already dead code, it seems). |
| 4587 | (group_match_null_string_p, alt_match_null_string_p) |
| 4588 | (common_op_match_null_string_p): Remove. |
| 4589 | |
| 4590 | 2000-03-08 Dave Love <fx@gnu.org> |
| 4591 | |
| 4592 | * config.in: Don't depend on __STDC__ for volatile. |
| 4593 | Add POINTER_TYPE, PTR, PROTOTYPES. |
| 4594 | |
| 4595 | * hftctl.c, strftime.c: Use PROTOTYPES. |
| 4596 | * eval.c (find_handler_clause): Likewise. |
| 4597 | |
| 4598 | * mem-limits.h: Use POINTER_TYPE. |
| 4599 | |
| 4600 | * lisp.h (P_): Define based on PROTOTYPES, not __STDC__. |
| 4601 | (memory_warnings): Declare using POINTER_TYPE. |
| 4602 | |
| 4603 | 2000-03-08 Gerd Moellmann <gerd@gnu.org> |
| 4604 | |
| 4605 | * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor. |
| 4606 | |
| 4607 | * xdisp.c (display_echo_area): Temporarily inhibit garbage |
| 4608 | collection. |
| 4609 | |
| 4610 | * xfns.c: Remove obsolete code in #if 0. |
| 4611 | (Fx_focus_frame): New function. |
| 4612 | |
| 4613 | 2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp> |
| 4614 | |
| 4615 | * coding.c (coding_category_name): Add coding-category-utf-8, |
| 4616 | coding-category-utf-16-be, coding-category-utf-16-le. |
| 4617 | (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P, |
| 4618 | UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P, |
| 4619 | UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros. |
| 4620 | (detect_coding_utf_8): New function. |
| 4621 | (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P |
| 4622 | UTF_16_LOW_SURROGATE_P): New macros. |
| 4623 | (detect_coding_utf_16): New function |
| 4624 | (detect_coding_mask): When priorities are specified, skip any |
| 4625 | categories that have `nil' coding-system. Fix bug of returning |
| 4626 | wrong mask when PRIORITIES is specified and detect_coding_XXX() |
| 4627 | returns a mask not set in PRIORITIES. |
| 4628 | (detect_eol_type_in_2_octet_form): New function. |
| 4629 | (detect_eol): selects detect_eol_type_XXX to call according to |
| 4630 | cooding->category_idx. |
| 4631 | (detect_coding_system): Remove `nil' coding-system in the result. |
| 4632 | (Fupdate_coding_systems_internal): Update all coding-categories. |
| 4633 | |
| 4634 | * coding.h (CODING_CATEGORY_IDX_UTF_8, |
| 4635 | CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New |
| 4636 | macros. |
| 4637 | (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY, |
| 4638 | CODING_CATEGORY_IDX_MAX): Adjusted for the above macros. |
| 4639 | CODING_CATEGORY_IDX_UTF_16_LE. |
| 4640 | (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE, |
| 4641 | CODING_CATEGORY_MASK_UTF_16_LE): New macros. |
| 4642 | (CODING_CATEGORY_MASK_ANY): Include the above macros. |
| 4643 | (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro. |
| 4644 | |
| 4645 | 2000-03-07 Gerd Moellmann <gerd@gnu.org> |
| 4646 | |
| 4647 | * doc.c (Fdocumentation_property): If value is not a string, |
| 4648 | and doesn't refer to etc/DOC, evaluate it to obtain a string. |
| 4649 | |
| 4650 | * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to |
| 4651 | close the display with XtCloseDisplay. This caused a bus error |
| 4652 | on OpenWindows. |
| 4653 | |
| 4654 | * minibuf.c (Fminibuffer_complete): Move point to ZV when input is |
| 4655 | complete but not unique. |
| 4656 | |
| 4657 | 2000-03-06 Gerd Moellmann <gerd@gnu.org> |
| 4658 | |
| 4659 | * process.c (send_process): Remove local variable `procname' that |
| 4660 | might become invalid when a GC happens. Instead, access the |
| 4661 | process name slot directly. |
| 4662 | |
| 4663 | * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and |
| 4664 | orig_height if set. |
| 4665 | |
| 4666 | * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and |
| 4667 | orig_height if set. |
| 4668 | |
| 4669 | 2000-03-06 Eli Zaretskii <eliz@is.elta.co.il> |
| 4670 | |
| 4671 | * msdos.c (IT_note_mouse_highlight): Return immediately if frame's |
| 4672 | glyph matrices have been freed. |
| 4673 | |
| 4674 | 2000-03-05 Gerd Moellmann <gerd@gnu.org> |
| 4675 | |
| 4676 | * Makefile.in (tags): Include ../lwlib/TAGS in TAGS. |
| 4677 | (bootstrap-temacs): Set LC_ALL to C like for temacs. |
| 4678 | |
| 4679 | * xfns.c (QCdata): Moved to xdisp.c. |
| 4680 | |
| 4681 | * xdisp.c (QCdata): Moved here from xfns.c. |
| 4682 | (syms_of_xdisp): Initialize QCdata. |
| 4683 | |
| 4684 | * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define. |
| 4685 | |
| 4686 | * window.c (coordinates_in_window): Use |
| 4687 | FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of |
| 4688 | FRAME_INTERNAL_BORDER_WIDTH. |
| 4689 | |
| 4690 | * xdisp.c (try_window_id): Recompute unchanged information if |
| 4691 | it is obviously invalid. |
| 4692 | |
| 4693 | * xterm.c (x_term_init): Create a colormap if not using the |
| 4694 | default visual. |
| 4695 | |
| 4696 | * xterm.h (select_visual): Change prototype. |
| 4697 | |
| 4698 | * xfns.c (select_visual): Rewritten. Recognize user-specified |
| 4699 | visual classes. |
| 4700 | (visual_classes): New variable. |
| 4701 | |
| 4702 | 2000-03-04 Gerd Moellmann <gerd@gnu.org> |
| 4703 | |
| 4704 | * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color) |
| 4705 | (lookup_pixel_color, x_laplace, x_build_heuristic_mask) |
| 4706 | (png_load): Access colormap of frame using FRAME_X_COLORMAP. |
| 4707 | (x_decode_color): Don't handle allocation of white and black |
| 4708 | specially. |
| 4709 | (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and |
| 4710 | XtNcolormap resources. |
| 4711 | (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow. |
| 4712 | (Fx_create_frame): Initialize color members of x_output structure. |
| 4713 | (xpm_load): Pass colormap to XPM lib. |
| 4714 | |
| 4715 | * xfaces.c (x_free_colors): Access colormap of frame using |
| 4716 | FRAME_X_COLORMAP. Be paranoid about freeing black and white |
| 4717 | when default colormap is used. |
| 4718 | |
| 4719 | * xterm.c (x_term_init): Set Colormap member of x_display_info |
| 4720 | structure. Copy colormap if resource `privateColormap' is |
| 4721 | specified (PseudoColor only). |
| 4722 | (x_setup_relief_color): Access colormap of frame using |
| 4723 | FRAME_X_COLORMAP. |
| 4724 | |
| 4725 | * xterm.h (struct x_display_info): Add Colormap member `cmap'. |
| 4726 | (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros. |
| 4727 | |
| 4728 | 2000-03-04 Jason Rumney <jasonr@gnu.org> |
| 4729 | |
| 4730 | * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or |
| 4731 | other non-platform-specific equivalents. |
| 4732 | [WINDOWSNT]: Include w32term.h, fontset.h and define X |
| 4733 | specific functions and macros as their w32 equivalents where |
| 4734 | non-platform-specifics are not available. |
| 4735 | [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM. |
| 4736 | (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions. |
| 4737 | (clear_font_table) [WINDOWSNT]: Call w32_unload_font. |
| 4738 | (frame_update_line_height): Use macros to access f->output_data. |
| 4739 | (defined_color): Remove FIXME comments; fixed. |
| 4740 | (x_face_list_fonts, prepare_face_for_display): Put X specifics |
| 4741 | into #ifdef blocks. Add WINDOWSNT blocks. |
| 4742 | (Fx_list_fonts): Use macros for accessing font data. |
| 4743 | (set_lface_from_font_name): Different default fonts for X and |
| 4744 | WINDOWSNT. |
| 4745 | (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as |
| 4746 | scalable for backward compatibility. |
| 4747 | (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT. |
| 4748 | (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default. |
| 4749 | |
| 4750 | * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of |
| 4751 | syms_of_w32faces. |
| 4752 | |
| 4753 | * makefile.nt (w32faces.obj): Remove. |
| 4754 | (xfaces.obj): Add. |
| 4755 | |
| 4756 | 2000-03-03 Jason Rumney <jasonr@gnu.org> |
| 4757 | |
| 4758 | * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with |
| 4759 | correct parameters. |
| 4760 | |
| 4761 | 2000-03-03 Ken Raeburn <raeburn@gnu.org> |
| 4762 | |
| 4763 | * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide |
| 4764 | standard ELF definitions here if the system header does not. |
| 4765 | |
| 4766 | 2000-03-03 Gerd Moellmann <gerd@gnu.org> |
| 4767 | |
| 4768 | * xterm.c (PER_CHAR_METRIC): Removed. |
| 4769 | (x_per_char_metric_1, x_default_char): New functions. |
| 4770 | (x_per_char_metric): If font's default char is invalid, return |
| 4771 | metrics of a suitably chosen usable default char. |
| 4772 | (x_draw_glyph_string_foreground): If font has an invalid default |
| 4773 | char, replace occurrences of unprintable chars with a suitably |
| 4774 | chosen usable default char. |
| 4775 | |
| 4776 | 2000-03-02 Gerd Moellmann <gerd@gnu.org> |
| 4777 | |
| 4778 | * xterm.c (note_mouse_highlight): Return quickly if frame's |
| 4779 | glyph matrices have been freed. |
| 4780 | |
| 4781 | * dispnew.c (free_glyphs): Block input while freeing matrices. |
| 4782 | |
| 4783 | * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors. |
| 4784 | |
| 4785 | * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use |
| 4786 | x_free_colors. |
| 4787 | |
| 4788 | * dispextern.h (x_free_colors): Add prototype. |
| 4789 | |
| 4790 | * xfaces.c (x_free_colors): New function. |
| 4791 | (unload_color, free_face_colors): Use it. |
| 4792 | |
| 4793 | 2000-03-02 Eli Zaretskii <eliz@is.elta.co.il> |
| 4794 | |
| 4795 | * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero. |
| 4796 | |
| 4797 | * window.c [MSDOS]: Include msdos.h. |
| 4798 | |
| 4799 | 2000-03-02 Dave Love <fx@gnu.org> |
| 4800 | |
| 4801 | * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH. |
| 4802 | |
| 4803 | * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't |
| 4804 | set C_OPTIMIZE_SWITCH for gcc. |
| 4805 | |
| 4806 | 2000-03-02 Kenichi Handa <handa@etl.go.jp> |
| 4807 | |
| 4808 | * coding.c (coding_save_composition): Be sure to allocate |
| 4809 | composition data area in coding even if there's no composition in |
| 4810 | the current run. |
| 4811 | |
| 4812 | 2000-03-01 Jason Rumney <jasonr@gnu.org> |
| 4813 | |
| 4814 | * w32term.c: Equivalent changes to those made to xterm.c on |
| 4815 | 2000-02-25 and 2000-02-24. |
| 4816 | |
| 4817 | * w32fns.c: Equivalent changes to those made to xfns.c on |
| 4818 | 2000-02-25 and 2000-02-21. |
| 4819 | |
| 4820 | * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure |
| 4821 | correct line-end convention is followed. |
| 4822 | |
| 4823 | * w32menu.c [HAVE_BOXES]: Remove #undef. |
| 4824 | (single_keymap_panes): Remove code for simulating checkmarks. |
| 4825 | (single_menu_item): Remove notbuttons_ptr argument. Callers changed. |
| 4826 | Remove code for drawing simulated checkmarks. |
| 4827 | (w32_menu_show): make unibyte help string correctly. |
| 4828 | (add_menu_item): draw standard Windows checkmarks. Draw radio |
| 4829 | buttons as radio buttons if possible. |
| 4830 | |
| 4831 | 2000-03-01 Gerd Moellmann <gerd@gnu.org> |
| 4832 | |
| 4833 | * sysdep.c (start_of_text): Don't define this function for NetBSD |
| 4834 | with ELF. |
| 4835 | |
| 4836 | * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]: |
| 4837 | Don't define. |
| 4838 | (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o. |
| 4839 | (LINKER): Don't undef if __NetBSD__ is defined. |
| 4840 | |
| 4841 | * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define. |
| 4842 | |
| 4843 | * fileio.c [__NetBSD__]: Define `unix'. |
| 4844 | |
| 4845 | * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay. |
| 4846 | |
| 4847 | 2000-02-29 Gerd Moellmann <gerd@gnu.org> |
| 4848 | |
| 4849 | * atimer.c (start_atimer): Don't abort when timers are stopped. |
| 4850 | (append_atimer_lists): New function. |
| 4851 | (cancel_atimer, stop_other_atimers, run_all_atimers): Handle |
| 4852 | arbitrary lists of stopped and running atimers. |
| 4853 | |
| 4854 | * atimer.c (cancel_atimer): Handle canceling an atimer when |
| 4855 | some timers are stopped. |
| 4856 | |
| 4857 | * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null |
| 4858 | after canceling it. |
| 4859 | |
| 4860 | * fns.c (maybe_resize_hash_table): Handle case of new size |
| 4861 | coming out as being the same as old size. |
| 4862 | |
| 4863 | 2000-02-27 Jason Rumney <jasonr@gnu.org> |
| 4864 | |
| 4865 | * makefile.nt: Add atimer.h to dependencies. |
| 4866 | * w32.c (init_environment): Set Vw32_num_mouse_buttons here. |
| 4867 | * w32console.c: Only disable window system features for dispextern.h |
| 4868 | (initialize_w32_display): Build a display info for the console. |
| 4869 | * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17. |
| 4870 | * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN, |
| 4871 | WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice |
| 4872 | as 2 button mice. |
| 4873 | * w32gui.h (struct W32FontStruct): Revert last change after change |
| 4874 | to xdisp.c. |
| 4875 | * w32menu.c (single_submenu): Set up help string. |
| 4876 | [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip. |
| 4877 | (w32_dialog_show): Set up help string. |
| 4878 | * w32term.c (w32_display_info_for_display): Remove unused function. |
| 4879 | (w32_draw_bitmap): Use pre-built bitmaps. |
| 4880 | (w32_initialize_display_info): New function to initialize parts of |
| 4881 | display info that are common to both GUI and console frames. |
| 4882 | (w32_term_init): Use w32_initialize_display_info. Do not set |
| 4883 | Vw32_num_mouse_buttons here, as it is not called for console |
| 4884 | frames. Build bitmaps for indicating truncated lines etc. |
| 4885 | (x_delete_display): Destroy pre-built bitmaps. |
| 4886 | * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro. |
| 4887 | (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM. |
| 4888 | |
| 4889 | 2000-02-27 Dave Love <fx@gnu.org> |
| 4890 | |
| 4891 | * lisp.h: Add a bunch of prototypes. |
| 4892 | |
| 4893 | 2000-02-26 Kenichi Handa <handa@etl.go.jp> |
| 4894 | |
| 4895 | * keyboard.c (read_char): Set `usec' correctly. |
| 4896 | |
| 4897 | 2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp> |
| 4898 | |
| 4899 | * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is |
| 4900 | `lambda', set reg[RRR] to the map index. |
| 4901 | (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set |
| 4902 | reg[RRR] to 0. Otherwise, set it to -1. |
| 4903 | |
| 4904 | 2000-02-25 Gerd Moellmann <gerd@gnu.org> |
| 4905 | |
| 4906 | * emacs.c (main): Remove code snippet commented out with `//'. |
| 4907 | |
| 4908 | 2000-02-25 Richard M. Stallman <rms@gnu.org> |
| 4909 | |
| 4910 | * fileio.c (Ffile_symlink_p): If result starts with a `/' |
| 4911 | and contains a `:', prepend `/:'. |
| 4912 | |
| 4913 | * window.c (select_window_1): If selected_window is nil, |
| 4914 | don't "swap out" the buffer's point. |
| 4915 | (Fset_window_configuration): Set selected_window to nil |
| 4916 | before calling Fselect_window. |
| 4917 | (unshow_buffer): Don't set point in buffer from window's point |
| 4918 | if another more recently selected window also shows the buffer. |
| 4919 | |
| 4920 | 2000-02-25 Gerd Moellmann <gerd@gnu.org> |
| 4921 | |
| 4922 | * keyboard.c (recursive_edit_1): Cancel busy-cursor. |
| 4923 | |
| 4924 | * xfns.c (inhibit_busy_cursor, busy_count): Removed. |
| 4925 | (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed. |
| 4926 | (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New |
| 4927 | variables. |
| 4928 | (DEFAULT_BUSY_CURSOR_DELAY): New define. |
| 4929 | (start_busy_cursor, cancel_busy_cursor, show_busy_cursor) |
| 4930 | (hide_busy_cursor): New functions. |
| 4931 | (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay. |
| 4932 | |
| 4933 | * minibuf.c (read_minibuf): Cancel busy-cursor. |
| 4934 | |
| 4935 | * keyboard.c (command_loop_1): Call start_busy_cursor before |
| 4936 | Fcommand_execute and cancel_busy_cursor after it. |
| 4937 | (timer_check): Remove busy-cursor code. |
| 4938 | (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy |
| 4939 | cursor timer. |
| 4940 | |
| 4941 | * process.c (wait_reading_process_input): Remove busy-cursor code. |
| 4942 | |
| 4943 | * eval.c (Fsignal): Call cancel_busy_cursor instead of |
| 4944 | Fx_hide_busy_cursor. |
| 4945 | |
| 4946 | * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor): |
| 4947 | Remove prototyoes. |
| 4948 | (start_busy_cursor, cancel_busy_cursor): Add prototypes. |
| 4949 | |
| 4950 | * lisp.h (Fx_hide_busy_cursor): Remove prototype. |
| 4951 | |
| 4952 | * xterm.c (XTread_socket): Remove busy-cursor code. |
| 4953 | |
| 4954 | * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function. |
| 4955 | (build_frame_matrix_from_leaf_window): Put code handling |
| 4956 | glyph row's not being a slice of a frame row in #if 0. |
| 4957 | (sync_window_with_frame_matrix_rows): New function. |
| 4958 | (frame_row_to_window): New function. |
| 4959 | (mirror_line_dance): Handle copies between windows. |
| 4960 | |
| 4961 | * lread.c (Fload): Use `xfree' instead of `free'. |
| 4962 | (init_obarray): Use `xmalloc' instead of `malloc'. |
| 4963 | |
| 4964 | * window.c (Fset_window_buffer): Set WINDOW to the window |
| 4965 | after decoding. |
| 4966 | (coordinates_in_window): Take frame's internal border width |
| 4967 | into account. |
| 4968 | |
| 4969 | 2000-02-24 Gerd Moellmann <gerd@gnu.org> |
| 4970 | |
| 4971 | * xterm.c (x_display_and_set_cursor): Display cursor of |
| 4972 | non-selected windows depending on the setting of |
| 4973 | cursor_in_non_selected_windows. |
| 4974 | |
| 4975 | * xdisp.c (cursor_in_non_selected_windows): New variable. |
| 4976 | (syms_of_xdisp): DEFVAR_BOOL it. |
| 4977 | |
| 4978 | 2000-02-23 Gerd Moellmann <gerd@gnu.org> |
| 4979 | |
| 4980 | * data.c (Fstring_to_number): If number is greater than what |
| 4981 | fits into an integer, return a float. |
| 4982 | |
| 4983 | * eval.c (specbind): Remove references to |
| 4984 | keyword_symbols_constant_flag. |
| 4985 | |
| 4986 | * data.c (keyword_symbols_constant_flag): Removed. |
| 4987 | (Fmakunbound, set_internal, syms_of_data): Remove references to |
| 4988 | keyword_symbols_constant_flag. |
| 4989 | |
| 4990 | * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag. |
| 4991 | |
| 4992 | 2000-02-23 Kenichi Handa <handa@etl.go.jp> |
| 4993 | |
| 4994 | * syntax.c (multibyte_syntax_as_symbol): New variable. |
| 4995 | (syms_of_syntax): Declare it as a Lisp variable. |
| 4996 | (SYNTAX_WITH_MULTIBYTE_CHECK): New macro. |
| 4997 | (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are |
| 4998 | nonzero, treat all multibyte characters as symbol. |
| 4999 | (init_syntax_once): Give syntax `word' to all multibyte |
| 5000 | characters. |
| 5001 | |
| 5002 | 2000-02-22 Eli Zaretskii <eliz@is.elta.co.il> |
| 5003 | |
| 5004 | * frame.c (Fdelete_frame): Don't let echo_area_window remain on |
| 5005 | a deleted frame. |
| 5006 | |
| 5007 | 2000-02-21 Gerd Moellmann <gerd@gnu.org> |
| 5008 | |
| 5009 | * frame.c (Fmouse_position): GCPRO retval instead of x and y. |
| 5010 | |
| 5011 | * xfns.c (x_window_to_frame, x_any_window_to_frame) |
| 5012 | (x_non_menubar_window_to_frame): Check the busy-cursor window. |
| 5013 | |
| 5014 | 2000-02-21 Dave Love <fx@gnu.org> |
| 5015 | |
| 5016 | * frame.c (Vmouse_position_function): New variable. |
| 5017 | (Fmouse_position): Use it. |
| 5018 | (syms_of_frame): Install it. |
| 5019 | |
| 5020 | * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'. |
| 5021 | |
| 5022 | 2000-02-20 Gerd Moellmann <gerd@gnu.org> |
| 5023 | |
| 5024 | * fileio.c (Finsert_file_contents): Unbind the binding of |
| 5025 | standard-output done by temp_output_buffer_setup. |
| 5026 | |
| 5027 | * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless |
| 5028 | Vmocklisp_arguments is nil. Inline Fcar and Fcdr. |
| 5029 | (specbind, unbind_to): Handle most common case of non-constant |
| 5030 | symbol with trivial value specially. |
| 5031 | |
| 5032 | * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case. |
| 5033 | |
| 5034 | 2000-02-20 Richard M. Stallman <rms@gnu.org> |
| 5035 | |
| 5036 | * data.c (Fmake_variable_buffer_local): Doc fix. |
| 5037 | Init found_for_buffer to 0. |
| 5038 | (Fmake_variable_frame_local): If the variable has already |
| 5039 | been buffer-local, set the check_frame field. |
| 5040 | |
| 5041 | 2000-02-20 Eli Zaretskii <eliz@is.elta.co.il> |
| 5042 | |
| 5043 | * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data |
| 5044 | produced for CODING_MODE_LAST_BLOCK requires. |
| 5045 | |
| 5046 | 2000-02-18 Dave Love <fx@gnu.org> |
| 5047 | |
| 5048 | * keyboard.c (echo_keystrokes): Remove declaration. |
| 5049 | (Vecho_keystrokes) New variable. |
| 5050 | (read_char, record_menu_key, read_key_sequence): Use it to allow |
| 5051 | use of float value. |
| 5052 | (syms_of_keyboard): Change Vecho_keystrokes declaration. |
| 5053 | |
| 5054 | * lread.c: Undef feature selection macros before defining. |
| 5055 | |
| 5056 | 2000-02-18 Gerd Moellmann <gerd@gnu.org> |
| 5057 | |
| 5058 | * data.c (let_shadows_buffer_binding_p): Ignore specbindings |
| 5059 | for symbols other than the symbol in question. |
| 5060 | |
| 5061 | 2000-02-17 Dave Love <fx@gnu.org> |
| 5062 | |
| 5063 | * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization. |
| 5064 | |
| 5065 | 2000-02-17 Gerd Moellmann <gerd@gnu.org> |
| 5066 | |
| 5067 | * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef. |
| 5068 | |
| 5069 | * alloc.c (enum mem_type): Compile unconditionally. |
| 5070 | |
| 5071 | 2000-02-17 Eli Zaretskii <eliz@is.elta.co.il> |
| 5072 | |
| 5073 | * xfaces.c (tty_defined_color): Don't return faulire indication |
| 5074 | for unspecified-fg and unspecified-bg pseudo-colors. |
| 5075 | |
| 5076 | 2000-02-17 Gerd Moellmann <gerd@gnu.org> |
| 5077 | |
| 5078 | * alloc.c (mark_object): Don't mark symbol names in pure space. |
| 5079 | (gc_sweep): Don't unmark symbol names in pure space. |
| 5080 | |
| 5081 | * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS) |
| 5082 | (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES) |
| 5083 | [GC_MARK_STACK]: New defines. |
| 5084 | (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO) |
| 5085 | [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops. |
| 5086 | |
| 5087 | * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base. |
| 5088 | |
| 5089 | * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use |
| 5090 | allocate_buffer instead of xmalloc. |
| 5091 | |
| 5092 | * alloc.c (toplevel): Include setjmp.h. |
| 5093 | (PURE_POINTER_P): New define. |
| 5094 | (enum mem_type) [GC_MARK_STACK]: New enumeration. |
| 5095 | (Vdead) [GC_MARK_STACK]: New variable. |
| 5096 | (lisp_malloc): Add parameter TYPE, call mem_insert if |
| 5097 | GC_MARK_STACK is defined. |
| 5098 | (allocate_buffer): New function. |
| 5099 | (lisp_free) [GC_MARK_STACK]: Call mem_delete. |
| 5100 | (free_float) [GC_MARK_STACK]: Set type to Vdead. |
| 5101 | (free_cons) [GC_MARK_STACK]: Set car to Vdead. |
| 5102 | (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables. |
| 5103 | (MEM_NIL) [GC_MARK_STACK]: New define. |
| 5104 | (struct mem_node) [GC_MARK_STACK]: New structure. |
| 5105 | (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup) |
| 5106 | (mem_delete_fixup, mem_rotate_left, mem_rotate_right) |
| 5107 | (live_string_p, live_cons_p, live_symbol_p, live_float_p) |
| 5108 | (live_misc_p, live_vector_p, live_buffer_p, mark_memory) |
| 5109 | (mark_stack) [GC_MARK_STACK]: New functions. |
| 5110 | (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack. |
| 5111 | (clear_marks): Removed. |
| 5112 | (gc_sweep): Set free conses' car, free floats' type, free |
| 5113 | symbols' function to Vdead. Use lisp_free to free buffers. |
| 5114 | (init_alloc_once): Initialize Vdead. |
| 5115 | (survives_gc_p): Return non-zero for pure objects. |
| 5116 | |
| 5117 | * alloc.c: Add comments throughout the file. |
| 5118 | |
| 5119 | * atimer.c (stop_other_atimers): Don't call cancel_atimer because |
| 5120 | that unblocks alarms. |
| 5121 | |
| 5122 | * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c, |
| 5123 | emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h, |
| 5124 | Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'. |
| 5125 | |
| 5126 | * frame.c (make_frame): Set frame initiallly to `garbaged'. |
| 5127 | |
| 5128 | 2000-02-17 Kenichi Handa <handa@etl.go.jp> |
| 5129 | |
| 5130 | * xdisp.c (decode_mode_spec_coding): Delete superfluous code to |
| 5131 | avoid infinite error signaling. Allocate sufficient memory for |
| 5132 | eol_str in the case that eoltype is Lisp_Int. |
| 5133 | |
| 5134 | 2000-02-17 Stefan Monnier <monnier@cs.yale.edu> |
| 5135 | |
| 5136 | * syntax.c (Fforward_comment): Undo the previous change, since cc-mode |
| 5137 | depends on the previous behavior. |
| 5138 | |
| 5139 | 2000-02-16 Gerd Moellmann <gerd@gnu.org> |
| 5140 | |
| 5141 | * sysdep.c (vfork) [!HAVE_VFORK]: Removed. |
| 5142 | |
| 5143 | 2000-02-15 Gerd Moellmann <gerd@gnu.org> |
| 5144 | |
| 5145 | * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define. |
| 5146 | |
| 5147 | * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]: |
| 5148 | Workaround for FreeBSD bug. Clear output queue after EAGAIN in |
| 5149 | write(2). |
| 5150 | |
| 5151 | 2000-02-15 Richard M. Stallman <rms@gnu.org> |
| 5152 | |
| 5153 | * data.c (set_internal): Don't make variable buffer-local |
| 5154 | if within a let-binding for the same buffer. |
| 5155 | (let_shadows_buffer_binding_p): New function. |
| 5156 | |
| 5157 | * eval.c (specbind): For buffer-local value, |
| 5158 | record the current buffer also. |
| 5159 | (unbind_to): Cope with that change. |
| 5160 | |
| 5161 | 2000-02-15 Gerd Moellmann <gerd@gnu.org> |
| 5162 | |
| 5163 | * window.c (Fsave_window_excursion): Doc fix. |
| 5164 | |
| 5165 | 2000-02-15 Stefan Monnier <monnier@cs.yale.edu> |
| 5166 | |
| 5167 | * syntax.c (back_comment): Make sure we only consider comment-starters |
| 5168 | of the relevant style and return -1 in case of a failure to find the |
| 5169 | beginning of the comment. |
| 5170 | (Fforward_comment): If back_comment fails, go back to the position just |
| 5171 | after the comment-end. |
| 5172 | (scan_lists): Add comment describing a very minor bug. |
| 5173 | |
| 5174 | 2000-02-14 Stefan Monnier <monnier@cs.yale.edu> |
| 5175 | |
| 5176 | * minibuf.c (Ftry_completion, Fall_completions): Add a reference to |
| 5177 | `completion-regexp-list' in the docstring. |
| 5178 | |
| 5179 | 2000-02-14 Dave Love <fx@gnu.org> |
| 5180 | |
| 5181 | * xfaces.c (tty_defined_color): Declare color_idx unsigned long. |
| 5182 | |
| 5183 | 2000-02-14 Stefan Monnier <monnier@cs.yale.edu> |
| 5184 | |
| 5185 | * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS |
| 5186 | to Emacs' syntax. Also fix the comment about set/not-set meanings |
| 5187 | since Emacs syntax is not the value 0 any more. |
| 5188 | * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax |
| 5189 | since it's now part of RE_SYNTAX_EMACS. |
| 5190 | |
| 5191 | 2000-02-12 Dave Love <fx@gnu.org> |
| 5192 | |
| 5193 | * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on |
| 5194 | Alpha. |
| 5195 | |
| 5196 | 2000-02-12 Gerd Moellmann <gerd@gnu.org> |
| 5197 | |
| 5198 | * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively. |
| 5199 | |
| 5200 | 2000-02-12 Dave Love <fx@gnu.org> |
| 5201 | |
| 5202 | * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc. |
| 5203 | |
| 5204 | * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h: |
| 5205 | * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h: |
| 5206 | * s/hpux.h: Don't define HAVE_VFORK. |
| 5207 | |
| 5208 | * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST. |
| 5209 | |
| 5210 | * s/nextstep.h: Don't define HAVE_ALLOCA. |
| 5211 | |
| 5212 | * config.in: Add vfork bits. |
| 5213 | |
| 5214 | 2000-02-12 Gerd Moellmann <gerd@gnu.org> |
| 5215 | |
| 5216 | * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register |
| 5217 | unwind function to undo the effect of stopping atimers. |
| 5218 | |
| 5219 | * keyboard.c (bind_polling_period): Stop all timers except |
| 5220 | poll_timer. |
| 5221 | |
| 5222 | * atimer.c (stopped_atimers): New variable. |
| 5223 | (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers): |
| 5224 | New functions. |
| 5225 | |
| 5226 | * atimer.h (stop_other_atimers, run_all_atimers) |
| 5227 | (unwind_stop_other_atimers): Add function prototypes. |
| 5228 | |
| 5229 | * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined. |
| 5230 | |
| 5231 | 2000-02-11 Ken Raeburn <raeburn@gnu.org> |
| 5232 | |
| 5233 | * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff |
| 5234 | library may depend on jpeg. |
| 5235 | (atimer.o): Depends on atimer.c. |
| 5236 | |
| 5237 | 2000-02-11 Kenichi Handa <handa@etl.go.jp> |
| 5238 | |
| 5239 | * insdel.c (del_range_1): Call update_compositions. |
| 5240 | (del_range_both): Call update_compositions just once.. |
| 5241 | |
| 5242 | 2000-02-10 Dave Love <fx@gnu.org> |
| 5243 | |
| 5244 | * xfns.c (create_frame_xic): Fix initialization of automatic |
| 5245 | aggregates for pcc. |
| 5246 | |
| 5247 | 2000-02-09 Kenichi Handa <handa@etl.go.jp> |
| 5248 | |
| 5249 | * ccl.c (CCL_MAKE_CHAR): New macro. |
| 5250 | (ccl_driver) <CCL_TranslateCharacter>: Check the validity of |
| 5251 | registers by CCL_MAKE_CHAR before calling translate_char. |
| 5252 | <CCL_TranslateCharacterConstTbl> Likewise. |
| 5253 | |
| 5254 | 2000-02-08 Dave Love <fx@gnu.org> |
| 5255 | |
| 5256 | * lread.c (__EXTENSIONS__): Define. |
| 5257 | |
| 5258 | 2000-02-08 Gerd Moellmann <gerd@gnu.org> |
| 5259 | |
| 5260 | * puresize.h (BASE_PURESIZE): Increase to 650000. |
| 5261 | |
| 5262 | 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il> |
| 5263 | |
| 5264 | * msdos.c (XMenuActivate): Turn off the cursor after displaying |
| 5265 | the help message. |
| 5266 | |
| 5267 | 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il> |
| 5268 | |
| 5269 | * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue, |
| 5270 | md, mh, mb, mr, and me to the fake termcap entry. |
| 5271 | |
| 5272 | 2000-02-06 Ken Raeburn <raeburn@gnu.org> |
| 5273 | |
| 5274 | * sound.c (sound_cleanup): Don't call device close routine if the |
| 5275 | function pointer is null. |
| 5276 | |
| 5277 | 2000-02-06 Andrew Innes <andrewi@gnu.org> |
| 5278 | |
| 5279 | * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM, |
| 5280 | around image definitions and prototypes. |
| 5281 | (gamma_correct) [WINDOWSNT]: New prototype. |
| 5282 | |
| 5283 | * w32term.c (x_make_frame_visible): Replace call to |
| 5284 | input_poll_signal with poll_for_input. |
| 5285 | |
| 5286 | * window.c [WINDOWSNT]: Include w32term.h. |
| 5287 | |
| 5288 | * xdisp.c [WINDOWSNT]: Include w32term.h. |
| 5289 | |
| 5290 | * makefile.nt: Add dependencies on w32gui.h. |
| 5291 | (OBJ1): Include atimer.obj. |
| 5292 | ($(BLD)\atimer.obj): New dependency rule. |
| 5293 | |
| 5294 | * w32.c (sigmask): New function (does nothing). |
| 5295 | (sigunblock): Ditto. |
| 5296 | |
| 5297 | * frame.c [WINDOWSNT]: Include w32term.h. |
| 5298 | |
| 5299 | * w32gui.h (struct W32FontStruct): Add ascent and descent slots. |
| 5300 | |
| 5301 | * lread.c (syms_of_lread): Fix literal newlines. |
| 5302 | |
| 5303 | * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around |
| 5304 | the string constant limit (2048 bytes) in MSVC. |
| 5305 | (main): Ditto. |
| 5306 | |
| 5307 | 2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp> |
| 5308 | |
| 5309 | * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit |
| 5310 | area. |
| 5311 | (x_display_cursor) [HAVE_X_I18N]: Don't set it here. |
| 5312 | (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't |
| 5313 | dispatch the event. |
| 5314 | |
| 5315 | 2000-02-04 Dave Love <fx@gnu.org> |
| 5316 | |
| 5317 | * fileio.c: Remove some unused vars. |
| 5318 | (_GNU_SOURCE): Define (for euidaccess). |
| 5319 | |
| 5320 | * lread.c (_XOPEN_SOURCE): Declare (for ftello). |
| 5321 | |
| 5322 | * minibuf.c (read_minibuf_noninteractive): Remove undeclared |
| 5323 | gcpro1, gcpro2. |
| 5324 | (read_minibuf): Deal with allow_props correctly. |
| 5325 | |
| 5326 | 2000-02-03 Eli Zaretskii <eliz@is.elta.co.il> |
| 5327 | |
| 5328 | * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000. |
| 5329 | |
| 5330 | 2000-02-03 Ken Raeburn <raeburn@gnu.org> |
| 5331 | |
| 5332 | * search.c (compile_pattern): If a cache entry has a nil regexp, |
| 5333 | fill in that entry instead of clobbering a previously cached |
| 5334 | string regexp. |
| 5335 | |
| 5336 | 2000-02-02 Ken Raeburn <raeburn@gnu.org> |
| 5337 | |
| 5338 | * puresize.h (BASE_PURESIZE): Increase to 610000. |
| 5339 | |
| 5340 | 2000-02-02 Gerd Moellmann <gerd@gnu.org> |
| 5341 | |
| 5342 | * frame.c (Fframe_parameters): Add GCPRO because tty_color_name |
| 5343 | can GC. |
| 5344 | |
| 5345 | 2000-02-02 Kenichi Handa <handa@etl.go.jp> |
| 5346 | |
| 5347 | * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address |
| 5348 | instead of incrementing ic directly. |
| 5349 | <CCL_WriteExprConst> Likewise. |
| 5350 | <ccl_set_expr>: Set ic to jump_address. |
| 5351 | |
| 5352 | * fileio.c (e_write): Fix the handling of |
| 5353 | CODING_FINISH_INSUFFICIENT_SRC. |
| 5354 | |
| 5355 | 2000-02-01 Dave Love <fx@gnu.org> |
| 5356 | |
| 5357 | * editfns.c (Fpropertize): Doc fix. |
| 5358 | |
| 5359 | * process.c (Fstart_process): Doc fix. |
| 5360 | |
| 5361 | * eval.c: Fix various doc strings not to duplicate information |
| 5362 | from help-manyarg-func-alist. |
| 5363 | |
| 5364 | * window.c (Fset_window_margins): Don't make interactive. Doc |
| 5365 | fix. |
| 5366 | |
| 5367 | * doc.c (Vhelp_manyarg_func_alist): New variable. |
| 5368 | (Fdocumentation): Use it. |
| 5369 | (syms_of_doc): Define it. |
| 5370 | |
| 5371 | 2000-01-31 Gerd Moellmann <gerd@gnu.org> |
| 5372 | |
| 5373 | * xterm.c (xim_open_dpy): Remove unused local variable. |
| 5374 | |
| 5375 | * emacs.c (USAGE): Use term `display options' instead of `X |
| 5376 | options'. |
| 5377 | |
| 5378 | * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function. |
| 5379 | (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it. |
| 5380 | |
| 5381 | * fns.c (sweep_weak_table): New function. |
| 5382 | (sweep_weak_hash_tables): Use it. Keep on marking until there |
| 5383 | is no more change. |
| 5384 | |
| 5385 | 2000-01-30 Gerd Moellmann <gerd@gnu.org> |
| 5386 | |
| 5387 | * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure |
| 5388 | that XTread_socket does not crash by trying to call XNoOp on a |
| 5389 | closed display. |
| 5390 | |
| 5391 | 2000-01-30 Jason Rumney <jasonr@gnu.org> |
| 5392 | |
| 5393 | * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to): |
| 5394 | Change selected_frame to SELECTED_FRAME (). |
| 5395 | (w32_console_mouse_position): Remove #ifndef MULE from around |
| 5396 | `insist' parameter. |
| 5397 | |
| 5398 | * makefile.nt: Remove dosfns.obj. |
| 5399 | |
| 5400 | * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors. |
| 5401 | |
| 5402 | * w32fns.c (w32_defined_color): Check for valid frame before |
| 5403 | applying gamma correction. Eliminate dependency on frame elsewhere. |
| 5404 | (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH. |
| 5405 | (w32_to_x_font): Use resx and resy not height_in and width_in. |
| 5406 | (x_to_w32_font): Doc fix. |
| 5407 | (xlfd_strip_height): New function to strip and return font height. |
| 5408 | (w32_font_match): Compare height separately from rest of xlfd |
| 5409 | spec, using xlfd_strip_height. |
| 5410 | |
| 5411 | * w32term.c (w32_term_init): Swap resx and height_in, resy and |
| 5412 | width_in. Use w32_defined_color in place of defined_color. |
| 5413 | |
| 5414 | * w32faces.c: Merge more of DOS and X specifics in preparation for |
| 5415 | merge with xfaces.c. |
| 5416 | (defined_color): Remove FIXME comment. |
| 5417 | (tty_color_name): Provide w32-specific function. |
| 5418 | (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially. |
| 5419 | |
| 5420 | * w32console.c (turn_on_face, turn_off_face): Removed. |
| 5421 | (w32_face_attributes): New function. |
| 5422 | (Global_variables): Reduce scope where possible. |
| 5423 | (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as |
| 5424 | fill attribute. |
| 5425 | (hl_mode): Don't modify text attributes. |
| 5426 | (write_glyphs): Don't do anything if len <= 0. Use |
| 5427 | w32_face_attributes to get attributes for drawing. Write |
| 5428 | terminating codes using char_attr_normal. |
| 5429 | (reset_terminal_modes, set_terminal_modes): Turn off highlight. |
| 5430 | (update_begin, update_end): Likewise. |
| 5431 | (vga_stdcolor_name): New function. |
| 5432 | (initialize_w32_display): Remove char_attr_reverse and char_attr. |
| 5433 | (Fset_screen_color): Remove char_attr_reverse. |
| 5434 | |
| 5435 | 2000-01-29 Gerd Moellmann <gerd@gnu.org> |
| 5436 | |
| 5437 | * xfns.c (xic_set_preeditarea): Take window parameter and |
| 5438 | window-relative pixel-positions. |
| 5439 | |
| 5440 | * xterm.c (x_display_cursor): Set XIC pre-edit area only if window |
| 5441 | is its frame's selected window. |
| 5442 | (xim_instantiate_callback): Likewise. |
| 5443 | |
| 5444 | * xfns.c (x_create_im): Removed. |
| 5445 | (DEFAULT_STYLE, DEFAULT_FONT): Removed. |
| 5446 | (supported_xim_styles): Renamed from supported_styles. |
| 5447 | (best_xim_style): Renamed from best_style. |
| 5448 | (create_frame_xic): Renamed from xic_create_frame. |
| 5449 | (free_frame_xic): Renamed from xic_destroy_frame. |
| 5450 | |
| 5451 | 2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp> |
| 5452 | |
| 5453 | * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of |
| 5454 | our frames, call XFilterEvent with 2nd parameter `None'. |
| 5455 | (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString |
| 5456 | returning XBufferOverflow. |
| 5457 | (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status |
| 5458 | area. |
| 5459 | (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area. |
| 5460 | (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset. |
| 5461 | (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback) |
| 5462 | (xim_initialize, xim_close) |
| 5463 | [HAVE_X_I18N && HAVE_X11R6]: New functions. |
| 5464 | (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame. |
| 5465 | (x_term_init) [HAVE_X_I18N]: Call xim_initialize. |
| 5466 | (x_delete_display) [HAVE_X_I18N]: Call xim_close. |
| 5467 | |
| 5468 | * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim' |
| 5469 | and `xim_styles'. |
| 5470 | (struct x_output) [HAVE_X_I18N]: Remove member `xim', add |
| 5471 | `xic_style' and `xic_xfs'. |
| 5472 | (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES) |
| 5473 | (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros. |
| 5474 | (FRAME_XIM): Removed. |
| 5475 | |
| 5476 | * xfns.c (supported_styles): New variable. |
| 5477 | (DEFAULT_STYLE, DEFAULT_FONT): New macros |
| 5478 | (xic_create_xfontset, best_style, xic_create_frame) |
| 5479 | (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea) |
| 5480 | (xic_set_xfontset): New functions. |
| 5481 | |
| 5482 | 2000-01-28 Dave Love <fx@gnu.org> |
| 5483 | |
| 5484 | * s/irix6-5.h: Revert last change after change to irix5-0.h. |
| 5485 | |
| 5486 | * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0. |
| 5487 | |
| 5488 | 2000-01-28 Gerd Moellmann <gerd@gnu.org> |
| 5489 | |
| 5490 | * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode |
| 5491 | for *scratch* if it already existed. |
| 5492 | |
| 5493 | * emacs.c (USAGE): New macro. |
| 5494 | (main): Use it to display usage information. |
| 5495 | |
| 5496 | 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il> |
| 5497 | |
| 5498 | Support for the menu-help feature: |
| 5499 | |
| 5500 | * msdos.h: Change prototypes of XMenuAddSelection and |
| 5501 | XMenuActivate. |
| 5502 | |
| 5503 | * msdos.c (IT_clear_end_of_line): Print the extent of the cleared |
| 5504 | part of the line to the termscript file. |
| 5505 | (IT_clear_to_end): Clear the entire line, not just its beginning. |
| 5506 | (menu_help_message, prev_menu_help_message): New variables. |
| 5507 | (IT_menu_make_room): Make room for the help_text member. |
| 5508 | (IT_menu_display): New argument disp_help; all callers changed. |
| 5509 | If disp_help is non-zero, store the help text of the active menu |
| 5510 | item in menu_help_message. |
| 5511 | (XMenuAddPane): Initialize the help_text member to NULL. |
| 5512 | (XMenuAddSelection): New argument help_text. Store it in the |
| 5513 | XMenu structure. |
| 5514 | (XMenuActivate): New argument help_callback. If the value of |
| 5515 | menu_help_message has changed since the last time, display the |
| 5516 | menu help message text while waiting for the mouse to move. Clear |
| 5517 | the echo area before exiting. |
| 5518 | (XMenuDestroy): Free the help_text member. |
| 5519 | |
| 5520 | 2000-01-27 Gerd Moellmann <gerd@gnu.org> |
| 5521 | |
| 5522 | * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to |
| 5523 | XMenuAddSelection. Pass help callback to XMenuActivate. |
| 5524 | (menu_help_callback) [!USE_X_TOOLKIT]: New function. |
| 5525 | |
| 5526 | 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il> |
| 5527 | |
| 5528 | * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS |
| 5529 | and EMACS_SET_USECS. |
| 5530 | |
| 5531 | 2000-01-26 Dave Love <fx@gnu.org> |
| 5532 | |
| 5533 | * editfns.c (Fchar_after, Fchar_before): Doc fix. |
| 5534 | |
| 5535 | * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where |
| 5536 | an error may be signalled. |
| 5537 | |
| 5538 | 2000-01-26 Gerd Moellmann <gerd@gnu.org> |
| 5539 | |
| 5540 | * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef |
| 5541 | LD_SWITCH_SYSTEM inherited from irix5-0.h. |
| 5542 | |
| 5543 | * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo. |
| 5544 | |
| 5545 | 2000-01-25 Gerd Moellmann <gerd@gnu.org> |
| 5546 | |
| 5547 | * charset.c (Fstring): If there is a multibyte char among |
| 5548 | the args, always return a multibyte string. |
| 5549 | |
| 5550 | 2000-01-25 Gerd Moellmann <gerd@gnu.org> |
| 5551 | |
| 5552 | * sysdep.c (sys_select): Turn atimers off and on instead of |
| 5553 | recording and restoring old alarm handler |
| 5554 | |
| 5555 | * process.c (toplevel): Include atimer.h. |
| 5556 | (create_process_1): Rewritten. |
| 5557 | (create_process): Use atimers instead of alarm. |
| 5558 | (wait_reading_process_input) [hpux]: Turn atimers off instead |
| 5559 | of turning off SIGALRM. |
| 5560 | (wait_reading_process_input): Turn off atimers instead off |
| 5561 | calling stop_polling. |
| 5562 | |
| 5563 | * emacs.c (main): Call init_atimer. |
| 5564 | |
| 5565 | * keyboard.c (toplevel): Include systime.h and atimer.h. |
| 5566 | (polling_for_input): Removed because unused. |
| 5567 | (input_poll_signal) [POLL_FOR_INPUT]: Removed. |
| 5568 | (poll_timer): New variable. |
| 5569 | (poll_for_input, poll_for_input_1): New functions. |
| 5570 | (start_polling, stop_polling): Rewritten. |
| 5571 | |
| 5572 | * keyboard.h (polling_for_input): Removed. |
| 5573 | |
| 5574 | * atimer.h, atimer.c: New files. |
| 5575 | |
| 5576 | * Makefile.in (obj): Add atimer.o. |
| 5577 | (atimer.o): New target. |
| 5578 | |
| 5579 | * blockinput.h (pending_atimers): Add extern declaration. |
| 5580 | (UNBLOCK_INPUT): Rewritten. Handle pending atimers. |
| 5581 | |
| 5582 | * lisp.h (popup_activated_flag): Add extern declaration. |
| 5583 | |
| 5584 | * xmenu.c (popup_activated_flag): Make externally visible. |
| 5585 | (popup_activate_callback) [USE_MOTIF]: Increment |
| 5586 | popup_activated_flag. |
| 5587 | (popup_deactivate_callback) [USE_MOTIF]: Decrement it. |
| 5588 | |
| 5589 | * xterm.c (toplevel): Include atimer.h. |
| 5590 | (toolkit_scroll_bar_interaction): New variable. |
| 5591 | (Fxt_process_timeouts): Removed. |
| 5592 | (x_process_timeouts): New function. |
| 5593 | (xt_action_hook): Clear toolkit_scroll_bar_interaction. |
| 5594 | (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction. |
| 5595 | (x_make_frame_visible): Call poll_for_input_1 instead of |
| 5596 | input_poll_signal. Don't call alarm. |
| 5597 | (x_initialize): Install timer calling x_process_timeouts. |
| 5598 | |
| 5599 | 2000-01-24 Dave Love <fx@gnu.org> |
| 5600 | |
| 5601 | * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now. |
| 5602 | Don't use -cckr -- apparently not now necessary. |
| 5603 | |
| 5604 | 2000-01-24 Eli Zaretskii <eliz@is.elta.co.il> |
| 5605 | |
| 5606 | * msdos.c (IT_menu_display): Truncate long menu lines at the right |
| 5607 | screen boundary. |
| 5608 | |
| 5609 | 2000-01-23 Jason Rumney <jasonr@gnu.org> |
| 5610 | |
| 5611 | * w32fns.c (w32_defined_color): Apply gamma correction before |
| 5612 | trying to map to the palette. |
| 5613 | (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame |
| 5614 | to w32_clear_rect. |
| 5615 | |
| 5616 | * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc |
| 5617 | here. Callers changed to always pass real device context. |
| 5618 | (w32_draw_bitmap): Likewise. |
| 5619 | (w32_get_glyph_overhangs): Likewise. |
| 5620 | (w32_draw_box_rect): Make use of s->hdc rather than getting a new |
| 5621 | one. |
| 5622 | (w32_set_vertical_scroll_bar): Pass correct HWND parameters to |
| 5623 | pfnSetScrollInfo and SetScrollRange. |
| 5624 | (x_get_char_face_and_encoding): Don't turn iso8859-1 characters |
| 5625 | back into MULE characters after decoding them. |
| 5626 | (x_get_glyph_face_and_encoding): Likewise. |
| 5627 | (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when |
| 5628 | GetCharABCWidthsW fails, since this is defined on Windows 9x. |
| 5629 | (x_produce_glyphs): Calculate per char metrics for a character |
| 5630 | that we know exists in default font when font_not_found_p is true. |
| 5631 | |
| 5632 | 2000-01-22 Jason Rumney <jasonr@gnu.org> |
| 5633 | |
| 5634 | * makefile.nt (intervals.obj, composite.obj): New modules. |
| 5635 | (composite.h): Added as dependency where appropriate. |
| 5636 | |
| 5637 | * w32gui.h (XGCValue): New struct for emulating X GCs. |
| 5638 | |
| 5639 | * w32term.h (XCharStruct): New struct for emulating X. |
| 5640 | |
| 5641 | * w32console.c (turn_on_face, turn_off_face): New functions. |
| 5642 | (change_line_highlight): New prototype for new redisplay. |
| 5643 | (write_glyphs): Support multibyte text. Support faces. |
| 5644 | |
| 5645 | * w32faces.c: Complete rewrite for new redisplay based on new |
| 5646 | xfaces.c. |
| 5647 | |
| 5648 | * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame |
| 5649 | throughout. struct frame * in place of FRAME_PTR. |
| 5650 | Skeleton support for images, toolbars, tooltips from xfns.c. |
| 5651 | (Fx_create_frame): Use system default for default scroll bar |
| 5652 | width. |
| 5653 | (w32_get_arg): Renamed from x_get_arg. |
| 5654 | (Fx_file_dialog): New function. |
| 5655 | (w32_list_fonts): Check cache before asking system. |
| 5656 | (Vw32_enable_synthesized_fonts): New variable. |
| 5657 | (Vw32_enable_italics): Obsolete, removed. |
| 5658 | |
| 5659 | * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to): |
| 5660 | Use SELECTED_FRAME macro. |
| 5661 | |
| 5662 | * w32menu.c: Add skeleton support for help strings on menus. |
| 5663 | (add_menu_item): Native checkbox and radio support added, but not |
| 5664 | yet enabled due to bugs. |
| 5665 | (push_menu_item): Add parameters type, selection and help. |
| 5666 | Callers updated. |
| 5667 | Formatting changes to reduce unnecessary diffs with xmenu.c. |
| 5668 | |
| 5669 | * w32select.c (Fw32_set_clipboard_data): Update call to |
| 5670 | find_charset_in_str. |
| 5671 | |
| 5672 | * w32term.c: Complete rewrite for new redisplay based on new |
| 5673 | xterm.c with necessary sections merged back in from old w32term.c. |
| 5674 | |
| 5675 | 2000-01-21 Richard M. Stallman <rms@gnu.org> |
| 5676 | |
| 5677 | * data.c (set_internal): Further fix in same criterion. |
| 5678 | |
| 5679 | 2000-01-20 Richard M. Stallman <rms@gnu.org> |
| 5680 | |
| 5681 | * data.c (set_internal): Fix the criteria for whether |
| 5682 | to swap out the old cached binding. |
| 5683 | |
| 5684 | 2000-01-19 Dave Love <fx@gnu.org> |
| 5685 | |
| 5686 | * lread.c: (syms_of_lread) [user-init-file]: Doc change. |
| 5687 | |
| 5688 | 2000-01-18 Kenichi Handa <handa@etl.go.jp> |
| 5689 | |
| 5690 | * regex.c (re_compile_fastmap): While checking a range table for |
| 5691 | `charset', skip flag bits for a character class correctly. |
| 5692 | |
| 5693 | 2000-01-17 Gerd Moellmann <gerd@gnu.org> |
| 5694 | |
| 5695 | * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC. |
| 5696 | |
| 5697 | * xfns.c (x_window): Call lw_create_widget with new parameter |
| 5698 | list. |
| 5699 | |
| 5700 | * widget.c (EmacsFrameSetCharSize): Change size of children first |
| 5701 | because of problems with main window geometry management under |
| 5702 | Lesstif. |
| 5703 | |
| 5704 | * xmenu.c (enum menu_item_idx): New enumeration replacing defines |
| 5705 | MENU_ITEMS_ITEM_.*. |
| 5706 | (MENU_ITEMS_ITEM_HELP): New enumerator. |
| 5707 | (push_menu_item): Add parameter HELP. Record help in menu_items. |
| 5708 | (single_menu_item, single_submenu, list_of_items): Call |
| 5709 | push_menu_item with new parameter. |
| 5710 | (single_submenu): Set help string in widget value. |
| 5711 | (menu_highlight_callback): New function. |
| 5712 | (set_frame_menubar): Call lw_create_widget with new |
| 5713 | parameter list. |
| 5714 | (xmenu_show, xdialog_show): Ditto. |
| 5715 | |
| 5716 | 2000-01-13 Gerd Moellmann <gerd@gnu.org> |
| 5717 | |
| 5718 | * sound.c (Fplay_sound): Improve doc string. |
| 5719 | |
| 5720 | 2000-01-11 Richard M. Stallman <rms@gnu.org> |
| 5721 | |
| 5722 | * lisp.h (set_internal): Enter the new arg. |
| 5723 | |
| 5724 | * eval.c (specbind): Record buffer-local variables specially, |
| 5725 | indicating which buffer's binding was saved. |
| 5726 | (unbind_to): Restore buffer-local variables specially |
| 5727 | in the proper buffer. |
| 5728 | |
| 5729 | * data.c (set_internal): New arg BUF. |
| 5730 | |
| 5731 | * eval.c (specbind, unbind_to): Pass new arg to set_internal. |
| 5732 | * data.c (Fset): Pass new arg to set_internal. |
| 5733 | * bytecode.c (Fbyte_code): Pass new arg to set_internal. |
| 5734 | |
| 5735 | 2000-01-11 Gerd Moellmann <gerd@gnu.org> |
| 5736 | |
| 5737 | * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, |
| 5738 | xprintsym. |
| 5739 | |
| 5740 | 2000-01-11 Richard M. Stallman <rms@gnu.org> |
| 5741 | |
| 5742 | * minibuf.c (Ftry_completion): Doc fix. |
| 5743 | |
| 5744 | 2000-01-11 Gerd Moellmann <gerd@gnu.org> |
| 5745 | |
| 5746 | * keyboard.c (Fclear_this_command_keys): Clear recent_keys |
| 5747 | vector, too. |
| 5748 | |
| 5749 | 2000-01-11 Andreas Schwab <schwab@suse.de> |
| 5750 | |
| 5751 | * coding.c (code_convert_region): Initialize total_skip. |
| 5752 | |
| 5753 | 2000-01-08 Dave Love <fx@gnu.org> |
| 5754 | |
| 5755 | * eval.c (Fuser_variable_p): Check customizability too. |
| 5756 | |
| 5757 | 2000-01-07 Gerd Moellmann <gerd@gnu.org> |
| 5758 | |
| 5759 | * minibuf.c (Fcompleting_read): Doc fix. |
| 5760 | |
| 5761 | 2000-01-05 Gerd Moellmann <gerd@gnu.org> |
| 5762 | |
| 5763 | * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and |
| 5764 | -L /usr/local/lib. |
| 5765 | |
| 5766 | * xfns.c (x_create_im): New function to set IM and IC of a frame. |
| 5767 | Check that input style is supported before trying to create an |
| 5768 | IC for it. |
| 5769 | (x_window): Call x_create_im. |
| 5770 | |
| 5771 | 2000-01-04 Gerd Moellmann <gerd@gnu.org> |
| 5772 | |
| 5773 | * xfns.c (current_gif_memory_src): New variable. |
| 5774 | (gif_load): Record the address of the current memory source |
| 5775 | in current_gif_memory_src. |
| 5776 | (gif_read_from_memory): Use current_gif_memory_src. |
| 5777 | |
| 5778 | * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give |
| 5779 | macros statement form. |
| 5780 | |
| 5781 | * sound.c (struct sound): Renamed from struct sound_file. |
| 5782 | (struct sound): Add members `data' and `header_size'. |
| 5783 | (enum sound_attr): Add SOUND_DATA. |
| 5784 | (current_sound, current_sound_device): Variables renamed from |
| 5785 | sound_file and sound_device. |
| 5786 | (parse_sound): Parse :data. |
| 5787 | (parse_sound): Handle sound data in strings. |
| 5788 | (find_sound_type): Function renamed from find_sound_file_type. |
| 5789 | (wav_init, au_init): Fail if sound's header_size is smaller than |
| 5790 | needed header size. |
| 5791 | (wav_play, au_play): Play sounds from string data. |
| 5792 | |
| 5793 | * puresize.h (BASE_PURE_SIZE): Increase to 600000. |
| 5794 | |
| 5795 | * lisp.h: Add prototype for allocate_string_data. |
| 5796 | |
| 5797 | * alloc.c (Fgarbage_collect): Return number of live and free |
| 5798 | strings. |
| 5799 | |
| 5800 | * alloc.c (mark_buffer): Remove code in #if 0. |
| 5801 | (gc_sweep): Ditto. |
| 5802 | (UNMARK_BALANCE_INTERVALS): Give the macro statement form. |
| 5803 | (strings_consed): New variable. |
| 5804 | (allocate_string): Set it. |
| 5805 | (syms_of_alloc): Add DEFVAR_INT for strings_consed. |
| 5806 | (Fmemory_use_counts): Return strings_consed. Use Flist. |
| 5807 | |
| 5808 | * alloc.c: General cleanup in comments etc. Remove conditional |
| 5809 | compilation for `standalone'. |
| 5810 | |
| 5811 | * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'. |
| 5812 | |
| 5813 | * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): |
| 5814 | (GC_STRING_BYTES, GC_STRING_CHARS): New macros. |
| 5815 | (DONT_COPY_FLAG): Removed. |
| 5816 | (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros. |
| 5817 | (struct sdata, struct sblock): New |
| 5818 | (struct string_block): Rewritten. |
| 5819 | (STRINGS_IN_STRING_BLOCK): New macro. |
| 5820 | (oldest_sblock, current_sblock, total_strings, total_free_strings) |
| 5821 | (large_sblocks, string_blocks, string_free_list): New variables. |
| 5822 | (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros. |
| 5823 | (init_strings): Rewritten. |
| 5824 | (allocate_string, allocate_string_data, compact_small_strings) |
| 5825 | (free_large_strings, sweep_strings): New functions. |
| 5826 | (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE) |
| 5827 | (struct string_block_head, current_string_block) |
| 5828 | (first_string_block, large_string_blocks, STRING_FULLSIZE) |
| 5829 | (STRING_PAD): Removed. |
| 5830 | (make_uninit_multibyte_string, make_pure_string): Rewritten. |
| 5831 | (Fgarbage_collect): Don't set mark bit in large strings. |
| 5832 | (mark_object): Mark strings differently. Mark symbol names |
| 5833 | differently. |
| 5834 | (survives_gc_p): Test marked strings differently. |
| 5835 | (gc_sweep): Sweep strings differently, unmark strings in |
| 5836 | symbol names. |
| 5837 | (compact_strings): Removed. |
| 5838 | |
| 5839 | 2000-01-04 Eli Zaretskii <eliz@is.elta.co.il> |
| 5840 | |
| 5841 | * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and |
| 5842 | Scolor_supported_p even if HAVE_X_WINDOWS is not defined. |
| 5843 | |
| 5844 | 2000-01-04 Kenichi Handa <handa@etl.go.jp> |
| 5845 | |
| 5846 | * fileio.c (Finsert_file_contents): Signal error if visiting file |
| 5847 | in a non-empty buffer. |
| 5848 | |
| 5849 | * term.c (encode_terminal_code): Fix the previous change. |
| 5850 | |
| 5851 | 2000-01-03 Gerd Moellmann <gerd@gnu.org> |
| 5852 | |
| 5853 | * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to |
| 5854 | Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p. |
| 5855 | |
| 5856 | * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU. |
| 5857 | |
| 5858 | 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il> |
| 5859 | |
| 5860 | * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No |
| 5861 | need to test for MSDOS frames. |
| 5862 | |
| 5863 | 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il> |
| 5864 | |
| 5865 | * dosfns.c (unspecified_colors): Remove. |
| 5866 | (msdos_stdcolor_idx): Use global variables unspecified_fg and |
| 5867 | unspecified_bg. |
| 5868 | (msdos_stdcolor_name): Return strings for unspecified fore- and |
| 5869 | back-ground colors. |
| 5870 | |
| 5871 | * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove. |
| 5872 | (syms_of_xfaces): Remove their staticpro's. |
| 5873 | (tty_color_name): Return Lisp strings for unspecified fore- and |
| 5874 | back-ground colors. |
| 5875 | (Finternal_set_lisp_face_attribute): Remove the special treatment |
| 5876 | for Qunspecified_{f,b}g. |
| 5877 | (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp |
| 5878 | string. |
| 5879 | |
| 5880 | 2000-01-03 Gerd Moellmann <gerd@gnu.org> |
| 5881 | |
| 5882 | * xdisp.c (reseat_at_next_visible_line_start): Position before |
| 5883 | newline only if ending up on a newline. |
| 5884 | (next_element_from_ellipsis): Return success. Handle case of |
| 5885 | displaying no ellipsis. Fix case of ellipsis defined in display |
| 5886 | table. |
| 5887 | (next_element_from_buffer): Return 0 if next_element_from_ellipsis |
| 5888 | returns 0. |
| 5889 | |
| 5890 | 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il> |
| 5891 | |
| 5892 | * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p. |
| 5893 | (Fcolor_supported_p): Renamed from face-color-supported-p. |
| 5894 | |
| 5895 | 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il> |
| 5896 | |
| 5897 | * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The |
| 5898 | list of colors renamed to tty-defined-color-alist. |
| 5899 | (tty_color_name): Pass the frame to tty-color-by-index. |
| 5900 | (realize_tty_face): tty-color-alist is now a function which |
| 5901 | accepts the frame as argument. |
| 5902 | |
| 5903 | * term.c (Ftty_display_color_p): Accept an optional argument |
| 5904 | FRAME. |
| 5905 | |
| 5906 | 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il> |
| 5907 | |
| 5908 | * term.c (insert_glyphs): Pass glyph, not &glyph, to |
| 5909 | encode_terminal_code. |
| 5910 | |
| 5911 | 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il> |
| 5912 | |
| 5913 | * dispnew.c (mode_line_string): Support termcap frames as well. |
| 5914 | |
| 5915 | 2000-01-01 Gerd Moellmann <gerd@gnu.org> |
| 5916 | |
| 5917 | * syntax.c (Fforward_word): Undo previous change. |
| 5918 | |
| 5919 | * editfns.c (Fconstrain_to_field): Don't constrain if |
| 5920 | inhibit-field-text-motion is non-nil. |
| 5921 | (Fline_beginning_position): Undo previous change. |
| 5922 | (Fline_end_position): Ditto. |
| 5923 | |
| 5924 | * syntax.c (Fforward_word): Notice field boundaries only if |
| 5925 | inhibit-field-text-motion is nil. |
| 5926 | |
| 5927 | * lisp.h: Add extern declaration for Vinhibit_field_text_motion. |
| 5928 | |
| 5929 | * editfns.c (Vinhibit_field_text_motion): New variable. |
| 5930 | (inhibit-field-text-motion): New DEFVAR_LISP. |
| 5931 | (Fline_beginning_position, Fline_end_position): Notice field |
| 5932 | boundaries only if inhibit-field-text-motion is nil. |
| 5933 | |
| 5934 | * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE. |
| 5935 | All calls adjusted. |
| 5936 | (x_build_heuristic_mask): Likewise. |
| 5937 | (xbm_load_image_from_file): Change error output. |
| 5938 | (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load) |
| 5939 | (gif_load, gs_load, x_kill_gs_process): Ditto. |
| 5940 | |
| 5941 | * xfns.c (gif_load): Avoid sign extension and thus out of bounds |
| 5942 | color indices when accessing raster pixels. |
| 5943 | (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only |
| 5944 | one of :file or :data. |
| 5945 | (enum pbm_keyword_index): Add PBM_DATA. |
| 5946 | (pbm_format): Add :data. |
| 5947 | (pbm_image_p): Allow either :file or :data. |
| 5948 | (pbm_read_file): New function. |
| 5949 | (pbm_scan_number): Rewritten to read from string. |
| 5950 | (pbm_load): Support :data. |
| 5951 | |
| 5952 | See ChangeLog.8 for earlier changes. |
| 5953 | |
| 5954 | ;; Local Variables: |
| 5955 | ;; coding: iso-2022-7bit |
| 5956 | ;; End: |