11998-08-19 Richard Stallman <rms@psilocin.ai.mit.edu> 2 3 * Version 20.3 released. 4 5 * callproc.c (Fcall_process): Use malloc for decoding_buf. 6 7 * s/freebsd.h (LD_SWITCH_SYSTEM): Delete -dp. 8 9 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Increased. 10 111998-08-18 Richard Stallman <rms@psilocin.ai.mit.edu> 12 13 * xselect.c (selection_data_to_lisp_data): Code-convert selections 14 regardless of enable-multibyte-characters. 15 (lisp_data_to_selection_data): Likewise for decoding. 16 171998-08-18 Ken'ichi Handa <handa@delysid.gnu.org> 18 19 * ccl.c (ccl_driver): In case 20 ccl_read_multibyte_character_suspend:, if ccl->last_block is 21 nonzero, jump to ccl_repeat. 22 231998-08-18 Kenichi Handa <handa@etl.go.jp> 24 25 * ccl.c (CCL_READ_CHAR): If eof is encounterd while processing the 26 last block, don't just finish but processes eol block of the 27 current CCL program. 28 (ccl_driver): Add a new jump label ccl_repeat for the above change. 29 30 * coding.c (ccl_coding_driver): Setup ccl->last_block properly. 31 (setup_coding_system): Correctly setup `valid_codes' member. 32 33 * term.c (write_glyphs): When terminal_coding require flushing, 34 call encode_coding with "" as the SOURCE arg so that ccl_driver 35 correctly processes eof block of a CCL program. 36 371998-08-18 Richard Stallman <rms@psilocin.ai.mit.edu> 38 39 * keyboard.c (read_char): If not reading a key sequence (MAPS is nil), 40 bind input-method-exit-on-first-char and input-method-use-echo-area 41 to t. 42 (read_char): If PREV_EVENT is non-nil, don't run the input method. 43 (read_key_sequence): Do not bind input-method-function. 44 45 * callint.c (Fcall_interactively): Pass new args to Fread_event 46 and Fread_char. Let Fread_char do the prompting. 47 48 * lread.c (read_filtered_event): New arg INPUT_METHOD. Calls changed. 49 (Fread_event): New args PROMPT and SUPPRESS-INPUT-METHOD. 50 (Fread_char, Fread_char_exclusive): Likewise. 51 * lisp.h (Fread_event, Fread_char, Fread_char_exclusive): 52 Update declarations. 53 54 * fns.c (Fy_or_n_p): Don't bind input-method-function. 55 Instead, pass 0 as INPUT_METHOD to read_filtered_event. 56 57 * insdel.c (replace_range): Rename NOMARKERS arg to MARKERS. 58 59 * editfns.c (Ftranspose_regions): Pass 0 as NOMARKERS to replace_range. 60 61 * cmds.c (internal_self_insert): Pass 1 as NOMARKERS to replace_range. 62 63 * fns.c (Fy_or_n_p): Bind input-method-function to nil. 64 651998-08-17 Richard Stallman <rms@psilocin.ai.mit.edu> 66 67 * keyboard.c (Freset_this_command_lengths): Return nil. 68 (read_char): [Changes in the input method code.] 69 Process and clear before_command_restore_flag before the input method. 70 Save and restore ok_to_echo_at_next_pause and 71 current_kboard->echo_after_prompt. 72 Save, copy and empty this_command_keys, if it is not empty. 73 Clear the echo area before the input method. 74 Then in all cases restore this_command_keys, and reenable echoing 75 if it was enabled before. 76 771998-08-16 Richard Stallman <rms@psilocin.ai.mit.edu> 78 79 * charset.c (Fmultibyte_char_to_unibyte): New function. 80 (syms_of_charset): Defsubr it. 81 821998-08-15 Richard Stallman <rms@psilocin.ai.mit.edu> 83 84 * xterm.c, xterm.h: x_display_unibyte_char_with_fontset renamed to 85 unibyte_display_via_language_environment. 86 87 * xfns.c (unibyte_display_through_language_environment): 88 Renamed from x_display_unibyte_char_with_fontset. 89 90 * xterm.h (widget_store_internal_border): Conditionalize declaration. 91 921998-08-15 Kenichi Handa <handa@etl.go.jp> 93 94 * coding.c (coding_category_name): Fix the order of initial 95 contents. 96 (detect_coding_mask): Fix previous change. 97 98 * insdel.c (copy_text): Fix previous change, call 99 multibyte_char_to_unibyte. 100 101 * puresize.h (BASE_PURESIZE): Increased. 102 103 * xfns.c (x_display_unibyte_char_with_fontset): New variable. 104 (syms_of_xfns): Declare x-display-unibyte-char-with-fontset as a 105 Lisp variable. 106 107 * xterm.h (x_display_unibyte_char_with_fontset): Extern it. 108 109 * xterm.c (dumpglyphs): If x_display_unibyte_char_with_fontset is 110 nonzero, convert a unibyte 8-bit char to a multibyte char and 111 display it by a font listed in the current fontset. 112 113 * xselect.c (Vnext_selection_coding_system): New variable. 114 (selection_data_to_lisp_data): If Vnext_selection_coding_system is 115 non-nil, use it. 116 (lisp_data_to_selection_data): Likewise. 117 (syms_of_xselect): Declare next-selection-coding-system as a Lisp 118 variable. 119 1201998-08-13 Eli Zaretskii <eliz@delysid.gnu.org> 121 122 * msdos.c (dos_set_keyboard): Set up stack and flags before 123 calling _go32_dpmi_simulate_int. 124 1251998-08-13 Andrew Innes <andrewi@harlequin.co.uk> 126 127 * w32.c (stat): Fall-back to default behaviour when we cannot get 128 accurate information on file attributes. 129 1301998-08-12 Richard Stallman <rms@psilocin.ai.mit.edu> 131 132 * indent.c (vmotion): Don't use WINDOW for Fget_char_property 133 when it is not showing the right buffer. 134 1351998-08-11 Richard Stallman <rms@psilocin.ai.mit.edu> 136 137 * process.c (wait_reading_process_input): If a pty gives EIO, 138 raise SIGCHLD just in case. 139 1401998-08-10 Richard Stallman <rms@psilocin.ai.mit.edu> 141 142 * syntax.c (scan_sexps_forward): Set up the syntax table scanning 143 stuff before jumping into the loop. 144 1451998-08-10 Eli Zaretskii <eliz@delysid.gnu.org> 146 147 * msdos.c (IT_cmgoto): In the echo area, only put the cursor at 148 the end of text if it is beyond the displayed text end. 149 1501998-08-10 Richard Stallman <rms@psilocin.ai.mit.edu> 151 152 * keyboard.c (read_char): Don't decrement this_command_key_count 153 when saving it. 154 1551998-08-09 Kenichi HANDA <handa@etl.go.jp> 156 157 * fileio.c (Fwrite_region): Reflect the eol conversion 158 specification of default value of buffer-file-coding-system if 159 any. 160 161 * coding.c (default_buffer_file_coding): New variable. 162 (init_coding_once): Initialize default_buffer_file_coding. 163 164 * coding.h (default_buffer_file_coding): Extern it. 165 1661998-08-09 Richard Stallman <rms@psilocin.ai.mit.edu> 167 168 * s/freebsd.h (__FreeBSD_version): Define it, or else 169 include osreldate.h to define it. 170 (LIB_GCC): Unconditional definition deleted. 171 [ELF] (LD_SWITCH_SYSTEM, START_FILES, UNEXEC, LIB_STANDARD, LIB_GCC): 172 New alternative definitions. 173 [! ELF] (START_FILES, LIB_GCC): New alternative definitions. 174 175 * unexelf.c (unexec): Check for section names end and edata 176 with no underscore. 177 178 * coding.c (CHARSET_OK): Check that coding_system_table[IDX] != 0. 179 1801998-08-08 Richard Stallman <rms@psilocin.ai.mit.edu> 181 182 * coding.c: Avoid using initializers for Lisp_Object. 183 1841998-08-07 Paul Eggert <eggert@twinsun.com> 185 186 * xterm.c (x_term_init): Don't reset LC_TIME to "C", since we 187 want strftime to be localized. 188 1891998-08-07 Richard Stallman <rms@psilocin.ai.mit.edu> 190 191 * s/ptx4-2.h: New file. 192 193 * xterm.c (x_list_fonts): Fix previous change. 194 195 * callproc.c (Fcall_process): Check type of process cmd args 196 earlier on. 197 198 * process.c (Fprocess_send_eof): Transfer proc_encode_coding_system 199 data to the new outfd. 200 201 * commands.h (Vthis_command): Renamed from this_command. 202 203 * minibuf.c (Fminibuffer_complete): 204 this_command renamed to Vthis_command. 205 206 * macros.c (Fcall_last_kbd_macro): 207 this_command renamed to Vthis_command. 208 209 * keyboard.c (Vthis_command): Renamed from this_command. 210 (real_this_command): New variable, but not a Lisp variable; 211 updated like Vthis_command, but never altered by Lisp programs. 212 (command_loop_1): Use real_this_command to set Vreal_last_command. 213 2141998-08-07 Kenichi Handa <handa@etl.go.jp> 215 216 * cmds.c (internal_self_insert): If enable-multibyte-characters is 217 nil, convert a multibyte character to unibyte appropriately. 218 219 * editfns.c (general_insert_function): Likewise. 220 221 * charset.c (multibyte_char_to_unibyte): New function. 222 (charset_id_internal): Avoid initializer for Lisp_Object. 223 (init_charset_once): Likewise. 224 225 * lisp.h (multibyte_char_to_unibyte): Extern it. 226 2271998-08-06 Richard Stallman <rms@psilocin.ai.mit.edu> 228 229 * window.c (Fsplit_window): Doc fix. 230 231 * macros.c (Fexecute_kbd_macro): Fix error message. 232 (Fend_kbd_macro): Fix error message. 233 234 * coding.c (setup_coding_system): Avoid initializer for Lisp_Object. 235 (setup_raw_text_coding_system, detect_coding): Likewise. 236 (code_convert_region, code_convert_string): Likewise. 237 (Fset_coding_priority_internal): Likewise. 238 2391998-08-06 Kenichi Handa <handa@etl.go.jp> 240 241 * dired.c (Fdirectory_files): If MATCH is non-nil, decode filenames 242 before checking them against MATCH. 243 2441998-08-05 Richard Stallman <rms@psilocin.ai.mit.edu> 245 246 * keyboard.c (read_char): When input method returns no chars, 247 call cancel_echoing. Restore the previous echo area message 248 and this_command_keys, too. 249 250 * abbrev.c (Funexpand_abbrev): Add ADJUST instead of subtracting. 251 252 * w32select.c (Vselection_coding_system): 253 Renamed from Vclipboard_coding_system. 254 (syms_of_w32select): No need to staticpro Vselection_coding_system. 255 2561998-08-04 Eli Zaretskii <eliz@delysid.gnu.org> 257 258 * w16select.c (Vselection_coding_system): 259 Renamed from Vclipboard_coding_system. 260 (Fw16_set_clipboard_data): Don't count trailing zero in the string 261 for the purposes of conversion. 262 2631998-08-04 Richard Stallman <rms@psilocin.ai.mit.edu> 264 265 * xterm.c (x_list_fonts): Call XFreeFont after the new call 266 to XLoadQueryFont. 267 (fast_find_position): Handle case where position is before 268 an invisible character, thus not actually listed in charstarts. 269 270 * keyboard.c (Vinput_method_previous_message): New variable. 271 (syms_of_keyboard): Set up lisp variable. 272 (Qinput_method_exit_on_first_char, Qinput_method_use_echo_area): 273 New variables. 274 (syms_of_keyboard): Initialize them. 275 (Fread_key_sequence): New arg COMMAND_LOOP. 276 Bind those variables. 277 278 * lisp.h (Fread_key_sequence): Update declaration. 279 280 * callint.c (Fcall_interactively): Pass new arg to Fread_key_sequence. 281 2821998-08-03 Richard Stallman <rms@psilocin.ai.mit.edu> 283 284 * window.c (Fmove_to_window_line): Doc fix. 285 286 * xterm.h (FRAME_OUTER_WINDOW): New macro. 287 288 * xterm.c (x_make_frame_visible): Use XGetGeometry to see if 289 position has been changed by the window manager. Use 290 FRAME_OUTER_WINDOW. 291 292 * insdel.c (replace_range): Don't assume PT is at the place 293 where the change is being done. 294 295 * editfns.c (Fsubst_char_in_region): Use replace_range in case 296 where we may need to combine bytes. 297 (Ftranslate_region): Likewise. 298 2991998-08-01 Richard Stallman <rms@psilocin.ai.mit.edu> 300 301 * lread.c (read1): In reading a string, treat Qlambda 302 like Qget_file_char. 303 304 * doc.c (Fdocumentation): Specify UNIBYTE = 0 305 when calling get_doc_string for a compiled function. 306 3071998-08-01 Kenichi HANDA <handa@etl.go.jp> 308 309 * ccl.h (ccl_spec): New member valid_codes. 310 311 * coding.c (Qvalid_codes): New variable. 312 (coding_category_name): Include "coding-category-ccl". 313 (detect_coding_ccl): New function. 314 (setup_coding_system): Setup coding->spec.ccl.valid_codes from the 315 coding system priority `valid-codes' for CCL based coding systesm. 316 (detect_coding_mask): Check also a CCL based coding system. 317 (Fupdate_coding_systems_internal): Renamed from 318 Fupdate_iso_coding_systems. 319 (syms_of_coding): Change property char-table-extra-slot of 320 translation-table to 1. Initialize and static pro Qvalid_codes. 321 322 * coding.h (CODING_CATEGORY_IDX_CCL): New macro. 323 (CODING_CATEGORY_IDX_BIG5, CODING_CATEGORY_IDX_RAW_TEXT) 324 (CODING_CATEGORY_IDX_BINARY, CODING_CATEGORY_IDX_MAX): Increased by one. 325 (CODING_CATEGORY_MASK_CCL): New macro. 326 (CODING_CATEGORY_MASK_ANY): Include CODING_CATEGORY_MASK_CCL. 327 328 * insdel.c (copy_text): In multibyte to unibyte conversion, take 329 nonascii-translation-table and nonascii-insert-offset into 330 account. 331 3321998-07-30 Paul Eggert <eggert@twinsun.com> 333 334 * src/Makefile.in (widget.o, xfns.o, xmenu.o): 335 Prepend $(srcdir)/ to rule dependencies outside this dir. 336 3371998-07-29 Kenichi Handa <handa@etl.go.jp> 338 339 * fns.c (concat): Fix previous change. 340 3411998-07-29 Richard Stallman <rms@psilocin.ai.mit.edu> 342 343 * process.c (create_process): For outchannel, set up 344 proc_encode_coding_system, not proc_decode_coding_system. 345 3461998-07-28 Richard Stallman <rms@psilocin.ai.mit.edu> 347 348 * keymap.c (push_key_description): Output multibyte char as itself. 349 3501998-07-27 Richard Stallman <rms@psilocin.ai.mit.edu> 351 352 * keyboard.c (Fexecute_extended_command): 353 Don't delay before displaying the suggestion message 354 if the command did not display anything in the echo area. 355 3561998-07-26 Richard Stallman <rms@psilocin.ai.mit.edu> 357 358 * s/ultrix4-3.h (rint): Add declaration. 359 3601998-07-25 Richard Stallman <rms@psilocin.ai.mit.edu> 361 362 * s/aix3-2.h (HAVE_STRING_H): Move #undef here. 363 * s/aix4.h (HAVE_STRING_H): Delete #undef here. 364 365 * sysdep.c [AIXHFT] (hft_init, hft_reset): Add declarations. 366 3671998-07-25 Kenichi Handa <handa@etl.go.jp> 368 369 * coding.c (syms_of_coding): Mention auto-coding-alist in the 370 docstring of file-coding-system-alist. 371 372 * fileio.c (Finsert_file_contents): Call Vset_auto_coding_function 373 with two arguments. 374 (Fwrite_region): If buffer-file-coding-system is set locally, use 375 the coding system whithout checking file-coding-system-alist. 376 (syms_of_fileio): Docstring of set-auto-coding-function adjusted 377 for the change of argument number. 378 3791998-07-20 Kenichi HANDA <handa@etl.go.jp> 380 381 * callproc.c (Fcall_process): Use alloca instead of 382 get_conversion_buffer. 383 384 * coding.c (init_coding): New function. 385 (init_coding_once): Don't initialize conversion_buffer here. It 386 is done in init_coding. 387 388 * emacs.c (main): Call init_coding. 389 390 * lisp.h (init_coding): Extern it. 391 3921998-07-19 Kenichi Handa <handa@etl.go.jp> 393 394 * charset.c (Fdefine_charset): Fix doc-string. 395 396 * xterm.c (dumpglyphs): After calling ccl_driver, set cp->byte1 to 397 zero for 1-byte font. 398 3991998-07-15 kenichi HANDA <handa@kowloon.etl.go.jp> 400 401 * process.c (read_process_output): Even if we read data without 402 code conversion, calculate character counts. If we insert the 403 data into a unibyte buffer, treat the data as unibyte. 404 4051998-07-14 Richard Stallman <rms@psilocin.ai.mit.edu> 406 407 * keyboard.c (Qinput_method_function): New variable. 408 (syms_of_keyboard): Init and staticpro it. 409 (read_key_sequence): Bind input-method-function, 410 and set it to nil after reading the first event. 411 (raw_keybuf, raw_keybuf_count): New variables, to record 412 raw input events as they are read with read_char. 413 (GROW_RAW_KEYBUF): New macro. 414 (Fthis_single_command_raw_keys): New function. 415 (syms_of_keyboard): defsubr it. 416 4171998-07-13 Andrew Innes <andrewi@delysid.gnu.org> 418 419 * w32menu.c (add_menu_item): Draw menu items like titles if 420 call_data is 0. 421 4221998-07-13 Eli Zaretskii <eliz@mescaline.gnu.org> 423 424 * w16select.c (set_clipboard_data, get_clipboard_data) 425 (Fw16_set_clipboard_data, Fw16_get_clipboard_data) 426 (Fx_selection_exists_p): Use CF_OEMTEXT instead of CF_TEXT. 427 4281998-07-12 Andrew Innes <andrewi@delysid.gnu.org> 429 430 * w32select.c (Fw32_set_clipboard_data): Set Vlast_coding_system_used. 431 (Fw32_get_clipboard_data): Likewise. 432 4331998-07-12 Richard Stallman <rms@psilocin.ai.mit.edu> 434 435 * marker.c (Fcopy_marker): Make return from wrong_type_argument 436 fall thru into normal case. 437 438 * fileio.c (Finsert_file_contents): When replacing, in multibyte bfr, 439 always extend the range to a character boundary. 440 4411998-07-11 Richard Stallman <rms@psilocin.ai.mit.edu> 442 443 * keyboard.c (read_char): Call the input method if appropriate. 444 Change logic for distinguishing rereads from new events; 445 use local var `reread'. Take events from 446 Vunread_input_method_events and Vunread_post_input_method_events. 447 (Vunread_input_method_events, Vunread_post_input_method_events) 448 (Vinput_method_function): New variable. 449 (syms_of_keyboard): Set up Lisp vars. 450 (command_loop_1): Check Vunread_input_method_events and 451 Vunread_post_input_method_events along with Vunread_command_events. 452 4531998-07-11 Andrew Innes <andrewi@harlequin.co.uk> 454 455 * w32menu.c (w32_menu_show): Set widget call_data to 0 if 456 definition is nil. 457 (add_menu_item): Gray menu entry if widget call_data is 0. 458 4591998-07-11 Richard Stallman <rms@psilocin.ai.mit.edu> 460 461 * xselect.c (Vselection_coding_system): 462 Renamed from Vclipboard_coding_system. All uses changed. 463 (syms_of_xselect): Rename Lisp variable. 464 4651998-07-09 Eli Zaretskii <eliz@mescaline.gnu.org> 466 467 * w16select.c (Vclipboard_coding_system): New variable. 468 (set_clipboard_data, set_clipboard_data): New parameter Raw 469 determines whether CRLF <-> NL translation needs to be done. All 470 callers changed. 471 (Fw16_set_clipboard_data): Encode the text using 472 Vclipboard_coding_system, if necessary. 473 (Fw16_get_clipboard_data): Decode the text using 474 Vclipboard_coding_system, if necessary. 475 (syms_of_win16select): DEFVAR Vclipboard_coding_system and 476 staticpro it. 477 4781998-07-09 Kenichi Handa <handa@etl.go.jp> 479 480 * coding.c (code_convert_string): Count characters again if we 481 encounter some invalid code while decoding. 482 4831998-07-09 Kenichi Handa <handa@etl.go.jp> 484 485 * ccl.c: Typo in comments fixed. 486 487 * coding.c (DECODE_ISO_CHARACTER): While decoding two-byte code, 488 if the sencond byte is invalid, produce the first byte as is. 489 490 * fontset.c (fs_load_font): Typo in comments fixed. 491 492 * xselect.c (selection_data_to_lisp_data): Set 493 Vlast_coding_system_used. 494 (lisp_data_to_selection_data): Likewize. 495 4961998-07-07 Richard Stallman <rms@psilocin.ai.mit.edu> 497 498 * charset.c (Fchars_in_region): Coerce markers. 499 5001998-07-08 Kenichi Handa <handa@etl.go.jp> 501 502 * editfns.c (Fformat): Replace explicit numeric constants with 503 proper macros. 504 505 * fns.c (concat): Likewize. 506 5071998-07-06 Kenichi Handa <handa@etl.go.jp> 508 509 * charset.h (MAX_CHAR_COMPOSITION): Defined as (GLYPH_MASK_CHAR - 1), 510 one less than the previous value. 511 (GENERIC_COMPOSITION_CHAR): New macro. 512 513 * charset.c (Vgeneric_character_list): New variable. 514 (init_charset_once): Init and staticpro it. 515 (Fgeneric_character_list): New function. 516 (syms_of_charset): defsubr it. 517 518 * fns.c (Fset_char_table_default): Check only if the charset of 519 the arg CH is in the valid range or not. Handle the case that CH 520 is a generic character for composite characters. 521 5221998-07-06 Kenichi Handa <handa@etl.go.jp> 523 524 * editfns.c (Fformat): Pay attention to the byte combining problem. 525 526 * fileio.c (Finsert_file_contents): Cancel previous change. Setup 527 the variable coding even if the inserted bytes is zero. 528 529 * fns.c (concat): Deal with combining bytes between two args. 530 5311998-07-03 Richard Stallman <rms@psilocin.ai.mit.edu> 532 533 * print.c (print_escape_multibyte, Qprint_escape_multibyte) 534 (Qprint_escape_nonascii): New variables. 535 (syms_of_print): Initialize them and set up Lisp variable. 536 (PRINTPREPARE): Bind print-escape-multibyte to t if appropriate. 537 Also bind print-escape-nonascii if appropriate. 538 (print): Test print_escape_multibyte and print_escape_nonascii, 539 rather than enable-multibyte-characters. 540 5411998-06-29 Andrew Innes <andrewi@harlequin.co.uk> 542 543 * fileio.c (Ffile_regular_p) [WINDOWSNT]: Bind 544 `w32-get-true-file-attributes' to t while calling stat. 545 (Finsert_file_contents) [WINDOWSNT]: Likewise. 546 (Fwrite_region): Don't try seeking to end of FILENAME for 547 appending if not a regular file. 548 5491998-07-03 Kenichi Handa <handa@etl.go.jp> 550 551 * editfns.c (Finsert): Typo in doc-string fixed. 552 (Finsert_and_inherit, Finsert_before_markers) 553 (Finsert_and_inherit_before_markers): Likewise. 554 5551998-07-02 Ken'ichi Handa <handa@melange.gnu.org> 556 557 * fileio.c (Finsert_file_contents): Do not set Vlast_coding_system 558 if inserted bytes is zero. 559 5601998-06-28 Eli Zaretskii <eliz@is.elta.co.il> 561 562 * unexec.c [COFF]: New variable coff_offset. 563 (make_hdr) [MSDOS]: If a_name is a coff-go32-exe executable with a 564 prepended stub, compute coff_offset. 565 (make_hdr, copy_sym) [COFF]: Use coff_offset when seeking into temacs. 566 5671998-06-29 Richard Stallman <rms@psilocin.ai.mit.edu> 568 569 * editfns.c (Fbyte_to_position): New function. 570 (syms_of_editfns): defsubr it. 571 5721998-06-29 Eli Zaretskii <eliz@delysid.gnu.org> 573 574 * callproc.c (Fcall_process) [! subprocesses]: Balance parentheses 575 in an if clause. 576 5771998-06-28 Richard Stallman <rms@psilocin.ai.mit.edu> 578 579 * fileio.c (Fread_file_name): Bind minibuffer-completing-file-name to t. 580 581 * minibuf.c (Vminibuffer_completing_file_name): New var. 582 (syms_of_minibuf): Set up Lisp variable. 583 (Fminibuffer_complete_word): Test it, instead of checking 584 specifically for Qread_file_name_internal. 585 (Fcompleting_read): Likewise. 586 5871998-06-27 Richard Stallman <rms@psilocin.ai.mit.edu> 588 589 * xterm.c (x_list_fonts): Fix prev change: cast result of alloca. 590 5911998-06-26 Ken'ichi Handa <handa@melange.gnu.org> 592 593 * coding.h (Qemacs_mule): Extern it. 594 595 * process.c (init_process): Initilize Vdefault_process_coding_system. 596 5971998-06-26 Kenichi Handa <handa@etl.go.jp> 598 599 * coding.c (setup_raw_text_coding_system): New function. 600 (decode_coding_sjis_big5): Bug for handling invalid code fixed. 601 602 * coding.h (setup_raw_text_coding_system): Extern it. 603 604 * fileio.c (Finsert_file_contents): Call 605 setup_raw_text_coding_system. 606 607 * process.c (Fstart_process): Check process-coding-system-alist 608 and default-process-coding-system even in unibyte mode. 609 (create_process): In unibyte mode, suppress character code 610 conversion. 611 6121998-06-25 Andrew Innes <andrewi@harlequin.co.uk> 613 614 * w32fns.c (Fx_list_fonts): Bring arglist into sync with xfns.c. 615 (x_set_font): Call face-set-after-frame-default. 616 (Qface_set_after_frame_default): New variable. 617 (syms_of_w32fns): Initialize it. 618 6191998-06-25 Richard Stallman <rms@psilocin.ai.mit.edu> 620 621 * search.c (wordify): Fix i_byte even in unibyte case for copy loop. 622 If input is unibyte, make the output unibyte. 623 6241998-06-24 Richard Stallman <rms@psilocin.ai.mit.edu> 625 626 * print.c (PRINTFINISH): Convert text to unibyte before 627 inserting in a unibyte buffer. 628 629 * doc.c (get_doc_string): Take both UNIBYTE and DEFINITION as args. 630 All callers changed. 631 * lisp.h (get_doc_string): Adjust declaration. 632 633 * lread.c (read_list): Pass new arg to get_doc_string. 634 635 * doc.c (get_doc_string): 2nd arg is now DEFINITION; 636 if non-nil, read a dynamic function definition. 637 (read_doc_string): Don't call read here. 638 6391998-06-23 Richard Stallman <rms@psilocin.ai.mit.edu> 640 641 * indent.c (indented_beyond_p): Return the right kind of value. 642 6431998-06-22 Richard Stallman <rms@psilocin.ai.mit.edu> 644 645 * emacs.c (sort_args): Discard duplicate options with no args. 646 (main): With duplicate -d options, use the last one. Likewise for -t. 647 Check -d last, by checking for -nl earlier on. 648 6491998-06-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 650 651 * keyboard.c (command_loop): Reset executing_macro after 652 command_loop_2 has returned, in case a throw to exit or top-level 653 was executed as part of a keyboard macro. 654 655 * callproc.c (Fcall_process): Handle third argument BUFFER 656 consistently when it is an integer or a list. 657 6581998-06-22 Kenichi Handa <handa@etl.go.jp> 659 660 * syntax.c (Fmodify_syntax_entry): Use macro STRING_BYTES to get 661 byte size of a string. 662 6631998-06-22 Andrew Innes <andrewi@harlequin.co.uk> 664 665 * w32select.c: Include buffer.h, charset.h, and coding.h. 666 (Vclipboard_coding_system): New variable. 667 (syms_of_w32select): DEF_VAR it. 668 (Fw32_set_clipboard_data): Encode string using 669 Vclipboard_coding_system if necessary. 670 (Fw32_get_clipboard_data): Decode clipboard contents using 671 Vclipboard_coding_system if necessary. 672 673 * w32console.c (initialize_w32_display): Call init_crit to 674 initialize interrupt_handle (referenced by sys_select). 675 6761998-06-22 Richard Stallman <rms@gnu.org> 677 678 * print.c (print_string): Properly compute number of chars 679 in multibyte case, before calling strout. 680 681 * lisp.h (Qinhibit_redisplay): Declared. 682 683 * keyboard.c (menu_item_eval_property): Bind Qinhibit_redisplay. 684 685 * xdisp.c (Vinhibit_redisplay, Qinhibit_redisplay): New variables. 686 (syms_of_xdisp): Set up Lisp var. 687 (redisplay_internal): Test Vinhibit_redisplay. 688 6891998-06-21 Ken'ichi Handa <handa@melange.gnu.org> 690 691 * process.c (read_process_output): While processing carryover, 692 check the size of p->decoding_buf. 693 6941998-06-21 Eli Zaretskii <eliz@mescaline.gnu.org> 695 696 * process.c (wait_reading_process_input) [! subprocesses]: 697 Recompute timeout each time through the loop. Check 698 requeued_events_pending_p and exit the loop if there is unread 699 keyboard input. 700 7011998-06-20 Richard Stallman <rms@gnu.org> 702 703 * search.c (Freplace_match): Work by chars, not by bytes, 704 for scanning the old text, and for inserting new string in buffer. 705 7061998-06-20 Karl Heuer <kwzh@gnu.org> 707 708 * xterm.c (x_list_fonts): Keep alloca usage simple. 709 7101998-06-20 Per Starback <starback@strindberg.ling.uu.se> 711 712 * xdisp.c, charset.h, coding.c, emacs.c: Doc fixes. 713 7141998-06-20 Kenichi Handa <handa@etl.go.jp> 715 716 * print.c (strout): Show multibyte message correctly. 717 718 * ccl.c: Comment for CCL_MapMultiple modified. 719 720 * charset.c (find_charset_in_str): Do not set the value of 721 charsets[LEADING_CODE_COMPOSITION]. 722 723 * process.c (read_process_output): Handle carryover correctly. 724 725 * xterm.c (dumpglyphs): Check the case that FACE_FONT (face) is 726 NULL. While displaing cursor with non-default face, if the 727 variable `font' is NULL, don't set GCFont. 728 7291998-06-19 Richard Stallman <rms@gnu.org> 730 731 * minibuf.c (syms_of_minibuf): Initialize buffer-name-history. 732 7331998-06-18 Richard Stallman <rms@gnu.org> 734 735 * casefiddle.c (casify_object): Cope with modifier bits in character. 736 7371998-06-17 Geoff Voelker <voelker@cs.washington.edu> 738 739 * w32.c (is_unc_volume, open_unc_volume, read_unc_volume) 740 (close_unc_volume, unc_volume_file_attributes): New functions. 741 (wnet_enum_handle): New variable. 742 (opendir, readdir, closedir, sys_access, stat): Handle UNC volumes. 743 7441998-06-16 Kenichi Handa <handa@etl.go.jp> 745 746 * xterm.c (x_list_fonts): If SIZE is zero and MAXNAMES is 1, use 747 XLoadQueryFont instead of XListFonts. 748 (x_load_fonts): Call x_list_fonts with MAXNAMES 1. 749 7501998-06-16 Andrew Innes <andrewi@harlequin.co.uk> 751 752 * xdisp.c (message_dolog): GCPRO the oldpoint, oldbegv and oldzv 753 markers, and old_deactivate_mark. 754 7551998-06-15 Andrew Innes <andrewi@harlequin.co.uk> 756 757 * w32.c (sys_rename): On some network drives, rename fails with 758 EACCES instead of EEXIST if target already exists. 759 760 * coding.c (encode_eol): Fix typo that prevented converting to Mac 761 line endings. Always update dst_bytes to number of bytes actually 762 copied. 763 (decode_eol): Fix value of coding->produced when decoding Unix 764 line endings (in case this function is ever used for that). 765 7661998-06-14 Ken'ichi Handa <handa@melange.gnu.org> 767 768 * fileio.c (Finsert_file_contents): Redo the change for handling 769 set-auto-coding while adding a kludgy code to avoid a compiler 770 bug. 771 (syms_of_fileio): Doc-string of the variable 772 set-auto-coding-function modified for the change above. 773 7741998-06-14 Eli Zaretskii <eliz@mescaline.gnu.org> 775 776 * msdos.c (dos_set_keyboard): Call Int 2Fh via the DPMI server, 777 not directly. 778 (dos_yield_time_slice): New function. 779 (sys_select): Use it instead of __dpmi_yield. 780 7811998-06-14 Erik Naggum <erik@naggum.no> 782 783 * minibuf.c (Fcompleting_read): Escape bare newline in doc string. 784 7851998-06-14 Richard Stallman <rms@psilocin.ai.mit.edu> 786 787 * fileio.c (Finsert_file_contents): Fix change to set INSERTED. 788 7891998-06-13 Richard Stallman <rms@psilocin.ai.mit.edu> 790 791 * keyboard.c (parse_menu_item): Put a quote around DEF 792 to pass it as an argument to the filter function. 793 794 * syntax.c (skip_chars): 795 Don't examine STRING before verifying that it is a string. 796 7971998-06-13 Kenichi Handa <handa@etl.go.jp> 798 799 * coding.c (detect_coding_system): Always return a list of HIGHEST 800 is zero. 801 (Fdetect_coding_region): Doc-string adjusted for the above change. 802 (Fdetect_coding_string): Likewise. 803 8041998-06-12 Richard Stallman <rms@psilocin.ai.mit.edu> 805 806 * emacs.c (standard_args): Fix arg order to match code in `main'. 807 8081998-06-12 Ken'ichi Handa <handa@melange.gnu.org> 809 810 * fileio.c (Finsert_file_contents): Undo the previous change for 811 handling set-ault-coding. 812 8131998-06-11 Richard Stallman <rms@psilocin.ai.mit.edu> 814 815 * fileio.c (Finsert_file_contents): After calling handler, 816 get INSERTED from the handler's value. 817 818 * callint.c (Fcall_interactively) <k, K>: If sequence ends in a down 819 event, discard following up event. 820 8211998-06-12 Kenichi Handa <handa@etl.go.jp> 822 823 * fileio.c (set_auto_coding_unwind): New function. 824 (Finsert_file_contents): If the current buffer is empty, decide 825 the coding system after the file is inserted in the buffer. If 826 not, insert the head and tail of a file in a temporary buffer and 827 call set-auto-coding-function. 828 (e_write): If there are carryover bytes in encoding because of 829 incomplete multibyte form, write them out as is. 830 8311998-06-11 Richard Stallman <rms@psilocin.ai.mit.edu> 832 833 * syntax.c (scan_lists): Use prev_char_comend_first, not ...comstart... 834 8351998-06-11 Geoff Voelker <voelker@cs.washington.edu> 836 837 * makefile.nt (LINK_FLAGS): Place debug info in executable in 838 unoptimized compile. Link to run off of cd or network. 839 8401998-06-10 Richard Stallman <rms@psilocin.ai.mit.edu> 841 842 * syntax.c (Fforward_comment): 843 Properly compute BYTEPOS arg to char_quoted. 844 8451998-06-09 Andrew Innes <andrewi@harlequin.co.uk> 846 847 * w32.c (sys_rename): Don't examine errno if rename didn't fail. 848 849 * s/ms-w32.h (getcwd): Remove define. 850 (getdefdir) [emacs]: Redefine to always return root directory. 851 8521998-06-09 Richard Stallman <rms@psilocin.ai.mit.edu> 853 854 * lisp.h (Feval_region): Accept 4 args. 855 856 * lread.c (readevalloop): New arg READFUN. Callers changed. 857 (Feval_region): New arg READ_FUNCTION. 858 8591998-06-08 Richard Stallman <rms@psilocin.ai.mit.edu> 860 861 * syntax.h (SETUP_SYNTAX_TABLE): Don't call update_syntax_table 862 for FROM-1 if that's before BEGV. 863 8641998-06-07 Richard Stallman <rms@psilocin.ai.mit.edu> 865 866 * syntax.c (struct lisp_parse_state): New field, levelstarts. 867 (scan_sexps_forward): Use 10th elt of STATE to set levelstarts. 868 (parse-partial-sexp): Add 10th elt to return value. 869 870 * keyboard.c (lispy_function_keys): Add kanji...eisu-toggle. 871 872 * keyboard.c (cmd_error): Init Vlast_prefix_arg. 873 (init_kboard, command_loop_1): Init Vlast_prefix_arg. 874 (Fcommand_execute): Set Vlast_prefix_arg to prefix arg used. 875 876 * callint.c (syms_of_callint): Set up Lisp variable. 877 878 * alloc.c (mark_kboards): Mark all the Lisp_Object fields. 879 880 * keyboard.c (command_loop_1): 881 Set Vreal_last_command with Vlast_command. 882 (init_kboard): Init Vreal_last_command field. 883 (syms_of_keyboard): Set up Lisp var real-last-command. 884 885 * keyboard.h (struct kboard): New elts Vreal_last_command 886 and Vlast_prefix_arg. 887 8881998-06-06 Richard Stallman <rms@psilocin.ai.mit.edu> 889 890 * xterm.c (XTread_socket): Accept Japanese XK keysyms. 891 892 * xdisp.c (redisplay_internal): If cursor's in the frame's echo area, 893 make last_point invalid instead of setting it normally. 894 (display_text_line): If cursor's in the frame's echo area, 895 don't set this_line_endpos. 896 (redisplay_window): Use Fwindow_end to find lower scroll margin. 897 898 * syntax.c (scan_lists): Properly skip the comment-fence character 899 that ends a comment, when moving forward. 900 (Fbackward_prefix_chars): Return immediately if point is at BEGV. 901 902 * callproc.c (init_callproc): Check Vinstallation_directory 903 even if !initialized. 904 9051998-06-06 Richard Stallman <rms@sucrose.ai.mit.edu> 906 907 * syntax.c (prev_char_comend_first): New function. 908 (back_comment): Use that. Carefully update syntax table position 909 for each character that is fetched. 910 (Fforward_comment): Likewise. 911 (scan_lists): Likewise. 912 (prev_char_comstart_first): New function. 913 914 * syntax.c 9151998-06-05 Andrew Innes <andrewi@harlequin.co.uk> 916 917 * w32.c: #include sys/file.h 918 (sys_access): Provide our own implementation which recognizes D_OK. 919 (is_exec): New function. 920 (stat): Use it. 921 (init_environment): Set TMPDIR to an existing directory. 922 Abort if none of the usual places is available. 923 (sys_rename): On Windows 95, choose a temp name that 924 includes the original file's base name and use an explicit loop 925 rather than calling mktemp. Only attempt to unlink the newname if 926 the rename fails, rather than second-guessing whether the old and 927 new names refer to the same file. 928 929 * fileio.c (Finsert_file_contents): Always update 930 Vlast_coding_system_used when we actually perform IO. 931 (Fwrite_region): Update documentation. 932 9331998-06-03 Richard Stallman <rms@gnu.org> 934 935 * emacs.c (main): Don't implement --version if not initialized. 936 937 * intervals.c (create_root_interval): Initialize position to 0 938 for a string. 939 (interval_start_pos): New function. 940 (find_interval): Handle string positions starting at 0. 941 (adjust_intervals_for_insertion): Likewise. 942 (adjust_intervals_for_deletion): Likewise. 943 (compare_string_intervals): Likewise. 944 (graft_intervals_into_buffer): Set `position' in reproduce_tree value. 945 (copy_intervals): Init `position' to 0. 946 947 * textprop.c: Handle the new convention that `position' values 948 in a string's intervals start from zero. 949 (validate_interval_range, interval_of, Fnext_property_change) 950 (property_change_between_p, Fnext_single_property_change) 951 (Fprevious_property_change, Fprevious_single_property_change): 952 (Ftext_property_any, Ftext_property_not_all): Implement that. 953 954 * textprop.c: Undo previous change. 955 956 * coding.c (code_convert_string_norecord): New function. 957 Does encoding or decoding but doesn't set Vlast_coding_system_used. 958 959 * coding.h (DECODE_FILE, ENCODE_FILE): 960 Use code_convert_string_norecord. 961 9621998-06-02 Richard Stallman <rms@gnu.org> 963 964 * sysdep.c (sys_subshell): Cast arg to chdir. 965 (init_sys_modes): Cast arg to setbuf or setvbuf. 966 967 * keyboard.c (syms_of_keyboard): Doc fix for suggest-key-bindings. 968 9691998-06-02 Ken'ichi Handa <handa@melange.gnu.org> 970 971 * charset.c (string_to_non_ascii_char): Don't check the arg 972 EXCLUDE_TAIL_GARBAGE for an invalid composite characters. 973 9741998-06-01 Ken'ichi Handa <handa@melange.gnu.org> 975 976 * coding.c (detect_coding_mask): Initilize local variable C. 977 9781998-06-01 Richard Stallman <rms@gnu.org> 979 980 * emacs.c (main): Test `initialized' before clearing *Messages*. 981 9821998-06-01 Karl Heuer <kwzh@gnu.org> 983 984 * s/aix4.h (SOCKLEN_TYPE): Define as int. 985 986 * callproc.c (Fcall_process): Avoid initializer on auto struct. 987 9881998-06-01 Andrew Innes <andrewi@mescaline.gnu.org> 989 990 * s/ms-w32.h: Use 1 as explicit value of empty #defines. 991 992 * makefile.nt (LOCAL_FLAGS): Define HAVE_NTGUI if appropriate. 993 9941998-05-31 Karl Heuer <kwzh@gnu.org> 995 996 * doprnt.c (doprnt1): Fix char signedness mismatches. 997 * fileio.c (Finsert_file_contents): Likewise. 998 9991998-05-31 Richard Stallman <rms@gnu.org> 1000 1001 * dispnew.c (Fredraw_frame): Don't erase frame or its glyph records 1002 if it hasn't got any. 1003 10041998-05-30 Geoff Voelker <voelker@cs.washington.edu> 1005 1006 * w32proc.c (sys_spawnve): Place Emacs pid in EM_PARENT_PROCESS_ID. 1007 1008 * w32.c (sys_rename): Handle filenames with accented characters. 1009 (stat): Handle "c:/.." and "/.." specially. 1010 1011 * unexw32.c (w32_fatal_reload_error): Update error message. 1012 10131998-05-30 Karl Heuer <kwzh@gnu.org> 1014 1015 * Makefile.in (distclean): Delete config.stamp, stamp-oldxmenu. 1016 1017 * window.c (Fscroll_up, Fscroll_down, Fscroll_other_window): Doc fix. 1018 * charset.c (syms_of_charset): Put \n\ at eol of docstring. 1019 10201998-05-29 Richard Stallman <rms@gnu.org> 1021 1022 * textprop.c (Fnext_property_change): Properly offset interval 1023 position for string when comparing with LIMIT. 1024 (property_change_between_p): Likewise. 1025 (Fnext_single_property_change, Fprevious_property_change): Likewise. 1026 (Fprevious_single_property_change): Likewise. 1027 10281998-05-28 Richard Stallman <rms@psilocin.ai.mit.edu> 1029 1030 * keyboard.c (command_loop_1): In shortcuts for forward-char etc., 1031 use FETCH_CHAR not FETCH_BYTE. 1032 10331998-05-28 Andrew Innes <andrewi@harlequin.co.uk> 1034 1035 * lread.c (read1): Swap saved_doc_string_length and 1036 prev_saved_doc_string_length. 1037 (read_list): Negate docstring position if negative before checking 1038 against saved_doc_string_length et al. 1039 10401998-05-28 Richard Stallman <rms@psilocin.ai.mit.edu> 1041 1042 * lread.c: Remember the last TWO strings skipped with #@. 1043 (prev_saved_doc_string*): New variables. 1044 (Fload): Initalize prev_saved_doc_string. 1045 (read1): Copy saved_doc_string to prev_saved_doc_string 1046 before storing a new string in saved_doc_string. 1047 (read_list): Look in prev_saved_doc_string as well as 1048 in saved_doc_string. 1049 10501998-05-25 Andrew Innes <andrewi@harlequin.co.uk> 1051 1052 * doc.c (get_doc_string): Make non-static. 1053 1054 * lisp.h: Add prototype for get_doc_string. 1055 1056 * lread.c (read_vector): Add bytecodeflag parameter, which is 1057 nonzero when reading a bytecode object. If 1058 `load-force-doc-strings' is t when reading a lazily-loaded 1059 bytecode vector, the loaded docstring must be treated as unibyte 1060 and passed to Fread to obtain the actual bytecode string and 1061 constants vector. 1062 (read1): Add extra parameter to read_vector calls. 1063 1064 (read1): Enable saving of doc strings on WINDOWSNT. 1065 (read_list): Call get_doc_string instead of read_doc_string, when 1066 forced to load doc strings. 1067 10681998-05-25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 1069 1070 * s/gnu-linux.h (setpgrp): Remove extra parens around parameters. 1071 1072 * xterm.c (XTread_socket): Fix second argument of 1073 x_any_window_to_frame. 1074 1075 * print.c (print) <Lisp_Cons>: Detect circular list. 1076 10771998-05-25 Kenichi Handa <handa@etl.go.jp> 1078 1079 * coding.c (detect_coding_system): Treat CODING_EOL_INCONSISTENT 1080 like CODING_EOL_UNDECIDED. 1081 1082 * coding.c (ascii_skip_code): New variable. 1083 (detect_coding_mask): Skip ASCII codes at the head according to 1084 ascii_skip_code. 1085 (coding_priorities): New variable. 1086 (Fset_coding_priority_internal): New function. 1087 (detect_coding): Call set_coding_mask with coding_priorities as 1088 arg CODING. 1089 (init_coding_once): Initialize ascii_skip_code. 1090 (syms_of_coding): Declare set-coding-priority-internal as a Lisp 1091 function. 1092 10931998-05-25 Richard Stallman <rms@psilocin.ai.mit.edu> 1094 1095 * config.in (RE_TRANSLATE): Use CHAR_TABLE_TRANSLATE. 1096 1097 * lisp.h (CHAR_TABLE_TRANSLATE): New macro. 1098 10991998-05-24 Richard Stallman <rms@psilocin.ai.mit.edu> 1100 1101 * window.c (Fdelete_windows_on): For FRAME, change t to nil 1102 and nil to t, but don't change other values. 1103 1104 * xdisp.c (message_dolog): Do set windows_or_buffers_changed, 1105 if *Messages* is displayed in a window. 1106 11071998-05-22 Richard Stallman <rms@psilocin.ai.mit.edu> 1108 1109 * indent.c (compute_motion): Check for past vpos/hpos target 1110 before skipping invisible chars. 1111 1112 * buffer.c (Fother_buffer): Doc fix. 1113 1114 * window.c (window_loop): Pass new arg to Fother_buffer. 1115 1116 * frame.c (frame_buffer_predicate): New arg FRAME. 1117 (frame_buffer_list, set_frame_buffer_list): Likewise. 1118 (make_frame): Pass new arg to Fother_buffer. 1119 1120 * buffer.c (Fother_buffer): New arg FRAME. 1121 Pass it to frame_buffer_list, frame_buffer_predicate. 1122 Calls changed. 1123 (record_buffer): Pass selected frame to them 1124 and set_frame_buffer_list. 1125 1126 * lisp.h (frame_buffer_predicate, frame_buffer_list) 1127 (set_frame_buffer_list, Fother_buffer): Decls changed. 1128 1129 * window.c (select_window_1): New subroutine, from Fselect_window. 1130 (Fselect_window): Use select_window_1. 1131 (temp_output_buffer_show): Use select_window_1. 1132 11331998-05-22 Kenichi Handa <handa@etl.go.jp> 1134 1135 * ccl.c: Change term "character translation table" to "translation 1136 table". 1137 1138 * charset.c: Change term "character translation table" to 1139 "translation table". 1140 (string_to_non_ascii_char): New arg EXCLUDE_TAIL_GARBAGE. Caller 1141 changed. 1142 (Funibyte_char_to_multibyte): Doc-string fixed. 1143 (syms_of_charset): Doc-string fixed. 1144 1145 * charset.h (STRING_CHAR_AND_CHAR_LENGTH): New macro. 1146 (string_to_non_ascii_char): Adjusted for the new arg. 1147 1148 * coding.c: Change term "character translation table" to 1149 "translation table". 1150 1151 * coding.h: Change term "character translation table" to 1152 "translation table". 1153 1154 * print.c (print_string): Don't ignore garbage bytes following a 1155 multibyte characters. 1156 (print): Likewise. 1157 11581998-05-22 Richard Stallman <rms@psilocin.ai.mit.edu> 1159 1160 * search.c (shrink_regexp_cache): New function. 1161 1162 * alloc.c (Fgarbage_collect): Call shrink_regexp_cache. 1163 11641998-05-20 Richard Stallman <rms@psilocin.ai.mit.edu> 1165 1166 * editfns.c (Fchar_after): Make nil fully equivalent to (point) as arg. 1167 (Fchar_before): Likewise. 1168 11691998-05-20 Eli Zaretskii <eliz@is.elta.co.il> 1170 1171 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory) 1172 [DOS_NT]: Handle the special construct "/:" when followed by d:foo. 1173 1174 * buffer.c (init_buffer): Support DOS_NT absolute file names. 1175 11761998-05-20 Kenichi Handa <handa@etl.go.jp> 1177 1178 * charset.c (find_charset_in_str): New arg CMPCHARP. 1179 (Ffind_charset_region): Call find_charset_in_str with CMPCHARP 0. 1180 (Ffind_charset_string): Likewise. 1181 1182 * charset.h (find_charset_in_str): Number of arguments fixed. 1183 1184 * coding.c (shrink_decoding_region): No short cut by 1185 coding->heading_ascii if eol conversion is necessary. 1186 1187 * fns.c (Fstring_make_multibyte): Call CHECK_STRING. 1188 (Fstring_make_unibyte, Fstring_as_unibyte, Fstring_as_multibyte): 1189 Likewise. 1190 1191 * xselect.c (lisp_data_to_selection_data): Call 1192 find_charset_in_str with CMPCHARP 1 to encode Lisp string if it 1193 contains a composite character. 1194 11951998-05-19 Richard Stallman <rms@psilocin.ai.mit.edu> 1196 1197 * minibuf.c (syms_of_minibuf): Doc fix. 1198 1199 * window.c (Fscroll_up, Fscroll_down, Fscroll_other_window): Doc fixes. 1200 1201 * frame.c (make_frame_visible_1): New function. 1202 (Fmake_frame_visible): Use that. 1203 1204 * xdisp.c (redisplay_window): Don't use window->start 1205 if it is out of range of BEGV/ZV. 1206 12071998-05-18 Richard Stallman <rms@psilocin.ai.mit.edu> 1208 1209 * minibuf.c (read_minibuf): If history list var is void, make it nil. 1210 12111998-05-18 Ken'ichi Handa <handa@melange.gnu.org> 1212 1213 * syntax.c (skip_chars): Fix previous change. 1214 12151998-05-17 Kenichi HANDA <handa@etl.go.jp> 1216 1217 * ccl.c: Change term translation to code conversion, then change 1218 terms unify/unification to translate/translation respectively 1219 throughtout the file. 1220 1221 * charset.c: Change terms unify/unification to 1222 translate/translation respectively throughtout the file. 1223 (ONE_BYTE_CHAR_WIDTH): Delete unnecessary continuation line at the 1224 tail. 1225 1226 * charset.h: Change terms unify/unification to 1227 translate/translation respectively throughtout the file. 1228 (GET_TRANSLATION_TABLE): Name changed from UNIFICATION_ID_TABLE. 1229 1230 * coding.c: Change terms unify/unification to 1231 translate/translation respectively throughtout the file. 1232 (encode_coding_iso2022): Fix bug in encoding a text ending by a 1233 composite character. 1234 (check_composing_code): If we are decoding the last block of data, 1235 return 0 even if the source doesn't end by an escape sequence 1236 which terminates the current composing sequence. 1237 (decode_coding_iso2022): Decode correctly even if the source 1238 doesn't end by an escape sequence which terminates the current 1239 composing sequence. 1240 1241 * coding.h: Change terms unify/unification to 1242 translate/translation respectively throughout the file. 1243 1244 * fns.c (concat): Fix bug in concatinating a list of multibyte and 1245 unibyte characters. 1246 1247 * lisp.h (Vnonascii_translation_table): Name changed from 1248 Vnonascii_translate_table. 1249 1250 * syntax.c (skip_chars): Fix bug in handling a range which 1251 contains multibyte characters. 1252 12531998-05-17 Richard Stallman <rms@psilocin.ai.mit.edu> 1254 1255 * filelock.c (get_boot_time): Scan the whole wtmp file 1256 to find the most recent reboot. 1257 1258 * window.c (Fselect_window): Doc fix. 1259 (temp_output_buffer_show): Make the temp buffer current 1260 before running Qtemp_buffer_show_hook. 1261 1262 * fileio.c (Fexpand_file_name): Change conditional 1263 in previous change from WINDOWSNT to DOS_NT. 1264 12651998-05-16 Richard Stallman <rms@psilocin.ai.mit.edu> 1266 1267 * buffer.h (struct buffer): New slot display_time. 1268 1269 * buffer.c (syms_of_buffer): Set up Lisp variable buffer-display-time. 1270 Doc fixes. 1271 (reset_buffer): Initialize display_time slot. 1272 (init_buffer_once): Initialize display_time slot. 1273 1274 * window.c (Fset_window_buffer): Update buffer's display_time. 1275 1276 * insdel.c (insert_1_both, insert_from_string_1, replace_range) 1277 (insert_from_buffer_1, adjust_before_replace, adjust_after_replace): 1278 Don't copy text being deleted, if undo is disabled. 1279 1280 * lread.c (readchar): Use readchar_backlog again 1281 to read a character byte by byte, if its byte sequence 1282 does not really match the character code. 1283 (unreadchar): Handle readchar_backlog. 1284 (readevalloop, Fread): Initialize readchar_backlog to -1. 1285 12861998-05-15 Geoff Voelker <voelker@cs.washington.edu> 1287 1288 * fileio.c (Fexpand_file_name) [WINDOWSNT]: Be careful not to 1289 concatenate the directory prefix and file name to accidentally 1290 create a network share name. 1291 12921998-05-14 Andrew Innes <andrewi@harlequin.co.uk> 1293 1294 * w32xfns.c (interrupt_handle): New variable. 1295 (init_crit): Initialize it. 1296 (delete_crit): Cleanup on exit. 1297 (signal_quit): New function. Signal any threads that are blocked 1298 on a "system" call (provided they have been specially written to 1299 check for this), so the call can fail with EINTR as on Unix. 1300 1301 * w32term.h (signal_quit): Add prototype. 1302 1303 * w32fns.c (w32_wnd_proc): Call signal_quit when C-g is received. 1304 1305 * w32proc.c (sys_select): Always wait on interrupt_handle, so that 1306 user can break out of `accept-process-input' (for instance) by 1307 typing C-g. 1308 13091998-05-14 Richard Stallman <rms@psilocin.ai.mit.edu> 1310 1311 * keyboard.c (read_char): If redisplay is preempted, 1312 try swallow_events; if that clears input_pending, 1313 finish the redisplay. 1314 13151998-05-14 Geoff Voelker <voelker@cs.washington.edu> 1316 1317 * w32term.c (w32_ring_bell): Flash window correctly. 1318 13191998-05-13 Richard Stallman <rms@psilocin.ai.mit.edu> 1320 1321 * fileio.c (Finsert_file_contents): Don't check non-regular 1322 files for a coding: specification. 1323 13241998-05-13 Inge Frick <inge@nada.kth.se> 1325 1326 * keyboard.c (parse_menu_item): Removed unnecessary gcproing. 1327 Fix a test of inmenubar. 1328 13291998-05-13 Eli Zaretskii <eliz@mescaline.gnu.org> 1330 1331 * msdos.c (init_environment): Set TMPDIR to an existing 1332 directory. Abort if none of the usual places is available. 1333 13341998-05-13 Richard Stallman <rms@psilocin.ai.mit.edu> 1335 1336 * syntax.c (skip_chars): When fetching char after \, 1337 don't fail to set c_leading_code. 1338 13391998-05-12 Richard Stallman <rms@psilocin.ai.mit.edu> 1340 1341 * fileio.c (Finsert_file_contents): Check that a -*- coding: -*- spec 1342 or a local variables list exists, before Vset_auto_coding_function. 1343 1344 * minibuf.c (Fminibuffer_complete_word): 1345 Fix the string-comparison loop. 1346 1347 * search.c (search_buffer): Set search regs for all success 1348 with an empty string. 1349 (set_search_regs): Clear out all regs except 0. 1350 1351 * minibuf.c (Fall_completions, Ftry_completion): 1352 Compare char sizes, not STRING_BYTES. 1353 13541998-05-12 Inge Frick <inge@nada.kth.se> 1355 1356 * keyboard.c (parse_menu_item): Argument inmenubar < 0 now means 1357 parsing a keyboard menu item. 1358 (read_char_minibuf_menu_prompt): Use `parse_menu_item' to understand 1359 new menu item format. 1360 13611998-05-12 Andrew Innes <andrewi@harlequin.co.uk> 1362 1363 * w32.c (stat, get_long_basename): Fail if filename contains any 1364 characters that are illegal in file names. 1365 13661998-05-11 Richard Stallman <rms@psilocin.ai.mit.edu> 1367 1368 * minibuf.c (assoc_for_completion): Use Fcompare_strings. 1369 (test_completion): In obarray, try both unibyte and multibyte strings. 1370 (read_minibuf): Convert unibyte prompt to multi if minibuffer is multi. 1371 (Fdisplay_completion_list): Convert unibyte to strings to multibyte 1372 to conform to the buffer. 1373 1374 * fileio.c (Finsert_file_contents): Don't use the fast replace code 1375 if coding needs eol conversion. 1376 (Finsert_file_contents) [DOS_NT]: When setting buffer_file_type, 1377 if code conversion is needed, file is not binary. 1378 1379 * xdisp.c (redisplay_window): Handle scroll_step along with 1380 scroll_conservatively. Fix 1-off error checking the limit for them. 1381 1382 * filelock.c (unlock_file): Encode the file name. 1383 13841998-05-10 Richard Stallman <rms@psilocin.ai.mit.edu> 1385 1386 * buffer.c (Fset_buffer_multibyte): Error if marker is put 1387 on buffer's marker-chain while we have temporarily put nil there. 1388 1389 * marker.c (unchain_marker): Abort if the marker is not 1390 in its buffer's chain. 1391 (buf_bytepos_to_charpos): Fix assignment of `record' 1392 when scanning from below. 1393 Don't create a marker if buffer's marker chain is empty. 1394 1395 * coding.c (code_convert_region1): Set Vlast_coding_system_used. 1396 (code_convert_string1): Likewise. 1397 (Fdecode_coding_region, Fencode_coding_region): Doc fixes. 1398 (Fdecode_coding_string, Fencode_coding_string): Doc fixes. 1399 1400 * Makefile.in (TAGS): Specify directory when running etags. 1401 14021998-05-09 Richard Stallman <rms@psilocin.ai.mit.edu> 1403 1404 * bytecode.c (Fbyte_code): Don't use Bmark. 1405 1406 * .gdbinit (xstring): Handle unibyte strings. 1407 (xchartable, xboolvector): New commands. 1408 1409 * xdisp.c (redisplay_window): Don't use last_point_x and last_point_y 1410 if cursor_in_echo_area. 1411 1412 * minibuf.c (Qbuffer_name_history): New variable. 1413 (syms_of_minibuf): Initialize it. 1414 (Fread_buffer): Use that history list. 1415 14161998-05-09 Richard Stallman <rms@psilocin.gnu.org> 1417 1418 * syntax.c (scan_lists, scan_sexps_forward): Move complex expressions 1419 outside of the switch statement. 1420 14211998-05-09 Ken'ichi Handa <handa@melange.gnu.org> 1422 1423 * indent.c (compute_motion): Fix previous change. 1424 14251998-05-08 Kenichi Handa <handa@etl.go.jp> 1426 1427 * coding.c (detect_coding_mask): Check also coding-category-binary. 1428 14291998-05-08 Richard Stallman <rms@psilocin.gnu.org> 1430 1431 * doc.c (get_doc_string): New arg UNIBYTE 1432 Maybe use make_unibyte_string. All callers changed. 1433 (read_doc_string): Specify 1 for UNIBYTE. 1434 1435 * process.c (Fstart_process): Remove the special case for 1436 unibyte, for initializing the process coding systems. 1437 Instead, use the normal multibyte code, but check 1438 BUFFER's value and the default value of enable-multibyte-characters. 1439 (Fopen_network_stream): Likewise. 1440 14411998-05-08 Ken'ichi Handa <handa@melange.gnu.org> 1442 1443 * indent.c (compute_motion): Fix, in a different way, the bug of 1444 handling wide-column character around right margin. 1445 14461998-05-07 Richard Stallman <rms@psilocin.gnu.org> 1447 1448 * indent.c (compute_motion): Undo both May 7 changes. 1449 1450 * doprnt.c (doprnt1): Cast arg to CHAR_STRING. 1451 14521998-05-07 Andrew Innes <andrewi@harlequin.co.uk> 1453 1454 * callproc.c (Fcall_process): Fix test for when to call 1455 Ffind_operation_coding_system. 1456 14571998-05-07 Ken'ichi Handa <handa@melange.gnu.org> 1458 1459 * indent.c (compute_motion): Fix previous change. 1460 14611998-05-07 Richard Stallman <rms@psilocin.gnu.org> 1462 1463 * search.c (Freplace_match): Fix the loop for copying text 1464 from a string, in handling lastpos and pos. 1465 14661998-05-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 1467 1468 * data.c (set_internal): Properly compare lisp objects. 1469 (Fmakunbound): Likewise. 1470 * lread.c (Fintern): Properly compare lisp objects. 1471 14721998-05-07 Andrew Innes <andrewi@harlequin.co.uk> 1473 1474 * fileio.c (Fexpand_file_name) [DOS_NT]: Note when special escape 1475 prefix /: is present, and reinsert after name has been expanded. 1476 Only recognize drive specifier at beginning of name. 1477 1478 * fileio.c (Fexpand_file_name): 1479 Don't strip trailing slash if newdir is just /. 1480 14811998-05-07 Eli Zaretskii <eliz@mescaline.gnu.org> 1482 1483 * process.c (init_process, syms_of_process) [not subprocesses]: 1484 Make definition consistent with prototypes on lisp.h 1485 14861998-05-07 Kenichi Handa <handa@etl.go.jp> 1487 1488 * indent.c (compute_motion): Fix bug of handling wide-column 1489 character around right margin. 1490 14911998-05-07 Richard Stallman <rms@psilocin.gnu.org> 1492 1493 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix. 1494 14951998-05-07 Kenichi Handa <handa@etl.go.jp> 1496 1497 * callproc.c (Fcall_process): If we must display received data on 1498 the fly, don't wait until a buffer is filled. 1499 15001998-05-05 Richard Stallman <rms@psilocin.gnu.org> 1501 1502 * fileio.c (barf_or_query_if_file_exists): Encode file name. 1503 15041998-05-04 Kenichi HANDA <handa@etl.go.jp> 1505 1506 * coding.c (encode_coding_iso2022): Don't skip a code following 1507 some invalid code. 1508 15091998-05-04 Richard Stallman <rms@psilocin.gnu.org> 1510 1511 * fileio.c (Finsert_file_contents): Don't use gap pos to set point 1512 if del_range_byte deleted 0 characters. 1513 1514 * search.c (boyer_moore): Check more reliably for ptr[1] being 1515 out of range. Use pat_end to point at the pattern's end. 1516 1517 * emacs.c (main): Call the syms_of_... and keys_of_... functions 1518 earlier, before init_vms_input and init_display. 1519 15201998-05-04 E. Jay Berkenbilt <ejb@ql.org> 1521 1522 * window.h (WINDOW_RIGHT_MARGIN): Don't subtract 1 from width when 1523 there are no vertical scrollbars and this is the rightmost window 1524 in the frame. 1525 15261998-05-04 Eli Zaretskii <eliz@mescaline.gnu.org> 1527 1528 * lread.c (Fload): Rename dosmode to fmode and use it on all 1529 platforms. Avoid calling fdopen only for WINDOWSNT, use fdopen 1530 for the MSDOS version. 1531 (read1): Avoid recording doc strings positions only for WINDOWSNT, 1532 not for MSDOS. 1533 15341998-05-04 Andreas Schwab <schwab@delysid.gnu.org> 1535 1536 * xterm.c: Include syssignal.h after lisp.h. 1537 1538 * syssignal.h: Declare init_signals and add prototypes. 1539 1540 * lisp.h: Declare init functions. 1541 15421998-05-03 Richard Stallman <rms@psilocin.gnu.org> 1543 1544 * s/sunos4shr.h (LIBXMU): Don't bother testing CANNOT_DUMP. 1545 1546 * Makefile.in (TAGS-LISP): New target. 1547 (${lispsource}TAGS): Target deleted. 1548 (tags): Depend on TAGS-LISP. 1549 (TAGS): Generate the TAGS file in the build dir. 1550 (lisptagsfiles): Variable deleted. 1551 1552 * Makefile.in (shortnamesdir, cppdir): Vars deleted. 1553 (shortnames): Target deleted. 1554 (temacs): Don't use $(SHORT). 1555 (SHORT): Var deleted. 1556 15571998-05-02 Richard Stallman <rms@psilocin.gnu.org> 1558 1559 * alloc.c (Fmake_bool_vector): Clear out extraneous bits at end. 1560 1561 * lread.c (read1): Clear out extraneous bits at end of bool-vector. 1562 1563 * search.c (compile_pattern_1): Declare raw_pattern as unsigned char *. 1564 Fix casts when assigning raw_pattern. 1565 Cast raw_pattern when calling re_compile_pattern. 1566 15671998-05-02 Hallvard B Furuseth <h.b.furuseth@usit.uio.no> 1568 1569 * process.c (create_process): Add cast when calling encode_coding 1570 and another when storing buf into new_argv. 1571 1572 * search.c (search_buffer): Fix casts when assigning raw_pattern. 1573 1574 * editfns.c (Fformat): Fix casts when assigning buf. 1575 1576 * lread.c (isfloat_string): Don't look at bytes before the string. 1577 15781998-05-02 Richard Stallman <rms@psilocin.gnu.org> 1579 1580 * s/nextstep.h (HAVE_STRING_H): Add #undef. 1581 (NO_ABORT): Defined. 1582 1583 * editfns.c (Finsert_char): Doc fix. 1584 15851998-05-02 Hrvoje Niksic <hniksic@srce.hr> 1586 1587 * fileio.c (Fmake_temp_name): Improve randomness of generated file 1588 names. 1589 15901998-05-01 Richard Stallman <rms@psilocin.gnu.org> 1591 1592 * search.c (wordify): Do the second loop by chars, not by bytes. 1593 15941998-05-01 Kenichi Handa <handa@etl.go.jp> 1595 1596 * coding.c (encode_coding_iso2022): If encoding a last block, 1597 reset graphic planes and registers. 1598 15991998-04-30 Geoff Voelker <voelker@cs.washington.edu> 1600 1601 * keyboard.c (Qdrag_n_drop, drag_n_drop_syms, lispy_drag_n_drop_names) 1602 New variables. 1603 (make_lispy_event): Handle drag_n_drop events. 1604 (syms_of_keyboard): Initialize new symbols. 1605 1606 * w32fns.c (enum_font_cb2): Only ignore raster fonts when 1607 determining height and width. 1608 1609 * termhooks.h (event_kind): New event type `drag_n_drop'. 1610 1611 * makefile.nt (LIBS): Link in shell32.lib. 1612 1613 * w32fns.c: Include shellapi.h. 1614 (w32_createwindow): Enable drag-n-drop on new windows. 1615 (w32_wnd_proc): Handle WM_DROPFILES messages. 1616 Disable drag-n-drop on closing windows. 1617 1618 * w32term.c: Include shellapi.h. 1619 (construct_drag_n_drop): New function. 1620 (w32_read_socket): Handle WM_DROPFILES messages. 1621 16221998-04-30 Skip Collins <ColliBF1@APLMSG.JHUAPL.EDU> 1623 1624 * w32fns.c (msh_mousewheel): New variable. 1625 (w32_msg_pump): Register that Emacs accepts mousewheel events. 1626 (w32_wnd_proc): Check for mousewheel events. 1627 1628 * w32term.c (msh_mousewheel): Declare. 1629 (w32_read_socket): Check for mousewheel events. 1630 1631 * w32term.h (WM_MOUSEWHEEL): Define relative to WM_MOUSELAST. 1632 (MSH_MOUSEWHEEL): New macro. 1633 16341998-04-29 Richard Stallman <rms@psilocin.gnu.org> 1635 1636 * indent.c (compute_motion): When invisible text cross TO, 1637 return TO, not the start of the invisible text. 1638 1639 * process.c (Fset_process_inherit_coding_system_flag, Fstart_process): 1640 Store inherit_coding_system_flag as a Lisp_Object. 1641 (Fopen_network_stream): Likewise. 1642 (Fprocess_inherit_coding_system_flag): Access it as Lisp_Object. 1643 (read_process_output): Likewise. 1644 1645 * process.h (struct Lisp_Process): 1646 Make inherit_coding_system_flag a Lisp_Object. 1647 16481998-04-29 David Mosberger-Tang <David.Mosberger@acm.org> 1649 1650 * unexelf.c [__alpha__ && !__NetBSD__ && !__OpenBSD__]: 1651 Include definition of HDRR structure that used to be in sym.h, 1652 instead of sym.h. 1653 16541998-04-29 Andreas Schwab <schwab@delysid.gnu.org> 1655 1656 * xfns.c: Fix -Wimplicit warnings. 1657 1658 * xdisp.c (redisplay_window): Update STARTP_BYTE alongside with 1659 STARTP. New variable scroll_margin_bytepos, to parallel 1660 scroll_margin_pos. Fix arguments of pos_tab_offset to agree with 1661 the first argument of compute_motion. 1662 1663 * window.c (make_window): Initialize last_point field. 1664 1665 * sysdep.c (emacs_get_tty): Zero out termios structure before 1666 getting attributes to get consistent values for holes. 1667 (emacs_set_tty): Likewise. 1668 1669 * lisp.h: Declare Fcompare_strings. 1670 1671 * fns.c: Include <time.h> for time. 1672 1673 * emacs.c (main): Use Vbuffer_alist instead of Fbuffer_list. 1674 (syms_of_emacs): Fix doc of Vsignal_USR1_hook and 1675 Vsignal_USR2_hook. 1676 1677 * coding.c (setup_coding_system): Properly check for nil. 1678 16791998-04-29 Richard Stallman <rms@psilocin.gnu.org> 1680 1681 * editfns.c (Fcompare_buffer_substrings): Rewrite to loop by chars. 1682 1683 * coding.h (Vfile_name_coding_system) 1684 (Vdefault_file_name_coding_system): Declarations added. 1685 1686 * emacs.c (abort): Omit this definition, if NO_ABORT. 1687 End by calling exit, to avoid warning. 1688 16891998-04-28 Richard Stallman <rms@psilocin.gnu.org> 1690 1691 * filelock.c: Include coding.h. 1692 (lock_file): Encode the file name, to make lock file name. 1693 1694 * editfns.c (Fgap_position, Fgap_size): New functions. 1695 (syms_of_editfns): defsubr them. 1696 1697 * filelock.c (lock_file): gcpro `fn'. 1698 1699 * insdel.c (insert_1_both): Call prepare_to_modify_buffer before 1700 moving or making gap. 1701 (insert_from_string_1): Don't check max buffer size here. 1702 1703 * data.c (Flsh, Fash): Handle out-of-range shift counts reasonably. 1704 17051998-04-28 Dave Love <d.love@dl.ac.uk> 1706 1707 * s/aix4.h (HAVE_STRING_H): Add #undef. 1708 (HAVE_WAIT_HEADER): Defined. 1709 17101998-04-28 Richard Stallman <rms@psilocin.gnu.org> 1711 1712 * emacs.c (main): Fix bug report address in --help message. 1713 (main): Doc --multibyte and --unibyte in --help message. 1714 1715 * fns.c [HAVE_MENUS]: Include xterm.h only if HAVE_X_WINDOWS. 1716 17171998-04-28 Eli Zaretskii <eliz@mescaline.gnu.org> 1718 1719 * Makefile.in (callproc.o, print.o, cmds.o, dispnew.o, fileio.o) 1720 (frame.o, keyboard.o, minibuf.o, process.o, scroll.o, sysdep.o) 1721 (term.o, w16select.o, window.o, xdisp.o, xfaces.o, lread.o): 1722 Depend on msdos.h. 1723 (print.o): Depend on dispextern.h. 1724 17251998-04-28 Andreas Schwab <schwab@delysid.gnu.org> 1726 1727 * process.c (Fset_process_inherit_coding_system_flag): 1728 Fix test for non-nil FLAG. 1729 1730 * lread.c: Fix -Wimplicit warnings. 1731 (readevalloop): Fix type of UNIBYTE parameter. 1732 17331998-04-27 Richard Stallman <rms@psilocin.gnu.org> 1734 1735 * xterm.c (XTwrite_glyphs): Don't advance cursor X beyond limit. 1736 (XTcursor_to): Likewise. 1737 1738 * blockinput.h (reinvoke_input_signal): Don't use prototype decl. 1739 17401998-04-27 Hrvoje Niksic <hniksic@srce.hr> 1741 1742 * fns.c (Fload_average): New arg USE_FLOATS. 1743 17441998-04-27 Eli Zaretskii <eliz@mescaline.gnu.org> 1745 1746 * fns.c [HAVE_MENUS]: Include xterm.h only if HAVE_WINDOW_SYSTEM 1747 is defined. 1748 1749 * callproc.c, fileio.c: Include msdos.h after lisp.h. 1750 1751 * msdos.c (IT_ring_bell, IT_write_glyphs, IT_clear_end_of_line) 1752 (IT_clear_screen, IT_clear_to_end, IT_clear_to_end, IT_cursor_to) 1753 (IT_cmgoto, IT_reassert_line_highlight, IT_change_line_highlight) 1754 (IT_update_begin, IT_update_end, IT_set_terminal_modes) 1755 (IT_reset_terminal_modes, IT_set_terminal_window) 1756 (pixel_to_glyph_coords, IT_menu_display): Bring definitions in 1757 accordance with prototype declarations. 1758 1759 * msdos.h [!HAVE_X_WINDOWS]: Add a dummy typedef for XRectangle 1760 and prototypes for external functions. 1761 17621998-04-26 Richard Stallman <rms@psilocin.gnu.org> 1763 1764 * fns.c (Fcompare_strings): Doc fix. 1765 1766 * minibuf.c (minibuf_conform_representation): New function. 1767 (Ftry_completion): Use it to return multibyte string 1768 if and only if the completion table has a multibyte string. 1769 (Fdisplay_completion_list): 1770 Convert string to unibyte before displaying it, if default is unibyte. 1771 1772 * eval.c (find_handler_clause): Cast Fbacktrace to proper type. 1773 1774 * data.c (Fmakunbound): Test keywordness only in initial obarray. 1775 17761998-04-26 Erik Naggum <erik@naggum.no> 1777 1778 * emacs.c (standard_args): Apply --unibyte/multibyte after --nw. 1779 1780 * lisp.h: Include initial_obarray from lread.c 1781 1782 * data.c (set_internal): Test keywordness only in initial obarray. 1783 1784 * lread.c (Fintern): Initialize keywords only in initial obarray. 1785 17861998-04-25 Richard Stallman <rms@psilocin.gnu.org> 1787 1788 * sysdep.c (croak): Add forward declaration. 1789 1790 * xfns.c (x_set_foreground_color, x_set_background_color) 1791 (x_set_mouse_color, x_set_cursor_color): Don't call unload_color 1792 if same pixel is used in another slot in the frame. 1793 1794 * xterm.c (x_display_cursor): Use FRAME_CURSOR_X_LIMIT. 1795 1796 * dispnew.c (change_frame_size_1): Use FRAME_CURSOR_X_LIMIT. 1797 (update_frame): Likewise. 1798 1799 * frame.h (FRAME_CURSOR_X_LIMIT): New macro. 1800 18011998-04-25 Erik Naggum <erik@naggum.no> 1802 1803 * lread.c (Fread_from_string): Initialize startval and endval. 1804 18051998-04-24 Richard Stallman <rms@psilocin.gnu.org> 1806 1807 * lread.c (read1): Allow multibyte and unibyte together 1808 in one string. 1809 1810 * xdisp.c (Qinhibit_point_motion_hooks): New variable. 1811 (syms_of_xdisp): Init and staticpro it. 1812 (redisplay_window): Bind the symbol to t. 1813 18141998-04-24 Geoff Voelker <voelker@cs.washington.edu> 1815 1816 * w32.c (sys_socket): Make sockets non-inheritable. 1817 18181998-04-23 Andrew Innes <andrewi@harlequin.co.uk> 1819 1820 * coding.c (shrink_decoding_region): Do not consider LF as ascii 1821 if preceded by CR, since that confuses eol decoding. 1822 (code_convert_region): When conversion fails with 1823 CODING_FINISH_INSUFFICIENT_SRC, was overwriting src with garbage 1824 from dst instead of copying from src to dst. 1825 1826 * fileio.c (Fcopy_file): Skip dev/inode check on Windows. 1827 1828 * lread.c (dir_warning): Don't log a warning if Emacs hasn't 1829 finished initializing. 1830 1831 * s/ms-w32.h (utimbuf): New macro. 1832 1833 * w32.c (fstat, utime): New functions; these are provided in 1834 conjunction with stat to make handling of file timestamps 1835 consistent. 1836 (convert_from_time_t): Fix calculation of low-order bits. 1837 (sys_unlink): Allow read-only files to be unlinked as on Unix. 1838 1839 * w32fns.c (x_set_vertical_scroll_bars): Put scroll bars on the 1840 right, as is conventional on MS-Windows. 1841 (w32_wnd_proc): Add code to draw popup menu titles. 1842 Ensure mouse capture is released before running popup menu. 1843 1844 * w32term.c (w32_read_socket): Don't misinterpret WM_PAINT message 1845 as an expose event if the repaint region is actually empty. Also 1846 use the standard menubar_selection_callback routine. 1847 1848 * w32menu.c: Replace code with a new version written from scratch 1849 based on xmenu.c; menu construction is now completely lazy. 1850 1851 * w32proc.c (sys_kill): Fix indenting. 1852 18531998-04-23 Inge Frick <inge@nada.kth.se> 1854 1855 * keyboard.c (parse_menu_item): Support keywords :keys and 1856 :key-sequence. Some changes to provide GC-protection. Some 1857 cosmetic changes. 1858 (syms_of_keyboard): Define new symbols `:keys' and `:key-sequence'. 1859 18601998-04-23 Richard Stallman <rms@psilocin.gnu.org> 1861 1862 * Makefile.in (emacs.o): Depend on buffer.h. 1863 1864 * charset.c (syms_of_charset): Doc fix for nonascii-insert-offset. 1865 1866 * editfns.c (Fbuffer_substring): Doc fix. 1867 (Finsert_and_inherit_before_markers): Doc fix. 1868 (Finsert_and_inherit, Finsert_before_markers, Finsert): Doc fixes. 1869 1870 * fns.c (Fstring_make_multibyte): Doc fix. 1871 (Fstring_make_unibyte): Doc fix. 1872 18731998-04-22 Richard Stallman <rms@psilocin.gnu.org> 1874 1875 * charset.c (Funibyte_char_to_multibyte): Doc fix. 1876 1877 * xfns.c (x_set_foreground_color): Call unload_color on the old color. 1878 (x_set_background_color, x_set_mouse_color): Likewise. 1879 (x_set_cursor_color, x_set_border_pixel): Likewise. 1880 1881 * xfaces.c (unload_color): No longer static. 1882 1883 * insdel.c (insert_from_string, insert_from_string_before_markers): 1884 Don't special case LENGTH = 0. 1885 (insert_from_buffer): Likewise. 1886 18871998-04-22 Erik Naggum <erik@naggum.no> 1888 1889 * filelock.c (get_boot_time): Remove extraneous semicolon. 1890 1891 * lisp.h: Remove extraneous semicolon. 1892 18931998-04-22 Eli Zaretskii <eliz@delysid.gnu.org> 1894 1895 * w16select.c (Fwin16_set_clipboard_data): Call UNBLOCK_INPUT 1896 before calling sit_for. 1897 (Fwin16_get_clipboard_data, Fwin16_set_clipboard_data): Balance 1898 the calls to BLOCK_INPUT and UNBLOCK_INPUT. 1899 (alloc_xfer_buf): If want_size is more than 1MB, return 1900 immediately with failure. 1901 (Fw16_set_clipboard_data, Fw16_get_clipboard_data): Replace win16 1902 with w16. 1903 19041998-04-21 Richard Stallman <rms@psilocin.gnu.org> 1905 1906 * eval.c (Fsignal): Unconditionally do TOTALLY_UNBLOCK_INPUT. 1907 1908 * dispnew.c (update_frame): Move echo area cursor into range. 1909 19101998-04-21 Eli Zaretskii <eliz@delysid.gnu.org> 1911 1912 * callproc.c (Fcall_process) [MSDOS]: Call child_setup instead of 1913 run_msdos_command. 1914 (child_setup) [MSDOS]: Call run_msdos_command here. 1915 (child_setup) [DOS_NT]: Get past drive letter in pwd. Don't call 1916 close_load_descs, since we are not in a vfork. 1917 1918 * msdos.c (run_msdos_command): Don't construct process 1919 environment, it's already done in child_setup. 1920 (run_msdos_command): Add ENVV to argument list. 1921 19221998-04-20 Richard Stallman <rms@psilocin.gnu.org> 1923 1924 * emacs.c (main): Move the --unibyte code below 1925 the most basic initializations. 1926 Clear out *Messages* at that point. 1927 1928 * lread.c (read_from_string_index_byte): New variable. 1929 (read_from_string_index): Now counts characters. 1930 (readchar, unreadchar, Fread_from_string): Changed accordingly. 1931 1932 * lread.c (readchar): Read a multibyte char all at once 1933 from a buffer, marker or string. 1934 (unreadchar): Unread a multibyte char all at once. 1935 (read1): Properly handle non-escaped multibyte chars. 1936 They force a string to be multibyte. 1937 When reading direct from a file, any multibyte sequence means 1938 a multibyte string. 1939 Insist on MAX_LENGTH_OF_MULTI_BYTE_FORM bytes when checking 1940 for read_buffer full; this way need not check specially for multibyte. 1941 1942 * emacs.c: Include buffer.h 1943 (main): When handling --unibyte, mark all existing 1944 buffers as unibyte; but don't handle it when dumping. 1945 1946 * alloc.c (Fgarbage_collect): Don't truncate command-history here. 1947 1948 * callint.c (Fcall_interactively): Truncate command-history here. 1949 1950 * keyboard.c (Fcommand_execute): Truncate command-history here. 1951 1952 * lread.c (readevalloop): New arg UNIBYTE. Callers changed. 1953 Use it to bind load_convert_to_unibyte. 1954 (Feval_buffer): New arg UNIBYTE. Pass it to readevalloop. 1955 (readevalloop_1): New unwind-protect subroutine. 1956 (load_convert_to_unibyte): New variable. 1957 (syms_of_lread): Set up Lisp var. 1958 (read1): If load_convert_to_unibyte, convert strings to unibyte. 1959 1960 * insdel.c (copy_text): Count down bytes_left properly 1961 in multibyte to unibyte case. 1962 1963 * fns.c (Fcompare_strings): Require first 6 args. 1964 19651998-04-20 Kenichi HANDA <handa@etl.go.jp> 1966 1967 * Makefile.in (lisp): Add czech.elc, slovak.elc, and romanian.elc. 1968 (shortlisp): Likewise. 1969 1970 * coding.c (setup_coding_system): For a type 4 coding system, 1971 FLAGS member of coding spec is a cons of CCL program symbols. 1972 1973 * ccl.c (Fregister_ccl_program): Put ccl-program-idx property to 1974 NAME. 1975 19761998-04-19 Eli Zaretskii <eliz@delysid.gnu.org> 1977 1978 * process.h (struct Lisp_Process): Add inherit_coding_system_flag 1979 member. 1980 1981 * process.c (Fset_process_inherit_coding_system_flag) 1982 (Fprocess_inherit_coding_system_flag): New functions. 1983 (syms_of_process): Defsubr them. 1984 (Fstart_process, Fopen_network_stream): Initialize 1985 inherit_coding_system_flag. 1986 (read_process_output): If the process buffer isn't dead, call 1987 after-insert-file-set-buffer-file-coding-system. 1988 19891998-04-18 Hrvoje Niksic <hniksic@srce.hr> 1990 1991 * fileio.c (Fmake_temp_name): Complete rewrite. 1992 19931998-04-18 Richard Stallman <rms@psilocin.gnu.org> 1994 1995 * minibuf.c (Ftry_completion): Use Fcompare_strings. 1996 (Fall_completions, Fminibuffer_complete_word): Likewise. 1997 1998 * fns.c (Fcompare_strings): New function. 1999 (syms_of_fns): defsubr it. 2000 2001 * xselect.c (Fx_get_cut_buffer_internal): 2002 If FORMAT is 0, cut buffer is empty. 2003 2004 * emacs.c (main): --unibyte affects minibuffer too. 2005 20061998-04-17 Richard Stallman <rms@psilocin.gnu.org> 2007 2008 * emacs.c (syms_of_emacs): Fix patching error in previous change. 2009 2010 * lread.c (read1): Compute NaN and infinities using 0.0 in a 2011 variable, to cope with compilers that think they are smarter than us. 2012 2013 * lread.c (readchar): Find the previous byte's address properly 2014 for the buffer case, as for the marker case. 2015 20161998-04-17 Geoff Voelker <voelker@cs.washington.edu> 2017 2018 * emacs.c (Vpath_separator): New variable. 2019 (syms_of_emacs): Define Vpath_separator using SEPCHAR. 2020 2021 * lastfile.c (_my_endbss, my_endbss_static): New variables. 2022 2023 * term.c (reset_terminal_modes): Only invoke hook if defined. 2024 2025 * makefile.nt (LINK_TYPE): Do not include debug info in optimized 2026 binary. 2027 (LIBS): Include mpr.lib. 2028 (clean): Delete patch generated files, optimized build directory. 2029 2030 * s/ms-w32.h (HAVE_STRING_H, HAVE_STRFTIME): Define macros. 2031 (SYSTEM_PURESIZE_EXTRA): Increase to handle more dumped lisp files. 2032 2033 * unexw32.c (my_begbss_static, my_endbss_static): Declare. 2034 (get_bss_info_from_map_file): Only define if SEPARATE_BSS_SECTION. 2035 (get_section_info): Use my_begbss_static, my_endbss_static to 2036 determine bounds of bss. 2037 (w32_fatal_reload_error): New function. 2038 (read_in_bss, map_in_heap): Invoke w32_fatal_reload_error upon error. 2039 2040 * w32.c (sys_read): Clear carriage return flag. 2041 Report normal EOF when read fails if nothing in buffer. 2042 Only read more if more remaining. 2043 (check_windows_init_file): New function. 2044 (term_ntproc): Invoke check_windows_init_file. 2045 2046 * w32.h (FILE_SEND_SIGCHLD): New macro. 2047 2048 * w32faces.c (Qforeground_color, Qbackground_color): Declare. 2049 (compute_char_face, merge_face_list): Update from xterm.c. 2050 2051 * w32fns.c (w32_msg_pump): Handle WM_EMACS_SETLOCALE. 2052 (w32_wnd_proc): Handle WM_EMACS_SETFOREGROUND. 2053 2054 * w32heap.c (recreate_heap): Invoke w32_fatal_reload_error upon error. 2055 * w32heap.h (w32_fatal_reload_error): Declare. 2056 2057 * w32inevt.c (Vw32_recognize_altgr): Declare. 2058 (w32_kbd_mods_to_emacs): Obey Vw32_recognize_altgr. 2059 Add more keys for Vw32_capslock_is_shiftlock. 2060 (w32_kbd_patch_key): Obey Vw32_recognize_altgr. 2061 (map_virt_key): Brazilian keyboards use 0xc1 for /(?) key. 2062 2063 * w32menu.c (Vmenu_updating_frame): New variable. 2064 (Fx_popup_menu, set_frame_menubar): Record frame whose menu is 2065 being updated. 2066 (syms_of_w32menu): Define Vmenu_updating_frame. 2067 2068 * w32proc.c (w32_executable_type): Properly cast dos_header when 2069 making size comparison. 2070 (sys_spawnve): Update comments. 2071 (sys_select): Ignore children dead children with pending input. 2072 Delay sending SIGCHLD until all output has been read. 2073 (sys_kill): Sleep to allow focus change events to propagate. 2074 Use TerminateProcess on Win95. 2075 (int_from_hex, enum_locale_fn, Fw32_get_valid_locale_ids): 2076 New functions. 2077 (Vw32_valid_locale_ids): New variable. 2078 (Fw32_set_current_locale): Send message to input thread. 2079 (syms_of_ntproc): defsubr Sw32_get_valid_locale_ids. 2080 2081 * w32term.c (Vw32_recognize_altgr): New variable. 2082 (dumpglyphs): Update from xterm.c. 2083 (w32_ring_bell): Flash window, don't just reset its state. 2084 (dumprectangle, show_mouse_face, x_draw_single_glyph): Use new 2085 args to dumpglyphs. 2086 (my_set_foreground_window): New function. 2087 (w32_condemn_scroll_bars): Mark all as condemned scroll bars. 2088 (w32_redeem_scroll_bar): Look through all scroll bars. 2089 (w32_judge_scroll_bars): Don't clear out condemned list. 2090 (w32_read_socket): Clip window after frame has been restored. 2091 (x_focus_on_frame, x_raise_frame): Use my_set_foreground_window. 2092 (syms_of_w32term): Define Vw32_recognize_altgr. 2093 2094 * w32term.h (WM_EMACS_SETFOREGROUND, WM_EMACS_SETLOCALE): 2095 New message macros. 2096 20971998-04-16 Richard Stallman <rms@psilocin.gnu.org> 2098 2099 * callproc.c (Fcall_process_region): Unbind coding-system-for-write 2100 after calling Fwrite_region. 2101 2102 * eval.c (Fcatch): Doc fix. 2103 2104 * mocklisp.c (Fml_if): Initialize val. 2105 21061998-04-16 Erik Naggum <erik@naggum.no> 2107 2108 * emacs.c (main): Fix typo, add --multibyte and --no-multibyte. 2109 (standard_args): Add --multibyte and --no-multibyte. 2110 21111998-04-16 Richard Stallman <rms@psilocin.gnu.org> 2112 2113 * fns.c (time): Declare it only if not HAVE_UNISTD_H. 2114 2115 * emacs.c (standard_args): Add --no-unibyte. 2116 (main): Recognize --no-unibyte to inhibit EMACS_UNIBYTE. 2117 2118 * fns.c (Frequire): Doc fix. 2119 2120 * fileio.c (file_name_as_directory): For empty arg, return `./'. 2121 21221998-04-16 Eli Zaretskii <eliz@gnu.org> 2123 2124 * msdos.c (it_keyboard): New variable, supports Italian keyboard. 2125 (keyboard_layout_list): Add Italian keyboard. 2126 21271998-04-15 Ken'ichi Handa <handa@melange.gnu.org> 2128 2129 * coding.c (code_convert_region): If point in the conversion 2130 region, move it to FROM in advance. 2131 21321998-04-15 Eli Zaretskii <eliz@delysid.gnu.org> 2133 2134 * callproc.c (Fcall_process): Call 2135 after-insert-file-set-buffer-file-coding-system if 2136 inherit-process-coding-system is non-nil. 2137 2138 * coding.c (syms_of_coding): Declare and define 2139 inherit-process-coding-system. 2140 2141 * coding.h: Declare inherit-process-coding-system. 2142 2143 * w32.c (sys_pipe): Use binary pipe I/O unconditionally. 2144 2145 * callproc.c: Remove binary-process-{in,out}put. 2146 (syms_of_callproc): Likewise. 2147 (Fcall_process, Fcall_process_region): Don't use 2148 binary-process-{in,out}put. 2149 21501998-04-15 Andreas Schwab <schwab@delysid.gnu.org> 2151 2152 * config.in (RE_TRANSLATE_P): Define. 2153 21541998-04-15 Ken'ichi Handa <handa@melange.gnu.org> 2155 2156 * ccl.c (Fccl_execute_on_string): Put \n\ at eol of docstring. 2157 2158 * xfns.c (x_set_font): Give 2nd arg nil to Fquery_fontset. 2159 (Fx_create_frame): Likewise. 2160 21611998-04-15 Kenichi Handa <handa@etl.go.jp> 2162 2163 * ccl.c: Typo in comments fixed. 2164 (Qccl_program_idx, Qunification_table, Qunification_table_id): New 2165 variables. 2166 (syms_of_ccl): Initialize and staticpro them. 2167 (CCL_ReadMultibyteChar2): Macro name changed from 2168 CCL_ReadMultibyteCharacter. 2169 (CCL_WriteMultibyteChar2): Macro name changed from 2170 CCL_WriteMultibyteChar2. 2171 (CCL_ 2172 (MAX_TABLE_SET_LEVEL): New macro. 2173 (tr_stack): New type. 2174 (translate_stack, translate_stack_pointer): New variables. 2175 (PUSH_TRANSLATE_STACK, POP_TRANSLATE_STACK): New macros. 2176 (ccl_driver): Adjusted for the above changes. 2177 (resolve_symbol_ccl_program): New function. 2178 (Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL 2179 program. If CCL-PRGRAM is a vector, convert symbols in it to ID 2180 numbers by resolve_symbol_ccl_program. 2181 (Fccl_execute_on_string): Likewise. 2182 (Fregister_ccl_program): If the arg CCL-PRGRAM is a vector, 2183 convert symbols in it to ID numbers by resolve_symbol_ccl_program. 2184 2185 * ccl.h (Vccl_program_table, Qccl_program_idx): Extern them. 2186 2187 * fontset.c (find_ccl_program_func): New variable. 2188 (fs_load_font): Call a function pointed by find_ccl_program_func 2189 instead of finding CCL program to encode a character by itself. 2190 (Fquery_fontset): New optional 2nd arg REGEXPP. Callers changed. 2191 2192 * fontset.h (FONT_ENCODING_NOT_DECIDED): The value is changed to 255. 2193 (find_ccl_program_func): Extern it. 2194 (Fquery_fontset): Args number changed to 2. 2195 2196 * xfns.c (syms_of_xfns): Initialize find_ccl_program_func. 2197 2198 * xterm.c (x_find_ccl_program): New function. 2199 2200 * xterm.h (x_find_ccl_program): Extern it. 2201 22021998-04-14 Dave Love <fx@gnu.org> 2203 2204 * keymap.c: Revert erroneous 1998-04-07 change. 2205 22061998-04-14 Karl Heuer <kwzh@gnu.org> 2207 2208 * xfns.c (x_destroy_bitmap): Declare as void, not int. 2209 (x_report_frame_params, x_set_border_pixel): Likewise. 2210 (x_set_internal_border_width): widget_store_internal_border takes 2211 just one arg, not two. 2212 22131998-04-14 Andreas Schwab <schwab@delysid.gnu.org> 2214 2215 * xdisp.c (try_window): Fix mixing of Lisp_Object and int. 2216 2217 * window.c (Fset_window_configuration): Fix mixing of Lisp_Object 2218 and int. 2219 2220 * sysdep.c (init_sys_modes): Fix mixing of Lisp_Object and int 2221 2222 * search.c (compile_pattern, compile_pattern_1): Fix mixing of 2223 Lisp_Object and int. 2224 2225 * process.c (read_process_output): Fix mixing of Lisp_Object and 2226 int. 2227 2228 * minibuf.c (Fself_insert_and_exit): Fix mixing of Lisp_Object and 2229 int. 2230 2231 * marker.c (set_marker_both): Remove bogus checks on charpos. 2232 2233 * keyboard.c (parse_menu_item): Don't GCPRO non-lisp variables. 2234 2235 * insdel.c (signal_after_change): Fix mixing of Lisp_Object and 2236 int. 2237 2238 * indent.c (indented_beyond_p): Fix mixing of Lisp_Object and int. 2239 2240 * frame.c (Fset_mouse_position, Fset_mouse_pixel_position): Fix 2241 mixing of Lisp_Object and int. 2242 2243 * fns.c (Fsubstring, substring_both, Fchar_table_range) 2244 (Fset_char_table_range): Fix mixing of Lisp_Object and int. 2245 2246 * fileio.c (Fwrite_region): Fix mixing of Lisp_Object and int. 2247 2248 * editfns.c (Fchar_after, Fchar_before): Fix mixing of Lisp_Object 2249 and int 2250 2251 * coding.c (code_convert_region): Fix mixing of Lisp_Object and 2252 int. 2253 2254 * charset.c (Fchars_in_region): Fix mixing of Lisp_Object and int. 2255 2256 * ccl.c (ccl_driver, syms_of_ccl): Fix mixing of Lisp_Object and 2257 int. 2258 2259 * cm.h: Update return types of declarations. 2260 2261 * xterm.h, puresize.h, termhooks.h, lisp.h, keyboard.h, 2262 * intervals.h, dispextern.h, blockinput.h, coding.h: 2263 Add more prototypes. 2264 2265 * xterm.c, xselect.c, xrdb.c, xmenu.c, xdisp.c, window.c, 2266 * widget.c, undo.c, terminfo.c, term.c, sysdep.c, syntax.c, 2267 * search.c, scroll.c, process.c, print.c, mocklisp.c, prefix-args.c, 2268 * marker.c, keymap.c, keyboard.c, intervals.c, insdel.c, indent.c, 2269 * frame.c, fontset.c, fns.c, floatfns.c, filelock.c, fileio.c, 2270 * eval.c, emacs.c, editfns.c, doprnt.c, doc.c, dispnew.c, dired.c, 2271 * data.c, coding.c, cmds.c, cm.c, charset.c, ccl.c, category.c, 2272 * casetab.c, casefiddle.c, callproc.c, callint.c, bytecode.c, 2273 * buffer.c, alloc.c, abbrev.c: Fix -Wimplicit warnings. 2274 2275 * buffer.c (Fset_buffer_multibyte): Do nothing if nothing actually 2276 changes. 2277 2278 * coding.c (code_convert_region): Call adjust_after_insert also 2279 in unibyte mode. 2280 2281 * fileio.c (Finsert_file_contents): Call adjust_after_insert also 2282 in unibyte mode. 2283 22841998-04-13 Ken'ichi Handa <handa@melange.gnu.org> 2285 2286 * coding.c (code_convert_string): Give decode_coding correct byte 2287 length of source text. 2288 22891998-04-13 Richard Stallman <rms@gnu.org> 2290 2291 * print.c (strout): Convert old echo area to multibyte, like printchar. 2292 (printchar, strout): If echo area text converted to multibyte 2293 does not all fit, truncate it at char boundary. 2294 2295 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): 2296 When calling set_marker_both, pass the right buffer. 2297 2298 * indent.c (Fcompute_motion): Check that TO and FROM are in range. 2299 23001998-04-13 Eli Zaretskii <eliz@delysid.gnu.org> 2301 2302 * msdos.c (dosv_refresh_virtual_screen): Do not use negative 2303 arguments. 2304 (dos_direct_output): Fix the offset passed to 2305 dosv_refresh_virtual_screen. 2306 (IT_display_cursor): Don't call dosv_refresh_virtual_screen. 2307 (IT_reset_terminal_modes): Don't call dosv_refresh_virtual_screen 2308 when setting cursor. 2309 23101998-04-12 Richard Stallman <rms@gnu.org> 2311 2312 * print.c (temp_output_buffer_setup): Clear out overlays, 2313 visited file, undo list, etc. 2314 2315 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): FROM counts chars. 2316 (SYNTAX_TABLE_BYTE_TO_CHAR): Handle the offset properly 2317 both before and after conversion. 2318 2319 * syntax.h (UPDATE_SYNTAX_TABLE_FORWARD): Arg renamed to charpos. 2320 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE): Likewise. 2321 2322 * xdisp.c (display_text_line): When handling selective > 0, 2323 update pos and pos_byte with results of calling scan_newline. 2324 2325 * data.c (set_internal, Fmakunbound): Fix previous change. 2326 23271998-04-12 Hallvard B Furuseth <h.b.furuseth@usit.uio.no> 2328 2329 * print.c (print) <Lisp_String>: Fix "\ " handling. 2330 23311998-04-11 Richard Stallman <rms@gnu.org> 2332 2333 * s/netbsd.h (LINKER): Add definition. 2334 (LD_SWITCH_SYSTEM): Undo previous change. 2335 2336 * data.c (set_internal, Fmakunbound): No error if setting 2337 a keyword to itself. 2338 23391998-04-09 Karl Heuer <kwzh@gnu.org> 2340 2341 * marker.c (Fbuffer_has_markers_at): Fix termination condition. 2342 2343 * search.c (min, max): Make these macros, not functions. 2344 (scan_buffer, boyer_moore): Simplify args to those macros. 2345 * unexw32.c (min, max): Define as macros. 2346 * w32.c (min, max): Define as macros. 2347 * w32term.c (min, max): Define as macros. 2348 * callproc.c (relocate_fd): Avoid `min'/`max' as variable names. 2349 * print.c (print): Likewise. 2350 * dispnew.c (minmax): New macro. 2351 (update_frame): Use it. 2352 2353 * w32proc.c: Delete incorrect prototype of report_file_error. 2354 * w32.c (unrequest_sigio, request_sigio): Fix prototype. 2355 2356 * w32menu.c (set_frame_menubar): Call Fset_match_data, not 2357 Fstore_match_data. 2358 2359 * emacs.c (abort): Don't redefine on DOS_NT. 2360 23611998-04-09 Kenichi Handa <handa@etl.go.jp> 2362 2363 * charset.c (string_to_non_ascii_char): Include garbage bytes (if 2364 any) following a multibyte character in *ACTUAL_LEN. 2365 (Fcharset_after): New function. 2366 (syms_of_charset): Defsubr it. 2367 (multibyte_form_length): Modified to be consistent with 2368 string_to_non_ascii_char. 2369 2370 * charset.h (MULTIBYTE_FORM_LENGTH): Don't check LEN here. 2371 2372 * xdisp.c (display_text_line): Code for displaying a character by 2373 octal form is modified. 2374 23751998-04-08 Richard Stallman <rms@gnu.org> 2376 2377 * data.c (keyword_symbols_constant_flag): New variable. 2378 (syms_of_data): Set up Lisp variable. 2379 (set_internal): Obey it and give error for :-symbols. 2380 (Fmakunbound): Likewise. 2381 23821998-04-08 Eli Zaretskii <eliz@delysid.gnu.org> 2383 2384 * dosfns.c (init_dosfns): Fix bug in passing segment address of 2385 the transfer buffer. 2386 23871998-04-08 Karl Heuer <kwzh@gnu.org> 2388 2389 * keymap.c (fix_submap_inheritance): Fix parens. 2390 23911998-04-07 Richard Stallman <rms@gnu.org> 2392 2393 * fileio.c (Fmake_temp_name): Detect error return from mktemp. 2394 23951998-04-07 Eli Zaretskii <eliz@is.elta.co.il> 2396 2397 * charset.c (string_to_non_ascii_char, multibyte_form_length) 2398 (split_non_ascii_string, str_cmpchar_id): Make the STR argument 2399 const unsigned char *. 2400 * charset.h: Update prototypes for the above. 2401 2402 * filelock.c: Include <utmp.h> only if CLASH_DETECTION is 2403 defined. 2404 2405 * process.c (kill_buffer_processes): Make consistent with 2406 prototype in lisp.h. 2407 2408 * msdos.c (request_sigio, unrequest_sigio): Make consistent with 2409 prototypes in lisp.h. 2410 2411 * charset.h (CHAR_STRING): Cast to unsigned char ** explicitly. 2412 2413 * w16select.c (Fwin16_set_clipboard_data): Call message2 with 3 2414 arguments. 2415 2416 * emacs.c (abort): Don't redefine on MSDOS. 2417 24181998-04-07 Dave Love <fx@gnu.org> 2419 2420 * keymap.c (describe_command): Use quotes around symbol name. 2421 2422 * emacs.c (main): Obey environment variable EMACS_UNIBYTE as 2423 alternative to --unibyte. 2424 24251998-04-06 Jonathan I. Kamens <jik@kamens.brookline.ma.us> 2426 2427 * config.in (GSSAPI, HAVE_LIBGSSAPI_KRB5, HAVE_LIBGSSAPI) 2428 (HAVE_GSSAPI_H): Add undefs for GSS-API support in movemail. 2429 24301998-04-06 Richard Stallman <rms@gnu.org> 2431 2432 * dired.c (Fdirectory_files): Use make_uninit_multibyte_string. 2433 Use STRING_BYTES on encoded_directory. 2434 24351998-04-06 Andreas Schwab <schwab@gnu.org> 2436 2437 * fns.c (Flength): Doc fix. 2438 2439 * unexelf.c (unexec): Account for possible padding before the old 2440 .bss section. 2441 2442 * editfns.c (Ftranspose_regions): Fix order of parameters for 2443 replace_range. 2444 2445 * dired.c (Fdirectory_files): GCPRO encoded_directory and list. 2446 Compute needsep only once. Pass correct arg to chars_in_text. 2447 2448 * alloc.c (gc_sweep): Avoid using two loop variables counting the 2449 same thing. 2450 24511998-04-06 Ken'ichi Handa <handa@delysid.gnu.org> 2452 2453 * fns.c (Fstring_as_unibyte): Set size_byte field to -1. 2454 24551998-04-05 Eli Zaretskii <eliz@is.elta.co.il> 2456 2457 * config.in: Don't include <string.h> when configuring. 2458 24591998-04-04 Richard Stallman <rms@psilocin.gnu.org> 2460 2461 * s/netbsd.h (LD_SWITCH_SYSTEM): Add -L/usr/lib. 2462 24631998-04-03 enami tsugutomo <enami@but-b.or.jp> 2464 2465 * editfns.c (Fmessage_box): Pass the missing third argument 2466 STRING_MULTIBYTE (val) to message2. 2467 2468 * frame.c (make_frame_without_minibuffer): Conditionalize on 2469 HAVE_WINDOW_SYSTEM. 2470 (make_minibuffer_frame): Likewise. 2471 * frame.h: Ditto. 2472 24731998-04-03 Richard Stallman <rms@psilocin.gnu.org> 2474 2475 * intervals.c (set_intervals_multibyte): 2476 Function moved after set_intervals_multibyte_1. 2477 2478 * xdisp.c (redisplay_window): If updating mode line, 2479 temporarily change selected_frame. 2480 24811998-04-02 Dave Love <fx@gnu.org> 2482 2483 * emacs.c (main): Add [--unibyte] to usage. 2484 24851998-04-02 Richard Stallman <rms@psilocin.gnu.org> 2486 2487 * print.c (print) <Lisp_String>: Follow a hex escape with `\ ' if nec. 2488 2489 * data.c (Fmake_variable_frame_local): Doc fix. 2490 2491 * fns.c (Fstring_as_multibyte): Never return unibyte string unchanged. 2492 24931998-04-02 NIIBE Yutaka <gniibe@mri.co.jp> 2494 2495 * fns.c (Fstring_as_multibyte): Set size_byte field. 2496 24971998-04-02 Richard Stallman <rms@psilocin.gnu.org> 2498 2499 * fns.c (char_table_translate): New function. 2500 * config.in (RE_TRANSLATE): Use char_table_translate. 2501 25021998-04-02 Kenichi Handa <handa@etl.go.jp> 2503 2504 * coding.c (CHARSET_OK): Don't reject safe charsets. 2505 (DECODE_DESIGNATION): Likewise. 2506 (check_composing_code): Likewise. 2507 2508 * marker.c (buf_charpos_to_bytepos): Delete local variable 2509 gapend_byte. 2510 2511 * xselect.c (selection_data_to_lisp_data): Give 2512 make_string_from_bytes a correct char size. 2513 25141998-04-01 Richard Stallman <rms@psilocin.gnu.org> 2515 2516 * xdisp.c (redisplay_window): Fix computing pos from last_point. 2517 25181998-03-30 Kenichi Handa <handa@etl.go.jp> 2519 2520 * coding.c (code_convert_region): Handle skipped ASCII characters 2521 at the head and tail of conversion region correctly when adjusting 2522 position keepers. Call adjust_after_insert to record undo info 2523 and adjust markers when we don't have to change byte sequence of 2524 a buffer. 2525 2526 * coding.h (struct coding_system): Comment for the member 2527 heading_ascii modified. 2528 2529 * fileio.c (Finsert_file_contents): Call adjust_after_insert when 2530 a text is inserted in a multibyte buffer without any code 2531 conversion. 2532 2533 * insdel.c (adjust_markers_for_replace): New function. 2534 (adjust_after_replace): Arguments changed. Call 2535 adjust_markers_for_replace if this function is called after 2536 replacement. 2537 (adjust_after_insert): New function. 2538 2539 * lisp.h (adjust_after_replace, adjust_after_insert): Extern them. 2540 25411998-03-28 Richard Stallman <rms@psilocin.gnu.org> 2542 2543 * xdisp.c (display_text_line): Handle overlay-arrow correctly. 2544 25451998-03-28 Richard Stallman <rms@psilocin.gnu.org> 2546 2547 * fileio.c (barf_or_query_if_file_exists): New arg QUICK. 2548 All calls changed. 2549 25501998-03-27 Richard Stallman <rms@psilocin.gnu.org> 2551 2552 * insdel.c (check_markers_debug_flag): New variable. 2553 (syms_of_insdel): Set up Lisp var. 2554 (CHECK_MARKERS): New macro. Use it everywhere 2555 instead of calling check_markers directly. 2556 It tests check_markers_debug_flag. 2557 25581998-03-26 Richard Stallman <rms@psilocin.gnu.org> 2559 2560 * alloc.c (mark_buffer): Mark the undo_list slot specially; 2561 don't mark a marker just cause it is in this list. 2562 (Fgarbage_collect): Discard from all undo-lists 2563 all elements that adjust markers that were not marked. 2564 2565 * buffer.h (struct buffer): Field `undo_list' moved before `name' 2566 so it won't get marked in the usual way. 2567 2568 * coding.c (code_convert_region): Call adjust_before_replace 2569 in the no-conversion case. Adjust GPT, ZV and Z in chars. 2570 25711998-03-25 Richard Stallman <rms@psilocin.gnu.org> 2572 2573 * lread.c (init_lread): Init Vstandard_input. 2574 25751998-03-25 Ken'ichi Handa <handa@melange.gnu.org> 2576 2577 * xdisp.c (redisplay_window): Fix previous change. 2578 25791998-03-25 Kenichi Handa <handa@etl.go.jp> 2580 2581 * indent.c (compute_motion): Call strwidth only when necessary. 2582 Set wide_column_end_hpos only when MULTIBYTE_BYTES_WIDTH set 2583 nonzero to wide_column. 2584 2585 * xdisp.c (redisplay_window): Give byte position to FETCH_BYTE. 2586 Call pos_tab_offset appropriately. 2587 (try_window_id): Give byte position to FETCH_BYTE. Set 2588 val.bytepos to pos_byte. 2589 2590 * lisp.h (make_buffer_string, make_buffer_string_both): Extern 2591 them. 2592 2593 * process.c (read_process_output): Count multibyte characters. If 2594 received data is stored in p->decoding_buf, copy it to a temporary 2595 buffer and call insert_before_makers instead of 2596 insert_from_string_before_markers. 2597 25981998-03-24 Ken'ichi Handa <handa@melange.gnu.org> 2599 2600 * lisp.h (record_delete): The second arg is Lisp_Object. 2601 26021998-03-24 Kenichi Handa <handa@etl.go.jp> 2603 2604 * indent.c (MULTIBYTE_BYTES_WIDTH): Set wide_column only when we 2605 encounter a wide-column character. 2606 2607 * undo.c (record_delete): Record last_point_position when there's 2608 no record other than marker adjustment before undo boundary. 2609 2610 * insdel.c (del_range_2): Move gap again to a proper place just 2611 after calling make_buffer_string_both. 2612 2613 * coding.c (shrink_decoding_region): If EOL_CONVERSION is nonzero, 2614 don't skip `\r' (instead of `\n'). 2615 26161998-03-23 Andreas Schwab <schwab@gnu.org> 2617 2618 * xmenu.c (popup_get_selection): On receiving a KeyPress event 2619 only deactivate the menu when the key is not a modifier key. 2620 2621 * xfns.c (Fx_create_frame): Use "borderWidth", not "borderwidth", 2622 as resource name, to be consistent with other X applications. 2623 26241998-03-21 Richard Stallman <rms@delysid.gnu.org> 2625 2626 * dired.c (Fdirectory_files): 2627 In FULL case, compute number of characters 2628 2629 * fns.c (substring_both, Fsubstring): Use make_specified_string. 2630 (concat): Make string result unibyte or multibyte as appropriate. 2631 2632 * sunfns.c (syms_of_sunfns): Pass new arg to make_pure_string. 2633 2634 * alloc.c (make_specified_string): New function. 2635 (make_string_from_bytes): New function. 2636 (compact_strings): Get byte size from size, if size_byte < 0. 2637 (Fmake_string): Use make_uninit_string for single-byte char. 2638 (make_unibyte_string): Mark string as unibyte. 2639 (make_uninit_string): Likewise. 2640 (make_string): Likewise, if size == size in bytes. 2641 (make_pure_string): New arg MULTIBYTE. 2642 (Fpurecopy): Pass new arg to make_pure_string. 2643 2644 * editfns.c (Fchar_to_string): Use make_string_from_bytes. 2645 (Fformat): Use make_specified_string. 2646 (make_buffer_string_both): Use make_uninit_string if buffer is unibyte. 2647 2648 * casefiddle.c (casify_object): Use make_specified_string. 2649 2650 * charset.c (Fstring): Use make_string_from_bytes. 2651 (Fcompose_string): Likewise. 2652 2653 * cmds.c (internal_self_insert): Use make_string_from_bytes. 2654 2655 * coding.c (code_convert_string): Use make_string_from_bytes. 2656 2657 * doc.c (Fsubstitute_command_keys): Use make_string_from_bytes. 2658 2659 * lread.c (read1): Pass new arg to make_pure_string. 2660 (make_symbol): Likewise. 2661 (init_obarray): Likewise. 2662 (read1): Use make_specified_string. 2663 2664 * print.c (PRINTPREPARE): Use make_string_from_bytes. 2665 2666 * process.c (read_process_output): Use make_string_from_bytes. 2667 2668 * search.c (Fregexp_quote): Use make_specified_string. 2669 2670 * xselect.c (selection_data_to_lisp_data): Use make_string_from_bytes. 2671 2672 * insdel.c (insert_from_string_1, replace_range): 2673 Use STRING_MULTIBYTE to determine whether string is multibyte. 2674 2675 * editfns.c: Use STRING_BYTES and SET_STRING_BYTES. 2676 2677 (Ftranspose_regions): Try to handle combining bytes. 2678 2679 * alloc.c, xterm.c, xselect.c, xmenu.c, xfns.c, xdisp.c, search.c, 2680 * process.c, print.c, lread.c, keymap.c, insdel.c, keyboard.c, 2681 * frame.c, fns.c, filelock.c, doc.c, dispnew.c, data.c, coding.c, 2682 * charset.c, ccl.c, category.c, casefiddle.c, callproc.c, callint.c, 2683 * bytecode.c, abbrev.c, minibuf.c, buffer.c, fileio.c: 2684 Use STRING_BYTES and SET_STRING_BYTES. 2685 2686 * xmenu.c: Don't include puresize.h any more as code that needs it 2687 has moved to keyboard.c. 2688 (menu_item_equiv_key, menu_item_enabled_p_1, menu_item_enabled_p): 2689 Functions deleted; code moved to parse_menu_item in keyboard.c. 2690 (single_keymap_panes): Large part of code moved to single_menu_item. 2691 (single_menu_item): New function that uses parse_menu_item. 2692 (Qmenu_alias): Variable deleted. 2693 (QCtoggle, QCradio): New variables. 2694 (syms_of_xmenu): Change initializations of variables. 2695 2696 * keymap.c (fix_submap_inheritance, get_keyelt, store_in_keymap) 2697 (copy-keymap, where_is_internal_1): 2698 Support new format for menu items. 2699 (syms_of_keymap): New symbol `menu-item'. 2700 2701 * keyboard.c: Include puresize.h for CHECK_IMPURE. 2702 (parse_menu_item): New function. 2703 (menu_item_eval_property_1, menu_item_eval_property) New suroutines. 2704 (menu_bar_one_keymap): Moved some code to menu_bar_item. 2705 (menu_bar_item): Rewritten to use parse_menu_item. 2706 (menu_bar_item_1): Function deleted. 2707 (QCenable, QCvisible, QChelp, QCfilter, QCbutton, QCtoggle, QCradio): 2708 (Qmenu_alias): New variables. 2709 (syms_of_keyboard): Initialize them, and item_properties. 2710 2711 * insdel.c (replace_range): New arg NOMARKERS. 2712 27131998-03-21 Richard Stallman <rms@psilocin.gnu.org> 2714 2715 * dired.c (Fdirectory_files): In FULL case, 2716 compute number of characters. 2717 2718 * insdel.c (insert_from_string_1, replace_range): 2719 Use STRING_MULTIBYTE to determine whether string is multibyte. 2720 2721 * lisp.h: Declarations changed. 2722 (STRING_MULTIBYTE, STRING_BYTES, SET_STRING_BYTES): 2723 New definitions treating negative size_byte as a flag for unibyte. 2724 2725 * xselect.c (selection_data_to_lisp_data): Use make_string_from_bytes. 2726 2727 * search.c (Fregexp_quote): Use make_specified_string. 2728 2729 * process.c (read_process_output): Use make_string_from_bytes. 2730 2731 * print.c (PRINTPREPARE): Use make_string_from_bytes. 2732 2733 * fns.c (substring_both, Fsubstring): Use make_specified_string. 2734 (concat): Make string result unibyte or multibyte as appropriate. 2735 2736 * doc.c (Fsubstitute_command_keys): Use make_string_from_bytes. 2737 2738 * coding.c (code_convert_string): Use make_string_from_bytes. 2739 2740 * cmds.c (internal_self_insert): Use make_string_from_bytes. 2741 2742 * charset.c (Fstring): Use make_string_from_bytes. 2743 (Fcompose_string): Likewise. 2744 2745 * casefiddle.c (casify_object): Use make_specified_string. 2746 2747 * editfns.c (Fchar_to_string): Use make_string_from_bytes. 2748 (Fformat): Use make_specified_string. 2749 (make_buffer_string_both): Use make_uninit_string if buffer is unibyte. 2750 2751 * sunfns.c (syms_of_sunfns): Pass new arg to make_pure_string. 2752 2753 * lread.c (read1): Pass new arg to make_pure_string. 2754 (make_symbol): Likewise. 2755 (init_obarray): Likewise. 2756 (read1): Use make_specified_string. 2757 2758 * alloc.c (make_specified_string): New function. 2759 (make_string_from_bytes): New function. 2760 (compact_strings): Get byte size from size, if size_byte < 0. 2761 (Fmake_string): Use make_uninit_string for single-byte char. 2762 (make_unibyte_string): Mark string as unibyte. 2763 (make_uninit_string): Likewise. 2764 (make_string): Likewise, if size == size in bytes. 2765 (make_pure_string): New arg MULTIBYTE. 2766 (Fpurecopy): Pass new arg. 2767 2768 * lisp.h (STRING_BYTES, SET_STRING_BYTES): New macros. 2769 2770 * All files: Use STRING_BYTES and SET_STRING_BYTES. 2771 2772 * editfns.c (Ftranspose_regions): Try to handle combining bytes. 2773 * insdel.c (replace_range): New arg NOMARKERS. 2774 27751998-03-20 Richard Stallman <rms@psilocin.gnu.org> 2776 2777 * cmds.c (internal_self_insert): Pass new arg to replace_range. 2778 2779 * insdel.c (insert_1_both, insert_from_string_1, insert_from_buffer_1): 2780 (adjust_before_replace, adjust_after_replace, replace_range): 2781 (del_range_2): Call record_delete the new way. 2782 Use make_buffer_string_both to make the string to pass. 2783 2784 * editfns.c (make_buffer_string_both): New function. 2785 (make_buffer_string): Use make_buffer_string_both. 2786 2787 * undo.c (record_delete): Replace LENGTH arg with STRING. 2788 (record_change): Call record_delete the new way. 2789 2790 * Makefile.in (keymap.o): Depend on puresize.h. 2791 (xmenu.o): Don't depend on puresize.h. 2792 27931998-03-20 Inge Frick <inge@nada.kth.se> 2794 2795 * keyboard.h (item_properties): New variable. 2796 (ITEM_PROPERTY_...): New macros. 2797 2798 * keymap.c (fix_submap_inheritance, get_keyelt, store_in_keymap) 2799 (copy-keymap, where_is_internal_1): Support new format for menu items. 2800 (syms_of_keymap): New symbol `menu-item'. 2801 2802 * keyboard.c: Include puresize.h for CHECK_IMPURE. 2803 (parse_menu_item): New function. 2804 (menu_item_eval_property_1, menu_item_eval_property) New suroutines. 2805 (menu_bar_one_keymap): Moved some code to menu_bar_item. 2806 (menu_bar_item): Rewritten to use parse_menu_item. 2807 (menu_bar_item_1): Function deleted. 2808 (QCenable, QCvisible, QChelp, QCfilter, QCbutton, QCtoggle, QCradio): 2809 (Qmenu_alias): New variables. 2810 (syms_of_keyboard): Initialize them, and item_properties. 2811 2812 * xmenu.c: Don't include puresize.h any more as code that needs it 2813 has moved to keyboard.c. 2814 (menu_item_equiv_key, menu_item_enabled_p_1, menu_item_enabled_p): 2815 Functions deleted; code moved to parse_menu_item in keyboard.c. 2816 (single_keymap_panes): Large part of code moved to single_menu_item. 2817 (single_menu_item): New function that uses parse_menu_item. 2818 (Qmenu_alias): Variable deleted. 2819 (QCtoggle, QCradio): New variables. 2820 (syms_of_xmenu): Change initializations of variables. 2821 28221998-03-20 Richard Stallman <rms@psilocin.gnu.org> 2823 2824 * window.c (window_display_table): Don't look inside buffer if its nil. 2825 2826 * insdel.c (del_range_2): Use adjust_markers_for_record_delete. 2827 28281998-03-19 Kenichi Handa <handa@etl.go.jp> 2829 2830 * editfns.c (Fgoto_char): If POSITION is a marker pointing a 2831 different buffer, don't rely on the byte position of the marker. 2832 28331998-03-19 Richard Stallman <rms@psilocin.gnu.org> 2834 2835 * editfns.c (Fformat): Handle padding before or after, for %s etc. 2836 Treat 0 like a multibyte char in %c. 2837 28381998-03-19 Erik Naggum <erik@naggum.no> 2839 2840 * filelock.c (get_boot_time): Conditionalize on BOOT_TIME. 2841 (lock_file_1): Add boot-time to lock only if available. 2842 28431998-03-19 Kenichi Handa <handa@etl.go.jp> 2844 2845 * fns.c (Fstring_as_multibyte): Call multibyte_chars_in_text 2846 instead of chars_in_text because we must ignore 2847 enable-multibyte-characters here. 2848 * lread.c (read1): Likewise. 2849 * marker.c (byte_char_debug_check): Likewise. 2850 28511998-03-19 Richard Stallman <rms@psilocin.gnu.org> 2852 2853 * filelock.c (current_lock_owner): If lock file data doesn't include 2854 the uptime, assume the lock is from this system boot. 2855 28561998-03-18 Richard Stallman <rms@psilocin.gnu.org> 2857 2858 * lread.c (read0): Swap args to Fmake_string. 2859 28601998-03-17 Richard Stallman <rms@psilocin.gnu.org> 2861 2862 * callproc.c (syms_of_callproc): Doc fixes. 2863 2864 * insdel.c (adjust_markers_for_delete): 2865 Delete unused local coming_gap_size. 2866 (adjust_markers_for_record_delete): New function. 2867 (insert_1_both, insert_from_string_1, insert_from_buffer_1) 2868 (adjust_after_replace, replace_range): 2869 Use adjust_markers_for_record_delete. 2870 2871 * editfns.c (Fsave_excursion): Doc fix. 2872 2873 * window.c (Frecenter): Operate on window's buffer even 2874 if some other was current. 2875 2876 * filelock.c (get_boot_time): New function. 2877 (lock_file_1): Include boot time in the lock text. 2878 (current_lock_owner): Parse and compare the boot time. 2879 28801998-03-16 Erik Naggum <erik@naggum.no> 2881 2882 * editfns.c (Fformat): Properly print floats. 2883 28841998-03-16 Kenichi Handa <handa@etl.go.jp> 2885 2886 * insdel.c (ADJUST_CHAR_POS): New macro. 2887 (combine_bytes): Use the macro ADJUST_CHAR_POS. 2888 (adjust_after_replace): New arg REPLACE. If it is zero, give LEN 2889 as the arg LENGTH to offset_intervals. 2890 (del_range_2): Give correct args to count_combining_before and 2891 combine_bytes. Adjust the gap position after record_delete if 2892 necessary. Give character position to adjust_overlays_for_delete. 2893 2894 * fileio.c (Finsert_file_contents): 2895 Give adjust_after_replace the new arg REPLACE as 0. 2896 2897 * coding.c (code_convert_region): The 6th arg name is changed to 2898 REPLACE. Even if there's no need of code conversion, call 2899 adjust_after_replace to handle bytes combining. 2900 29011998-03-15 Richard Stallman <rms@psilocin.gnu.org> 2902 2903 * syntax.h (SYNTAX_FLAGS_COMSTART_FIRST): New macro. 2904 (SYNTAX_FLAGS_COMSTART_SECOND): Likewise. 2905 (SYNTAX_FLAGS_COMEND_FIRST, SYNTAX_FLAGS_COMEND_SECOND): Likewise. 2906 (SYNTAX_FLAGS_PREFIX, SYNTAX_FLAGS_COMMENT_STYLE): Likewise. 2907 2908 * syntax.c (Fbackward_prefix_chars): Set point properly while scanning. 2909 (scan_sexps_forward): Make INC_FROM do UPDATE_SYNTAX_TABLE_FORWARD. 2910 Delete the explicit calls to UPDATE_SYNTAX_TABLE_FORWARD. 2911 Also set prev_from_syntax (new local var). Test that in the loop, 2912 instead of fetching syntax of the previous char. 2913 2914 * editfns.c (Fchar_after, Fchar_before): Properly check arg type 2915 and whether in range, for all cases. 2916 29171998-03-14 Richard Stallman <rms@psilocin.gnu.org> 2918 2919 * process.c (exec_sentinel, read_process_output): 2920 Fstore_match_data => Fset_match_data. 2921 2922 * xmenu.c (set_frame_menubar): Fstore_match_data => Fset_match_data. 2923 2924 * xdisp.c (message_dolog): Save and restore Vdeactivate_mark. 2925 (prepare_menu_bars): Fstore_match_data => Fset_match_data. 2926 (update_menu_bar): Likewise. 2927 29281998-03-13 Richard Stallman <rms@psilocin.gnu.org> 2929 2930 * search.c (Fset_match_data): Renamed from Fstore_match_data. 2931 (syms_of_search): Corresponding change. 2932 2933 * lisp.h: Fstore_match_data => Fset_match_data. 2934 2935 * window.c (Fwindow_end): New arg UPDATE. 2936 2937 * window.c (Fset_window_configuration): Don't call do_switch_frame 2938 or run Qwindow_configuration_change_hook if frame is dead. 2939 2940 * cmds.c (internal_self_insert): Call Fforward_buffer to advance 2941 over the replacement characters. 2942 29431998-03-12 Richard Stallman <rms@psilocin.gnu.org> 2944 2945 * process.c (Fstart_process): Doc fix. 2946 2947 * s/ptx4.h (SETUP_SLAVE_PTY): New definition. 2948 2949 * buffer.c (init_buffer): Call Fset_buffer_multibyte for *scratch*. 2950 29511998-03-11 Richard Stallman <rms@psilocin.gnu.org> 2952 2953 * insdel.c (insert_1_both, insert_from_string_1, insert_from_buffer_1) 2954 (adjust_after_replace, replace_range): 2955 Account for combining bytes in args to record_insert. 2956 (del_range_2): Make undo records for combining bytes. 2957 Put second call to move_gap_both before setting beg_unchanged. 2958 29591998-03-12 Kenichi HANDA <handa@etl.go.jp> 2960 2961 * coding.c (code_convert_region): Adjusted for the change of 2962 adjust_after_replace. 2963 2964 * fileio.c (Finsert_file_contents): Don't do position adjustments 2965 and handling post-read-conversion here, they are done in 2966 code_convert_region. Even if a file is read by no-conversion, 2967 call adjust_after_replace to adjust positions. 2968 2969 * insdel.c (adjust_before_replace): Call 2970 adjust_overlays_for_delete. 2971 (adjust_after_replace): Delete args COMBINED_BEFORE_BYTES and 2972 COMBINED_AFTER_BYTES. This makes the newly generated text 2973 following GPT_ADDR a buffer contents. 2974 29751998-03-10 Richard Stallman <rms@psilocin.gnu.org> 2976 2977 * insdel.c (adjust_markers_for_insert): Don't leave a marker within 2978 the combined_after_bytes. Use DEC than INC when leaving 2979 a marker before the insertion. 2980 (count_combining_before): Return number of bytes from start 2981 of insertion that will combine. 2982 (insert_1_both): Compensate for change in count_combining_before. 2983 Delete intervals for the combined_after_bytes. 2984 Compensate for that when updating other intervals. 2985 (insert_from_buffer_1, replace_range): Likewise. 2986 (adjust_after_replace): Likewise. 2987 (insert_from_string_1): Likewise. Also handle intervals 2988 for inserting just part of string. 2989 2990 * insdel.c (insert_1_both, insert_from_string_1, insert_from_buffer_1): 2991 Count all of combined_after_bytes, not just 1, when correcting 2992 nchars, and in related places. 2993 (adjust_after_replace, replace_range): Likewise. 2994 29951998-03-09 Gerd Moellmann <gerd@gnu.org> 2996 2997 * fontset.c (fontset_pattern_regexp): `==' was used instead of `='. 2998 29991998-03-09 Richard Stallman <rms@psilocin.gnu.org> 3000 3001 * insdel.c (combine_bytes): New function. 3002 (insert_1_both, insert_from_string_1, insert_from_buffer_1): 3003 Simplify greatly by using combine_bytes near the end 3004 to handle all aspects of combining except for undo-recording. 3005 This means most of the code deals with the text as if there were 3006 no combining. 3007 (replace_range): Likewise. Also handle unibyte-multibyte conversion 3008 as in insert_from_string_1. 3009 (del_range_2): Handle combining of character before the deletion 3010 with strays after the deletion. 3011 (adjust_markers_for_delete): Delete debugging code for Z == Z_BYTE. 3012 (adjust_markers_for_insert): Move Z == Z_BYTE debugging code 3013 to before we relocate the marker. 3014 30151998-03-09 Richard Stallman <rms@psilocin.gnu.org> 3016 3017 * lisp.h (struct Lisp_Buffer_Local_Value): 3018 Field car renamed to realvalue. New fields check_frame, 3019 found_for_buffer, found_for_frame, buffer, frame. 3020 3021 * data.c (store_symval_forwarding, swap_in_symval_forwarding) 3022 (set_internal, default_value, Fset_default, Fmake_local_variable) 3023 (Fmake_variable_buffer_local, Fkill_local_variable): 3024 Handle new data structure for struct Lisp_Buffer_Local_Value. 3025 (Fmake_variable_frame_local): New function. 3026 3027 * buffer.c (set_buffer_internal_1) 3028 (swap_out_buffer_local_variables): Handle new data structure 3029 for struct Lisp_Buffer_Local_Value. 3030 3031 * print.c (print): Handle new data structure 3032 for struct Lisp_Buffer_Local_Value. 3033 3034 * alloc.c (gc_sweep, mark_object): Handle new data structure 3035 for struct Lisp_Buffer_Local_Value. 3036 30371998-03-08 Richard Stallman <rms@psilocin.gnu.org> 3038 3039 * insdel.c (adjust_markers_for_insert): New arg COMBINED_BEFORE_BYTES. 3040 Calls changed. 3041 3042 * search.c (simple_search): Don't count a character until it matches! 3043 Call set_search_regs differently in a forward search. 3044 (boyer_moore): Fix up the code that translates the pattern 3045 and loops thru equivalent characters. 3046 30471998-03-07 Richard Stallman <rms@psilocin.gnu.org> 3048 3049 * insdel.c (adjust_markers_for_insert): New arg COMBINED_AFTER_BYTES. 3050 Calls changed. 3051 (insert_1): Call insert_1_both. 3052 (count_combining_before): New function. 3053 (count_combining_after): New function. 3054 (insert_1_both, insert_from_string_1): Handle bytes that combine 3055 with chars adjacent to the inserted text. 3056 (insert_from_buffer_1, replace_range): Likewise. 3057 (adjust_after_replace): 3058 New args COMBINED_BEFORE_BYTES, COMBINED_AFTER_BYTES. 3059 30601998-03-06 Kenichi Handa <handa@etl.go.jp> 3061 3062 * Makefile.in (alloc.o): Depend on charset.h. 3063 3064 * alloc.c (Fmake_string): Handle the case INIT is a multibyte 3065 character correctly. 3066 3067 * buffer.c (advance_to_char_boundary): Handle the case the code 3068 0240..0377 is not a constituent of a multibyte sequence. 3069 3070 * coding.c (code_convert_region): Fix previous change. Adjusted 3071 for the change of adjust_after_replace (see insdel.c change above). 3072 30731998-03-04 Ken'ichi Handa <handa@melange.gnu.org> 3074 3075 * coding.c (code_convert_region): Fix previous change. 3076 30771998-03-04 Kenichi HANDA <handa@etl.go.jp> 3078 3079 * buffer.c (Fset_buffer_multibyte): Fix arg for chars_in_text. 3080 Be sure not to have a multibyte sequence striding over the GAP 3081 3082 * charset.c (strwidth): Make it work for invalid bytes sequence. 3083 (Fstring_width): Give byte length of STR to strwidth. 3084 3085 * coding.c (code_convert_region): Handle the case that codes 3086 0240..0377 are generated just after a multibyte character. 3087 3088 * editfns.c (Fformat): Format multibyte characters by "%c" 3089 correctly. Handle padding for multibyte characters correctly. 3090 30911998-03-03 Richard Stallman <rms@psilocin.gnu.org> 3092 3093 * puresize.h (BASE_PURESIZE): Increased. 3094 30951998-03-03 Kenichi Handa <handa@etl.go.jp> 3096 3097 * Makefile.in (dired.o): Depend on charset.h and coding.h. 3098 3099 * callproc.c (Vdefault_file_name_coding_system): Extern it. 3100 (Fcall_process): Use ENCODE_FILE. 3101 3102 * coding.h (ENCODE_FILE): Moved from fileio.c. Use 3103 default-file-name-coding-system if file-name-coding-system is nil. 3104 (DECODE_FILE): New macro. 3105 3106 * dired.c: Include charset.h and coding.h. 3107 (ENCODE_FILE): This macro is moved to coding.h. 3108 (Vdefault_file_name_coding_system): Extern it. 3109 (Fdirectory_files): Use DECODE_FILE. 3110 (file_name_completion): Likewise. 3111 3112 * editfns.c (Fformat): Fix previous change. 3113 3114 * fileio.c (ENCODE_FILE): This macro is moved to coding.h. 3115 (Vdefault_file_name_coding_system): New variable. 3116 (syms_of_fileio): Defsubr it. 3117 (Ffile_symlink_p): Use DECODE_FILE. 3118 (Ffile_name_directory): Use size_byte member of XSTRING (filename). 3119 (Ffile_name_as_directory): Likewise. 3120 (Fdirectory_file_name): Likewise. 3121 (Fsubstitute_in_file_name): Likewise. 3122 (expand_and_dir_to_file): Likewise. 3123 (Fdo_auto_save): Likewise. 3124 (Fread_file_name): Likewise. 3125 3126 * insdel.c (insert_1_both): If enable-multibyte-characters is nil, 3127 insert each byte as one character. 3128 3129 * process.c (Vdefault_file_name_coding_system): Extern it. 3130 (create_process): Use ENCODE_FILE. 3131 31321998-03-02 Kenichi Handa <handa@etl.go.jp> 3133 3134 * callproc.c (Fcall_process): Calculate CARRYOVER correctly. 3135 3136 * charset.h (NONASCII_INSERT_OFFSET): New macro. 3137 (VALID_MULTIBYTE_CHAR_P): New macro. 3138 3139 * charset.c (DEFAULT_NONASCII_INSERT_OFFSET): Macro definition is 3140 moved to charset.h. 3141 (unibyte_char_to_multibyte): Always return a valid character. 3142 (Funibyte_char_to_multibyte): New function. 3143 (syms_of_charset): Defsubr it. Doc-string of 3144 nonascii-insert-offset is modified. 3145 3146 * coding.h: Typo in comment fixed. 3147 3148 * cmds.c (internal_self_insert): Avoid checking 3149 enable-multibyte-characters twice. 3150 3151 * editfns.c (string1): Cast ARGS to `char **' to avoid 3152 compiler warning. 3153 3154 * fileio.c (Ffile_name_nondirectory): Use size_byte member of 3155 XSTRING (filename). 3156 3157 * fns.c (DEFAULT_NONASCII_INSERT_OFFSET): Macro definition is 3158 moved to charset.h. 3159 (concat): Use unibyte_char_to_multibyte. 3160 3161 * insdel.c (DEFAULT_NONASCII_INSERT_OFFSET): Macro definition is 3162 moved to charset.h. 3163 (copy_text): Don't convert codes in the range 0200..0237 to 3164 multibyte characters. For codes in the range 0240..0377, use 3165 unibyte_char_to_multibyte. 3166 (count_size_as_multibyte): Likewise. 3167 (adjust_before_replace): Comment fixed. 3168 3169 * xdisp.c (try_window_id): Use DEC_BOTH unconditionally. 3170 (display_text_line): Likewise. 3171 31721998-03-02 Richard Stallman <rms@psilocin.gnu.org> 3173 3174 * lisp.h (Vnonascii_translate_table, Qcharset): New variable decls. 3175 (Fstring_make_multibyte, Fstring_make_unibyte): New function decl. 3176 (Fstring_as_multibyte, Fstring_as_unibyte): New function decl. 3177 (list2, list3, list4, list5): New function decl. 3178 (Fwrite_region): Add an argument. 3179 (compare_window_configurations): New function decl. 3180 3181 * keyboard.c: Include syntax.h. 3182 (interrupt_signal): Save and restore gl_state 3183 around an immediate quit, in case debugger returns. 3184 3185 * Makefile.in (keyboard.o): Depend on syntax.h. 3186 3187 * syntax.h (UPDATE_SYNTAX_TABLE): 3188 Do nothing unless parse_sexp_lookup_properties. 3189 (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD): Likewise. 3190 (SYNTAX_TABLE_BYTE_TO_CHAR): If parse_sexp_lookup_properties is 0, 3191 return 0 right away. 3192 (SETUP_SYNTAX_TABLE): Add if (1) ... else. 3193 31941998-03-01 Richard Stallman <rms@psilocin.gnu.org> 3195 3196 * fileio.c (auto_save_1): Pass new arg to Fwrite_region. 3197 (Fwrite_region): New arg CONFIRM. If non-nil, confirm overwriting. 3198 3199 * callproc.c (Fcall_process_region): Pass new arg to Fwrite_region. 3200 32011998-03-01 Ilya Zakharevich <ilya@math.ohio-state.edu> 3202 3203 * syntax.c (update_syntax_table): Properly update `position' 3204 field of used intervals. 3205 3206 * interval.c (update_interval): Properly update `position' 3207 field of used intervals. 3208 32091998-02-28 Richard Stallman <rms@psilocin.gnu.org> 3210 3211 * fns.c (internal_equal): compare_window_configurations takes new arg. 3212 3213 * window.c (compare_window_configurations): New arg ignore_positions. 3214 (Fcompare_window_configurations): New function. 3215 (syms_of_window): defsubr it. 3216 3217 * keyboard.c (Fthis_command_keys_vector): New function. 3218 (Fread_key_sequence_vector): New function. 3219 (syms_of_keyboard): defsubr them. 3220 (Fthis_single_command_keys): Always return a vector. 3221 32221998-02-27 Richard Stallman <rms@psilocin.gnu.org> 3223 3224 * xterm.c (XTframe_up_to_date): Check that mouse_face_mouse_frame 3225 is non-null before calling note_mouse_highlight. 3226 (x_destroy_window): If f equals mouse_face_mouse_frame, 3227 clear that, and clear mouse_face_deferred_gc too. 3228 3229 * xdisp.c (syms_of_xdisp): Doc fix. 3230 3231 * data.c (store_symval_forwarding) <Lisp_Misc_Buffer_Objfwd>: 3232 If buffer_local_types has -1, this variable is read-only. 3233 3234 * buffer.c (syms_of_buffer): enable-multibyte-characters is read-only. 3235 3236 * data.c (Fset_default) <BUFFER_OBJFWDP>: 3237 Unconditionally set the slot in buffer_defaults. 3238 3239 * buffer.c (reset_buffer): Initialize enable_multibyte_characters. 3240 3241 * buffer.c (init_buffer_once): Force enable-multibyte-characters 3242 to be local in every buffer whether it is set or not. 3243 3244 * fns.c (mapcar1): Handle bool-vectors. 3245 (Fmapconcat, Fmapcar): Doc fixes. 3246 (Flength): For char-table, length is based on max valid char code. 3247 3248 * syssignal.h: Delete #endif left over from previous change. 3249 32501998-02-27 Andreas Schwab <schwab@gnu.org> 3251 3252 * indent.c (compute_motion): If we just moved over a continuation 3253 return contin_hpos as prevhpos. 3254 32551998-02-27 Karl Heuer <kwzh@gnu.org> 3256 3257 * insdel.c (del_range_2): Reorder args. All callers changed. 3258 32591998-02-25 Karl Heuer <kwzh@gnu.org> 3260 3261 * insdel.c (del_range_both): Reorder args. All callers changed. 3262 32631998-02-24 Kenichi Handa <handa@etl.go.jp> 3264 3265 * xdisp.c (message_dolog): Give correct args to 3266 message_log_check_duplicate and del_range_both. 3267 3268 * search.c (scan_newline): Delete duplicated code. 3269 32701998-02-21 Richard Stallman <rms@gnu.org> 3271 3272 * cmds.c (Fdelete_backward_char): Count both bytes and chars. 3273 32741998-02-21 Ilya Zakharevich <ilya@math.ohio-state.edu> 3275 3276 * syntax.h (UPDATE_SYNTAX_TABLE_FORWARD): Fix condition. 3277 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE): Likewise. 3278 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix bounds. 3279 * syntax.c (update_syntax_table): Fix calculations using offset. 3280 (skip_chars): Fix loop termination condition. 3281 * textprop.c (interval_of): Handle Qt. 3282 32831998-02-20 Andreas Schwab <schwab@gnu.org> 3284 3285 * s/gnu-linux.h (LINUX_MAP_SHARED_DOES_WORK): Define for kernel 3286 version after 2.0. 3287 (UNEXEC_USE_MAP_PRIVATE): Don't define if 3288 LINUX_MAP_SHARED_DOES_WORK. 3289 3290 * syssignal.h (sigmask) [POSIX_SIGNALS]: Always define our own 3291 version that returns a sigset_t. 3292 (sigpause) [POSIX_SIGNALS]: Unconditionally define in terms of 3293 sigsuspend. Don't redefine SIGEMPTYMASK. 3294 (sys_sigpause): Don't declare. 3295 (temp_mask): Don't declare. 3296 * sysdep.c (sys_sigpause): Removed. 3297 (new_action, old_action): Move as local variables into sys_signal. 3298 (old_mask, temp_mask): Removed. 3299 33001998-02-20 Kenichi Handa <handa@etl.go.jp> 3301 3302 * editfns.c (Fmessage): Check byte size (instead of char size) of 3303 VAL against MESSAGE_LENGTH. 3304 3305 * fileio.c (Fwrite_region): When writing a string, give byte size 3306 to a_write. 3307 (a_write): Handle annotations correctly when writing a string. 3308 3309 * ccl.c (Fccl_execute_on_string): Put \n\ at end-of-line of 3310 doc-string. 3311 33121998-02-19 Kenichi Handa <handa@etl.go.jp> 3313 3314 * buffer.c (advance_to_char_boundary): Make the behaviour 3315 consistent with INC_POS. 3316 3317 * ccl.c (Fccl_execute_on_string): Add new arg UNIBYTE-P. 3318 3319 * charset.h (INC_POS): Use macro BASE_LEADING_CODE_P. 3320 (DEC_POS): Make the behaviour consistent with INC_POS. 3321 (BUF_INC_POS, BUF_DEC_POS): Likewise. 3322 3323 * charset.c (invalid_character): New function. 3324 (chars_in_text): Make the behaviour consistent with INC_POS. 3325 (multibyte_chars_in_text): Likewise. 3326 (str_cmpchar_id): Likewise. 3327 (non_ascii_char_to_string): Call invalid_character. 3328 (Fchar_direction): Likewise. 3329 3330 * coding.c (decode_coding_iso2022): Update coding->fake_multibyte. 3331 (ENCODE_SINGLE_SHIFT_2, ENCODE_SINGLE_SHIFT_3) 3332 (encode_coding_iso2022, decode_coding_sjis_big5) 3333 (encode_coding_sjis_big5, decode_eol, encode_eol, decode_coding) 3334 (encode_coding): Likewise. 3335 (shrink_decoding_region, shrink_encoding_region): Do not skip 3336 non-ASCII code in any cases. Bug fix for getting starting address 3337 from BEG. 3338 (code_convert_region): Sync character positions correctly by 3339 paying attention to coding->fake_multibyte. 3340 (code_convert_string): Set number of character and bytes just 3341 processed in members of CODING. 3342 (code_convert_string): Adjusted for the change of 3343 code_convert_region. 3344 (code_convert_region1): Likewise. 3345 3346 * coding.h (struct coding_system): New member fake_multibyte. 3347 3348 * fileio.c (Finsert_file_contents): Read a file contents into the 3349 correct buffer (byte) position. Adjusted for the change of 3350 code_convert_region. 3351 3352 * fns.c (Fset_char_table_default): For an invalid character, call 3353 invalid_character. 3354 3355 * indent.c (MULTIBYTE_BYTES_WIDTH): New macro. 3356 (current_column_1): Don't follow a display table for a heading 3357 byte of a multibyte character. Use the macro 3358 MULTIBYTE_BYTES_WIDTH. 3359 (Fmove_to_column): Likewise. 3360 (compute_motion): Likewise. Handling of wide-column character 3361 fixed. 3362 3363 * insdel.c (adjust_before_replace): Comment added. 3364 (adjust_after_replace): Comment added. Give correct args to 3365 adjust_point. Don't call signal_after_change here. 3366 3367 * intervals.c (temp_set_point_both): Declare arg BYTEPOS as int. 3368 (set_point_both): Likewise. 3369 3370 * search.c (search_buffer): Update POS_BYTE for regexp search. 3371 3372 * xdisp.c (display_text_line): Handling of a wide-column character 3373 fixed. Make the behaviour consistent with INC_POS. 3374 33751998-02-18 Richard Stallman <rms@gnu.org> 3376 3377 * editfns.c (Fchar_before): Check POS in valid range 3378 before calling CHAR_TO_BYTE. 3379 3380 * search.c (search_command): Check LIM in valid range 3381 before calling CHAR_TO_BYTE. 3382 33831998-02-15 Richard Stallman <rms@psilocin.gnu.org> 3384 3385 * minibuf.c (read_minibuf): Do use DEFALT in place of empty input 3386 when when expflag is nonzero. 3387 (Fread_no_blanks_input): Arg INIT renamed to INITIAL. 3388 33891998-02-14 Richard Stallman <rms@psilocin.gnu.org> 3390 3391 * fileio.c (Fread_file_name): Alter the history 3392 to contain just the actual file name, and not any 3393 other preinserted text that is not really used. 3394 3395 * search.c (simple_search): Call set_search_regs. 3396 (boyer_moore): New arg CHARSET_BASE says which chars 3397 to use the translate tables for. 3398 (search_buffer): Properly test which chars participate in translation. 3399 34001998-02-12 Gerd Moellmann <gerd@gnu.org> 3401 3402 * intervals.c (split_interval_right): Make sure to call 3403 balance_possible_root_interval in case an interval doesn't have a 3404 right child, because otherwise the interval tree might degenerate 3405 into a list. 3406 (split_interval_left): Ditto if an interval hasn't a left child. 3407 34081998-02-12 Richard Stallman <rms@psilocin.gnu.org> 3409 3410 * search.c (TRANSLATE): New arg OUT. Handle non-integer in TRT. 3411 All calls changed. 3412 3413 * editfns.c (Fsubst_char_in_region): Don't increment pos twice. 3414 3415 * charset.h (INC_BOTH, DEC_BOTH): In unibyte mode, 3416 simply increment bytepos. 3417 3418 * syntax.c (skip_chars): Use INC_POS instead of INC_BOTH. 3419 (Fforward_comment): Always use both FROM and FROM_BYTE to set point. 3420 Use dec_bytepos not DEC_POS. 3421 (scan_lists): Handle unibyte buffers when decrementing temp_pos. 3422 (INC_FROM): Use INC_BOTH. 3423 (inc_bytepos, dec_bytepos): In unibyte mode, just increment bytepos. 3424 3425 * xdisp.c (display_text_line): Use INC_BOTH for unibyte buffers too. 3426 34271998-02-10 Richard Stallman <rms@psilocin.gnu.org> 3428 3429 * keymap.c (describe_map_tree): Add the maps we have already 3430 handled into SUB_SHADOWS. 3431 34321998-02-06 Kenichi Handa <handa@melange.gnu.org> 3433 3434 * fns.c (Fstring_bytes): Declare arg STRING as Lisp_Object. 3435 3436 * editfns.c (Fposition_bytes): Declare arg POSITION as 3437 Lisp_Object. Allow marker as arg POSITION. Use XINT for type 3438 consistency. 3439 34401998-02-09 Andreas Schwab <schwab@gnu.org> 3441 3442 * indent.c (compute_motion): If right margin is reached and we are 3443 truncating don't clobber PREV_HPOS if we are already past TO. 3444 34451998-02-09 Richard Stallman <rms@psilocin.gnu.org> 3446 3447 * fns.c (concat): Use Vnonascii_translate_table. 3448 3449 * charset.c (Vnonascii_translate_table): New variable. 3450 (unibyte_char_to_multibyte): Use Vnonascii_translate_table. 3451 (syms_of_charset): Defvar it. 3452 3453 * insdel.c (copy_text, count_size_as_multibyte): 3454 Use Vnonascii_translate_table. 3455 34561998-02-08 Richard Stallman <rms@psilocin.gnu.org> 3457 3458 * print.c (printchar): When outputting to echo area, 3459 update message_enable_multibyte, and convert previous text 3460 from unibyte to multibyte if necessary. 3461 3462 * search.c (search_command): Fix call to search_buffer. 3463 34641998-02-07 Richard Stallman <rms@psilocin.gnu.org> 3465 3466 * dired.c (Fdirectory_files): Call compile_pattern the new way. 3467 3468 * search.c (boyer_moore, simple_search): New subroutines. 3469 (search_buffer): For non-regexp, use one of those subroutines. 3470 Args TRT and INVERSE_TRT are now Lisp_Object. Callers changed. 3471 (compile_pattern_1): Arg TRANSLATE is now Lisp_Object. Calls changed. 3472 (compile_pattern): Arg TRANSLATE is now Lisp_Object. Calls changed. 3473 3474 * config.in (RE_TRANSLATE_TYPE): Define as Lisp_Object. 3475 (RE_TRANSLATE): Use Faref to examine translate table. 3476 34771998-02-06 Richard Stallman <rms@psilocin.gnu.org> 3478 3479 * marker.c (byte_char_debug_check): New function. 3480 (CONSIDER, both definitions): Call it. 3481 (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Likewise. 3482 (byte_debug_flag): New variable. 3483 (syms_of_marker): Set up Lisp variable. 3484 3485 * buffer.c (advance_to_char_boundary): New function. 3486 (Fset_buffer_multibyte): Advance all byte-positions to char boundaries. 3487 Clear undo list. 3488 3489 * fontset.h (GENERIC_FONT_PTR): Commented-out definition deleted. 3490 34911998-02-06 Kenichi Handa <handa@etl.go.jp> 3492 3493 * window.h: Change argument number of Fdisplay_buffer to 3. 3494 34951998-02-06 Richard Stallman <rms@psilocin.gnu.org> 3496 3497 * buffer.c (Fpop_to_buffer): Pass new arg to Fdisplay_buffer. 3498 3499 * window.c (Fdisplay_buffer): New arg FRAME. 3500 (temp_output_buffer_show): Pass new arg to Fdisplay_buffer. 3501 (Fother_window_for_scrolling): Likewise. 3502 3503 * editfns.c (Fposition_bytes): New function. 3504 (syms_of_editfns): defsubr it. 3505 3506 * fns.c (Fstring_bytes): New function. 3507 (syms_of_fns): defsubr it. 3508 35091998-02-05 Richard Stallman <rms@psilocin.gnu.org> 3510 3511 * minibuf.c (read_minibuf): If input is empty, return empty string. 3512 (Fread_string): Return DEFAULT_VALUE here, if input is empty. 3513 (Fcompleting_read): Likewise. 3514 35151998-02-04 Richard Stallman <rms@psilocin.gnu.org> 3516 3517 * keymap.c (Fdescribe_bindings_internal): 3518 Renamed from Fdescribe_bindings. New arg NOMENU. 3519 (syms_of_keymap): Corresponding changes. 3520 (describe_buffer_bindings): Get NOMENU out of the arg list. 3521 Pass it along to describe_map_tree. 3522 Improve text of `alternate_heading'. 3523 3524 * alloc.c (list2, list3, list4, list5): New functions. 3525 35261998-02-04 Kenichi Handa <handa@etl.go.jp> 3527 3528 * charset.c (Fiso_charset): Doc-string modified. 3529 3530 * editfns.c (Fsubst_char_in_region): Handle character-base 3531 position and byte-base position correctly. 3532 (Fstring_to_char): Give byte size to STRING_CHAR. 3533 3534 * insdel.c (copy_text): When copying from multibyte to unibyte, do 3535 not alter ASCII characters. 3536 35371998-02-03 Richard Stallman <rms@psilocin.gnu.org> 3538 3539 * editfns.c (Fformat): If MULTIBYTE is changed to 1 3540 after we start computing TOTAL, jump back to `retry' (a new label). 3541 35421998-02-01 Richard Stallman <rms@sucrose.gnu.org> 3543 3544 * lread.c (read1): Handle infinities, NaN and -0.0 specially. 3545 (isfloat_string): Accept e+INF and e+NAN as exponents. 3546 3547 * print.c (float_to_string): Handle infinities and NaN specially. 3548 3549 * fns.c (concat): Handle bool-vectors correctly. 3550 3551 * fns.c (concat): If making a string, a nonempty bool-vector is error. 3552 35531998-01-30 Richard Stallman <rms@psilocin.gnu.org> 3554 3555 * data.c (Faref, Faset): Allow indexing a char-table 3556 directly by numbers up to CHAR_TABLE_ORDINARY_SLOTS. 3557 3558 * fns.c (Fset_char_table_range, Fchar_table_range): 3559 Allow a charset name symbol to designate a range. 3560 3561 * callproc.c (Fcall_process): Allow creating a new buffer 3562 for the output. 3563 35641998-01-30 Kenichi Handa <handa@etl.go.jp> 3565 3566 * coding.c (ENCODE_ISO_CHARACTER): Pay attention to 3567 CODING_FLAG_ISO_USE_ROMAN and CODING_FLAG_ISO_USE_OLDJIS. 3568 (code_convert_region1): New function. 3569 (Fdecode_coding_region): Call code_convert_region1. 3570 (Fencode_coding_region): Likewise. 3571 (code_convert_string1): New function. 3572 (Fdecode_coding_string): Call code_convert_string1. 3573 (Fencode_coding_string): Likewise. 3574 3575 * doc.c (Fsubstitute_command_keys): Declare length_byte out of 3576 internal block. 3577 3578 * editfns.c (CONVERTED_BYTE_SIZE): Fix the logic. 3579 (Fformat): Update the variable MULTIBYTE according to the result 3580 of Fprin1_to_string. Free BUF after making Lisp string from it. 3581 35821998-01-28 Richard Stallman <rms@psilocin.gnu.org> 3583 3584 * search.c (search_buffer): New args pos_byte and lim_byte. 3585 (search_command): Pass new args. 3586 35871998-01-28 Kenichi Handa <handa@etl.go.jp> 3588 3589 * coding.c (DECODE_SJIS_BIG5_CHARACTER): Don't have to increase 3590 coding->produced_char here. 3591 (code_convert_region): Initialize LEN_BYTE correctly. 3592 3593 * search.c (fast_string_match): Give re_search byte size of 3594 STRING. 3595 (trivial_regexp_p): Initialize LEN to byte size of REGEXP. 3596 (search_buffer): Give re_search_2 STARTPOS, RANGE and STOP by 3597 counting them by bytes. 3598 3599 * data.c (syms_of_data): Register multibyte-string-p as a Lisp 3600 function. 3601 36021998-01-28 Richard Stallman <rms@psilocin.gnu.org> 3603 3604 * category.c (Fmodify_category_entry): Doc fix. 3605 (Fdescribe_categories): Renamed from Fdescribe_category. 3606 (syms_of_category): Corresponding changes. 3607 (Fcategory_set_mnemonics): Doc fix. 3608 (Fchar_category_set): Doc fix. 3609 (Fmake_category_set): Doc fix. 3610 36111998-01-26 Richard Stallman <rms@psilocin.gnu.org> 3612 3613 * xdisp.c (message_dolog): Cast M to unsigned char * to access bytes. 3614 3615 * keyboard.c (command_loop_1): Run post-command-hook before, 3616 not after, clearing this-command-keys and updating last-command. 3617 3618 * fns.c (string_make_multibyte): In all-ASCII case, return orig STRING. 3619 3620 * fns.c (Fstring_as_unibyte): New function. 3621 (Fstring_as_multibyte): New function. 3622 (syms_of_fns): defsubr them. 3623 36241998-01-25 Richard Stallman <rms@psilocin.gnu.org> 3625 3626 * window.c (compare_window_configurations): New function. 3627 3628 * fns.c (internal_equal): Use compare_window_configurations. 3629 3630 * fileio.c (file_name_as_directory): For an empty name, return "/". 3631 36321998-01-24 Richard Stallman <rms@psilocin.gnu.org> 3633 3634 * callproc.c (Fcall_process): Test only args past args[4] 3635 for multibyteness. 3636 36371998-01-23 Ken'ichi Handa <handa@melange.gnu.org> 3638 3639 * charset.h: Delete garbage line "int use_dialog_box". 3640 36411998-01-23 Richard Stallman <rms@psilocin.gnu.org> 3642 3643 * lread.c (Funintern): Clear the symbol's obarray field. 3644 36451998-01-21 Richard Stallman <rms@psilocin.gnu.org> 3646 3647 * s/sol2-5.h (SYSTEM_MALLOC): Defined. 3648 36491998-01-21 Ken'ichi Handa <handa@melange.gnu.org> 3650 3651 * fileio.c (Finsert_file_contents): Fix previous change. 3652 36531998-01-21 Richard Stallman <rms@psilocin.gnu.org> 3654 3655 * syntax.c (back_comment): Move the find_defun_start call 3656 out of the scan_sexps_forward call. 3657 No need to call find_defun_start 3658 if we found the defun start in the initial scan. 3659 36601998-01-21 Kenichi Handa <handa@etl.go.jp> 3661 3662 * callproc.c (Fcall_process): Use raw-text instead of emacs-mule 3663 when enable-multibyte-characters is nil. Adjusted for the change 3664 of encode_coding and decode_coding. 3665 3666 * ccl.h: Definition of macros CCL_STAT_XXX are moved from ccl.c to 3667 here. 3668 3669 * charset.c (min_composite_char): New variable. 3670 (syms_of_charset): Declare a Lisp variable min-composite-char. 3671 3672 * charset.h (BCOPY_SHORT): New macro. 3673 3674 * coding.h (CODING_FINISH_XXX): New macros. 3675 (CODING_MODE_XXX): New macros. 3676 (struct coding_system): New member mode, category_idx, 3677 heading_ascii. Deleted members last_block, direction, selective, 3678 carryover, carryover_size. 3679 (CODING_MAY_REQUIRE_DECODING): New macro. 3680 (CODING_CATEGORY_MASK_ISO_7BIT, CODING_CATEGORY_MASK_ISO_8BIT) 3681 (CODING_CATEGORY_MASK_ISO_SHIFT, CODING_CATEGORY_MASK_ISO): 3682 New macros. 3683 (Qraw_text): Extern it. 3684 3685 * coding.c (DECODE_CHARACTER_ASCII): Update coding->produced_char; 3686 (DECODE_CHARACTER_DIMENSION1): Likewise. 3687 (Qraw_text, Qcoding_category): New variables. 3688 (syms_of_coding): Intern and staticpro them. 3689 (coding_system_table): New variable. 3690 (CHARSET_OK, SHIFT_OUT_OK): New macros. 3691 (detect_coding_iso2022): Detection algorithm improved. 3692 (decode_coding_iso2022): Arg CONSUMED deleted, and the meaning of 3693 return value changed. Update members produced, produced_char, 3694 consumed, consumed_char of the struct *coding. Pay attention to 3695 CODING_MODE_INHIBIT_INCONSISTENT_EOL. 3696 (encode_coding_iso2022): Likewise. 3697 (decode_coding_sjis_big5, encode_coding_sjis_big5): Likewise. 3698 (decode_eol, encode_eol): Likewise. 3699 (ENCODE_ISO_CHARACTER): Update coding->consumed_char. 3700 (DECODE_SJIS_BIG5_CHARACTER): Update coding->produced_char. 3701 (ENCODE_SJIS_BIG5_CHARACTER): Update coding->consumed_char. 3702 (detect_coding_mask): New args PRIORITIES and SKIP. 3703 (detect_coding): Adjusted for the change of detect_coding_mask. 3704 Update coding->heading_ascii. 3705 (detect_eol_type): New arg SKIP. 3706 (detect_eol): Adjusted for the change of detect_eol_type. 3707 (ccl_codign_driver): New function. 3708 (decode_coding): Arg CONSUMED deleted, and the meaning of return 3709 value changed. Update members produced, produced_char, consumed, 3710 consumed_char of the struct *coding. 3711 (encode_coding): Likewise. 3712 (shrink_decoding_region, shrink_encoding_region): New function. 3713 (code_convert_region, code_convert_string): Completely rewritten. 3714 (detect_coding_system): New arg HIGHEST. 3715 (Fdetect_coding_region): New arg HIGHEST. 3716 (Fdetect_coding_string): New function. 3717 (Fdecode_coding_region, Fencode_coding_region): Adjusted for the 3718 change of code_convert_region. 3719 (Fdecode_coding_string, Fencode_coding_string): Adjusted for the 3720 change of code_convert_string. 3721 (Fupdate_iso_coding_systems): New function. 3722 (init_coding_once): Initialize coding_system_table. 3723 3724 * data.c (Faset): Allow setting a multibyte character in a 3725 multibyte string as far as it doesn't change the size_byte of the 3726 string. 3727 3728 * fileio.c (Finsert_file_contents): Adjusted for the change of 3729 struct coding_system and function decode_coding. For normail file 3730 reading, use code_convert_region. 3731 (Fwrite_region): Adjusted for the change of struct coding_system. 3732 (e_write): Adjusted for the change of encode_coding. 3733 3734 * fns.c (mapcar1): Keep `i' in `i_before' before `i' is 3735 incremented by FETCH_STRING_CHAR_ADVANCE. 3736 3737 * insdel.c (adjust_before_replace, adjust_after_replace): New 3738 functions. 3739 3740 * lisp.h (detect_coding_system): Extern it. 3741 3742 * process.c (Fstart_process): Use raw-text instead of emacs-mule 3743 if enable-multibyte-characters is nil. Initialize members 3744 decoding_carryover and encoding_carryover of PROC. 3745 (create_process): Adjusted for the change of encode_coding. 3746 (Fopen_network_stream): Initialize members decoding_carryover and 3747 encoding_carryover of PROC. 3748 (read_process_output): Adjusted for the change of decode_coding. 3749 (send_process): Adjusted for the change of encode_coding. 3750 3751 * process.h (struct Lisp_Process): New members decoding_carryover 3752 and encoding_carryover. 3753 3754 * term.c (encode_terminal_code): Adjusted for the change of 3755 encode_coding. 3756 (write_glyphs): Likewise. Adjusted for the change of struct 3757 coding_system. 3758 (insert_glyphs): Likewise. 3759 3760 * xselect.c (selection_data_to_lisp_data): Adjusted for the change 3761 of decode_coding. 3762 (lisp_data_to_selection_data): Adjusted for the change of 3763 encode_coding. 3764 (syms_of_xselect): Initialize clipboard-coding-system to 3765 compound-text. 3766 37671998-01-21 Kenichi Handa <handa@etl.go.jp> 3768 3769 * fileio.c (Finsert_file_contents): Even if 3770 enable-multibyte-characters is nil, we must check `coding:' tag 3771 and `file-coding-system-alist' to handle eol-conversion. 3772 3773 * coding.c (Vselect_safe_coding_system_function): New variable. 3774 (coding_category_table): This variable deleted. 3775 (Vcoding_category_table): New variable. 3776 (coding_category_name): Add "coding-category-iso-7-tight". 3777 (detect_coding_iso2022): Check the mask 3778 CODING_FLAG_ISO_DESIGNATION in CODING->FLAGS. Check a new coding 3779 category coding-category-iso-7-tight. 3780 (DECODE_DESIGNATION): Decode only such designations that CODING 3781 can handle. 3782 (check_composing_code): New function. 3783 (decode_coding_iso2022): Decode only such characters that CODING 3784 can handle. 3785 (encode_coding_iso2022): Before and after encoding composite 3786 characters, reset designation and invocation status. 3787 (detect_coding_sjis): Delete unnecessary check. 3788 (detect_coding_big5): Likewise. 3789 (encode_designation_at_bol): Check the validity of requested 3790 designation register. 3791 (setup_coding_system): Set requested designation registers for 3792 non-supported charsets to 3793 CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION. Set mask 3794 CODING_FLAG_ISO_DESIGNATION in CODING->FLAGS. Code tuned for 3795 no-conversion and undecided. 3796 (detect_coding): Adjusted for the new variable 3797 Vcoding_category_table. 3798 (syms_of_coding): Initialize Vcoding_category_table and staticpro 3799 it. Register select-safe-coding-system as a Lisp variable. 3800 3801 * coding.h (CODING_FLAG_ISO_DESIGNATION): New macro. 3802 (struct iso2022_spec): New member. 3803 last_invalid_designation_register. 3804 (struct coding_system): New member inhibit_inconsistent_eol_type. 3805 (CODING_CATEGORY_IDX_ISO_7_TIGHT, CODING_CATEGORY_MASK_ISO_7_TIGHT): 3806 New macros. 3807 (CODING_CATEGORY_MASK_ANY): Include CODING_CATEGORY_MASK_ISO_7_TIGHT. 3808 (coding_category_table, coding_category_name): Extern deleted. 3809 (Vselect_safe_coding_system_function): Extern it. 3810 3811 * charset.h (MAX_CHAR_COMPOSITION): New macro. 3812 (CHAR_CHARSET): Check more strictly. 3813 (CODING_FLAG_ISO_DESIGNATION): New macro. 3814 38151998-01-21 Kenichi Handa <handa@etl.go.jp> 3816 3817 * ccl.h (struct ccl_program): New member private_state. 3818 3819 * ccl.c (Vccl_translation_table_vector, Qccl_program) 3820 (Qccl_translation_table, Qccl_translation_table_id): New variables. 3821 Append new symbols. Qccl_translation_table and 3822 Qccl_translation_table_id. 3823 (CCL_Call): Fix the comment. 3824 (CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter) 3825 (CCL_UnifyCharacter, CCL_UnifyCharacterConstTbl) 3826 (CCL_IterateMultipleMap, CCL_TranslateMultipleMap): 3827 New macros for CCL Commands. 3828 (EXCMD): New macro. 3829 (ccl_driver): New case lable `CCL_Extention'. 3830 (setup_ccl_program): Initialize the member `private_state' of CCL. 3831 (Fregister_ccl_program): Delete unused variable IDX. 3832 (Fregister_ccl_translation_table): New function. 3833 (syms_of_ccl): Intern and staticpro Qccl_program, 3834 Qccl_translation_table, and Qccl_translation_table_id. Declare 3835 `ccl-translation-table-vector' as a Lisp variable. Declare 3836 register-ccl-translation-table as a Lisp function. 3837 3838 * charset.h (Vcharacter_unification_table_vector): Extern it. 3839 (UNIFICATION_ID_TABLE): New macro. 3840 3841 * charset.c (Vcharacter_unification_table_vector): New variable. 3842 (syms_of_charset): Declare it as a Lisp symbol. 3843 (unify_char): Delete unnecessary codes. 3844 38451998-01-21 Richard Stallman <rms@psilocin.gnu.org> 3846 3847 * indent.c (current_column_1): 3848 Eliminate argument POS; use PT and PT_BYTE. 3849 When doing FETCH_BYTE, use scan_byte. 3850 (current_column): Check whether buffer really has multibyte chars, 3851 not whether they are enabled. 3852 3853 * editfns.c (Fsave_current_buffer): Use set_buffer_if_live. 3854 3855 * bytecode.c (Fbyte_code) <Bsave_current_buffer_1>: 3856 Use set_buffer_if_live. 3857 3858 * buffer.c (set_buffer_if_live): New function. 3859 38601998-01-20 Richard Stallman <rms@psilocin.gnu.org> 3861 3862 * charset.c (nonascii_insert_offset): Variable moved from cmds.c. 3863 (syms_of_charset): Initialize variable. 3864 3865 * cmds.c (internal_self_insert, Fself_insert_command): 3866 Use unibyte_char_to_multibyte. 3867 (nonascii_insert_offset): Variable moved to charset.c. 3868 (syms_of_cmds): Don't initialize nonascii_insert_offset. 3869 3870 * fileio.c (Fsubstitute_in_file_name): Use unibyte_char_to_multibyte. 3871 3872 * keyboard.c (command_loop_1): Use unibyte_char_to_multibyte. 3873 3874 * xdisp.c (message_dolog): Use unibyte_char_to_multibyte. 3875 Pass different args to scan_newline. 3876 Properly compare oldpoint with Z. 3877 3878 * syntax.c (skip_chars): Use unibyte_char_to_multibyte. 3879 3880 * fns.c (concat): Use unibyte_char_to_multibyte. 3881 3882 * charset.c (unibyte_char_to_multibyte): New function. 3883 (DEFAULT_NONASCII_INSERT_OFFSET): New macro definition. 3884 3885 * lread.c (unreadchar): For unreading an ASCII char 3886 thru a buffer or marker, really decrement point or the marker position. 3887 3888 * xdisp.c (display_menu_bar): Don't set maxendcol too large. 3889 3890 * editfns.c (Fchar_equal): Fix case-conversion code. 3891 38921998-01-19 Richard Stallman <rms@psilocin.gnu.org> 3893 3894 * window.h (WINDOW_RIGHT_MARGIN): Deduct width of vertical line 3895 if frame has no scroll bars. 3896 3897 * fns.c (concat): Fix lossage in installing previous patch. 3898 3899 * window.c (window_scroll): Set opoint_byte properly. 3900 39011998-01-16 Richard Stallman <rms@sucrose.gnu.org> 3902 3903 * intervals.c (set_intervals_multibyte): New function. 3904 (set_intervals_multibyte_1): New function. 3905 3906 * marker.c (clear_charpos_cache): New function. 3907 39081998-01-16 Richard Stallman <rms@gnu.org> 3909 3910 * buffer.c (Fset_buffer_multibyte): New function. 3911 (syms_of_buffer): defsubr it. 3912 3913 * syntax.c (skip_chars): Fix test for end of string, looking for `-'. 3914 (back_comment): Don't allow quoting a comment-end. 3915 (scan_lists): Likewise. 3916 3917 * .gdbinit: Make GDB not handle SIGINT. 3918 3919 * search.c (compile_pattern_1): If representation of STRING 3920 does not fit MULTIBYTE, convert its contents. 3921 (fast_c_string_match_ignore_case): Pass 0 to compile_pattern 3922 as MULTIBYTE. 3923 (search_buffer): If representation of STRING 3924 does not fit MULTIBYTE, convert its contents. 3925 3926 * print.c (print) <Lisp_String>: When multibyte is enabled, print 3927 single-byte non-ASCII chars using octal escapes. 3928 3929 * lread.c (read1): Escape codes can force multibyte or single-byte. 3930 Otherwise buffer_defaults->enable_multibyte_characters decides. 3931 Only set force_singlebyte when a \-sequence is in the relevant range. 3932 (read_escape): New arg STRINGP. `\ ' is ignored only when STRINGP 3933 (normally, when reading a string). Calls changed. 3934 3935 * fns.c (concat): Move the test for all nil in `append' 3936 back to the right place. 3937 Always compute result_len_byte as for a multibyte string. Then, 3938 if the result will be single-byte, don't use that computation. 3939 When converting single-byte to multibyte, don't use copy_text. 3940 Do use copy_text between single-byte string and multibyte string. 3941 3942 (Fstring_make_multibyte, Fstring_make_unibyte): New functions. 3943 (syms_of_fns): defsubr them. 3944 3945 (string_char_to_byte): Count from the beginning or the end, 3946 whichever is closer. Keep a cache of recent values. 3947 (string_byte_to_char): Likewise. 3948 3949 (Fstring_lessp): Compare the strings char by char. 3950 3951 * xdisp.c (display_text_line): Set pos_byte with pos 3952 when skipping invisible. 3953 3954 * alloc.c (STRING_BASE_SIZE): New macro. 3955 (STRING_FULLSIZE): Use STRING_BASE_SIZE instead of the whole 3956 size of struct Lisp_String. 3957 (make_pure_string): Use STRING_FULLSIZE. 3958 39591998-01-16 Richard Stallman <rms@psilocin.gnu.org> 3960 3961 * window.c (Fspecial_display_p): Return the right value 3962 when special-display-regexps specifies frame parameters. 3963 3964 * syntax.h (SYNTAX_TABLE_BYTE_TO_CHAR): New macro. 3965 39661998-01-12 Richard Stallman <rms@sucrose.gnu.org> 3967 3968 * keymap.c (Fkey_description): Remember to set i_before. 3969 and use it in all cases. 3970 39711998-01-12 Kenichi Handa <handa@etl.go.jp> 3972 3973 * minibuf.c (Fminibuffer_complete_word): Fix a bug of refering 3974 `i'. We must refer `i_byte' instead. 3975 3976 * insdel.c (insert_from_string_1): Decrement GAP_SIZE by 3977 outgoing_nbytes. 3978 3979 * keymap.c (push_key_description): If C >= 128, always use octal 3980 representation. 3981 3982 * fns.c (concat): Check STRINGP before increasing result_len_byte. 3983 39841998-01-12 Richard Stallman <rms@sucrose.gnu.org> 3985 3986 * fileio.c (Finsert_file_contents): When not decoding, 3987 properly calculate number of chars in the text. 3988 Fix error message. 3989 3990 * coding.c (code_convert_region): Always count chars inserted 3991 in accord with value of enable-multibyte-characters. 3992 (Fcoding_system_p): Doc fix. 3993 (Fcheck_coding_system): Doc fix. 3994 (Fterminal_coding_system): Doc fix. 3995 (Fkeyboard_coding_system): Doc fix. 3996 39971998-01-11 Dave Love <fx@gnu.org> 3998 3999 * charset.c (Fchar_valid_p): Fix bare newlines in doc string. 4000 40011998-01-11 Richard Stallman <rms@sucrose.gnu.org> 4002 4003 * fileio.c (file_name_as_directory): Error if arg is empty. 4004 (Fwrite_region): Don't flush the encoding buffer if failure is set. 4005 40061998-01-10 Richard Stallman <rms@sucrose.gnu.org> 4007 4008 * syntax.h (struct gl_state_s): New field `object'. 4009 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Set it. 4010 Handle non-current buffer properly. Args renamed to all caps. 4011 (SETUP_SYNTAX_TABLE): Set `object'. Args renamed to all caps. 4012 (UPDATE_SYNTAX_TABLE): Use gl_state.object. 4013 (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD): Likewise. 4014 4015 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Add gl_state.offset 4016 when using the arg FROM. Use BYTE_TO_CHAR. 4017 40181998-01-09 Richard Stallman <rms@gnu.org> 4019 4020 * callint.c (Fcall_interactively): Allocate string by bytes. 4021 Use message_with_string. 4022 4023 * dired.c (Fdirectory_files): Fix arg to compile_pattern. 4024 40251998-01-06 Richard Stallman <rms@sucrose.gnu.org> 4026 4027 * emacs.c (standard_args): Add "-unibyte" aka "--unibyte". 4028 (main): Handle --unibyte. 4029 40301998-01-05 Richard Stallman <rms@psilocin.gnu.org> 4031 4032 * search.c (search_buffer): Handle bytes vs chars in non-RE case. 4033 Have two locals len and len_byte. 4034 4035 * minibuf.c (read_minibuf): Handle bytes vs chars 4036 when checking for junk at end of expression. 4037 40381998-01-04 Richard Stallman <rms@psilocin.gnu.org> 4039 4040 * editfns.c (Fformat): Do all the work directly--don't use doprnt. 4041 Calculate the right size the first time, so no need to retry. 4042 Count chars and bytes in the result. 4043 Convert single-byte strings to multibyte as needed. 4044 4045 * buffer.c (record_overlay_string): Totalize sizes assuming 4046 strings are converted to match buffer in multibyteness. 4047 (overlay_strings): Convert strings to match buffer in multibyteness. 4048 4049 * search.c (fast_c_string_match_ignore_case): Use string_make_unibyte. 4050 4051 * fns.c (string_make_unibyte): New function. 4052 4053 * insdel.c (count_size_as_multibyte): New function. 4054 (insert_from_string_1, insert_from_buffer_1): Use it. 4055 4056 * lread.c (read_escape): `\ ' stands for nothing at all. 4057 4058 * .gdbinit (xstring): Use size_byte. 4059 4060 * lread.c (oblookup): Take args SIZE and SIZE_BYTE. Callers changed. 4061 * abbrev.c (Fexpand_abbrev): Pass both kinds of size to oblookup. 4062 * minibuf.c (test_completion): Pass both kinds of size to oblookup. 4063 4064 * print.c (print_string): Now static. 4065 (print): When multibyte is disabled, 4066 print multibyte string chars using hex escapes. 4067 4068 * puresize.h (BASE_PURESIZE): Increased. 4069 4070 * bytecode.c (Fbyte_code): Use size_byte. 4071 4072 * filelock.c (MAKE_LOCK_NAME): Use size_byte. 4073 4074 * lread.c (init_obarray, read1, make_symbol): 4075 Pass new arg to make_pure_string. 4076 (Fintern, oblookup, Fintern_soft, intern): Handle size_byte. 4077 4078 * alloc.c (make_pure_string): New arg length_byte. 4079 Take account of size used by size_byte; store both sizes. 4080 (Fpurecopy): Call make_pure_string the new way. 4081 (compact_strings): Use size_byte field to compute string's size. 4082 40831998-01-03 Richard Stallman <rms@psilocin.gnu.org> 4084 4085 * coding.c (code_convert_region): Delete duplicate local `zv_before'. 4086 4087 * fileio.c (Fdo_auto_save): Save and restore multibyteness of minibuffer. 4088 4089 * process.c (read_process_output): use insert_1_both. 4090 4091 * abbrev.c (Fexpand_abbrev): Pass new args to insert_from_string. 4092 (Funexpand_abbrev): Likewise. Use size_byte. 4093 4094 * editfns.c (Ftranslate_region): Scan by chars and bytes 4095 using STRING_CHAR_AND_LENGTH. Replace only single-byte chars. 4096 4097 * insdel.c (copy_text): New function. 4098 (insert_from_buffer_1): Call copy_text to convert between 4099 single-byte and multibyte text. 4100 (insert_from_string_1): Likewise. 4101 4102 * process.c (read_process_output): New var `multibyte'. 4103 Set it according to which coding system was used. 4104 4105 * charset.c (multibyte_chars_in_text): New function. 4106 4107 * fileio.c (Fwrite_region): Use message_with_string. 4108 (auto_save_error, Fdo_auto_save): Likewise. 4109 4110 * print.c (printchar): Pass new arg to message_dolog. 4111 (strout): New arg MULTIBYTE. Callers changed. 4112 4113 * lread.c (dir_warning): Pass new arg to message_dolog. 4114 4115 * emacs.c (main): Pass new arg to message_dolog. 4116 4117 * keyboard.c (echo_now): Use message2_nolog, not message1_nolog. 4118 (Fexecute_extended_command): Likewise. 4119 (read_char_minibuf_menu_prompt): Use message2_nolog, not message1. 4120 4121 * xdisp.c (message_dolog, message2): New arg MULTIBYTE. 4122 Callers changed. 4123 (message1, message1_nolog): String must be ASCII-only. 4124 (message2, message2_nolog): Now static. 4125 4126 * search.c (compile_pattern): New arg MULTIBYTE. Callers changed. 4127 4128 * syntax.c (skip_chars): Handle multibyte and unibyte strings 4129 for either kind of buffer. Scan string by bytes and chars. 4130 4131 * keymap.c (describe_vector): Unconditionally handle multibyte chars. 4132 4133 * fns.c (map_char_table): Unconditionally consider non-ASCII charsets. 4134 4135 * cmds.c (internal_self_insert): Simplify handling of c2; 4136 avoid testing enable-multibyte-characters. 4137 4138 * callproc.c (Fcall_process): When deciding whether to encode args, 4139 check them for multibyteness, don't check enable-multibyte-characters. 4140 4141 * doc.c: Include charset.h. 4142 4143 * keymap.c (describe_vector): Pass new args to insert_from_string. 4144 4145 * search.c (wordify): Use make_uninit_multibyte_string. 4146 Scan by chars and bytes. 4147 4148 * lread.c (read1): PCH is now int *. 4149 Declare ch as int. 4150 (read0): Declare c as int. 4151 (read_list): Declare ch as int. 4152 (read0): Use Fmake_string not make_string. 4153 (read1): When reading a string, maybe use make_unibyte_string. 4154 4155 * keymap.c (Ftext_char_description): Use make_multibyte_string. 4156 4157 * keyboard.c (parse_modifiers): Use size_byte. 4158 (echo_char): Use size_byte. 4159 (parse_modifiers_uncached): Likewise. 4160 (record_char): Likewise. 4161 (parse_solitary_modifier): Likewise. 4162 4163 * fns.c (Fsubstring): Use make_multibyte_string. 4164 4165 * minibuf.c (Fminibuffer_complete_word): Pass new args to 4166 insert_from_string. Scan string by bytes and chars. 4167 (Ftry_completion): Use size_byte while comparing. 4168 (Fall_completions): Use size_byte while comparing. 4169 (test_completion): 4170 4171 * editfns.c (syms_of_editfns): Delete defsubr for sref. 4172 4173 * fns.c (string_make_multibyte): New function. 4174 4175 * fileio.c (Ffile_name_directory): Maybe use make_unibyte_string. 4176 (Ffile_name_nondirectory): Likewise. 4177 (Fsubstitute_in_file_name): Convert substituted envvars to multibyte 4178 if necessary. Otherwise use make_unibyte_string. 4179 (Finsert_file_contents): Use make_unibyte_string. 4180 (double_dollars): Use make_uninit_multibyte_string. 4181 4182 * doc.c (Fsubstitute_command_keys): Scan by bytes. 4183 4184 * coding.c (code_convert_string): Maybe use make_unibyte_string. 4185 4186 * cmds.c (internal_self_insert): Use make_multibyte_string. 4187 4188 * charset.c (Fstring): Use make_multibyte_string. 4189 (Fcompose_string): Likewise. 4190 4191 * casefiddle.c (casify_object): Scan string by bytes and chars. 4192 Use make_multibyte_string. 4193 4194 * xselect.c (lisp_data_to_selection_data): Use size_byte. 4195 (Fx_store_cut_buffer_internal): Use size_byte. 4196 (selection_data_to_lisp_data): Use make_multibyte_string. 4197 4198 * category.c (Fmake_category_set): Don't allow multibyte string. 4199 (describe_category): Pass new args to insert_from_string. 4200 (describe_category_1): Likewise. 4201 4202 * dispnew.c (Fsend_string_to_terminal): Use size_byte. 4203 4204 * xdisp.c (x_consider_frame_title): Use size_byte. 4205 (display_text_line): Likewise. 4206 And scan Voverlay_arrow_string by bytes and chars. 4207 (display_menu_bar): Call display_string with a byte size. 4208 (display_mode_line): Call display_string with a byte size. 4209 4210 * frame.c (set_term_frame_name): Use size_byte. 4211 4212 * ccl.c (Fccl_execute_on_string): Use size_byte. 4213 4214 * xterm.c (x_load_font): Use string_byte. 4215 4216 * keyboard.c (read_char): Use Faref on Vkeyboard_translate_table 4217 if it is a string. 4218 (apply_modifiers_uncached): New arg base_len_byte. Calls changed. 4219 (read_char_minibuf_menu_prompt): 4220 (read_key_sequence): Access buffer's downcase_table with XCHAR_TABLE. 4221 (Fexecute_extended_command): Use Faref to access FUNCTION. 4222 Use size_byte of BINDING. 4223 (stuff_buffered_input): Use size_byte of STUFFSTRING. 4224 4225 * xdisp.c (redisplay_window): Set pos.bytepos along with pos.bufpos. 4226 4227 * keymap.c (Fkey_binding): Scan PREFIX a char at a time. 4228 (Fkey_description): Scan KEYS by chars. 4229 4230 * xfns.c (x_create_bitmap_from_file): Use size_byte on strings. 4231 (x_set_name, x_set_title, validate_x_resource_name): Likewise. 4232 (Fx_get_resource, display_x_get_resource): Likewise. 4233 (x_get_resource_string): Likewise. 4234 4235 * xmenu.c (xmenu_show): Use size_byte of strings. 4236 4237 * callproc.c (Fcall_process): Use size_byte for the args. 4238 (Fcall_process_region): Likewise for temp file. 4239 (child_setup, getenv_internal, Fgetenv): Likewise. 4240 42411998-01-02 Richard Stallman <rms@psilocin.gnu.org> 4242 4243 * process.c (read_process_output): Handle bytes vs chars. 4244 (send_process): Use size_byte of OBJECT. 4245 (Fprocess_send_string): Pass size_byte to send_process. 4246 4247 * lisp.h (STRING_MULTIBYTE): New macro. 4248 4249 * print.c (strout): Take args SIZE and SIZE_BYTE; 4250 operate on both chars and bytes. 4251 (print_string): Pass new arg to strout. 4252 If not using strout, fetch a whole multibyte char at once. 4253 (write_string): Pass new arg to strout. 4254 (write_string_1): Likewise. 4255 (print) <case Lisp_String>: Scan by chars and bytes. 4256 (print) <case Lisp_Symbol>: Scan name by chars and bytes. 4257 4258 * insdel.c (insert_1_both): New function. 4259 4260 * print.c (PRINTPREPARE): Use make_multibyte_string. 4261 Initialize print_buffer_pos_byte. Use insert_1_both. 4262 (printchar): Update print_buffer_pos_byte and print_buffer_pos. 4263 (print_buffer_pos_byte): New variable. 4264 4265 * editfns.c (general_insert_function): 4266 Pass the additional args to INSERT_FROM_STRING_FUNC. 4267 (Fchar_to_string): Use make_multibyte_string. 4268 (Fsref): Function deleted. 4269 (Fformat_time_string): Use size_byte of FORMAT_STRING. 4270 (make_buffer_string): Use make_uninit_multibyte_string. 4271 (Ftranslate_region): Use TABLE's size_byte. 4272 (Fmessage, Fmessage_box): Update message_text based on size_byte. 4273 4274 * insdel.c (insert_from_string): New args POS_BYTE, LENGTH. 4275 (insert_from_string_before_markers): 4276 (insert_from_string_1): New arg POS_BYTE. Swap args NCHARS, NBYTES. 4277 Don't fail to use POS_BYTE! 4278 (insert_from_buffer_1): Get both inschars and insbytes from NEW. 4279 4280 * alloc.c (make_uninit_multibyte_string): New function. 4281 (make_uninit_string): Use make_uninit_multibyte_string. 4282 (make_multibyte_string): New function. 4283 (make_unibyte_string): New function. 4284 (make_string): Compute number of chars from the data. 4285 4286 * search.c (string_match_1): Convert string indices to/from bytes. 4287 (Freplace_match): Convert string indices to/from bytes. 4288 (Fregexp_quote): Convert string indices to/from bytes. 4289 4290 * lread.c (Fread_from_string): Convert string indices to/from bytes. 4291 4292 * data.c (Fmultibyte_string_p): New function. 4293 (Faref): Index string by chars. 4294 (Faset): Index multibyte string by chars. 4295 4296 * charset.c (Ffind_charset_string): Handle bytes vs chars in string. 4297 Special case for single-byte strings. 4298 (Fchars_in_string): Function deleted. 4299 (Fstring): Renamed from Fconcat_chars. 4300 Handle bytes vs chars in string. 4301 (syms_of_charset): Corresponding changes. 4302 4303 * fns.c (concat, Fsubstring, internal_equal, mapcar1): 4304 Distinguish bytes and chars when indexing strings. 4305 (Fstring_equal, Fstring_lessp): Likewise. 4306 (substring_both): New function. 4307 (string_char_to_byte, string_byte_to_char): New functions. 4308 4309 * charset.h (FETCH_STRING_CHAR_ADVANCE): New macro. 4310 4311 * lisp.h (struct lisp_String): New field size_byte. 4312 4313 * charset.c (Fchar_boundary_p): Function deleted. 4314 (syms_of_charset): defsubr deleted. 4315 4316 * insdel.c (make_gap): Set GPT_BYTE along with GPT. 4317 4318 * window.c (Fselect_window): Don't set OW->pointm if OW->buffer is nil. 4319 (Fset_window_configuration): Set old selected window's pointm. 4320 4321 * minibuf.c (Fcompleting_read): Doc fix. 4322 4323 * keymap.c (current_minor_maps): 4324 If a variable has an entry in Vminor_mode_overriding_map_alist, 4325 and also an entry in Vminor_mode_map_alist, ignore the latter. 4326 43271998-01-01 Richard Stallman <rms@psilocin.gnu.org> 4328 4329 Markers now have an ordinary bytepos, not including the gap: 4330 4331 * marker.c (buf_bytepos_to_charpos): Use marker bytepos, not bufpos. 4332 (buf_charpos_to_bytepos, marker_byte_position): Likewise. 4333 (Fset_marker, set_marker_restricted, set_marker_both): Likewise. 4334 (set_marker_restricted_both): Likewise. 4335 4336 * editfns.c (transpose_markers): Update marker's bytepos. 4337 4338 * alloc.c (Fmake_marker): Initialize marker's bytepos and charpos. 4339 4340 * lread.c (readchar): Use marker's bytepos instead of bufpos. 4341 4342 * fns.c (internal_equal): For markers, use bytepos instead of bufpos. 4343 4344 * insdel.c (adjust_markers_gap_motion): Now a no-op. 4345 (adjust_markers_for_delete): Update ->bytepos instead of ->bufpos, 4346 but don't adjust for the gap. 4347 (adjust_markers_for_insert): Likewise. 4348 4349 * lisp.h (struct Lisp_Marker): Rename `bufpos' to `bytepos'. 4350 Its value no longer includes the gap space. 4351 4352 * editfns.c (Fchar_after): Fix previous change. 4353 4354 * fileio.c (a_write): Fix prototype. 4355 4356 * lisp.h (struct Lisp_Marker): New field `charpos'. 4357 (pos_tab_offset): Decl deleted. 4358 (insert_1, indented_beyond_p): Decls changed. 4359 (move_gap_both, del_range_byte, del_range_both, del_range_2) 4360 (scan_newline, Ffile_locked_p): New decls. 4361 (struct Lisp_Marker): 4362 4363 * search.c (scan_newline): Always restore prev value of immediate_quit. 4364 43651997-12-31 Richard Stallman <rms@psilocin.gnu.org> 4366 4367 * syntax.c (scan_sexps_forward): Additional arg FROM_BYTE. 4368 Calls changed. 4369 (find_defun_start): Scan bytes and chars. Additional arg POS_BYTE. 4370 Save final byte pos in find_start_value_byte. 4371 (find_start_value_byte): New variable. 4372 4373 * charset.c (Fchars_in_string): Update call to CHAR_HEAD_P. 4374 (chars_in_text, str_cmpchar_id, Fcompose_string): Likewise. 4375 4376 * indent.c (current_column_1, Fmove_to_column): 4377 Update call to CHAR_HEAD_P. 4378 4379 * fileio.c (Finsert_file_contents): Update call to CHAR_HEAD_P. 4380 4381 * editfns.c (Fsref): Update call to CHAR_HEAD_P. 4382 (Fcompare_buffer_substrings. Ftranslate_region): Likewise. 4383 4384 * doprnt.c (doprnt1): Call to CHAR_HEAD_P fixed. 4385 4386 * charset.h (CHAR_HEAD_P): Take char, not pointer, as arg. 4387 4388 * window.c (unshow_buffer): Set PT with TEMP_SET_PT_BOTH. 4389 4390 * indent.c (indented_beyond_p): Take POS in bytes and chars. 4391 Callers changed. 4392 (pos_tab_indent): Function moved to xdisp.c. 4393 43941997-12-30 Richard Stallman <rms@psilocin.gnu.org> 4395 4396 * xdisp.c (redisplay_internal): Use scan_newline. 4397 (display_text_line, try_window_id): Use scan_newline. 4398 4399 * xdisp.c (pos_tab_indent): Moved from indent.c. Now static. 4400 Take POS in bytes and chars. Callers changed. 4401 4402 * indent.c (Fcurrent_indentation): Use scan_newline and SET_PT_BOTH. 4403 (indented_beyond_p, current_column_1): Likewise. 4404 4405 * fileio.c (Fwrite_region): Use scan_newline. 4406 4407 * buffer.c (Fmake_indirect_buffer): Use set_marker_both. 4408 (set_buffer_internal_1): Likewise. 4409 (set_buffer_temp): Likewise. 4410 4411 * xdisp.c (redisplay_window): Handle byte and char positions. 4412 (try_window): Don't move W->start if it's already at right place. 4413 4414 * window.c (Fset_window_buffer): Use set_marker_both. 4415 (Fselect_window, Fscroll_other_window, save_window_save): Likewise. 4416 (Fset_window_configuration): Pass p->mark itself to Fset_marker 4417 and set_marker_restricted_both. 4418 (temp_output_buffer_show): Use set_marker_restricted_both. 4419 (window_scroll): Save and restore both kinds of pointers. 4420 4421 * process.c (status_notify): Use byte and char pointers. 4422 4423 * callint.c (Fcall_interactively) <'d', 'r'>: Use set_marker_both. 4424 4425 * emacs.c (abort): New function. 4426 44271997-12-29 Richard Stallman <rms@psilocin.gnu.org> 4428 4429 * window.c (Fdelete_other_windows): Rely on vmotion to give bytepos. 4430 Use set_marker_both. Use byte positions. 4431 (Frecenter): Likewise. 4432 (Fmove_to_window_line): Use set_marker_both and Fgoto_char. 4433 4434 * s/sco4.h (LIB_MOTIF): Define, if HAVE_LIBINTL. 4435 (LIBX11_SYSTEM): Undo previous change. 4436 4437 * cmds.c (forward_point): Function deleted. 4438 (Fforward_point): Just add. 4439 (Fforward_char): Don't call forward_point, just add. 4440 (Fforward_line): Use scan_newline. 4441 (Fdelete_char): No need for forward_point, just add. 4442 (Fdelete_backward_char): Handle bytes and chars. 4443 (internal_self_insert): Handle bytes and chars. 4444 4445 * xdisp.c (display_count_lines): Several changes in args. 4446 Do the work directly. 4447 (display_scan_buffer): Function deleted. 4448 (decode_mode_spec): Pass new arg. 4449 (message_log_check_duplicate): Take charpos and bytepos args. 4450 (message_dolog): Use markers to update old PT, BEGV, ZV. 4451 Use scan_newline. Handle positions in bytes and chars. 4452 44531997-12-28 Richard Stallman <rms@psilocin.gnu.org> 4454 4455 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix. 4456 4457 * coding.c (code_convert_region): Handle bytepos and charpos. 4458 (Fdetect_coding_region): Likewise. 4459 4460 * Makefile.in (marker.o): Depend on charset.h. 4461 44621997-12-27 Richard Stallman <rms@psilocin.gnu.org> 4463 4464 * casefiddle.c (casify_region): Scan in bytes and chars. 4465 (casify_object, casify_region): Declare str, workbuf as unsigned char. 4466 4467 * insdel.c (move_gap): Use move_gap_both. 4468 (move_gap_both): New function. 4469 (gap_left, gap_right): Take both charpos and bytepos args. 4470 (adjust_markers_gap_motion): Renamed from adjust_markers 4471 and simplified. 4472 (adjust_markers_for_delete): New function. 4473 (adjust_markers_for_insert): Take args in chars and bytes. 4474 Also new arg BEFORE_MARKERS. One call does all marker updating 4475 needed for any insert. 4476 (adjust_point): Take 2 args and update PT and PT_BYTE. 4477 (make_gap): Handle bytes vs chars. 4478 (insert, insert_and_inherit): Handle bytes vs chars. 4479 Pass new BEFORE_MARKERS arg to insert_1. 4480 (insert_before_markers, insert_before_markers_and_inherit): Likewise. 4481 (insert_from_string, insert_from_string_before_markers): Likewise. 4482 (insert_from_buffer): Likewise. 4483 (insert_1): Handle bytes vs chars. New arg BEFORE_MARKERS. 4484 (insert_from_string_1, insert_from_buffer_1): Likewise. 4485 (replace_range): Likewise. 4486 (del_range_2): New subroutine, taken from del_range_1. 4487 (del_range_1): Use del_range_2. 4488 (del_range_byte, del_range_both): New functions. 4489 4490 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Call bytepos_to_charpos. 4491 Wrap in if (1) ... else. 4492 4493 * minibuf.c (Fminibuffer_complete_word): Handle bytes vs characters 4494 when comparing buffer against string. 4495 (temp_echo_area_glyphs): Save, update, delete text using 4496 byte and char positions. 4497 (read_minibuf): BACKUP_N counts bytes. 4498 4499 * syntax.c (Fforward_comment): Scan by bytes and chars. 4500 (Fbackward_prefix_chars): Scan by bytes and chars. 4501 (scan_words, scan_sexps_forward): Scan bytes as well as chars. 4502 (skip_chars, scan_lists): Scan by bytes and chars. Now static. 4503 4504 * buffer.h (DECODE_POSITION): New macro. 4505 (CHAR_TO_BYTE, BYTE_TO_CHAR): New macros. 4506 4507 * buffer.h (BEG_BYTE, BEGV_BYTE, PT_BYTE, GPT_BYTE) 4508 (ZV_BYTE, Z_BYTE): New macros. 4509 (BUF_BEG_BYTE, BUF_BEGV_BYTE, BUF_PT_BYTE, BUF_GPT_BYTE) 4510 (BUF_ZV_BYTE, BUF_Z_BYTE): New macros. 4511 (BUF_GAP_END_ADDR): New macro. 4512 (BEGV_ADDR, PT_ADDR, GPT_ADDR, GAP_END_ADDR, ZV_ADDR, Z_ADDR): 4513 Use the new ..._byte buffer data. 4514 (BUFFER_CEILING_OF, BUFFER_FLOOR_OF): Likewise. 4515 (BUF_GPT_ADDR, BUF_Z_ADDR): Likewise. 4516 (SET_PT_BOTH, TEMP_SET_PT_BOTH): New macros. 4517 (SET_PT, TEMP_SET_PT, BUF_SET_PT, BUF_TEMP_SET_PT): 4518 Call functions with new arg order. 4519 (SET_BUF_BEGV, SET_BUF_BEGV_BOTH): New macros. 4520 (SET_BUF_PT): Macro deleted. 4521 (SET_BUF_ZV): Set charpos and bytepos. 4522 (SET_BUF_ZV_BOTH, SET_BUF_PT_BOTH): New macros. 4523 (BYTE_POS_ADDR): Renamed from POS_ADDR. 4524 (CHAR_POS_ADDR): New macro. 4525 (FETCH_BYTE): Use BYTE_POS_ADDR. 4526 (FETCH_MULTIBYTE_CHAR): Use ..._BYTE macros. 4527 (BUF_CHAR_ADDRESS): Convert charpos to bytepos. 4528 (BUF_BYTE_ADDRESS): New macro, like the old BUF_CHAR_ADDRESS. 4529 (PTR_BYTE_POS): Renamed from PTR_CHAR_POS. 4530 (BUF_PTR_BYTE_POS): New macro. 4531 (BUF_FETCH_CHAR, BUF_FETCH_BYTE, BUF_FETCH_MULTIBYTE_CHAR): New macros. 4532 (struct buffer_text): New fields gpt_byte, z_byte. 4533 (struct buffer): New fields pt_byte, begv_byte, zv_byte. 4534 4535 * syntax.c (char_quoted): Take charpos and bytepos as args. 4536 (back_comment): Likewise. 4537 (update_syntax_table): Arg renamed. 4538 (inc_bytepos, dec_bytepos): New functions. 4539 4540 * abbrev.c (describe_abbrev): Return void. 4541 (write_abbrev): Return void. 4542 (Fexpand_abbrev): Scan in bytepos along with charpos. 4543 (Funexpand_abbrev): Use bytepos to delete the expansion. 4544 4545 * charset.h (INC_POS, DEC_POS): Fix because arg is a bufpos. 4546 (BUF_INC_POS, BUF_DEC_POS): New macros. 4547 (INC_BOTH, DEC_BOTH): New macros. 4548 4549 * minibuf.c (Fread_command, Fread_variable): Fix previous change. 4550 4551 * intervals.h (set_point, temp_set_point): Swap args in decl. 4552 (set_point_both, temp_set_point_both): New decls. 4553 4554 * print.c (PRINTDECLARE): Declare old_point_byte and start_point_byte. 4555 (PRINTPREPARE): For a marker, set old_point_byte and start_point_byte. 4556 Set both kinds of PT from the marker. 4557 (PRINTFINISH): For a marker, use set_marker_both. 4558 Restore both kinds of PT. 4559 (print): For strings and symbols, handle multibyte chars. 4560 45611997-12-26 Richard Stallman <rms@psilocin.gnu.org> 4562 4563 * lread.c (readchar_backlog): New variable. 4564 (readchar): When fetching from buffer or marker, 4565 use readchar_backlog to fetch bytes from a character. 4566 (unreadchar): Increment readchar_backlog. 4567 (readevalloop, Fread): Init readchar_backlog. 4568 4569 * charset.c (Fchar_boundary_p): Always return 0. 4570 (Fchars_in_region): Just subtract the arguments. 4571 (chars_in_text): New function. 4572 (Ffind_charset_region): Scan in bytepos as well as charpos. 4573 4574 * process.c (Fprocess_send_region): Make bytepos for send_process. 4575 (read_process_output): Save, restore, and update both kinds of ptrs. 4576 (send_process): OFFSET is now in bytes. 4577 4578 * marker.c (marker_byte_position): Renamed from marker_position. 4579 (marker_position): New function returns the charpos. 4580 (Fbuffer_has_markers_at): Test the marker's charpos. 4581 (set_marker_restricted, Fset_marker): Set both kinds of position. 4582 Optimize case where POSITION is a marker. 4583 (set_marker_both, set_marker_restricted_both): New functions. 4584 (Fmarker_position): Use the charpos. 4585 4586 * marker.c (charpos_to_bytepos, bytepos_to_charpos): New functions. 4587 (buf_charpos_to_bytepos, buf_bytepos_to_charpos): New functions. 4588 4589 * textprop.c (Ftext_properties_at): Doc fix. 4590 4591 * intervals.c (set_point_both): Renamed from set_point; 4592 New arg BYTE; BUFFER is now first arg; use temp_set_point_both. 4593 (set_point): New function; uses set_point_both. 4594 (temp_set_point_both): New function. 4595 (temp_set_point): Update BUF_PT_BYTE. 4596 (get_local_map): Save and restore both forms of the buffer bounds. 4597 4598 * buffer.c (set_buffer_temp): 4599 Update BUF_PT_BYTE, BUF_BEGV_BYTE and BUF_ZV_BYTE. 4600 (Fmake_indirect_buffer, set_buffer_internal_1): 4601 Set up the pt, begv and zv markers with both kinds of position. 4602 Set BUF_PT_BYTE, BUF_BEGV_BYTE, BUF_ZV_BYTE. 4603 (Fget_buffer_create): Set BUF_..._BYTE. 4604 4605 * indent.c (vmotion, compute_motion): Set up bytepos value 4606 to return it. ??? This is a quick hack and must be redone. 4607 (current_column): Handle bytepos and charpos. 4608 (position_indentation): Take bytepos as arg, and scan with it. 4609 Calls changed. 4610 (Fmove_to_column): Scan with bytepos and charpos. 4611 (pos_tab_offset): Use bytepos to do FETCH_BYTE. 4612 (skip_invisible): Don't worry about position in middle of character. 4613 4614 * xdisp.c (try_window): Pass bytepos to and from display_text_line. 4615 (try_window_id): Likewise. Use byte pos as well as charpos. 4616 (redisplay_internal): Handle bytepos for tlbufpos. 4617 4618 * xdisp.c (message): Cast last arg to doprnt. 4619 4620 * indent.h (struct position): New field bytepos. 4621 4622 * keyboard.c (command_loop_1): Use PT_BYTE when calling FETCH_BYTE. 4623 Instead of Fforward_point, just add. 4624 4625 * search.c (looking_at_1): Use bytepos to call re_search_2. 4626 Convert search regs to charpos, if search succeeded. 4627 (search_buffer): Likewise. Also convert charpos <-> bytepos 4628 in non-regexp case. 4629 (scan_buffer): Convert charpos <-> bytepos. 4630 (scan_newline): New function. 4631 (find_next_newline): Function deleted. 4632 (set_search_regs): Args now in bytes; convert to charpos. 4633 (Freplace_match): Convert charpos <-> bytepos when scanning case. 4634 4635 * fileio.c (restore_point_unwind): Now static. Use Fgoto_char. 4636 (Funhandled_file_name_directory): Doc fix. 4637 (Finsert_file_contents): Handle bytes vs chars. 4638 (Fwrite_region): Handle bytes vs chars. 4639 (a_write): Take args in bytes; handle annotations labeled in chars. 4640 (e_write): Rename args. 4641 (Funhandled_file_name_directory): Doc fix. 4642 (a_write, e_write): Now static. 4643 4644 * editfns.c (Fgoto_char): When arg is a marker, copy char and byte 4645 positions from it. When arg is an integer, no need to worry that it 4646 is in middle of a character. 4647 (buildmark): Take 2 args (charpos and bytepos). Callers changed. 4648 (Fline_beginning_position): Save and restore both kinds of PT. 4649 (Fprevious_char): Use PT_BYTE. 4650 (Fbolp, Feolp): Use PT_BYTE. 4651 (transpose_markers): Take args in chars and bytes. 4652 (Ftranspose_regions): Work with byte and char positions. 4653 (Fchar_after, Fchar_before): Use bytepos. 4654 (make_buffer_string): Convert charpos to bytepos. 4655 (Fcompare_buffer_substrings): Work with charpos and bytepos. 4656 (Fsubst_char_in_region): Handle charpos and bytepos. 4657 (Fwiden, Fnarrow_to_region): Likewise. 4658 (save_restriction_restore): Update PT and PT_BYTES. 4659 Cast arg to doprnt_lisp. 4660 46611997-12-26 Richard Stallman <rms@sucrose.gnu.org> 4662 4663 * keymap.c (Vminor_mode_overriding_map_alist): New variable. 4664 (syms_of_keymap): Set up Lisp var. 4665 (current_minor_maps): Use Vminor_mode_overriding_map_alist first, 4666 then Vminor_mode_map_alist. 4667 4668 * config.in (HAVE_STRING_H): Add #undef. 4669 [HAVE_STRING_H]: Include string.h. 4670 46711997-12-24 Richard Stallman <rms@psilocin.gnu.org> 4672 4673 * fileio.c (Finsert_file_contents): Don't use coding.symbol 4674 in unusual paths which don't set it up. 4675 4676 * xdisp.c: Declare nonascii_insert_offset. 4677 46781997-12-21 Richard Stallman <rms@psilocin.gnu.org> 4679 4680 * xterm.c (x_display_cursor): Abort if X or Y is out of range. 4681 46821997-12-20 Richard Stallman <rms@psilocin.gnu.org> 4683 4684 * sysdep.c (sys_signal): Undo previous change. 4685 4686 * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): New variables. 4687 (syms_of_emacs): Set up Lisp variables. 4688 (handle_USR1_signal, handle_USR2_signal): New signal handlers. 4689 (main): Set up signal handlers. 4690 4691 * s/sco4.h (LIBX11_SYSTEM) [HAVE_LIBINTL and MOTIF]: Add -lintl. 4692 4693 * config.in (HAVE_LIBINTL): Add #undef. 4694 46951997-12-20 Toshiaki Nomura <dsfrsoft@yk.fujitsu.co.jp> 4696 4697 * s/uxpds.h: New file. 4698 46991997-12-19 Richard Stallman <rms@sucrose.gnu.org> 4700 4701 * minibuf.c (Vread_buffer_function): New var. 4702 (syms_of_minibuf): Set up Lisp var. 4703 (Fread_buffer): Use Vread_buffer_function. 4704 4705 * lisp.h (message2_nolog): Fix arg types. 4706 4707 * xdisp.c (message2_nolog): New arg MULTIBYTE. 4708 (message2): Pass new arg to message2_nolog. 4709 (message1_nolog): Likewise. 4710 4711 * keyboard.c (Fexecute_extended_command): 4712 Save message_enable_multibyte and pass it to message2_nolog. 4713 4714 * alloc.c (Fgarbage_collect): 4715 Save message_enable_multibyte and pass it to message2_nolog. 4716 47171997-12-17 Richard Stallman <rms@sucrose.gnu.org> 4718 4719 * syntax.c (Fparse_partial_sexp): Return nil for 9th element 4720 whenever not inside a string or a comment. 4721 47221997-12-16 Richard Stallman <rms@sucrose.gnu.org> 4723 4724 * minibuf.c (Fread_variable): If DEFAULT_VALUE is symbol, use its name. 4725 (Fread_command): Likewise. 4726 47271997-12-15 Richard Stallman <rms@sucrose.gnu.org> 4728 4729 * xdisp.c (message_dolog): Update PT and ZV properly when at end of 4730 buffer, when we convert between multibyte and single-byte. 4731 Properly initialize i. 4732 4733 * xdisp.c (message_dolog): Convert between single-byte and multibyte 4734 when inserting text into *Messages*. 4735 47361997-12-11 Richard Stallman <rms@gnu.org> 4737 4738 * sysdep.c (sys_signal): Add two casts. 4739 47401997-12-09 Richard Stallman <rms@gnu.org> 4741 4742 * callproc.c (Fcall_process): Don't clobber new_argv[0] 4743 in the case of no args. 4744 47451997-12-09 Kenichi Handa <handa@etl.go.jp> 4746 4747 * charset.c (Fget_unused_iso_final_char): New function. 4748 (syms_of_charset): Declare it as a Lisp function. 4749 4750 * callproc.c (Fcall_process): Set Vlast_coding_system_used after 4751 reading from the process. 4752 4753 * process.c (read_process_output): Fix previous change, i.e, if 4754 proc_encode_coding_system[p->outfd] is NULL, instead of allocating 4755 `struct coding_system' for encoding, just skip setting up coding 4756 system for encoding. Set Vlast_coding_system_used after some text 4757 is read. 4758 (send_process): Set Vlast_coding_system_used after deciding a 4759 coding system to be used for encoding. 4760 4761 * fileio.c (Finsert_file_contents): Set Vlast_coding_system_used 4762 before calling Vafter_insert_file_functions. 4763 (Fwrite_region): Set Vlast_coding_system_used after deciding a 4764 coding system to be used for encoding. 4765 4766 * coding.c (setup_coding_system): Do not set 4767 Vlast_coding_system_used here. 4768 (decode_coding_sjis_big5): Decode Big5 text of CR only end-of-line 4769 correctly. 4770 47711997-12-08 Ken'ichi Handa <handa@delysid.gnu.org> 4772 4773 * keyboard.c (Fexecute_extended_command): Fix previous change. 4774 47751997-12-07 Karl Heuer <kwzh@gnu.org> 4776 4777 * process.c (read_process_output): Allocate for coding system, if 4778 not already done. 4779 47801997-12-03 Richard Stallman <rms@gnu.org> 4781 4782 * emacs.c (main): Fix the stack-limit code to calculate 4783 the ratio for re_max_failures accurately and leave some extra slack. 4784 4785 * lread.c (Feval_region): Doc correction (point does not move). 4786 47871997-11-26 Richard Stallman <rms@sucrose.gnu.org> 4788 4789 * alloc.c (malloc_warning, display_malloc_warning): Return void. 4790 (memory_full, free_cons, free_marker): Likewise. 4791 4792 * xdisp.c (message): Declare a as char *[3]. 4793 4794 * lisp.h, print.c (internal_with_output_to_temp_buffer): 4795 Don't declare arg type taken by 2nd arg. 4796 4797 * eval.c (do_autoload): Return void. 4798 4799 * sysdep.c (reset_sigio): Return void. 4800 4801 * keyboard.c (Fsuspend_emacs): Cast init_sys_modes when calling 4802 record_unwind_protect. 4803 4804 * keymap.c (describe_map): Fix decl of arg ELT_DESCRIBER. 4805 4806 * process.c (create_process, deactivate_process, close_process_descs): 4807 (kill_buffer_processes, status_notify): Return void. 4808 (Fstart_process): Cast arg to create_process. 4809 4810 * undo.c (record_insert, record_delete, record_marker_adjustment): 4811 (record_change, record_first_change, record_property_change): 4812 Return void. 4813 48141997-11-27 Ken'ichi Handa <handa@delysid.gnu.org> 4815 4816 * undo.c (record_change, record_first_change, record_property_change): 4817 Declare them as void. 4818 (record_delete, record_marker_adjustment): Declare them as void. 4819 4820 * indent.c (invalidate_current_column): Declare it as void. 4821 4822 * fileio.c (report_file_error): Declare it as void. 4823 4824 * filelock.c (unlock_buffer): Declare it as void. 4825 4826 * buffer.c (nsberror, record_buffer, validate_region) 4827 (fix_overlay_before): Declare them as void. 4828 4829 * sysdep.c (discard_tty_input, init_baud_rate, wait_for_termination) 4830 (flush_pending_output, child_setup_tty, sys_suspend, sys_subshell) 4831 (init_sigio, request_sigio, unrequest_sigio, init_sys_modes) 4832 (get_frame_size, reset_sys_modes, setup_pty): Declare them as void. 4833 4834 * keymap.c (describe_vector): Declaration fixed (delete `.' at the 4835 tail of type `void'. 4836 (fix_submap_inheritance): Declare it as void. 4837 4838 * keyboard.c (echo_now, record_auto_save, cmd_error_internal) 4839 (start_polling, stop_polling, bind_polling_period, timer_start_idle) 4840 (timer_stop_idle, gobble_input, record_asynch_buffer_change) 4841 (clear_input_pending, stuff_buffered_input, clear_waiting_for_input) 4842 (quit_throw_to_read_char): Declare these as void. 4843 (Fsuspend_emacs): Delete unnecessary extern declaration for 4844 init_sys_mode. 4845 (Fexecute_extended_command): Give Voverriding_local_map as the 4846 first arg to Faref. 4847 48481997-11-27 Ken'ichi Handa <handa@melange.gnu.org> 4849 4850 * xterm.c (x_make_frame_visible): Give dummy arg to 4851 input_poll_signal. 4852 4853 * xdisp.c (redisplay_preserve_echo_area): Declare it as void. 4854 4855 * charset.c (strwidth): Remove extra argument to buffer_display_table. 4856 48571997-11-25 Andreas Schwab <schwab@delysid.gnu.org> 4858 4859 * charset.h (SPLIT_STRING): Remove extra argument to 4860 split_non_ascii_string. 4861 4862 * window.c: Add prototypes. 4863 (delete_window): Fix return type. 4864 (set_window_height): Likewise. 4865 (set_window_width): Likewise. 4866 (change_window_height): Likewise. 4867 4868 * xselect.c (Fx_disown_selection_internal): Fix type of EVENT. 4869 4870 * window.h: Add prototypes. 4871 4872 * systty.h: Add prototypes. 4873 4874 * sysdep.c: Add prototypes. 4875 (save_signal_handlers): Make static. 4876 (restore_signal_handlers): Likewise. 4877 4878 * syntax.h: Add prototypes. 4879 4880 * search.c: Include "intervals.h" for prototypes. 4881 4882 * region-cache.h: Add prototypes. 4883 48841997-11-24 Paul Eggert <eggert@twinsun.com> 4885 4886 * fontset.c (free_fontset_data): Don't free null pointer. 4887 4888 The new GNU C library strftime needs the underlying host's 4889 strftime for locale dependent formats. 4890 4891 * configure.in (AC_CHECK_FUNCS): Add strftime. 4892 * src/config.in (HAVE_STRFTIME): New undef. 4893 * src/editfns.c (emacs_strftime): New decl. 4894 (Fformat_time_string): Doc fix: %b, %h, %B, %a, %A, and %p depend on 4895 locale; don't use actual chars to describe %n and %t. 4896 4897 * src/Makefile.in (strftime.o): 4898 * src/makefile.nt ($(BLD)\strftime.obj): 4899 No need to compile with -Dstrftime=emacs_strftime any more. 4900 49011997-11-22 Richard Stallman <rms@gnu.org> 4902 4903 * syntax.c (back_comment): Handle 2-char comment starts 4904 when reaching the first of the pair. 4905 49061997-11-21 Andreas Schwab <schwab@delysid.gnu.org> 4907 4908 * keymap.c (copy_keymap_1): Fix return type. 4909 (accessible_keymaps_char_table): Likewise. 4910 (where_is_internal_2): Likewise. 4911 (describe_vector_princ): Likewise. 4912 (describe_vector): Likewise. Protoize parameter. 4913 (Ftext_char_description): Fix type of `str'. 4914 4915 * keyboard.h: Add prototypes and more function declarations. 4916 4917 * intervals.h: Add prototypes and more function declarations. 4918 4919 * intervals.c (traverse_intervals): Protoize parameter. 4920 4921 * frame.h: Protoize function declarations. 4922 4923 * fontset.h: Add prototypes and more function declarations. 4924 4925 * fontset.c: Protoize functions declarations. 4926 4927 * fns.c (map_char_table): Protoize parameter. 4928 4929 * fileio.c (close_file_unwind): Fix return type and return nil. 4930 (restore_point_unwind): Likewise. 4931 4932 * eval.c (record_unwind_protect): Protoize parameter. 4933 4934 * editfns.c (Fchar_to_string): Declare `workbuf' as unsigned char. 4935 (general_insert_function): Likewise. Protoize parameters. Define 4936 as returning nothing. 4937 4938 * doprnt.c (doprnt1): Declare `charbuf' as unsigned char. 4939 4940 * disptab.h: Add prototypes. Remove declaration of obsolete 4941 functions. 4942 4943 * coding.h: Add more prototypes and function declarations. 4944 4945 * charset.h: Add more prototypes and function declarations. 4946 4947 * ccl.c (setup_ccl_program): Define as returning nothing. 4948 4949 * ccl.h: Add declaration of setup_ccl_program and ccl_driver. 4950 4951 * category.h: Add declaration of word_boundary_p. 4952 4953 * buffer.h: Add more prototypes and function declarations. 4954 4955 * print.c (printchar): Declare `work' as unsigned char. 4956 (internal_with_output_to_temp_buffer): Protoype parameter 4957 FUNCTION. 4958 (Ferror_message_string): Remove extra argument of 4959 print_error_message. 4960 (write_string): Define as returning nothing. 4961 (write_string_1): Likewise. 4962 (print_error_message): Likewise. 4963 4964 * minibuf.c (read_minibuf_unwind): Fix return type and return nil. 4965 (temp_echo_area_glyphs): Define as returning nothing. 4966 (init_minibuf_once): Likewise. 4967 (syms_of_minibuf): Likewise. 4968 (keys_of_minibuf): Likewise. 4969 4970 * marker.c (unchain_marker): Define as returning nothing. 4971 (syms_of_marker): Likewise. 4972 4973 * macros.h: Declare finalize_kbd_macro_chars and 4974 store_kbd_macro_char. 4975 4976 * macros.c (store_kbd_macro_char): Define as returning nothing. 4977 (finalize_kbd_macro_chars): Likewise. 4978 (init_macros): Likewise. 4979 (syms_of_macros): Likewise. 4980 (keys_of_macros): Likewise. 4981 4982 * lread.c (read1): Declare workbuf as unsigned char. 4983 (dir_warning): Define as returning nothing. 4984 (init_lread): Likewise. 4985 (mapatoms_1): Likewise. 4986 (map_obarray): Fix type of parameter FN. 4987 4988 * lisp.h: Add more prototypes and declarations. Forward declare 4989 struct window and struct frame so that it can be used in 4990 prototypes. 4991 49921997-11-20 Richard Stallman <rms@gnu.org> 4993 4994 * sysdep.c (init_system_name): Don't use sysinfo. 4995 49961997-11-20 Dave Love <d.love@dl.ac.uk> 4997 4998 * syntax.c (skip_chars): Check type of `string' before using it. 4999 50001997-11-20 Abraham Nahum <miko@uxsrvc.tti.co.il> 5001 5002 * sysdep.c: Treat DGUX the same as USG. 5003 * s/dgux4.h (LIBS_SYSTEM): Define this. 5004 50051997-11-20 Eli Zaretskii <eliz@is.elta.co.il> 5006 5007 * frame.c (frame_name_fnn_p, set_term_frame_name): New functions. 5008 (store_frame_param): When the property name is "name", set the 5009 name of the frame to its value. 5010 50111997-11-16 Richard Stallman <rms@gnu.org> 5012 5013 * keyboard.c (Fexecute_extended_command): Fix message wording. 5014 Don't print a message for a binding for mouse-movement. 5015 50161997-11-15 Richard Stallman <rms@gnu.org> 5017 5018 * xdisp.c (minibuffer_scroll_overlap): New variable. 5019 (syms_of_xdisp): Set up Lisp var. 5020 (redisplay_window): Scroll minibuffer in a special way. 5021 5022 * xdisp.c (display_text_line): Make decision about which windows 5023 highlight the region in just once place. 5024 When minibuffer is selected, show the region in the previous window. 5025 5026 * charset.h (ASCII_BYTE_P): New macro. 5027 5028 * indent.c (position_indentation): Detect non-breaking space, 5029 in either single-byte form or multibyte form (using category ' '). 5030 50311997-11-15 Karl Heuer <kwzh@gnu.org> 5032 5033 * xselect.c (x_handle_selection_request): Use xfree, not free. 5034 (unexpect_property_change, x_get_window_property_as_lisp_data): Ditto. 5035 (x_handle_property_notify, receive_incremental_selection): Ditto. 5036 (selection_data_to_lisp_data, Fx_get_cut_buffer_internal): Ditto. 5037 50381997-11-10 Eli Zaretskii <eliz@is.elta.co.il> 5039 5040 * msdos.c: Support for Japanese display on DOS/V systems. 5041 (screen_old_address, screen_virtual_segment, screen_virtual_offset): 5042 New variables. 5043 (dosv_refresh_virtual_screen): New function. 5044 (dos_direct_output, dos_set_window_size, IT_write_glyphs) 5045 (IT_clear_end_of_line, IT_clear_screen, IT_display_cursor) 5046 (IT_reset_terminal_modes, XMenuActivate, abort): Call 5047 dosv_refresh_virtual_screen if under DOS/V. 5048 (IT_set_terminal_modes): If under DOS/V, update the address of 5049 primary screen buffer. 5050 (internal_terminal_init): Zero out screen_old_address, in case 5051 Emacs was dumped under DOS/V. 5052 (dos_get_saved_screen): Return failure indication if no screen was 5053 saved. 5054 50551997-11-07 Kenichi Handa <handa@etl.go.jp> 5056 5057 * callproc.c (Fcall_process): GCPRO infile, buffer, and 5058 current_dir before encoding arguments. 5059 5060 * charset.c (find_charset_in_str): Handle the case that STR 5061 contains invalid multibyte-form. 5062 5063 * coding.c (setup_coding_system): Initialize common_flags member 5064 instead of require_flushing member of `*coding'. 5065 (code_convert_region): Fix previous change. 5066 5067 * coding.h (struct coding_system): Add member common_flags, delete 5068 member require_flushing. 5069 (CODING_REQUIRE_FLUSHING_MASK, CODING_REQUIRE_DECODING_MASK) 5070 (CODING_REQUIRE_ENCODING_MASK, CODING_REQUIRE_DETECTION_MASK): 5071 New macros. 5072 (CODING_REQUIRE_NO_CONVERSION, CODING_MAY_REQUIRE_NO_CONVERSION): 5073 These macros deleted. 5074 (CODING_REQUIRE_FLUSHING, CODING_REQUIRE_DECODING) 5075 (CODING_REQUIRE_ENCODING, CODING_REQUIRE_DETECTION): New macros. 5076 5077 * editfns.c (Fsref): If IDX points an 8-bit code which is not part 5078 of multibyte characters, return it. Pay attention to 5079 enable-multibyte-characters. 5080 5081 * fileio.c (Finsert_file_contents): Use new macros defined in 5082 coding.h. 5083 (Fwrite_region): Likewise. 5084 5085 * process.c (create_process): Encode arguments for the process. 5086 (read_process_output): Use new macros defined in coding.h. 5087 (send_process): Likewise. 5088 5089 * term.c (encode_terminal_code): Use new macros defined in 5090 coding.h. 5091 (write_glyphs): Likewise. 5092 50931997-10-31 Richard Stallman <rms@gnu.org> 5094 5095 * sysdep.c (init_system_name): If gethostname gives a proper 5096 domain name, don't look farther for one. 5097 50981997-10-29 Paul Eggert <eggert@twinsun.com> 5099 5100 * m/alpha.h (DBL_MIN_REPLACEMENT): New macro. 5101 5102 * print.c (DBL_MIN): Use workaround if DBL_MIN_REPLACEMENT is defined. 5103 51041997-10-27 Kenichi Handa <handa@etl.go.jp> 5105 5106 * charset.c (Fchars_in_string): Pay attention to 5107 enable-multibyte-characters. 5108 (Fchars_in_region): Likewise. Avoid error when the region ends in 5109 the middle of a multibyte character. 5110 5111 * category.c (copy_category_table): Copy also the first extra slot 5112 (vector of docstrings). 5113 (Fcopy_category_table): Do not give unused second arg to 5114 copy_category_table. 5115 51161997-10-26 Kyle Jones <kyle_jones@wonderworks.com> 5117 5118 * buffer.c (Fkill_buffer): Don't assume buffer is current. 5119 51201997-10-24 Eirik Fuller <eirik@netcom.com> 5121 5122 * xterm.c (XTread_socket): Check for bogus (0,0) location. 5123 51241997-10-24 Richard Stallman <rms@gnu.org> 5125 5126 * frame.c (Fmouse_pixel_position, Fmouse_position): 5127 Pass -1 as INSIST arg to mouse_position_hook. 5128 * w32term.c (w32_mouse_position): Handle INSIST < 0. 5129 * xterm.c (XTmouse_position): Handle INSIST < 0. 5130 51311997-10-23 Simon Marshall <simon@gnu.org> 5132 5133 * lread.c (Fload): Indicate in messages if source code is being 5134 loaded and don't indicate when compiled code is being loaded. 5135 51361997-10-23 Murata Shuuichirou <mrt@mickey.ai.kyutech.ac.jp> 5137 5138 * coding.c (encode_designation_at_bol): Fix bug of finding graphic 5139 registers which should be designated at bol. 5140 51411997-10-23 Kenichi Handa <handa@etl.go.jp> 5142 5143 * charset.h (CHAR_VALID_P): Renamed from VALID_CHAR_P, new 5144 argument GENERICP. Call char_valid_p for a non-ASCII character. 5145 5146 * charset.c (char_valid_p): New function 5147 (Fchar_valid_p): New function. 5148 (syms_of_charset): Declare it as a Lisp function. 5149 5150 * coding.h (struct iso2022_spec): New member 5151 charset_revision_number. 5152 (CODING_SPEC_ISO_SAFE_CHARSETS): This macro deleted. 5153 (CODING_SPEC_ISO_REVISION_NUMBER): New macro. 5154 (struct coding_system): Member `safe_charsets' is moved from 5155 struct iso2022_spec. 5156 5157 * coding.c (Qsafe_charset): New variable. 5158 (syms_of_coding): Initialize and staticpro it. 5159 (detect_coding_iso2022): Handle SS2 and SS3 correctly. 5160 (DECODE_ISO_CHARACTER): Recover from incorrect encoding in less 5161 dangerous way. 5162 (ENCODE_DESIGNATION): Get charset revision number by 5163 CODING_SPEC_ISO_REVISION_NUMBER. 5164 (setup_coding_system): Initialize the member safe_charsets from 5165 the coding systems's safe-charsets property. Initialize the 5166 member charset_revision_number of struct iso2022_spec. 5167 (ENCODE_ISO_CHARACTER_DIMENSION1): Adjusted for the change of 5168 `safe_charsets' member. 5169 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise. 5170 (code_convert_region): Restore the current point after calling a 5171 function in coding->post_read_conversion. 5172 5173 * fns.c (map_char_table): Do not operate on invalid characters. 5174 Pay attention to `enable-multibyte-characters'. 5175 51761997-10-23 Richard Stallman <rms@gnu.org> 5177 5178 * filelock.c (unlock_all_files): Don't call unlock_file; 5179 do the work directly, and avoid calling Fexpand_file_name. 5180 5181 * xdisp.c (redisplay_window): If clip_changed, always run 5182 window-scroll-functions. 5183 51841997-10-23 Paul Eggert <eggert@twinsun.com> 5185 5186 Don't generate useless digits when converting floating point to string. 5187 5188 * print.c (_MAXLDBL, _NMAXLDBL): 5189 Define to work around hpux 7 <math.h> problem. 5190 (<math.h>): Include. 5191 (<float.h>, <stdlib.h>): Include if STDC_HEADERS. 5192 (FLT_RADIX, DBL_MANT_DIG, DBL_DIG): Default to IEEE values. 5193 (DOUBLE_DIGITS_BOUND): New macro. 5194 (float_to_string): By default, generate the fewest number of digits 5195 that represent the floating point value exactly. 5196 5197 * lisp.h (DBL_DIG): Remove; the default value is now set in print.c. 5198 * data.c, floatfns.c: No need to include <float.h> before "lisp.h", 5199 as the latter no longer defines DBL_DIG. 5200 52011997-10-21 Kenichi Handa <handa@etl.go.jp> 5202 5203 * Makefile.in (xselect.o): Depend on buffer.h 5204 5205 * coding.c (Qcoding_system_spec): Deleted. 5206 (Vcoding_system_list, Vcoding_system_alist): New variables. 5207 (setup_coding_system): Adjusted for the change in mule.el. 5208 (detect_eol): Likewise. 5209 (Fcoding_system_spec): Changed to Lisp function in mule.el. 5210 (Fcoding_system_p): Do not call Fcoding_system_spec. 5211 (Fread_coding_system): Give Vcoding_system_alist to 5212 Fcompleting_read as the arg TABLE. 5213 (Fread_non_nil_coding_system): Likewise. Give 5214 Vcoding_system_history to Fcompleting_read as the arg HIST. 5215 (syms_of_coding): Deleted codes for Qcoding_system and 5216 Fcoding_system_spec. Set up new Lisp variables. 5217 5218 * xselect.c: Include buffer.h. 5219 (selection_data_to_lisp_data): Do not perform code conversion if 5220 the default value of enable-multibyte-characters is nil. 5221 (lisp_data_to_selection_data): Likewise. Access the array 5222 `charsets' in the correct way. 5223 52241997-10-20 Richard Stallman <rms@gnu.org> 5225 5226 * Makefile.in (LD_SWITCH_MACHINE_TEMACS): New macro (defaults empty). 5227 (ALL_LDFLAGS): Use LD_SWITCH_MACHINE_TEMACS here. 5228 5229 * m/ibmrs6000.h (LD_SWITCH_MACHINE): Conditionalize this 5230 on THIS_IS_MAKEFILE instead of on emacs. 5231 52321997-10-20 Paul Eggert <eggert@twinsun.com> 5233 5234 * strftime.c: 5235 Switch back to GNU C Library version. 5236 (__tz_compute): Remove unused decl. 5237 (strftime): Use tm_zone even if _LIBC is defined. 5238 52391997-10-19 Kurt Swanson <kurt@dna.lth.se> 5240 5241 * window.c (syms_of_window): Doc fix. 5242 52431997-10-16 Richard Stallman <rms@gnu.org> 5244 5245 * buffer.c (init_buffer): Don't add /: to default dir if it's `/'. 5246 5247 * keymap.c (Faccessible_keymaps): Avoid alloca for fixed-size array. 5248 (Fset_keymap_parent, Fcopy_keymap, Fwhere_is_internal): Likewise. 5249 5250 * minibuf.c (read_minibuf): Return DEFALT here, if minibuffer is empty. 5251 (Fread_from_minibuffer, Fcompleting_read): Don't do that here. 5252 5253 * fileio.c (Fexpand_file_name): Avoid treating // specially 5254 even in a relative file name. 5255 5256 * keymap.c (Fwhere_is_internal): some minor mode bindings weren't 5257 being found. 5258 52591997-10-15 Richard Stallman <rms@gnu.org> 5260 5261 * window.c (replace_buffer_in_all_windows): 5262 Pass 1 as MINI to window_loop. 5263 5264 * data.c (Fstring_to_number): Handle NEGATIVE for floats too. 5265 5266 * lread.c (read_list): Don't recognize Vload_file_name 5267 specially if it is nil. 5268 52691997-10-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 5270 5271 * alloc.c (gc_sweep): Free memory blocks that contain only unused 5272 objects. 5273 5274 * window.c (window_scroll): When scrolling forward and point is 5275 inside the scroll margin put point at bottom of it, not at window 5276 start. 5277 52781997-10-13 Andrew Innes <andrewi@harlequin.co.uk> 5279 5280 * callproc.c (child_setup) [WINDOWSNT]: Ensure standard handles 5281 are reset even if spawnve fails. 5282 5283 * w32menu.c (Fx_popup_menu): Pass menu handle by value. 5284 52851997-10-13 Eli Zaretskii <eliz@melange.gnu.org> 5286 5287 * xdisp.c (decode_mode_spec): Display non-nil title as the frame's 5288 name only on FRAME_WINDOW_P frames. 5289 5290 * frame.c (set_menu_bar_lines): Make the function external instead 5291 of static (MS-DOS needs to call it). 5292 5293 * emacs.c (shut_down_emacs): Call `dos_cleanup'. 5294 5295 * msdos.c (mouse_get_pos): Remove reduntant call to `int86'. 5296 Clear the mouse-moved flag for all frames. Update last mouse 5297 position. 5298 (IT_set_menu_bar_lines): Remove. 5299 (x_set_menu_bar_lines): Call `set_menu_bar_line' (from frame.c) 5300 instead of duplicating its code. 5301 (IT_set_frame_parameters): Support the `title' and `reverse' 5302 properties. 5303 5304 * dosfns.h: Vdos_windows_version: declare. 5305 5306 * dosfns.c (__tb): Define. 5307 (restore_parent_vm_title): New function. 5308 (ms_windows_version): New function. 5309 (w95_set_virtual_machine_title): New function 5310 (x_set_title): New function. 5311 (dos_cleanup): New function 5312 (syms_of_dosfns): Define `dos-windows-version' Lisp variable. 5313 (init_dosfns): Compute MS-Windows version and save the original 5314 title of our DOS box. 5315 53161997-10-10 Richard Stallman <rms@gnu.org> 5317 5318 * s/netbsd.h (LD_SWITCH_SYSTEM): Use -Wl,-rpath if __ELF__. 5319 53201997-10-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 5321 5322 * unexelf.c (round_up): Make arguments and return type unsigned. 5323 5324 * editfns.c: Repeat the argument list of format-time-string in the 5325 comment for make-docstring. 5326 5327 * lread.c: Make sure that make-docfile does not see the doc string 5328 of the disabled function eval-current-buffer. 5329 5330 * print.c (syms_of_print): Fix doc string of print-gensym. 5331 53321997-10-01 Richard Stallman <rms@psilocin.gnu.org> 5333 5334 * s/aix4-1.h [! HAVE_LIBXMU] (LIBXMU): Define as empty. 5335 [! HAVE_LIBXMU] (NO_EDITRES): Defined. 5336 53371997-09-30 Hrvoje Niksic <hniksic@srce.hr> 5338 5339 * fns.c (Qwidget_type): New variable. 5340 (widget-plist-member, widget-put, widget-get, widget-apply): Move 5341 here from lisp/wid-edit.el; translated into C for efficiency. 5342 (syms_of_fns): Initialize Qwidget_type; defsubr new functions. 5343 53441997-09-29 Karl Heuer <kwzh@gnu.org> 5345 5346 * s/dgux4.h: Fix name of include file to match 1996-08-24 renaming. 5347 53481997-09-27 Eirik Fuller <eirik@netcom.com> 5349 5350 * ralloc.c (relinquish): When returning memory to the system, 5351 watch out for the original data segment boundary. 5352 53531997-09-25 Kenichi Handa <handa@etl.go.jp> 5354 5355 * keymap.c (push_key_description): Delete useless `if' statement. 5356 53571997-09-24 Kenichi Handa <handa@etl.go.jp> 5358 5359 * charset.c (find_charset_in_str): Return also charsets in 5360 composite characters. 5361 53621997-09-24 Dave Love <d.love@dl.ac.uk> 5363 5364 * buffer.c (mode-line-format): Doc fix. 5365 53661997-09-23 Geoff Voelker <voelker@cs.washington.edu> 5367 5368 * callproc.c (child_setup) [WINDOWSNT]: Change directory of 5369 child instead of parent. 5370 53711997-09-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5372 5373 * Version 20.2 released. 5374 5375 * s/sol2-5.h (SYSTEM_MALLOC): Defined. 5376 53771997-09-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5378 5379 * Version 20.1 released. 5380 5381 * keyboard.c (command_loop_1): Add nonascii_insert_offset 5382 before calling direct_output_for_insert. 5383 53841997-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 5385 5386 * indent.c (compute_motion): Ignore the display table entry for a 5387 base leading code when dealing with multibyte characters. 5388 53891997-09-14 Kenichi Handa <handa@etl.go.jp> 5390 5391 * fileio.c (Finsert_file_contents): If a coding system is 5392 specified explicitly on visiting a new file, set 5393 buffer-file-coding system of the new buffer to the specified one. 5394 53951997-09-13 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5396 5397 * minibuf.c (syms_of_minibuf): Doc fix. 5398 53991997-09-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5400 5401 * xdisp.c: When redisplaying the echo area, use the value 5402 of enable-multibyte-characters from when message was called. 5403 (message_enable_multibyte): New variable. 5404 (message2_nolog): Set the variable. 5405 (echo_area_display): Use that variable. 5406 (display_string): New arg MULTIBYTE. Callers changed. 5407 5408 * print.c (Fexternal_debugging_output): On Windows, output to debugger. 5409 54101997-09-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5411 5412 * msdos.c: Use raw-text as coding system. 5413 54141997-09-10 Eli Zaretskii <eliz@is.elta.co.il> 5415 5416 * msdos.c (syms_of_msdos): Intern background-color and 5417 foreground-color, and staticpro them. 5418 (IT_set_frame_parameters): Use Qforeground_color and 5419 Qbackground_color. 5420 54211997-09-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5422 5423 * xdisp.c (display_menu_bar): Include WINDOW_LEFT_MARGIN in maxendcol. 5424 5425 * process.c (create_process): Encode the new current dir. 5426 5427 * callproc.c (Fcall_process): Encode the new current dir. 5428 54291997-09-09 Paul Eggert <eggert@twinsun.com> 5430 5431 * s/sco5.h (BROKEN_MKTIME): Define. 5432 54331997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 5434 5435 * xfns.c (x_screen_planes): Fix type of argument. 5436 5437 * syntax.h (UPDATE_SYNTAX_TABLE_FORWARD): Add missing fourth 5438 argument of update_syntax_table. 5439 (UPDATE_SYNTAX_TABLE_BACKWARD): Likewise. 5440 (UPDATE_SYNTAX_TABLE): Likewise. 5441 5442 * coding.c (encode_designation_at_bol): Fix type of local vars C1, C2. 5443 54441997-09-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5445 5446 * fileio.c (ENCODE_FILE): New macro. 5447 (Vfile_name_coding_system): New variable. 5448 (syms_of_fileio): Set up Lisp variable. 5449 (Fset_visited_file_modtime): Use ENCODE_FILE. 5450 (Fcopy_file, Fmake_directory_internal, Fdelete_directory, Fdelete_file) 5451 (Frename_file, Fadd_name_to_file, Ffile_exists_p Ffile_executable_p) 5452 (Ffile_readable_p, Ffile_writable_p, Faccess_file, Ffile_symlink_p) 5453 (Ffile_directory_p, Ffile_accessible_directory_p, Ffile_regular_p) 5454 (Ffile_modes, Fset_file_modes, Ffile_newer_than_file_p, Fwrite_region) 5455 (Finsert_file_contents, Fverify_visited_file_modtime): Likewise. 5456 5457 * fileio.c (Ffile_symlink_p): Decode the file name value. 5458 5459 * dired.c (ENCODE_FILE): New macro. 5460 (Ffile_attributes): Encode the file names to operate on. 5461 (file_name_completion): Do completion on encoded name, then decode. 5462 (Fdirectory_files): Encode the argument. 5463 Decode all result file names using Vfile_name_coding_system. 5464 5465 * coding.c (Fencode_coding_string, Fdecode_coding_string): Doc fixes. 5466 54671997-09-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5468 5469 * lread.c (Feval_buffer): New arg FILENAME. 5470 5471 * buffer.c (modify_overlay): Update overlay_modiff of proper buffer. 5472 54731997-09-07 Geoff Voelker <voelker@cs.washington.edu> 5474 5475 * firstfile.c: New file. 5476 54771997-09-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5478 5479 * xdisp.c (display_string): Determine multibyte from current buffer, 5480 not from W's buffer. 5481 54821997-09-07 Kenneth Stailey <kstailey@elbereth.disclosure.com> 5483 5484 * s/openbsd.h: New file. 5485 5486 * m/ns32000.h, m/sparc.h, m/alpha.h, m/pmax.h, unexalpha.c: 5487 Test __OpenBSD__ along with __NetBSD__. 5488 5489 * unexelf.c: Test __OpenBSD__ along with __NetBSD__. 5490 [__OpenBSD__]: Include sys/exec_elf.h. 5491 54921997-09-05 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu> 5493 5494 * coding.c (Ffind_operation_coding_system): If a function in 5495 XXX-coding-system-alist returns a coding system (instead of cons 5496 of coding systems), return cons of it. 5497 54981997-09-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5499 5500 * coding.c (Fread_coding_system): 5501 New optional arg DEFAULT_CODING_SYSTEM. 5502 * lisp.h (Fread_coding_system): Update decl. 5503 5504 * callint.c (Fcall_interactively): Pass new arg to Fread_coding_system. 5505 55061997-09-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5507 5508 * m/alpha.h (PTY_OPEN): Call sigblock properly. 5509 5510 * fileio.c (Fexpand_file_name): If default dir isn't string, use `/'. 5511 5512 * callproc.c (Fcall_process_region): Fix previous change: 5513 never override Vcoding_system_for_write. 5514 5515 * m/alpha.h (PTY_OPEN): Save and restore the SIGCHLD handler. 5516 55171997-09-04 Erik Naggum <erik@naggum.no> 5518 5519 * emacs.c (main): Update Copyright message. 5520 55211997-09-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5522 5523 * data.c (Faset): Simplify a statement in the char-table case. 5524 This is to help some compilers. 5525 5526 * coding.c (Qcoding_system_history): New variable. 5527 (syms_of_coding): Initialize it. 5528 (Fread_coding_system): Use Qcoding_system_history. 5529 5530 * coding.c (setup_coding_system, Ffind_operation_coding_system) 5531 (Fdetect_coding_region, Fread_coding_system): 5532 Don't initialize a Lisp_Object. 5533 55341997-09-03 NIIBE Yutaka <gniibe@mri.co.jp> 5535 5536 * emacs.c (main): Call run_time_remap earlier, before any use of stdio. 5537 55381997-09-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 5539 5540 * minibuf.c (read_minibuf): Fix use of Ffboundp. 5541 55421997-09-03 Geoff Voelker <voelker@cs.washington.edu> 5543 5544 * lastfile.c (my_endbss) [WINDOWSNT]: New variable. 5545 55461997-09-03 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5547 5548 * coding.c (detect_coding_mask): Re-work previous change. 5549 (detect_eol): Fix use of == instead of -. 5550 55511997-09-03 Kenichi Handa <handa@etl.go.jp> 5552 5553 * coding.c (detect_coding_mask): Cancel previous change. Always 5554 include CODING_CATEGORY_MASK_RAW_TEXT in the return value. 5555 55561997-09-02 Andrew Innes <andrewi@harlequin.co.uk> 5557 5558 * makefile.nt (TLIB0, TOBJ, OBJ0): New macro. 5559 (LINK_FLAGS): Separate debugging info from the executable. 5560 (LIBS): Include TLIB0. 5561 (TEMACS): Link with TLIB0. 5562 (EMACS): Copy temacs map file to emacs map file. 5563 Update file dependencies. 5564 5565 * unexw32.c: Include config.h and time.h. 5566 Declare extern data and functions. 5567 (file_data): Move definition from w32heap.c. 5568 (_start): Add debug hook for when profiling. 5569 Spoof executable name when using profilers. 5570 Invoke sbrk immediately when undumped. 5571 (unexec): Print error messages when input and output dump files 5572 cannot be opened. 5573 Reset header checksum. 5574 (open_input_file, open_output_file): Return status instead of aborting. 5575 (get_section_size): Handle different linkers. 5576 (find_section, rva_to_section): New functions. 5577 (get_section_info) [SEPARATE_BSS_SECTION]: Make code for using 5578 a separate .bss section conditional. 5579 Use my_begbss and my_endbss to determine .bss size by default. 5580 Look for Emacs data in EMDATA section. 5581 5582 * w32.c: Include stddef.h. 5583 (getwd): Delete macro. 5584 (startup_dir): New variable. 5585 (getwd): Return directory in which Emacs started. 5586 (init_user_info): Set SHELL environment variable if not set. 5587 (parse_root, get_long_basename, w32_get_long_filename): New functions. 5588 (init_environment): Look for CMDPROXY. 5589 Make sure that PATH and COMSPEC are capitalized in the environment. 5590 Record startup directory. 5591 (get_emacs_configuration, sys_rename): Use OS_WIN95. 5592 (map_w32_filename): Calculate returned string correctly. 5593 5594 (sys_fopen): Use _fdopen. 5595 (sys_link): Support NTFS links. 5596 (sys_rename): Use a long file name for temporary name. 5597 (sys_pipe): Make pipes binary and non-inheritable. 5598 (sys_read, sys_write): Spoof text mode translation for pipes 5599 and sockets. 5600 5601 (hashval): Simplify. 5602 (generate_inode_val): Use long file name version of file. 5603 5604 (stat): Optimize by using active readdir info. 5605 Set fake_inode to 0 for directories. 5606 Set fake_inode to xor of file indexes for files. 5607 Don't use generate_inode_val to set inode value. 5608 5609 (volume_info_data): Renamed from volume_info. 5610 (volume_info, fixed_drives, volume_cache): New variables. 5611 (DRIVE_INDEX, VOLINFO_STILL_VALID): New macros. 5612 (lookup_volume_info, add_volume_info, GetCachedVolumeInformation): 5613 New functions. 5614 (get_volume_info): Use volume_info_data. 5615 Use GetCachedVolumeInformation. 5616 5617 (init_ntproc): No longer restrict to one DOS subprocess. 5618 Use CRT _open and _fdopen. 5619 Cache fixed drive information. 5620 5621 * w32.h: Remove debugging macros. 5622 (child_process): Remove is_dos_process field, add hwnd handle field. 5623 (FILE_LAST_CR): New macro. 5624 (w32_get_long_filename): Declare extern. 5625 5626 * w32console.c (DebPrint, reset_kbd, unset_kbd, take_console): 5627 Delete functions. 5628 (keyboard_init_hook): Delete variable. 5629 (prev_console_cursor) [! USE_SEPARATE_SCREEN]: New variable. 5630 (reset_terminal_modes) [! USE_SEPARATE_SCREEN]: Reset cursor info. 5631 (initialize_w32_display) [USE_SEPARATE_SCREEN]: Create separate 5632 screen buffer. 5633 (ctrl_c_handler): Only ignore interrupts when interactive. 5634 (set_terminal_modes): Set input mode. 5635 (initialize_w32_display): Record original settings. 5636 Don't reset cursor or clear frame. 5637 5638 * w32fns.c: Include limits.h and errno.h. 5639 Declare externs from other files. 5640 (w32_in_use): New variable. 5641 (check_w32, have_menus_p, x_set_title, w32_msg_worker) 5642 (find_deferred_msg, send_deferred_msg, complete_deferred_msg) 5643 (Fw32_focus_frame, W32-send-sys-command): New functions. 5644 (last_mouse_movement_time): Delete variable. 5645 5646 (x_frame_parms): Alphabetize. Add title parm. 5647 (x_set_icon_name): Use title if set. 5648 (x_set_menu_bar_lines): Ensure client area remains the same. 5649 (x_set_name): Don't update if the name is the same. 5650 Use title for name if available. 5651 (x_icon): Initial support for creating window iconified. 5652 (x_display_info_for_name): Set w32_in_use. 5653 (Fx_open_connection): Validate Vwindow_system. Set w32_in_use. 5654 5655 (w32_create_window): Set window size to frame dimensions. 5656 Set font width, line height, border, scrollbar indexes. 5657 Don't set X and Y units indexes. 5658 (w32_msg_pump): Renamed from windows_msg_worker. 5659 Make static. Don't post done message. No longer handle 5660 create scrollbar message. Don't abort on anomalous messages. 5661 Return when completion detected. 5662 (w32_wnd_proc): Keep track of button state. 5663 For WINDOWPOSCHANGING, force window dimensions to be multiples 5664 of character dimensions. 5665 Handle CREATESCROLLBAR. 5666 Use correct arguments for SHOWWINDOW. 5667 For SETWINDOWPOS, use WINDOWPOS structure. 5668 5669 (my_create_window): Abort if message post fails. 5670 (Fx_create_frame): Use title instead of name. 5671 GC protect frame before make_frame_without_minibuffer. 5672 Set icon name. 5673 Use courier new as default font (has bold and italic). 5674 Set BufferPredicate and Title default parameters. 5675 5676 (x_to_w32_weight): Support semibold weight. 5677 (x_to_w32_charset): Map # to numeric charset identifier. 5678 (w32_to_x_charset): Encode unknown charsets as a number. 5679 (enum_font_cb2): Don't restrict to ANSI and OEM charsets. 5680 5681 (Fx_color_values): Set high and low words of color values. 5682 5683 (syms_of_w32fns): Zero w32_in_use. defsubr new functions. 5684 5685 * w32heap.c (os_subtype): New variable. 5686 (cache_system_info): Set os_subtype. 5687 (recreate_heap): Update system information after loading heap. 5688 5689 * w32heap.h: Enumerate operating system types. 5690 Declare extern data and functions. 5691 Move file_data struct definition here. 5692 (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_PTR): New macros. 5693 5694 * w32inevt.c: Declare externs from other files. 5695 (w32_kbd_mods_to_emacs): New parameter KEY. 5696 Use w32-capslock-is-shiftlock for old behavior. 5697 (key_event): Pass in new parameter to w32_kbd_mods_to_emacs. 5698 5699 * w32menu.c (init_menu_items): Disable code. 5700 (x_activate_menubar): New function. 5701 (initialize_frame_menubar): Pass in new param to set_frame_menubar. 5702 5703 * w32proc.c: Include w32heap.h. 5704 (Vw32_start_process_share_console, Vw32_generate_fake_inodes) 5705 (Vw32_get_true_file_attributes, Qhigh, Qlow, process_dir): 5706 New variables. 5707 (find_child_console, set_process_dir, Fw32_short_file_name) 5708 (Fw32_long_file_name, Fw32_set_process_priority, Fw32_get_locale_info) 5709 (Fw32_get_current_locale_id, Fw32_get_default_local_id) 5710 (Fw32_set_current_locale): New functions. 5711 (CORRECT_DIR_SEPS): New macro. 5712 (create_child): Create a new console if subprocs don't share parent's. 5713 (reap_subprocess): Don't check for dos subprocesses. 5714 Add debug support. 5715 (sys_wait): Ignore socket child_procs. 5716 Check for quit while waiting. 5717 (w32_executable_type): Renamed from w32_is_dos_binary. 5718 Check for dos and Cygnus executables. 5719 (sys_spawnve): Always use cmdproxy if spawning a dos app. 5720 Use quotes to quote arguments for Cygnus apps, backslashes otherwise. 5721 Handle escape characters. Escape quotes at start and end, too. 5722 (sys_select): Treat null timeout as infinite. 5723 Add handles of child processes. 5724 Loop over handles round robin to ensure fairness. 5725 (sys_kill): Send ctrl-break and ctrl-c keystrokes to subprocesses 5726 on SIGINT if not sharing consoles, otherwise generate ctrl-break event. 5727 On other termination signals, send WM_QUIT message to Win95 apps 5728 and WM_CLOSE to NT apps. 5729 (syms_of_ntproc): Intern new symbols. defsubr new functions. 5730 DEFVAR new variables. 5731 5732 * w32term.c (SIF_*): Win95 macros defined for NT. 5733 (struct tagSCROLLINFO): Win95 struct defined for NT. 5734 (vertical_scroll_bar_min_handle, vertical_scroll_bar_top_border) 5735 (vertical_scroll_bar_bottom_border, last_scroll_bar_drag_pos) 5736 (Vw32_gab_focus_on_raise, Vw32_capslock_is_shiftlock): 5737 New variables. 5738 (w32_frame_up_to_date): Block input. 5739 (do_line_dance): Use DC while erasing, release at end. 5740 (show_mouse_face): Use column and endcolumn calculated at start of 5741 loop. 5742 (my_create_scrollbar, my_show_window, my_set_window_pos, my_set_focus) 5743 [! ATTACH_THREADS]: Send message to window instead of invoking 5744 Windows procedure. 5745 (x_scroll_bar_create, x_scroll_bar_move, x_scroll_bar_handle_click) 5746 (x_scroll_bar_report_motion): Use SCROLLINFO for proportional handle. 5747 (x_scroll_bar_set_handle): Create proportional sized scroll handle. 5748 (w32_set_vertical_scroll_bar): Size handle according to how much 5749 is showing in window. 5750 (x_scroll_bar_set_report_motion): Use top_range, calculated above. 5751 (x_scroll_bar_clear): Hide scroll bar until ready to repaint. 5752 (show_scroll_bars): Pass in frame to my_show_window. 5753 5754 (w32_read_socket): Distinguish between invisible and obscured frames 5755 when handling PAINT messages. 5756 Fixup off-by-one calculation for PAINT and SIZE. 5757 Pass in new parameter to w32_kbd_mods_to_emacs. 5758 Handle WM_DISPLAYCHANGE, WINDOWPOSCHANGED, ACTIVATE, SHOWWINDOW, 5759 INITMENU, and ACTIVATEAPP messages. 5760 Explicitly check for visibile and obscured frames, and to see if 5761 any event should cause a redisplay. 5762 5763 (x_display_bar_cursor): Don't check whether frame is updating here. 5764 (x_display_cursor): Check it here instead. 5765 (x_set_offset) [HAVE_NTGUI]: Don't add border widths. 5766 Set NOACTIVATE when setting window position. 5767 (x_set_window_size): Fixup off-by-one calculation when setting 5768 window position. Mark frame garbaged earlier. Clear mouse 5769 highlighting state. 5770 (x_focus_on_frame): Set focus by making frame the foreground window. 5771 (x_raise_frame): Support frames to be raised without grabbing focus. 5772 (x_lower_frame): Set NOACTIVATE flag when setting window position. 5773 (x_make_frame_visible, x_make_frame_invisible): Pass in frame 5774 to my_show_window. 5775 (x_iconify_frame): Send a MINIMIZE message to the window. 5776 (x_wm_set_size_hint): Set font width, line height, border, 5777 and scroll bar indexes instead of X and Y unit indexes. 5778 5779 (w32_initialize): Set input mode. Use w32_msg_worker instead 5780 of windows_msg_worker. Dynamically link proportional scroll bar 5781 functions and intialize proportional scroll bar variables. 5782 (syms_of_w32term): DEFVAR new variables. 5783 5784 * w32term.h (w32_output): New fields menubar_widget, menubar_active, 5785 and pending_menu_activation. 5786 (VERTICAL_SCROLL_BAR_*): Use proportional scroll bar variables. 5787 (W32WindowPos): Delete definition. 5788 (WM_EMACS_SETFOCUS, WND_*_INDEX): New macros. 5789 (deferred_msg): New structure. 5790 5791 * w32xfns.c (have_menus_p): Move to w32fns.c. 5792 5793 * s/ms-w32.h (INTERRUPT_INPUT): Don't define. 5794 (bcopy): Use memmove instead of memcpy. 5795 (GAP_USE_BCOPY, BCOPY_UPWARD_SAFE, BCOPY_DOWNWARD_SAFE): Define. 5796 Undef system calls before redefining. Emulated calls redefined 5797 to sys_*, real calls redefined to _*. 5798 (DebPrint): Macro defined. 5799 58001997-09-02 Michael Welsh Duggan <md5i@schenley.com> 5801 5802 * w32term.h (WM_MOUSEWHEEL): Define if not already defined. 5803 Necessary for pre VC5.0 distribution. 5804 (WM_EMACS_TRACKPOPUPMENU): New Macro. 5805 5806 * w32term.c (construct_mouse_wheel): New function. Constructs an 5807 input event from a WM_MOUSEWHEEL message. 5808 (w32_read_socket): Handle WM_MOUSEWHEEL. 5809 5810 * w32fns.c (win32_wnd_proc): Capture and handle WM_MOUSEWHEEL events. 5811 Capture and handle WM_EMACS_TRACKPOPUPMENU events. 5812 Allow a dragged selection from a popup menu started up 5813 by a mouse down event. 5814 (x_to_win32_color): Support for X Windows RGB string specifications. 5815 5816 * w32menu.c (get_frame_menubar_event): Check for the possibility 5817 of a menu-bar button. A menu-bar button is a caption on the menu 5818 bar with no submenu. 5819 (set_frame_menubar): Correctly handle menu-bar buttons. 5820 (add_menu_item): Equiv parameter send and paid attention to. 5821 (keymap_panes, list_of_panes): Use CreatePopupMenu. 5822 (single_keymap_panes): Use CreatePopupMenu. Send key descriptions 5823 to add_menu_item. 5824 (list_of_items): Use CreatePopupMenu. Send nil description to 5825 add_menu_item. 5826 (get_menu_event): Send keymap instead of menu to get_keymap_event. 5827 (Fx_popup_menu): Extra parameter to mouse_position_hook. Don't 5828 send address of menu to win32menu_show. 5829 (win32menu_show): Send message to call popup menu rather than 5830 trying directly. get_menu_event should take an address. 5831 Call eat_mouse_events in order to get rid of any extraneous 5832 mouse events. 5833 (list_of_panes): Only bring up one pane if the length of the list 5834 of panes is one. 5835 58361997-09-02 Nico Francois <nico.francois@scala.nl> 5837 5838 * w32menu.c (single_keymap_panes): Fixed problem with 'descrip' 5839 lisp object not being protected properly (GCPRO). 5840 (get_single_keymap_event): Fixed problem with 'descrip' lisp 5841 object not being protected properly (GCPRO). 5842 (name_is_separator): New function. 5843 (list_of_panes): If a pane's name is empty ("") items are now 5844 placed in the main popup instead of a blank-named submenu. This 5845 seems to be an undocumented feature of x-popup-menu. 5846 (list_of_items): New argument HMENU. 5847 Use 1 and 0 instead of Qt and Qnil for enable in add_menu_item 5848 58491997-09-02 Geoff Voelker <voelker@cs.washington.edu> 5850 5851 * w32.c (init_environment): Don't look for INFOPATH. 5852 5853 * w32fns.c (w32_wnd_proc): Pass on WM_DISPLAYCHANGE messages. 5854 5855 * w32heap.c: Don't use data_seg pragma here. 5856 (_heap_init, _heap_term) [_MSC_VER >= 1000]: New functions that 5857 override CRT routines. 5858 5859 * w32inevt.c (key_event): New parameter isdead. Set isdead if the 5860 key press was done using a dead key. 5861 5862 * w32term.c (w32_read_socket): Pass in new parameter to key_event. 5863 Let key_event determine whether key is dead. 5864 For MOVE, use x_real_positions to map to client coords. 5865 (x_set_mouse_pixel_position): Offset to use client area as origin. 5866 5867 * s/ms-w32.h: Use pragmas to place Emacs initialized data in 5868 EMDATA segment, and Emacs uninitialized data in EMBSS segment. 5869 58701997-09-02 Andrew Innes <andrewi@harlequin.co.uk> 5871 5872 * fileio.c (Fadd_name_to_file) [WINDOWSNT]: Remove conditional. 5873 5874 * frame.h (FRAME_OBSCURED_P): New macro. 5875 (FRAME_SAMPLE_VISIBILITY): Distinguish between invisible and obscured. 5876 5877 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: Support 5878 menu_bar_activate_event. 5879 (set-input-mode) [DOS_NT]: Do not invoke reset and init sys modes. 5880 5881 * sysdep.c (sys_subshell) [DOS_NT]: Save and restore parent's 5882 working directory. 5883 (sys_subshell) [WINDOWSNT]: Share MSDOS code. Don't take console. 5884 (init_sys_modes, reset_sys_modes) [WINDOWSNT]: Do it even with 5885 a read_socket_hook. 5886 5887 * xdisp.c (redisplay_internal): Check to see if frame is not obscured 5888 as well as visible. 5889 58901997-09-02 Michael Welsh Duggan <md5i@schenley.com> 5891 5892 * lisp.h: Declare discard_mouse_events. 5893 5894 * keyboard.c (Qmouse_wheel) [WINDOWSNT]: New variable. 5895 (discard_mouse_events): New function. 5896 (mouse_wheel_syms) [WINDOWSNT]: New variable. 5897 (lispy_mouse_wheel_names) [WINDOWSNT]: New variable. 5898 (make_lispy_event) [WINDOWSNT]: Make mouse-wheel events. 5899 (syms_of_keyboard) [WINDOWSNT]: Define Qmouse_wheel and 5900 mouse_wheel_syms. 5901 5902 * termhooks.h (event_kind) [WINDOWSNT]: New event type: mouse_wheel. 5903 59041997-09-02 Geoff Voelker <voelker@cs.washington.edu> 5905 5906 * fileio.c (Fexpand_file_name) [WINDOWSNT]: When stripping 5907 drive letter, be careful not to create a UNC filename. 5908 59091997-09-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5910 5911 * coding.c (detect_coding_mask): Add in CODING_CATEGORY_MASK_RAW_TEXT 5912 in the detect_coding_iso2022 case. 5913 5914 * minibuf.c (Fread_from_minibuffer, Fread_string): Doc fixes. 5915 (Fread_no_blanks_input, Fcompleting_read): Doc fixes. 5916 5917 * unexnext.c: Include unistd.h instead of libc.h. 5918 59191997-09-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5920 5921 * s/hpux9.h (HAVE_RINT): Add #undef. 5922 5923 * floatfns.c (emacs_rint): Define this, 5924 either as a function or as a macro for rint. 5925 (Fround, Ffround): Use emacs_rint, not rint directly. 5926 5927 * window.c (syms_of_window): Doc fix. 5928 5929 * fileio.c (Finsert_file_contents): Fix previous change--don't 5930 call Fboundp on Vset_auto_coding_function, just check non-nil. 5931 59321997-09-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 5933 5934 * alloc.c (free_float, free_cons): Don't use the same field for 5935 chaining as for marking. 5936 (make_float, Fcons, gc_sweep): Corresponding changes. 5937 59381997-09-01 Kenichi Handa <handa@etl.go.jp> 5939 5940 * charset.h (LEADING_CODE_PRIVATE_22): Comment fixed. 5941 5942 * process.c (read_process_output): Index for 5943 proc_encode_coding_system should be p->outfd (not `channel' which 5944 is p->infd). 5945 5946 * fileio.c (Vset_auto_coding_function): Name changed from 5947 Vauto_file_coding_system. 5948 (syms_of_fileio): Adjusted for the above change. Doc change. 5949 (Finsert_file_contents): The argument for Vset_auto_coding is a 5950 concatination of the heading 1K-byte and the tailing 3K-byte. 5951 5952 * cmds.c (internal_self_insert): Only set TARGET_CLM when C2 is tab. 5953 When multibyte characters are disabled, 5954 use 1 as the width of the inserted character. 5955 59561997-08-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 5957 5958 * category.c (describe_category): Handle a sub-chartable. 5959 59601997-08-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5961 5962 * sysdep.c (init_system_name): Don't try to use getdomainname. 5963 59641997-08-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5965 5966 * dispnew.c (change_frame_size_1): Save current buffer 5967 around calling Fset_window_buffer. 5968 5969 * lread.c (Fload): Fix doc syntax. 5970 5971 * m/intel386.h (HAVE_ALLOCA): Do define this, if SOLARIS2. 5972 59731997-08-29 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5974 5975 * lread.c (Fload): If FILE arg ends in .el or .elc, 5976 don't insist on adding a suffix. 5977 59781997-08-28 Eli Zaretskii <eliz@is.elta.co.il> 5979 5980 * callproc.c (Fcall_process): Set EOL conversion type to LF when 5981 binary-process-output is non-nil. 5982 (Fcall_process_region): binary-process-XXXput only determines EOL 5983 conversion; if it is nil, convert LF <-> CRLF. Don't bind 5984 coding-system-for-read, it is done in Fcall_process. 5985 59861997-08-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 5987 5988 * alloc.c (free_marker): Call unchain_marker. 5989 59901997-08-28 Kenichi Handa <handa@etl.go.jp> 5991 5992 * coding.c (detect_eol): Do not select no-conversion even if EOL 5993 format of raw-text file is inconsistent. Just read it by 5994 raw-text-unix. 5995 (Fdetect_coding_region): Do not select no-conversion even if EOL 5996 format of raw-text file is inconsistent. 5997 59981997-08-28 Kenichi Handa <handa@etl.go.jp> 5999 6000 * coding.c (Qno_conversion, Qundecided): New variables. 6001 (syms_of_coding): Initialize and staticpro them. 6002 (coding_category_name): Include "coding-category-raw-test". 6003 (setup_coding_system): Handle coding_type_raw_text. 6004 (detect_coding_mask): Include CODING_CATEGORY_MASK_RAW_TEXT in the 6005 return value instead of CODING_CATEGORY_MASK_BINARY. 6006 (detect_coding): Do not check the case that `mask' is 0, which 6007 never happens now. 6008 (detect_eol_type): If EOL format is inconsistent, return 6009 CODING_EOL_INCONSISTENT. 6010 (detect_eol): If EOL format of raw-text file is inconsistent, 6011 detect it as no-conversion. 6012 (decode_coding): Handle coding_type_raw_text. 6013 (encode_coding): Likewise. 6014 (Fdetect_coding_region): Ajusted for the above changes. 6015 (shrink_conversion_area): Handle coding_type_raw_text. 6016 6017 * coding.h (coding_type): New member coding_type_raw_text. 6018 (CODING_EOL_INCONSISTENT): New macro. 6019 (CODING_REQUIRE_NO_CONVERSION): Check also coding_type_raw_text. 6020 (CODING_MAY_REQUIRE_NO_CONVERSION): Likewise. 6021 (CODING_CATEGORY_IDX_RAW_TEXT): New macro. 6022 (CODING_CATEGORY_MASK_RAW_TEXT): New macro. 6023 60241997-08-28 Eli Zaretskii <eliz@psilocin.gnu.ai.mit.edu> 6025 6026 * msdos.c: Add coding: tag, to prevent Emacs from interpreting 6027 binary strings. 6028 60291997-08-27 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6030 6031 * xmenu.c (free_frame_menubar): Clear menubar_height field. 6032 60331997-08-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 6034 6035 * xdisp.c (redisplay_window): When trying to scroll conservatively, 6036 correctly take the scroll margin into account. 6037 6038 * buffer.c: Include errno.h. 6039 (init_buffer) [HAVE_GETCWD]: Fix error message for getcwd failure. 6040 6041 * fileio.c (Finsert_file_contents): Fix use of Fboundp. 6042 6043 * fns.c (concat): Fix use of Fchar_bytes. 6044 6045 * lisp.h: Declare Fchar_bytes. 6046 60471997-08-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6048 6049 * minibuf.c (read_minibuf): Inherit enable-multibyte-characters 6050 along with the input method, if requested. 6051 60521997-08-26 Eli Zaretskii <eliz@is.elta.co.il> 6053 6054 * xdisp.c (decode_mode_spec): For %Z and %z, put keyboard and 6055 terminal coding systems into modeline on MSDOS frames as well. 6056 60571997-08-26 Kenichi Handa <handa@etl.go.jp> 6058 6059 * minibuf.c (Qcurrent_input_method, Qactivate_input_method): New vars. 6060 (syms_of_minibuf): Intern and staticpro them. 6061 (read_minibuf): New argument INHERIT_INPUT_METHOD. If it is 6062 nonzero, remember the current input method in INPUT_METHOD, and 6063 activate it after switching to the minibuffer. 6064 (Fread_from_minibuffer): New argument INHERIT_INPUT_METHOD. 6065 (Fread_minibuffer): Call read_minibuf with INHERIT_INPUT_METHOD nil. 6066 (Fread_string): New argument INHERIT_INPUT_METHOD. 6067 (Fread_no_blanks_input): Likewise. 6068 (Fread_command): Call Fcompleting_read with INHERIT_INPUT_METHOD nil. 6069 (Fread_function, Fread_variable, Fread_buffer): Likewise 6070 (Fcompleting_read): New argument INHERIT_INPUT_METHOD. 6071 6072 * lisp.h (DEFUN_ARGS_8): New macro. 6073 (Fcompleting_read, Fread_from_minibuffer, Fread_string) 6074 (Fread_no_blanks_input): Number of arguments fixed. 6075 6076 * eval.c (Feval): Handle a subr which takes 8 arguments. 6077 (Ffuncall): Likewise. 6078 6079 * coding.c (Fread_non_nil_coding_system): Supply the arg 6080 INHERIT-INPUT-METHOD to Fcompleting_read. 6081 (Fread_coding_system): Likewise. 6082 6083 * callint.c (Finteractive): Document the code letter `M'. 6084 (Fcall_interactively): Call Fcompleting_read, 6085 Fread_from_minibuffer, and Fread_string with a proper value for 6086 the arg INHERIT-INPUT-METHOD. Handle the code letter `M'. 6087 6088 * fileio.c (Fwrite_region): Convert EOL format even if 6089 enable-multibyte-characters is nil. 6090 (Fread_file_name): Call Fcompleting_read with INHERIT-INPUT-METHOD 6091 nil. 6092 6093 * keyboard.c (Fexecute_extended_command): Call Fread_from_minibuffer 6094 with INHERIT-INPUT-METHOD nil. 6095 6096 * fns.c (Fyes_or_no_p): Likewise. 6097 6098 * mocklisp.c (Fml_arg): Call Fread_string with 6099 INHERIT-INPUT-METHOD nil. 6100 6101 * search.c (Fsearch_backward): Inherit the current input method on 6102 reading STRING. 6103 (Fsearch_forward): Likewise. 6104 61051997-08-25 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6106 6107 * frame.c (Fframe_pixel_height): Doc fix. 6108 6109 * Makefile.in (emacs): Put dash at beginning. 6110 61111997-08-24 NIIBE Yutaka <gniibe@mri.co.jp> 6112 6113 * Makefile.in (xrdb.o): Depend on paths.h. 6114 61151997-08-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6116 6117 * config.in (KERBEROS5, HAVE_LIBKRB4, HAVE_LIBDES425, HAVE_LIBKRB5) 6118 (HAVE_LIBCRYPTO, HAVE_LIBCOM_ERR, HAVE_KRB5_H, HAVE_DES_H, HAVE_KRB_H) 6119 (HAVE_KERBEROSIV_DES_H, HAVE_KERBEROSIV_KRB_H, HAVE_KERBEROS_DES_H) 6120 (HAVE_KERBEROS_KRB_H, HAVE_COM_ERR_H): Add undefs. 6121 6122 * callproc.c (init_callproc): Don't warn about missing 6123 arch-dep data directory, while preparing to dump. 6124 6125 * puresize.h (BASE_PURESIZE): Increased by 10k. 6126 61271997-08-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6128 6129 * Makefile.in (LIB_MOTIF_EXTRA): New variable. 6130 (LIBW): Use LIB_MOTIF_EXTRA. 6131 * config.in (HAVE_MOTIF_2_1): Add #undef. 6132 6133 * fileio.c (Fmake_temp_name): Doc fix. 6134 6135 * buffer.c (syms_of_buffer): Doc fixes. 6136 61371997-08-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 6138 6139 * xdisp.c (redisplay_window): Don't try using last_point_x 6140 if point is in the left margin of an hscroll'ed window. 6141 61421997-08-21 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu> 6143 6144 * fileio.c (syms_of_fileio): Fix previous change. 6145 6146 * coding.c (detect_eol): If the coding system is an alias, get 6147 eol-type from the base of it. 6148 61491997-08-21 Kenichi HANDA <handa@etl.go.jp> 6150 6151 * fileio.c (Vauto_file_coding_system_function): New variable. 6152 (Finsert_file_contents): Decide coding system after opening a 6153 file. Call functions set in Vauto_file_coding_system_function. 6154 (syms_of_fileio): Declare auto-file-coding-system-function as a 6155 Lisp variable. 6156 6157 * fontset.c (Valternate_fontname_alist): Name changed from 6158 Valternative_fontname_alist. 6159 (syms_of_fontset): Adjusted for the above change. 6160 6161 * fontset.h: Adjusted for the name change of 6162 Valternate_fontname_alist. 6163 6164 * xterm.c (x_list_fonts): Adjusted for the name change of 6165 Valternate_fontname_alist. 6166 61671997-08-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6168 6169 * charset.c (Fchars_in_region): Fix gap handling. 6170 6171 * editfns.c (NULL): Define, if not defined. 6172 61731997-08-19 Geoff Voelker <voelker@cs.washington.edu> 6174 6175 * fileio.c (Finsert_file_contents): Fix previous change. 6176 61771997-08-18 Ken'ichi Handa <handa@albert.gnu.ai.mit.edu> 6178 6179 * charset.c (Fchars_in_region): Renamed form Fcount_chars_region. 6180 (syms_of_charset): Define Schars_in_region as a Lisp subroutine 6181 instead of Scount_chars_region. 6182 61831997-08-17 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6184 6185 * fileio.c (Fdo_auto_save): If open fails, make lispstream nil. 6186 61871997-08-16 Geoff Voelker <voelker@cs.washington.edu> 6188 6189 * fileio.c (Finsert_file_contents) [DOS_NT]: Set buffer_file_type 6190 according to eol conversion used on file. 6191 61921997-08-16 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6193 6194 * Makefile.in (xselect.o): Fix previous change. 6195 6196 * minibuf.c (read_minibuf): New arg disable_multibyte. 6197 (Fcompleting_read): Pass 1 for disable_multibyte if 6198 the completion table is read-file-name-internal. 6199 6200 * xrdb.c: Include paths.h. 6201 (get_system_app): Use PATH_X_DEFAULTS. 6202 6203 * paths.in (PATH_X_DEFAULTS): New macro. 6204 6205 * term.c (term_get_fkeys_1): Use kH as alternate for move-to-last-line. 6206 6207 * charset.c: Many doc fixes. 6208 (Fcount_chars_region): New function. 6209 (min, max): New macros. 6210 6211 * fns.c (Flength): Doc fix. 6212 6213 * editfns.c (Fchar_before): Do range check before decrement. 6214 62151997-08-16 Kenichi Handa <handa@etl.go.jp> 6216 6217 * coding.h (CODING_FLAG_ISO_LATIN_EXTRA): New macro. 6218 6219 * coding.c (Vmicrosoft_code_table): This variable deleted. 6220 (Vlatin_extra_code_table): New variable. 6221 (detect_coding_iso2022): Pay attention to Vlatin_extra_code_table. 6222 (detect_coding_mask): Likewise. 6223 (setup_coding_system): Handle a new FLAGS element 6224 ACCEPT-LATIN-EXTRA-CODE. 6225 (syms_of_coding): Delete code for Vmicrosoft_code_table. 6226 Declare latin-extra-code-table as Lisp variable, and initialize. 6227 62281997-08-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6229 6230 * Makefile.in (xselect.o): Depend on coding.h. 6231 6232 * s/osf1.h (SOCKLEN_TYPE): New macro definition. 6233 62341997-08-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 6235 6236 * xdisp.c (COERCE_MARKER): Use Fmarker_position instead of 6237 marker_position so that it works with a marker that points nowhere. 6238 (redisplay_window): Check that Voverlay_arrow_position is a 6239 marker before accessing it as such. 6240 62411997-08-14 Eli Zaretskii <eliz@is.elta.co.il> 6242 6243 * emacs.c (main): Update re_max_failures so regex.c won't overflow 6244 the stack, except when dumping. 6245 62461997-08-13 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6247 6248 * xdisp.c (redisplay_window): When handling just cursor motion, 6249 do not subtract hscroll when accessing last_point_x. 6250 (display_text_line): Add WINDOW_LEFT_MARGIN into hpos 6251 later on, after handling hscroll and minibuffer prompt. 6252 62531997-08-13 Eli Zaretskii <eliz@psilocin.gnu.ai.mit.edu> 6254 6255 * msdos.c (syms_of_msdos): Define and bind x-bitmap-file-path and 6256 delete-exited-processes, to prevent cus-start.el from complaining. 6257 62581997-08-13 Kazushi (Jam) Marukawa <maru@pdapsun2.trc.rwcp.or.jp> 6259 6260 * filelock.c (lock_file): Use %lu instead of %d in sprintf because 6261 the variable named pid is unsigned long. 6262 6263 * unexalpha.c (unexec): Cast arg to fprintf. 6264 62651997-08-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6266 6267 * alloc.c (free_marker): New function. 6268 6269 * insdel.c (signal_before_change): Relocate START and END 6270 using markers for subsequent functions, when we run a function. 6271 6272 * Makefile.in (emacs): Warn about shadowed standard libraries here. 6273 62741997-08-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6275 6276 * emacs.c (main): Fix previous change. 6277 62781997-08-11 Eli Zaretskii <eliz@is.elta.co.il> 6279 6280 * dosfns.c (init_dosfns): Avoid calling DOS memory-allocation 6281 service, NT DPMI server will crash Emacs in DOS box, if we do. 6282 6283 * msdos.c (IT_set_frame_parameters): Actually store the frame 6284 parameters in the frame parameters' alist. 6285 6286 * msdos.c (init_environment): Set Emacs root directory properly when 6287 the executable is in its `src' subdirectory, as under a debugger. 6288 (IT_set_face): If termscript is in use, print the number of the 6289 face as well. 6290 62911997-08-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6292 6293 * emacs.c (main) [__FreeBSD__ && PROFILING]: Add code for profiling. 6294 62951997-08-10 Eli Zaretskii <eliz@is.elta.co.il> 6296 6297 * msdos.c (Qbackground_color, Qforeground_color): Define vars. 6298 6299 * dosfns.c (Finsert_startup_screen): Call `insert_char' with a 6300 single argument. 6301 63021997-08-10 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu> 6303 6304 * coding.h (struct iso2022_spec): New member expected_charsets. 6305 (CODING_SPEC_ISO_EXPECTED_CHARSETS): New macro. 6306 6307 * coding.c (Fset_terminal_coding_system_internal): Set 6308 CODING_FLAG_ISO_SAFE in terminal_coding.flags. 6309 (ENCODE_ISO_CHARACTER_DIMENSION1): Check 6310 CODING_SPEC_ISO_EXPECTED_CHARSETS. 6311 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise. 6312 63131997-08-10 Kenichi Handa <handa@etl.go.jp> 6314 6315 * term.c (encode_terminal_code): Use safe_terminal_coding if 6316 terminal_coding seems to encode Emacs' internal code as is. 6317 (write_glyphs): Likewise. 6318 6319 * coding.c (ENCODE_ISO_CHARACTER_DIMENSION1): Pay attention to 6320 CODING_FLAG_ISO_SAFE. 6321 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise. 6322 (safe_terminal_coding): New variable. 6323 (Fset_safe_terminal_coding_system_internal): New function. 6324 (init_coding_once): Initilize safe_terminal_coding. 6325 (syms_of_coding): Declare set-safe-terminal-coding-system as a 6326 Lisp function. 6327 6328 * coding.h (CODING_FLAG_ISO_SAFE): New macro. 6329 (CODING_INHIBIT_CHARACTER_SUBSTITUTION): New macro. 6330 coding.h (safe_terminal_coding): Extern it. 6331 63321997-08-10 Kenichi Handa <handa@etl.go.jp> 6333 6334 * coding.c (Vmicrosoft_code_table): New variable. 6335 (syms_of_coding): Declare it as a Lisp variable and initialize it. 6336 (detect_coding_mask): Pay attention to Vmicrosoft_code_table. 6337 6338 * xterm.c (dumpglyphs): Pay attention to 6339 Vignore_relative_composition. 6340 6341 * fontset.h (Vignore_relative_composition): Extern it. 6342 6343 * fontset.c (Vignore_relative_composition): New variable. 6344 (syms_of_fontset): Doc-string of use-default-ascent modified. 6345 Declare ignore-relative-composition as a Lisp variable. 6346 6347 * fns.c (concat): Pay attention to multibyte characters when 6348 TARGET_TYPE is Lisp_String. 6349 63501997-08-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6351 6352 * sysdep.c (init_system_name): If domain is null, don't add a period. 6353 63541997-08-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6355 6356 * buffer.c (init_buffer): Use getcwd instead of getwd, if available. 6357 6358 * eval.c (do_autoload): Require a suffix for the file. 6359 6360 * lread.c (read1): Handle read_escape making a multibyte character. 6361 6362 * strftime.c (gmtime_r, localtime_r): Undef before defining. 6363 6364 * fns.c (Frequire): Don't insist on a suffix 6365 if the file name argument was explicitly specified. 6366 63671997-08-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 6368 6369 * Makefile.in (lisp, shortlisp): Add bindings.el and case-table.elc. 6370 6371 * xdisp.c (redisplay_window): Fix access to w->last_point{,_[xy]}. 6372 6373 * lisp.h (Flocal_variable_p, Ffind_operation_coding_system): Declared. 6374 (find_symbol_value): Fix declaration. 6375 63761997-08-07 Erik Naggum <erik@naggum.no> 6377 6378 * emacs.c (main): Remove call to init_filelock. 6379 * filelock.c (init_filelock): Function deleted. 6380 * paths.in (PATH_LOCK): Definition deleted. 6381 63821997-08-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6383 6384 * xrdb.c (X_DEFAULT_SEARCH_PATH): Add /usr/X11R6/lib alternatives. 6385 6386 * editfns.c (Fwiden, Fnarrow_to_region, save_restriction_restore): 6387 Don't set clip_changed if the new values are the same as the old. 6388 6389 * fileio.c (Fwrite_region): Turn off the feature of checking 6390 whether another buffer has locked this file. 6391 6392 * xdisp.c (COERCE_MARKER): New macro. 6393 (redisplay_internal): Coerce Voverlay_arrow_position to a number 6394 to record it in last_arrow_position. 6395 (mark_window_display_accurate, redisplay_window): Likewise. 6396 (redisplay_window): Don't do the "only point has change" optimization 6397 if the overlay arrow is in this buffer. 6398 63991997-08-06 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6400 6401 * unexelf.c (unexec): Cast 1st arg in mmap calls. 6402 6403 * sysdep.c (init_sys_modes) [mips || HAVE_TCATTR]: 6404 Handle flow_control by setting VSTART and VSTOP characters. 6405 6406 * filelock.c (lock_file_1, lock_file): Add casts. 6407 6408 * xselect.c (syms_of_xselect): Doc syntax fixes. 6409 6410 * coding.c (syms_of_coding): Doc syntax fixes. 6411 6412 * xdisp.c (redisplay_internal): Count only visible frames at first. 6413 6414 * xdisp.c (redisplay_internal): Count all visible frames in new_count. 6415 64161997-08-05 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu> 6417 6418 * coding.c (detect_eol_type): Fix previous change. 6419 64201997-08-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6421 6422 * fontset.c (syms_of_fontset): Doc fixes. 6423 64241997-08-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6425 6426 * indent.c (current_column): Update ptr differently at newline 6427 so that current_column_bol_cache is set properly. 6428 64291997-08-04 Kenichi Handa <handa@etl.go.jp> 6430 6431 * coding.c (detect_eol_type): If EOL representation does not 6432 seem consistent, use no conversion. 6433 6434 * process.c (Fset_process_coding_system): Doc-string modified. 6435 (Fprocess_coding_system): Likewise. 6436 6437 * callproc.c (Fcall_process_region): Use cdr part (not car part) 6438 of Vdefault_process_coding_system for writing out text. 6439 6440 * coding.c (detect_coding_iso2022): Do not exclude posibility of 6441 7-bit encoding when designation to G1 occurs. If CSI, SS2, or SS3 6442 is found, return CODING_CATEGORY_MASK_ISO_8_ELSE. 6443 (Fdetect_coding_region): Doc-string modified. 6444 64451997-08-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6446 6447 * xfaces.c (merge_face_list): New function. 6448 (compute_char_face): Use merge_face_list. 6449 Allow (foreground-color . COLOR) and (background-color . COLOR) 6450 in place of a face. 6451 64521997-08-03 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6453 6454 * m/intel386.h (HAVE_ALLOCA): Don't define this 6455 on USG5_4 if not using GNU C. 6456 6457 * xdisp.c (redisplay_internal): Count number of visible frames 6458 instead of number of frames that were redisplayed. 6459 6460 * m/ibmrs6000.h (LD_SWITCH_MACHINE): 6461 Add #ifdef emacs around all the definitions of this. 6462 6463 * lisp.h (Fload): Update declaration. 6464 64651997-08-03 Kenichi HANDA <handa@etl.go.jp> 6466 6467 * coding.h (CODING_CATEGORY_MASK_BINARY): New macro. 6468 6469 * coding.c (detect_coding_mask): Include 6470 CODING_CATEGORY_MASK_BINARY in the return value if any 8-bit code 6471 is found. 6472 6473 * xfns.c (x_set_frame_parameters): Heading comment fixed. 6474 (x_default_parameter): Likewise. 6475 6476 * xselect.c (Vclipboard_coding_system): New variable. 6477 (selection_data_to_lisp_data): Decode text by 6478 Vclipboard_coding_system. 6479 (lisp_data_to_selection_data): Encode text by 6480 Vclipboard_coding_system. 6481 (syms_of_xselect): Declare clipboard-coding-system as Lisp 6482 variable and initialize it. 6483 64841997-08-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6485 6486 * coding.c: Doc fixes. 6487 6488 * lread.c (Fload): New optional arg MUST-SUFFIX. 6489 * fns.c (Frequire): Pass t for the MUST-SUFFIX arg to Fload. 6490 * eval.c (do_autoload): Pass new arg to Fload. 6491 6492 * indent.c (compute_motion): Correct the criterion for when to 6493 move back 1 space when we terminate just after continuing the line. 6494 64951997-07-31 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu> 6496 6497 * coding.c (encode_coding_iso2022): When source data ends not at 6498 character boundardy, set data in coding->carryover correctly, and 6499 set SRC to SRC_END. 6500 (encode_coding_sjis_big5): Likewise. 6501 (encode_coding): Don't set coding->carryover_size to 0. 6502 6503 * fileio.c (Fwrite_region): Don't try to flush out a data twice. 6504 65051997-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6506 6507 * xdisp.c (redisplay_window): Fix previous change. 6508 6509 * dispnew.c (direct_output_for_insert): Set last_point_x properly. 6510 65111997-07-31 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu> 6512 6513 * xterm.c (x_list_fonts): Request at least 10 fonts by XListFonts. 6514 6515 * coding.c (encode_coding_iso2022): Write out invalid multibyte 6516 forms in a buffer as is. 6517 (detect_coding_mask): If ISO_CODE_CSI appears in an invalid 6518 sequence, ignore it. 6519 65201997-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6521 6522 * xdisp.c (redisplay_window): Fix one-off in handling 6523 scroll-conservatively for scrolling up. 6524 6525 * filelock.c (current_lock_owner): Don't try to delete lock 6526 if this or another existing process owns it! 6527 65281997-07-31 enami tsugutomo <enami@but-b.or.jp> 6529 6530 * process.c (read_process_output): Don't call setup_coding_system 6531 for proc_decode_coding_system[channel]. It is already done in 6532 detect_coding called via decode_coding. 6533 65341997-07-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6535 6536 * filelock.c (lock_if_free): Don't loop; for strange error, return -1. 6537 6538 * s/sunos4shr.h (LIBXMU): Alternative definition if CANNOT_DUMP. 6539 6540 * Makefile.in (LDFLAGS, CPPFLAGS): Get them from configure like CFLAGS. 6541 65421997-07-29 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6543 6544 * process.c (wait_reading_process_input): Call detect_input_pending 6545 whenever read_kbd is 0, not just when wait_for_cell. 6546 6547 * xdisp.c (decode_mode_spec_coding): If multibyte chars disabled. 6548 display only the eol flag. 6549 65501997-07-29 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu> 6551 6552 * xterm.c (x_list_fonts): Reject a font whose min_bounds.width is 0. 6553 65541997-07-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6555 6556 * emacs.c (sort_args): Check properly for `--'. 6557 6558 * xdisp.c (redisplay_window): Fix previous change. 6559 6560 * cm.h, sysdep.c, terminfo.c [HAVE_LIBNCURSES]: 6561 Declare ospeed as short, unless NCURSES_OSPEED_T. 6562 6563 * xdisp.c (redisplay_window): When text has not changed, 6564 call compute_motion starting from the former PT if possible. 6565 If PT is unchanged from w->last_point, don't do compute_motion at all. 6566 65671997-07-28 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 6568 6569 * editfns.c (Fformat_time_string): Don't hang if strftime produces 6570 an empty string. Fix arguments of second call to strftime. 6571 Remove check for result being negative, this cannot happen. 6572 6573 * xterm.c (x_new_font): Follow the change in 6574 x_set_scroll_bar_width and make the scroll bar at least 14 pixels 6575 wide. 6576 6577 * xfns.c (Fx_create_frame): Initialize fontset in output_data. 6578 65791997-07-28 Dan Nicolaescu <done@ece.arizona.edu> 6580 6581 * charset.c (non_ascii_char_to_string): Fix typos. 6582 65831997-07-27 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6584 6585 * callproc.c (syms_of_callproc): 6586 Don't init Vtemp_file_name_pattern here. 6587 6588 * lread.c (map_obarray): Don't crash if something strange 6589 is in the obarray. 6590 65911997-07-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6592 6593 * xterm.c (x_term_init) [! HAVE_X11R5]: Don't try to use 6594 XtCvtStringToFont. 6595 6596 * print.c (strout, printchar): Handle minibuffer_auto_raise. 6597 65981997-07-25 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6599 6600 * fileio.c (Fwrite_region): Fix previous change. 6601 66021997-07-25 NIIBE Yutaka <gniibe@mri.co.jp> 6603 6604 * indent.c (compute_motion): Handle display table correctly for 6605 multibyte characters. 6606 66071997-07-25 Ken'ichi Handa <handa@psilocin.gnu.ai.mit.edu> 6608 6609 * fontset.c (syms_of_fontset): Set Vhighlight_wrong_size_font to 6610 Qnil. 6611 6612 * coding.h (CODING_REQUIRE_TEXT_CONVERSION) 6613 (CODING_REQUIRE_EOL_CONVERSION, CODING_REQUIRE_CONVERSION): Deleted. 6614 (CODING_REQUIRE_NO_CONVERSION): New macro. 6615 (CODING_MAY_REQUIRE_NO_CONVERSION): New macro. 6616 6617 * fileio.c (Finsert_file_contents): Use new macros 6618 CODING_MAY_REQUIRE_NO_CONVERSION and 6619 CODING_MAY_REQUIRE_NO_CONVERSION. 6620 (Fwrite_region): Correct the logic for deciding coding system. 6621 6622 * process.c (read_process_output): Use new macro 6623 CODING_REQUIRE_NO_CONVERSION 6624 (send_process): Use new macro CODING_MAY_REQUIRE_NO_CONVERSION. 6625 6626 * xterm.c (dumpglyphs): Check the member `encoding' of *FONTP while 6627 setting `byte1' and `byte2' members of *CP. 6628 66291997-07-24 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6630 6631 * Makefile.in (${lispsource}TAGS): Specify ETAGS var in inner make. 6632 6633 * print.c (Vprint_gensym_alist): Renamed from printed_gensyms. 6634 (Vprint_gensym): Now a Lisp_Object; Renamed from print_gensym. 6635 (syms_of_print): Set up both as Lisp vars. 6636 (PRINTPREPARE, PRINTFINISH): Don't clear Vprint_gensym_alist 6637 if Vprint_gensym is a cons cell. 6638 6639 * Makefile.in (../src/$(OLDXMENU)): New target. 6640 6641 * xselect.c (selection_data_to_lisp_data): 6642 Make the vector the right size, when format is 16. 6643 6644 * emacs.c (main): Make --help msg end in newline. 6645 6646 * xfns.c (Fx_create_frame): Don't fail to initialize `font'. 6647 6648 * syntax.c (Fforward_comment): When count1 is negative, 6649 return nil if FROM reaches STOP. 6650 6651 * editfns.c (Fcurrent_message): New function. 6652 (syms_of_editfns): defsubr it. 6653 66541997-07-23 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu> 6655 6656 * xterm.c (XTread_socket): Trap the BadMatch error that can occur 6657 after a XSetInputFocus if window is not visible. 6658 66591997-07-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6660 6661 * xterm.c (XTread_socket) <ClientMessage>: Use FRAME_X_WINDOW 6662 when calling XSetInputFocus. 6663 6664 * buffer.c (syms_of_buffer): Doc fix. 6665 6666 * eval.c (syms_of_eval): Doc fix. 6667 66681997-07-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6669 6670 * xdisp.c (display_text_line): Don't count minibuf_prompt_width 6671 twice in taboffset. 6672 6673 * coding.c (syms_of_coding): Doc fix. 6674 66751997-07-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6676 6677 * s/sol2.h (LIBS_SYSTEM): Undo previous change. 6678 (HAVE_LIBKSTAT): Define it. 6679 6680 * minibuf.c (choose_minibuf_frame_1): New function. 6681 (read_minibuf): Make an unwind protect to run that. 6682 (read_minibuf_unwind): Don't call choose_minibuf_frame here. 6683 6684 * keyboard.c (read_char): Delete spurious UNGCPRO. 6685 Add UNGCPRO before the longjmps to wrong_kboard_jmpbuf. 6686 Initialize c before the GCPRO1. 6687 6688 * frame.c (Fdelete_frame): Undo previous change. 6689 6690 * s/hpux8.h (LD_SWITCH_SYSTEM_TEMACS): Define this 6691 instead of LD_SWITCH_SYSTEM. 6692 6693 * window.c (set_window_height): Allow all heights > 0 6694 for minibuffer windows. 6695 (change_window_height): Fix one-off comparing DELTA with MAXIMUM. 6696 6697 * xfns.c (Fx_create_frame): Default vertical-scroll-bars 6698 as symbol, not boolean. 6699 67001997-07-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6701 6702 * process.c (wait_reading_process_input): Initialize total_read. 6703 Check for read_process_output giving back EIO. 6704 6705 * keyboard.c (Fcommand_execute): gcpro c. 6706 67071997-07-20 Geoff Voelker <voelker@cs.washington.edu> 6708 6709 * w32term.c (w32_clear_end_of_line): Include scroll bar width. 6710 67111997-07-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6712 6713 * s/irix6-0.h: Undo previous change. 6714 6715 * xterm.c (XTread_socket) <ClientMessage>: 6716 Don't use FRAME_XIC if it is null, here. 6717 6718 * puresize.h (BASE_PURESIZE): Increased to 410000. 6719 6720 * xdisp.c (redisplay_internal): Calculate new_count properly 6721 for non-window displays. 6722 67231997-07-18 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6724 6725 * minibuf.c (Fcompleting_read): gcpro def. 6726 6727 * xterm.c (XTread_socket) <ClientMessage>: 6728 For wm_take_focus, use x_any_window_to_frame. 6729 6730 * fileio.c (Fread_file_name): If Fcompleting_read return the default 6731 because the buffer want empty, replace that with an empty string. 6732 67331997-07-18 Simon Marshall <simon@diazepam.gnu.ai.mit.edu> 6734 6735 * data.c: Many doc fixes. 6736 67371997-07-17 Geoff Voelker <voelker@cs.washington.edu> 6738 6739 * coding.c (Ffind_operation_coding_system): Use Ffboundp to 6740 check for a function entry. 6741 6742 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the coding 6743 system to determine buffer_file_type. 6744 (Fwrite_region): Only use Qbuffer_file_coding_system 6745 before checking file-coding-system-alist if non-nil. 6746 (Fwrite_region) [DOS_NT]: Delete conditional code. 6747 67481997-07-17 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 6749 6750 * dispnew.c (direct_output_forward_char): Reenable check against 6751 truncated text at end of line. 6752 6753 * xdisp.c (display_string): Ignore W->left if OBEY_WINDOW_WIDTH is 6754 zero. 6755 67561997-07-17 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6757 6758 * xterm.c (dumpglyphs): Use 8-bit output to X, rather than 16-bit, 6759 if the character values permit that. 6760 6761 * .gdbinit (xcar, xcdr): Print with /x. 6762 6763 * fileio.c (Fdo_auto_save): Temporarily clear minibuffer_auto_raise. 6764 67651997-07-17 enami tsugutomo <enami@but-b.or.jp> 6766 6767 * xdisp.c (decode_mode_spec_coding): Fix typo; use `val' instead 6768 of `coding-system'. 6769 67701997-07-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 6771 6772 * xdisp.c (display_text_line): Handle the case of point being in 6773 the invisible part of the line beyond the left margin. 6774 67751997-07-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6776 6777 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix previous change. 6778 67791997-07-15 Kenichi HANDA <handa@etl.go.jp> 6780 6781 * coding.h (CODING_CATEGORY_IDX_ISO_7_ELSE): This macro is deleted 6782 (CODING_CATEGORY_IDX_ISO_7_ELSE): New macro. 6783 (CODING_CATEGORY_IDX_ISO_8_ELSE): New macro 6784 (CODING_CATEGORY_MASK_ISO_ELSE): This macro is deleted. 6785 (CODING_CATEGORY_MASK_ISO_7_ELSE): New macro. 6786 (CODING_CATEGORY_MASK_ISO_8_ELSE): New macro. 6787 (CODING_CATEGORY_MASK_ANY): Adjusted for the above change. 6788 6789 * coding.c (detect_coding_iso2022): Distinguish 6790 coding-category-iso-7-else and coding-category-iso-8-else. 6791 67921997-07-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6793 6794 * unexalpha.c (unexec): 6795 Don't call update_dynamic_symbols if static link. 6796 6797 * keyboard.c (read_char): Call timer_stop_idle unconditionally 6798 at non_reread. 6799 6800 * keyboard.c (make_lispy_event): Distinguish S-SPC from SPC. 6801 6802 * cmds.c (internal_self_insert): Use replace_range when 6803 number_to_delete is nonzero. 6804 6805 * insdel.c (replace_range): New function. 6806 6807 * keyboard.c (make_lispy_event): Handle non_ascii_keystroke 6808 in the ASCII range. 6809 6810 * xterm.c (XTread_socket): Treat SPC as a function key. 6811 68121997-07-13 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu> 6813 6814 * xterm.c (x_draw_box): Use scratch_cursor_gc to draw the cursor 6815 box using the color specified by cursor_pixel. 6816 68171997-07-13 Eli Zaretskii <eliz@is.elta.co.il> 6818 6819 * fileio.c (Fwrite_region) [DOS_NT]: Always use binary mode since 6820 coding conversion now takes care of NL -> CRLF. 6821 6822 * callproc.c (Fcall_process) [MSDOS]: Request EOL conversion of 6823 the process output, unless we were promised it is binary. 6824 6825 * coding.c: Substantial comment changes. 6826 6827 * lread.c (init_lread): Don't add to load-path lisp subdirectories 6828 of the source tree if the parent of the source was moved after 6829 dumping Emacs. 6830 68311997-07-13 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6832 6833 * search.c (compile_pattern_1): Don't declare val with CONST. 6834 6835 * cmds.c (internal_self_insert): When overwriting, insert first 6836 and then delete. 6837 68381997-07-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6839 6840 * s/irix4-0.h (XPointer): Define as macro. 6841 6842 * emacs.c (main): Use setrlimit only if RLIMIT_STACK. 6843 68441997-07-11 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu> 6845 6846 * xdisp.c (decode_mode_spec): Initialize and use `p' (for the termcap 6847 case). 6848 6849 * dispnew.c (init_display): Go ahead and prepare for 6850 a X configuration in the CANNOT_DUMP case. 6851 68521997-07-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 6853 6854 * editfns.c (get_system_name): Don't crash if Vsystem_name does 6855 not contain a string. 6856 * filelock.c (lock_file_1): Don't crash if Fuser_login_name or 6857 Fsystem_name don't return strings. 6858 (current_lock_owner): Likewise. 6859 6860 * ralloc.c (r_alloc_reinit): New function. 6861 * emacs.c (main) [DOUG_LEA_MALLOC]: Call it when restarting a 6862 dumped Emacs. 6863 68641997-07-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6865 6866 * m/news-r6.h: Renamed from news-risc6.h. 6867 68681997-07-10 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 6869 6870 * xdisp.c (display_text_line): Exit the outer loop immediately 6871 when the right margin has been reached. 6872 6873 * lisp.h (EXFUN, P_): New definitions. Use them to declare 6874 prototypes for external functions. 6875 6876 * xterm.c (dumpglyphs): Declare local variable first_ch as 6877 Lisp_Object, not int. 6878 * xselect.c (selection_data_to_lisp_data): Convert Fmake_vector 6879 and Faset arguments to Lisp_Integer. 6880 (clean_local_selection_data): Likewise. 6881 * x-list-font.c (Fx_list_fonts): Fix Fnconc argument. 6882 * window.c (Fcoordinates_in_window_p): Convert Fcons arguments to 6883 Lisp_Integer. 6884 (save_window_save): Convert Fset_marker argument to Lisp_Integer. 6885 * textprop.c (interval_of): Convert args_out_of_range arguments to 6886 Lisp_Integer. 6887 * syntax.c (init_syntax_once): Convert Fmake_vector argument to 6888 Lisp_Integer. 6889 * process.c (Fprocess_send_region): Convert move_gap argument to int. 6890 * mocklisp.c (Fml_arg): Add missing Fread_string arguments. 6891 * minibuf.c (Fread_from_minibuffer): Remove extra get_keymap argument. 6892 (Fminibuffer_complete): Convert Fset_window_start argument to 6893 Lisp_Integer. 6894 * keyboard.c (command_loop_1): Add missing message2 argument. 6895 (menu_bar_items): Add missing get_keyelt argument. 6896 (follow_key): Likewise. 6897 (read_key_sequence): Likewise. 6898 * intervals.c (set_point): Convert call2 arguments to Lisp_Integer. 6899 * fileio.c (Fwrite_region): Fix call2 argument. 6900 (Fread_file_name): Convert Fcons argument to Lisp_Integer. 6901 * editfns.c (Fcurrent_time_zone): Convert Fmake_list argument to 6902 Lisp_Integer. 6903 (Ftranspose_regions): Convert Fset_text_properties arguments to 6904 Lisp_Integer. 6905 * doc.c (Fsubstitute_command_keys): Add missing describe_map_tree 6906 argument. 6907 * coding.c (Ffind_coding_system): Use call1, not call2. 6908 * cmds.c (Fdelete_backward_char): Convert Finsert_char argument to 6909 Lisp_Integer and add missing argument. 6910 (internal_self_insert): Convert Fmove_to_column argument to 6911 Lisp_Integer and add missing argument. 6912 * ccl.c (Fregister_ccl_program): Convert Fmake_vector argument to 6913 Lisp_Integer. 6914 (syms_of_ccl): Likewise. 6915 * category.h (CATEGORY_DOCSTRING): Convert Fchar_table_extra_slot 6916 argument to Lisp_Integer. 6917 (CATEGORY_TABLE_VERSION): Likewise. 6918 * buffer.c (set_buffer_internal_1): Convert Fset_marker argument 6919 to Lisp_Integer. 6920 (set_buffer_temp): Likewise. 6921 (fix_overlays_in_range): Likewise. 6922 6923 * xdisp.c (message2_nolog): Don't call fwrite will null string. 6924 69251997-07-10 Geoff Voelker <voelker@cs.washington.edu> 6926 6927 * w32.c (sys_shutdown): New function. 6928 * s/ms-win32.h: Define HAVE_SHUTDOWN. 6929 69301997-07-10 Eli Zaretskii <eliz@pogo.gnu.ai.mit.edu> 6931 6932 * xfaces.c (Fset_face_attribute_internal): Set mouse_face_defer 6933 only if HAVE_X_WINDOWS is defined. 6934 69351997-07-09 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu> 6936 6937 * xdisp.c (echo_area_display): Don't offset using left-side 6938 scroll bar width because it is included in the width; clear 6939 the entire line. 6940 69411997-07-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6942 6943 * process.c (read_process_output): Add cast. 6944 6945 * filelock.c (current_lock_owner, lock_file_1): Add casts. 6946 6947 * xdisp.c (redisplay_internal): Fix previous change. 6948 6949 * s/irix4-0.h (C_SWITCH_SYSTEM): Add -Wf,-XNh option. 6950 6951 * s/ms-w32.h: Don't define HAVE_SHUTDOWN. 6952 6953 * frame.c (Fdelete_frame): Always err for deleting the only frame. 6954 69551997-07-09 Kenichi HANDA <handa@etl.go.jp> 6956 6957 * fontset.c (Ffont_info): Make vector of correct size. 6958 6959 * xterm.c (x_load_font): Get value of fontp->height from 6960 ascent and descent members of structure font->max_bounds. 6961 (dumpglyphs): Draw background by FillSolid if a font is too short. 6962 69631997-07-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6964 6965 * xterm.c (x_term_init): Don't use initializer for null_bits. 6966 6967 * cm.h, sysdep.c, terminfo.c: Fix previous change. 6968 6969 * fns.c (syms_of_fns): Fix previous change. 6970 6971 * xdisp.c (decode_mode_spec) <z,Z>: Display buffer coding system 6972 last of the three. 6973 6974 * doprnt.c: Use #ifdef to test STDC_HEADERS. 6975 6976 * Makefile.in (shortlisp): Fix typo. 6977 69781997-07-08 enami tsugutomo <enami@but-b.or.jp> 6979 6980 * emacs.c (main) [__NetBSD__]: Round up new stack limit to page bdry. 6981 6982 * fileio.c (Finsert_file_contents): Give up match-end only if 6983 coding requires conversion. Adjust end of non-matching text area 6984 to multibyte character boundary if enable_multibyte_character is 6985 non-nil. 6986 69871997-07-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 6988 6989 * xdisp.c (decode_mode_spec_coding): Really don't display 6990 EOL indicator when eol_flag is 0. 6991 (echo_area_display): Use proper width when scroll bars on left. 6992 6993 * syntax.h (struct gl_state_s): New field `offset'. 6994 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Set offset field. 6995 (SETUP_SYNTAX_TABLE): Clear offset field. 6996 (UPDATE_SYNTAX_TABLE, UPDATE_SYNTAX_TABLE_FORWARD): 6997 (UPDATE_SYNTAX_TABLE_BACKWARD): Use the offset field. 6998 6999 * s/sol2.h (LIBS_SYSTEM): Add -lkvm and -lelf. 7000 70011997-07-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7002 7003 * editfns.c (Fuser_full_name): Declare p, q and r as unsigned char *. 7004 7005 * xterm.c (XTread_socket) <KeyPress>: Call XFilterEvent. 7006 7007 * terminfo.c (ospeed): 7008 Define as short, unless HAVE_TERMIOS_H and LINUX. 7009 7010 * cm.h (ospeed): Declare as short unless HAVE_TERMIOS_H and LINUX. 7011 * sysdep.c (ospeed): Likewise. 7012 7013 * window.c: Include blockinput.h. 7014 (Fset_window_configuration): Block input around frobbing the frame. 7015 Preseve point in the current buffer if we do not switch 7016 to a different one. 7017 70181997-07-06 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7019 7020 * xdisp.c (redisplay_internal): Fix previous change. 7021 (echo_area_display): Use proper vpos when clearing extra minibuf lines. 7022 70231997-07-04 Kenichi HANDA <handa@etl.go.jp> 7024 7025 * callproc.c (Fcall_process): If enable-multibyte-characters is 7026 nil, do not encode arguments for process, and decode output of 7027 process by emacs-mule. 7028 (Fcall_process_region): If enable-multibyte-characters is nil, do 7029 not encode text to be given to process, and decode output of 7030 process by emacs-mule. 7031 7032 * process.c (Fstart_process): If enable-multibyte-characters is 7033 nil, set coding system for decoding output of process to 7034 emacs-mule, and set coding system for encoding to nil. 7035 (Fopen_network_stream): If enable-multibyte-characters is nil, set 7036 coding systems for decoding and encoding to nil. 7037 7038 * fileio.c (Finsert_file_contents): If enable-multibyte-characters 7039 is nil, decode character code by emacs-mule. 7040 (Fwrite_region): Use buffer-file-coding-system for encoding if 7041 enable-multibyte-characters is nil. 7042 7043 * coding.c (Qemacs_mule, inhibit_eol_conversion): New variables. 7044 (setup_coding_system): If inhibit_eol_conversion is 0, set 7045 coding->eol_type to CODING_EOL_LF. 7046 (syms_of_coding): Initialize and staticpro Qemacs_mule. Change 7047 error-message property of coding-system-error. Declare 7048 inhibit-eol-conversion as Lisp variable. 7049 (system_eol_type): New variable. 7050 (init_coding_once): Initialize it. 7051 (ENCODE_SJIS_BIG5_CHARACTER): Bug in encoding a BIG5 character 7052 fixed. 7053 7054 * coding.h (Qemacs_mule): Extern it. 7055 7056 * xterm.c (x_list_fonts): Initialize the variable LIST to Qnil. 7057 70581997-07-06 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7059 7060 * xdisp.c (display_menu_bar): Always pass W to display_string. 7061 7062 * unexalpha.c (update_dynamic_symbols): Add cast when setting reladdr. 7063 7064 * sysdep.c (init_system_name): Don't be fooled if getdomainname 7065 string starts with a period. 7066 70671997-07-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7068 7069 * xdisp.c (redisplay_internal): At the end, if more frames have 7070 become visible, repeat the redisplay. 7071 (decode_mode_spec): Don't display subprocess coding systems. 7072 Don't display EOL for keyboard and terminal coding systems. 7073 7074 * xfns.c (x_set_font): Funcall Qface_set_after_frame_default. 7075 (Qface_set_after_frame_default): New variable. 7076 (syms_of_xfns): Initialize and staticpro it. 7077 7078 * xterm.c (x_make_frame_visible): Don't move the frame 7079 if it was iconified--only if it was invisible. 7080 70811997-07-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7082 7083 * gmalloc.c: Rename macro __P to PP. 7084 7085 * floatfns.c, data.c, doprnt.c: Include float.h before lisp.h. 7086 7087 * dired.c (Ffile_attributes): Use cast to avoid warnings. 7088 7089 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Treat nil like a buffer. 7090 7091 * lread.c (Vpreloaded_file_list): New variable. 7092 (syms_of_lread): Set up Lisp variable. 7093 (Fload): Add to Vpreloaded_file_list, if dumping. 7094 70951997-07-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 7096 7097 * editfns.c (Fformat): Add second argument in call to Ftruncate. 7098 7099 * alloc.c, buffer.c, casefiddle.c, casetab.c, category.c, 7100 * category.h, ccl.c, coding.c, editfns.c, fileio.c, fns.c, indent.c, 7101 * intervals.c, intervals.h, keymap.c, lisp.h, minibuf.c, print.c, 7102 * syntax.c, syntax.h, sysdep.c, textprop.c, xfns.c: Fix numerous 7103 bugs with inappropriate mixing of Lisp_Object with int. 7104 * config.in (RE_TRANSLATE): Define to extract integers from 7105 array of Lisp_Objects. 7106 71071997-07-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7108 7109 * buffer.c (overlay_strings): Finish up previous change. 7110 7111 * Makefile.in (lisp, shortlisp): Some files moved to subdirs. 7112 71131997-07-03 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7114 7115 * s/sunos4shr.h (LD_SWITCH_SYSTEM_TEMACS): Add #undef. 7116 7117 * syssignal.h [sigmask] (SIGEMPTYMASK): Define to use sigmask. 7118 7119 * eval.c (Fsignal, find_handler_clause): If ERROR_SYMBOL 7120 is nil, assume it's in the car of DATA. 7121 * alloc.c (memory_full): Pass Qnil to Fsignal for ERROR_SYMBOL. 7122 7123 * s/sunos4-0.h (LD_SWITCH_SYSTEM_TEMACS): Defined. Move -e here. 7124 (LD_SWITCH_SYSTEM): Don't use -e option here. 7125 7126 * Makefile.in (ALL_LDFLAGS): Use LD_SWITCH_SYSTEM_TEMACS. 7127 71281997-07-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7129 7130 * process.c (send_process): Make buf and temp_buf `unsigned char *'. 7131 7132 * buffer.c (overlay_strings): Use unsigned char for things 7133 that relate to overlay_str_buf. 7134 7135 * syssignal.h (sigpause): Don't define if already defined. 7136 7137 * Makefile.in (LD_SWITCH_SYSTEM_TEMACS): New variable. 7138 71391997-07-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 7140 7141 * Makefile.in (lisp, shortlisp): Add widget.elc. 7142 71431997-07-02 Kenichi Handa <handa@etl.go.jp> 7144 7145 * xselect.c (selection_data_to_lisp_data): Call free instead of 7146 xfree. 7147 7148 * coding.h (struct coding_system): New members 7149 character_unification_table_for_decode and 7150 character_unification_table_for_encode. 7151 7152 * coding.c (Vstandard_character_unification_table_for_decode): 7153 Name changed from Vstandard_character_unification_table_for_read. 7154 (Vstandard_character_unification_table_for_encode): Name changed 7155 from Vstandard_character_unification_table_for_write. 7156 (Qcharacter_unification_table_for_decode): New variable. 7157 (Qcharacter_unification_table_for_encode): New variable. 7158 (decode_coding_iso2022): Adjusted for the above name change. 7159 (encode_coding_iso2022): Likewise. 7160 (ENCODE_ISO_CHARACTER): Bug of handling return value of unify_char 7161 fixed. 7162 (DECODE_SJIS_BIG5_CHARACTER): New macro. 7163 (decode_coding_sjis_big5): Handle character unificatoin table. 7164 Use macro DECODE_SJIS_BIG5_CHARACTER. 7165 (encode_coding_sjis_big5): Handle character unificatoin table. 7166 Use macro ENCODE_SJIS_BIG5_CHARACTER. 7167 (setup_coding_system): Handle members 7168 character_unification_table_for_decode and 7169 character_unification_table_for_encode of the variable coding. 7170 (Ffind_operation_coding_system): Renamed from Ffind_coding_system. 7171 (syms_of_coding): Initialize and staticpro 7172 Qcharacter_unification_table_for_decode and 7173 Qcharacter_unification_table_for_decode. Declare 7174 Ffind_operation_coding_system as Lisp functions. Declare 7175 Vstandard_character_unification_table_for_decode and 7176 Vstandard_character_unification_table_for_encode as Lisp 7177 variables. 7178 7179 * charset.c (Fchar_width): Check if the current buffer has display 7180 table. 7181 7182 * fileio.c (Finsert_file_contents): Doc-string fixed. Call 7183 Ffind_operation_coding_system. 7184 (Fwrite_region): Call Ffind_operation_coding_system. 7185 7186 * callproc.c: Call Ffind_operation_coding_system. 7187 7188 * process.c (Fstart_process): Call Ffind_operation_coding_system. 7189 (Fopen_network_stream): Likewise. 7190 7191 * fontset.h: Move "#endif /* _FONTSET_H */" at the tail. 7192 71931997-07-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7194 7195 * sysdep.c (init_system_name): Don't accept "(none)" as domain. 7196 7197 * xterm.c (x_make_frame_visible): Check has_been_visible 7198 field before the UNBLOCK_INPUT. 7199 72001997-07-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7201 7202 * coding.c (syms_of_coding): Change initial values of 7203 eol_mnemonic_... variables. 7204 7205 * xdisp.c (decode_mode_spec_coding): Clean up handling of 7206 eol conversions. 7207 7208 * .gdbinit (xcons): Print car and cdr in hex. 7209 (nextcons): New command. 7210 7211 * xfns.c (x_set_scroll_bar_width): By default, use enough 7212 columns to give 14 or more pixels. 7213 72141997-06-30 Geoff Voelker <voelker@cs.washington.edu> 7215 7216 * emacs.c (decode_env_path): Ensure path elements use proper 7217 directory separator. 7218 7219 * keyboard.c (make_lispy_event): 7220 Check that ISO_FUNCTION_KEY_OFFSET is defined. 7221 7222 * process.c (READ_CHILD_OUTPUT): Deleted. 7223 (read_process_output): Use read instead of READ_CHILD_OUTPUT. 7224 7225 * makefile.nt (OBJ2): Include new source files. 7226 7227 * s/ms-w32.h: Duplicate undefs from config.in to check completeness. 7228 (STDC_HEADERS, HAVE_TZNAME, HAVE_MKTIME): Define to have a value. 7229 (HAVE_GETPAGESIZE, HAVE_SETLOCALE, HAVE_SHUTDOWN, HAVE_TZSET) 7230 (HAVE_LIMITS_H, HAVE_STRERROR): Define. 7231 [HAVE_NTGUI] (HAVE_MENUS): Define. 7232 (SYSTEM_PURESIZE_EXTRA): Increase value. 7233 7234 * unexw32.c, w32heap.c: Add pragma to force zero initialized 7235 data into .data segment. 7236 7237 * w32console.c, w32term.c: Include charset.h. 7238 7239 * w32fns.c (syms_of_w32fns): Delete defsubrs of Sfocus_frame and 7240 Sunfocus_frame. 7241 7242 * w32heap.c (getpagesize): Define. 7243 72441997-06-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7245 7246 * editfns.c (Fformat_time_string): Move doc string outside DEFUN. 7247 7248 * buffer.c (overlay_str_buf): Declare as unsigned char *. 7249 7250 * fns.c (Fy_or_n_p, Fyes_or_no_p): Obey use_dialog_box. 7251 (use_dialog_box): New variable, controls whether to use dialog boxes. 7252 (syms_of_fns): Set up Lisp variable. 7253 72541997-06-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7255 7256 * buffer.c (syms_of_buffer): enable-multibyte-characters is a user var. 7257 7258 * callproc.c (Fcall_process): Fix previous change. 7259 7260 * fns.c (concat): Use XCONS rather than Fcar, Fcdr--for known cons. 7261 (Fassq, assq_no_quit, Fassoc, Frassq, Frassoc, Fdelq): Likewise. 7262 (Fdelete, Fplist_get, mapcar1, Fmember, Fmemq): Likewise. 7263 7264 * lread.c (init_lread): Add leim subdir, like lisp subdir. 7265 7266 * syntax.c (scan_sexps_forward): Split up a complex if-test. 7267 7268 * keyboard.c (read_char): Add a call to swallow_events 7269 when deciding whether to redisplay. 7270 (swallow_events): Add forward declaration. 7271 7272 * sysdep.c [HAVE_TERMIOS_H]: Include termios.h. 7273 7274 * callproc.c (Fcall_process): Avoid storing alloca result 7275 directly into array element. 7276 7277 * process.c (wait_reading_process_input): If wait_for_cell, 7278 do check for keyboard input and swallow events, just don't exit. 7279 (max): New macro. 7280 (wait_reading_process_input): Pass a smaller first arg to select. 7281 7282 * buffer.c (Fbury_buffer): Undo previous change. 7283 72841997-06-27 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7285 7286 * window.c (temp_output_buffer_show): 7287 Copy default-directory from current buffer. 7288 7289 * cm.h (ospeed): Always use `extern' in the declaration. 7290 7291 * Makefile.in (lisp, shortlisp): Some files are in international/. 7292 7293 * unexelf.c [__NetBSD__]: Add some conditionals for NetBSD. 7294 7295 * unexelf1.c: File deleted. 7296 72971997-06-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7298 7299 * s/unixware.h: New file. 7300 73011997-06-25 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7302 7303 * fileio.c (Finsert_file_contents): 7304 Pass new arg to prepare_to_modify_buffer. 7305 7306 * insdel.c (prepare_to_modify_buffer, signal_before_change): 7307 New argument PRESERVE_PTR. 7308 (del_range_1): Use PRESERVE_PTR to preserve FROM. 7309 Save the length of the range separately. 7310 (NULL): Define if not defined. 7311 73121997-06-23 Karl Heuer <kwzh@gnu.ai.mit.edu> 7313 7314 * fileio.c (Ffile_directory_p): Doc fix. 7315 73161997-06-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7317 7318 * buffer.c (Fbuffer_list): New optional argument FRAME. 7319 7320 * fns.c (Freverse): Simplify. 7321 73221997-06-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7323 7324 * s/bsdos3.h: New file. 7325 7326 * s/bsdos2.h (KERNEL_FILE): New overriding definition. 7327 7328 * keyboard.c (read_avail_input): Check for failure with EIO. 7329 7330 * s/gnu-linux.h (LD_SWITCH_SYSTEM) [__mips__]: Alternate definition. 7331 7332 * m/mips.h: Test __linux__ along with NEWSOS5. 7333 (KERNEL_FILE, UNEXEC): Don't redefine them if __linux__. 7334 [__linux__] (TEXT_START, DATA_START, DATA_SEG_BITS): 7335 Alternate definitions. 7336 7337 * emacs.c (Fdump_emacs): Bind command-line-processed to nil here. 7338 7339 * xdisp.c (init_xdisp): Pay attention to FRAME_MENU_BAR_LINES. 7340 7341 * emacs.c (Fdump_emacs): Error if not run in batch mode. 7342 7343 * s/hpux10.h (LIBS_TERMCAP): Use -ltermcap instead of -lc. 7344 7345 * unexelf.c [__sony_news && _SYSTYPE_SYSV]: Include sym.h 7346 and sys/elf_mips.h. 7347 (unexec): Add __sony_news && _SYSTYPE_SYSV conditionals. 7348 Add a _nec_ews_svr4 conditional. 7349 7350 * s/newsos6.h: New file. 7351 7352 * m/news-risc6.h: New file. 7353 7354 * frame.c (Fdelete_frame): Clear echo_area_glyphs if it was 7355 in this frame. 7356 7357 * process.c (wait_reading_process_input): Don't check for 7358 keyboard input if wait_for_cell. 7359 7360 * minibuf.c (read_minibuf): New arg allow_props. 7361 If it is 0, discard text properties from the result. Callers changed. 7362 (minibuffer_allow_text_properties): New variable. 7363 (Fread_from_minibuffer): That variable controls allow_props arg. 7364 (syms_of_minibuf): Set up Lisp var. 7365 73661997-06-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7367 7368 * insdel.c (del_range_1): Make markers for TO and FROM 7369 in case prepare_to_modify_buffer changes the text. 7370 73711997-06-21 Kenichi Handa <handa@etl.go.jp> 7372 7373 * fontset.h (font_idx_temp): Extern it. 7374 (FS_LOAD_FONT): New macro. 7375 7376 * fontset.c (font_idx_temp): New temprary variable used in 7377 FS_LOAD_FONT. 7378 7379 * xfaces.c (Fset_face_attribute_internal): Use FS_LOAD_FONT 7380 instead of calling fs_load_font directly. 7381 7382 * xterm.c (dumpglyphs): Use FS_LOAD_FONT. 7383 (x_new_fontset): If frame F has already using FONTSET, avoid the 7384 duplicated work. Use FS_LOAD_FONT. 7385 (x_list_fonts): Call Fassoc to search Valternate_charset_table. 7386 (x_load_font): Get around a buf of XListFonts 7387 73881997-06-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7389 7390 * print.c (Ferror_message_string): Optimize (error STRING) case. 7391 73921997-06-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7393 7394 * process.c (Fprocess_send_eof): Properly conditionalize prev. change. 7395 73961997-06-18 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7397 7398 * process.c (Fprocess_send_eof): Use shutdown, if it's a socket. 7399 Don't close the output descriptor if that is also the input descriptor. 7400 7401 * config.in (HAVE_SHUTDOWN): Add #undef. 7402 7403 * editfns.c (Fchar_before): Validate N after decrementing. 7404 Don't use POS as integer. 7405 74061997-06-18 Kenichi Handa <handa@etl.go.jp> 7407 7408 * coding.c (detect_coding_iso2022): Initilize mask correctly. 7409 7410 * fns.c (concat): Pay attention to multibyte characters when 7411 TARGET_TYPE is Lisp_String. 7412 74131997-06-17 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7414 7415 * process.c (wait_reading_process_input): Fix previous change. 7416 74171997-06-16 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7418 7419 * fileio.c (Fdo_auto_save): Use stdio to write the save-list file. 7420 7421 * fileio.c (Finsert_file_contents): Don't give up on the fast 7422 replace method if the coding remains undecided. 7423 74241997-06-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7425 7426 * process.c (wait_reading_process_input): When exiting because 7427 the process WAIT_PROC has terminated, first read all its output. 7428 74291997-06-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7430 7431 * editfns.c (Fchar_after, Fchar_before): Make arg optional. 7432 74331997-06-14 Karl Heuer <kwzh@gnu.ai.mit.edu> 7434 7435 * buffer.h (point): Obsolete macro deleted in favor of PT. 7436 * editfns.c (Fprevious_char): Use PT, not point. 7437 * cmds.c (internal_self_insert): Use PT, not point. 7438 74391997-06-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7440 7441 * bytecode.c (Bread_char): Deleted. 7442 (Bsave_current_buffer_1): New byte code. 7443 (Fbyte_code): Delete handling Bread_char. 7444 Handle Bsave_current_buffer_1 like Bsave_current_buffer. 7445 74461997-06-11 Paul Eggert <eggert@twinsun.com> 7447 7448 * callproc.c (Fcall_process): Use setsid to disconnect child 7449 process from controlling terminal. 7450 74511997-06-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7452 7453 * unexalpha.c (unexec): Call update_dynamic_symbols unconditionally. 7454 (update_dynamic_symbols): Define unconditionally, but do nothing 7455 if __linux__or __NetBSD__. 7456 7457 * s/netbsd.h (HAVE_TEXT_START, START_FILES, UNEXEC): 7458 Don't define these if __ELF__. 7459 (RUN_TIME_REMAP, N_PAGSIZ, N_BSSADDR, N_TRELOFF): Likewise. 7460 7461 * m/alpha.h (TEXT_END, COFF, DATA_END): 7462 Define them if __NetBSD__ just as if LINUX. 7463 (HAVE_TEXT_START): Define, if __NetBSD__ and __ELF__. 7464 74651997-06-10 Erik Naggum <erik@naggum.no> 7466 7467 * fileio.c (Fwrite_region): Fix previous doc change. 7468 74691997-06-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7470 7471 * process.c (wait_reading_process_input): Return if unread events 7472 appear. 7473 7474 * keyboard.c (kbd_buffer_get_event): When wait_reading_process_input 7475 returns, check Vunread_command_events. 7476 74771997-06-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7478 7479 * sysdep.c (init_sys_modes): Enable VSTART and VSTOP 7480 if flow_control. 7481 7482 * editfns.c (Finsert_char): Check QUIT. 7483 7484 * fontset.c (list_fontsets, fs_load_font): 7485 fast_c_string_match_ignore_case renamed. 7486 7487 * xterm.c (x_list_fonts): fast_c_string_match_ignore_case renamed. 7488 7489 * search.c (fast_c_string_match_ignore_case): 7490 Renamed from fast_string_match_ignore_case. Set re_match_object. 7491 74921997-06-09 Kenichi Handa <handa@etl.go.jp> 7493 7494 * buffer.c (init_buffer_once): Inititialize the member 7495 buffer_file_coding_system. 7496 (syms_of_buffer): Declare Lisp variables 7497 default-buffer-file-coding-system and buffer-file-coding-system. 7498 7499 * buffer.h (struct buffer): New member buffer_file_coding_system. 7500 7501 * coding.c (Vcoding_system_alist): Deleted. 7502 (Qcoding_system_spec): Renamed from Qcoding_system_vector. 7503 (Vdefault_process_coding_system, Vfile_coding_system_alist) 7504 (Vprocess_coding_system_alist, Vnetwork_coding_system_alist): 7505 New variables. 7506 (Ffind_coding_system): Adjusted for the above change. 7507 (syms_of_coding): Declare them as lisp variables. 7508 (Fcheck_coding_system): Pass list as DATA argument to Fsignal. 7509 7510 * coding.h (Vdefault_process_coding_system): Extern it. 7511 7512 * callproc.c (Fcall_process): Pay attention to 7513 Vdefault_process_coding_system. 7514 (Fcall_process_region): Likewise. 7515 7516 * process.c (Fstart_process): Likewise. 7517 (Fopen_network_stream): Likewise. 7518 7519 * xdisp.c (decode_mode_spec): Access the value of 7520 buffer-file-coding-system by b->buffer_file_coding_system. 7521 7522 * fileio.c (Fwrite_region): Cancel the 7th argument CODING_SYSTEM 7523 added by the previous change. 7524 (auto_save_1): Adjusted for the above change. 7525 7526 * data.c (Faset): Inherit default value correctly while creating 7527 sub char table. 7528 7529 * xselect.c (selection_data_to_lisp_data): Change coding system 7530 name to iso-latin-1. 7531 (lisp_data_to_selection_data): Likewise. 7532 7533 * xterm.c (dumpglyph): Shift baseline for such a font that is 7534 shorter but ascent or descent exceed the line height. 7535 For a larger font, draw a small hook at right-bottom edge instead 7536 of a rectangle. 7537 75381997-06-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7539 7540 * keymap.c (Fcopy_keymap): After copying a sub-char-table, 7541 do store the copy. 7542 75431997-06-04 Kenichi Handa <handa@etl.go.jp> 7544 7545 * casefiddle.c (casify_object): Fix bug on handling a character 7546 argument. 7547 75481997-06-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7549 7550 * s/netbsd.h (NO_SHARED_LIBS): Test __alpha__ && ! __ELF__. 7551 7552 * keyboard.c (syms_of_keyboard): Doc fix. 7553 7554 * search.c (Freplace_match): If opoint is 0, that's relative to ZV. 7555 7556 * intervals.c (find_interval): No longer inline. 7557 75581997-06-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7559 7560 * lisp.h (VALMASK, GCTYPEMASK, MARKBIT, ARRAY_MARK_FLAG) 7561 (PSEUDOVECTOR_FLAG, enum pvec_type, PSEUDOVECTOR_SIZE_MASK): 7562 Define regardless of NO_UNION_TYPE. 7563 7564 * xfns.c (Fx_create_frame): Use XINT to access parent. 7565 7566 * syntax.c (Fsyntax_table_p, check_syntax_table): Use EQ. 7567 (Fmodify_syntax_entry): Use XINT to access c. 7568 (describe_syntax): Use XINT to access first. 7569 7570 * search.c (search_buffer): Use XINT around refs to trt. 7571 7572 * lisp.h (concat3, get_truename_buffer): Declare them. 7573 7574 * keyboard.c (read_key_sequence): Change some locals to `int'. 7575 7576 * indent.c (compute_motion): Use XFASTINT on width_table elts. 7577 7578 * fns.c (map_char_table): Use XSETFASTINT. 7579 7580 * fileio.c (Fwrite_region, build_annotations): 7581 Set start and end using XSETFASTINT. 7582 7583 * editfns.c (Fcompare_buffer_substrings): trt contains Lisp_Objects. 7584 (transpose_markers): Use marker_position, not Fmarker_position. 7585 7586 * buffer.c (Fmove_overlay): Clean up setting o_beg and o_end. 7587 7588 * alloc.c (Fmake_byte_code): Set val from p, not from val. 7589 (make_event_array): Convert nargs to Lisp_Object. 7590 7591 * m/powerpcle.h: New file. 7592 7593 * unexalpha.c [__NetBSD__]: Don't include filehdr.h, aouthdr.h 7594 scnhdr.h or syms.h. Add many other conditionalized definitions. 7595 7596 * m/alpha.h [__NetBSD__]: Include stdlib.h, not alloca.h. 7597 (ORDINARY_LINK): Defined (if __NetBSD__). 7598 7599 * s/netbsd.h [__alpha__] (NO_SHARED_LIBS): Defined. 7600 76011997-05-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7602 7603 * lread.c (init_lread): Sometimes add to load-path 7604 the lisp and site-lisp dirs under the source directory. 7605 7606 * xfaces.c: Include frame.h unconditionally. 7607 7608 * Makefile.in (stamp-oldxmenu): Always define this 7609 one way or another. 7610 7611 * search.c (Freplace_match): Fix previous change. 7612 7613 * syntax.c (back_comment): Detect 2-char comment starts properly. 7614 New arg COMSTYLE; callers changed. 7615 (Fforward_comment): Handle unmatched two-character comment starters. 7616 7617 * intervals.c (move_if_not_intangible): Fix previous change. 7618 7619 * Makefile.in (XOBJ, MSDOS_OBJ, SOME_MACHINE_OBJECTS): Delete xfaces.o. 7620 (obj): Add xfaces.o. 7621 (FACE_SUPPORT, SOME_MACHINE_LISP): Delete faces.elc. 7622 (shortlisp, lisp): Add faces.elc 7623 7624 * emacs.c (main): Call syms_of_xfaces whenever ! HAVE_NTGUI. 7625 7626 * xfaces.c (Fframe_face_alist, Fset_frame_face_alist): 7627 Define unconditionally. 7628 (Finternal_next_face_id, next_face_id): Likewise. 7629 (syms_of_xfaces): Define unconditionally, 7630 but conditionalize some of the contents. 7631 76321997-06-01 Roderick Schertler <roderick@ibcinc.com> 7633 7634 * sysdep.c (init_baud_rate): Use INIT_BAUD_RATE if it's defined. 7635 (sys_signal): Lose DGUX special case. 7636 7637 * s/dgux.h (signal): Define only if not NO_DGUX_SIGNAL_REDEF. 7638 * s/dgux4.h: New file. 7639 76401997-05-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7641 7642 * xterm.c (process_expose_from_menu, XTread_socket): 7643 Set has_been_visible field. 7644 (x_make_frame_visible): Don't do XMoveWindow unles has_been_visible. 7645 7646 * xterm.h (struct x_output): New field has_been_visible. 7647 7648 * lread.c (intern): Don't make a pure string here, 7649 since Fintern does that. 7650 7651 * Makefile.in (lisp, shortlisp): Use cus-start.el, not .elc. 7652 7653 * data.c (Farrayp): Accept bool-vectors and char-tables. 7654 7655 * fns.c (Fchar_table_range, Fset_char_table_range): 7656 Make one-element vector work for RANGE. 7657 76581997-05-30 NIIBE Yutaka <gniibe@mri.co.jp> 7659 7660 * term.c (insert_glyphs): Use &, not &&. 7661 76621997-05-29 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7663 7664 * search.c (Freplace_match): Use move_if_not_intangible 7665 to handle intangible text better. 7666 7667 * intervals.c (move_if_not_intangible): New function. 7668 7669 * editfns.c (Fcurrent_time_string): Doc fix. 7670 7671 * eval.c (Fsignal): Use call2 to call Vsignal_hook_function. 7672 76731997-05-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7674 7675 * dispnew.c (scrolling): If a line is not enabled, 7676 give it an infinite draw_cost. 7677 7678 * data.c (Faset): Doc fix. 7679 7680 * alloc.c (Fmake_bool_vector): Doc fix. 7681 7682 * buffer.c (syms_of_buffer): Doc fix. 7683 76841997-05-27 Kenichi Handa <handa@etl.go.jp> 7685 7686 * fontset.h (FONT_ENCODING_NOT_DECIDED): New macro. 7687 7688 * fontset.c (fs_load_font): Before using a fontset, be sure to 7689 load the ASCII font of the fontset. Size and height of a fontset 7690 is set to the same as those of the ASCII font of the fontset. Use 7691 macro FONT_ENCODING_NOT_DECIDED. 7692 7693 * xterm.c (x_load_font): Use macro FONT_ENCODING_NOT_DECIDED. 7694 7695 * fns.c (map_char_table): For sub char-table, index should be 7696 start from 0 (not from 32) considering a composite character. 7697 (Fmap_char_table): Doc-string adjusted. The variable indices is 7698 declared as an array of Lisp_Object. 7699 7700 * coding.h (struct iso2022_spec): Member requested_designation is 7701 changed to array of `unsigned char'. 7702 (CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION): New macro. 7703 7704 * coding.c (encode_invocation_designation): Use macro 7705 CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION. 7706 (encode_designation_at_bol, setup_coding_system): Likewise. 7707 (Fset_terminal_coding_system_internal): Renamed from 7708 Fset_terminal_coding_system. Make it non-interactive. 7709 Do not call Fredraw_display. 7710 (Fset_keyboard_coding_system_internal): Renamed from 7711 Fset_keyboard_coding_system. Make it non-interactive. 7712 7713 * charset.c (Ffind_charset_string): The variable CHARSETS is 7714 changed to (int *). 7715 7716 * casetab.c (case_temp1, case_temp2): New variables temporarily 7717 used in macros DOWNCASE and UPCASE1. 7718 (set_case_table): Setup canonical table correctly. Use 7719 map_char_table instead of compute_trt_inverse. 7720 (set_canon, set_identity, shuffle): New functions given to 7721 map_char_table. 7722 (compute_trt_identity, compute_trt_shuffle, compute_trt_inverse): 7723 Deleted. 7724 7725 * casefiddle.c (casify_object): Handle multibyte characters. 7726 (casify_region): Change the way of handling multibyte characters. 7727 7728 * lisp.h (CHAR_TABLE_REF): Do not check validity of CT. 7729 (CHAR_TABLE_SET): Likewise. 7730 (DOWNCASE_TABLE): Return case-table instead of the `contents' field. 7731 (UPCASE_TABLE): Likewise. 7732 (DOWNCASE): Use CHAR_TABLE_REF. 7733 (NOCASEP): Use UPCASE1. 7734 (UPCASE1): Use CHAR_TABLE_REF. 7735 7736 * search.c (looking_at_1): Change using DOWNCASE_TABLE. 7737 (string_match_1): Likewise. 7738 7739 * editfns.c (Fchar_equal): Make it handle case of multibyte 7740 characters. 7741 77421997-05-27 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7743 7744 * window.c (Fsplit_window): Ignore FRAME_NO_SPLIT_P here. 7745 (inhibit_frame_unsplittable): Variable deleted. 7746 (syms_of_window): Don't set up Lisp variable. 7747 7748 * xterm.c (XTread_socket) <ConfigureNotify>: Don't call 7749 x_wm_set_size_hint if window has no parent yet. 7750 Simplify the call to x_real_positions. 7751 (x_make_frame_visible): Use win_gravity to decide whether to 7752 call XMoveWindow. Also, don't do it if frame already visible. 7753 7754 * xfns.c (x_real_positions): Subtract border width from results. 7755 77561997-05-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7757 7758 * window.c (syms_of_window): Initialize inhibit_frame_unsplittable. 7759 7760 * w16select.c (Fwin16_set_clipboard_data): Pass new arg to sit_for. 7761 7762 * fileio.c (Fdo_auto_save): Pass new arg to sit_for. 7763 7764 * callint.c (Fcall_interactively): Pass new arg to sit_for. 7765 7766 * keyboard.c (command_loop_1): Pass 1 as new arg to sit_for. 7767 (read_char): Likewise, pass 0 for it. 7768 7769 * dispnew.c (sit_for): New arg initial_display. 7770 (Fsit_for): Pass new arg. 7771 7772 * indent.c (compute_motion): Return correctly if skip_invisible 7773 takes us past TO. 7774 7775 * xterm.c (XTread_socket) <UnmapNotify>: Don't make an iconify_event 7776 when frame was made invisible. 7777 (x_make_frame_visible): Put the call to x_set_offset back as it was. 7778 Near the end, instead call XMoveWindow, but only if original 7779 positions were not negative. 7780 77811997-05-26 Simon Marshall <simon@diazepam.gnu.ai.mit.edu> 7782 7783 * window.c (syms_of_window): Change frame_override_unsplittable to 7784 inhibit_frame_unsplittable. 7785 (Fsplit_window): Check inhibit_frame_unsplittable. 7786 77871997-05-25 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7788 7789 * window.c (Fdisplay_buffer): Use B not b for interactive argument. 7790 7791 * xfns.c (x_real_positions): Directly compare the frame's window 7792 or parent with the root window. 7793 7794 * xterm.c (x_make_frame_visible): Call x_set_offset only after 7795 mapping the window and accepting input. 7796 (x_calc_absolute_position): Do nothing if current position 7797 is already for the top-left corner. 7798 Handle errors in XTranslateCoordinates. 7799 (XTread_socket): Simplify handling of ConfigureNotify events. 7800 Always call x_wm_set_size_hint for them. 7801 No need to call XTranslateCoordinates here. 7802 (x_clear_errors): New function. 7803 78041997-05-20 Erik Naggum <erik@naggum.no> 7805 7806 * editfns.c (Fformat_time_string): Doc update. 7807 78081997-05-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7809 7810 * editfns.c (Fformat_time_string): Doc update. 7811 Handle emacs_strftime returning -1. 7812 If it returns 0, compute actual buffer size needed. 7813 7814 * Makefile.in (shortlisp): Add custom.elc and cus-start.elc. 7815 7816 * fns.c (internal_equal): When comparing strings, ignore text props. 7817 Friedman offers to fix anything that has trouble due to this. 7818 7819 * dispnew.c (sit_for): Delete #if 0. 7820 7821 * keymap.c (access_keymap, store_in_keymap): Don't look in a char-table 7822 for a character that has modifier bits. 7823 78241997-05-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7825 7826 * keymap.c (access_keymap): For a char-table, 7827 look only for chars with no modifier bits. 7828 78291997-05-19 Kenichi Handa <handa@etl.go.jp> 7830 7831 * s/osf1.h (HAVE_TERMIOS): Define it. 7832 7833 * m/alpha.h (PTY_OPEN): Call sigblock instead of sigblockx. 7834 7835 * Makefile.in (xdisp.o): Add coding.h in dependency list. 7836 7837 * fontset.h (struct font_info): Change the declaration of encoding 7838 from `char' to `unsigned char'. 7839 7840 * xterm.c (x_load_font): Set 4 instead of -1 in fontp->encoding[1] 7841 for the meaning of `can not be decided'. 7842 7843 * fontset.c (fs_load_font): Modified to cope with the above 7844 change. 7845 7846 * charset.c (Ffind_charset_region): Change the declaration of 7847 charsets from `char' to `int'. 7848 (find_charset_in_str): Likewise. 7849 7850 * xselect.c (lisp_data_to_selection_data): Likewise. 7851 7852 * coding.h (struct iso2022_spec): Change the declaration of 7853 requested_designation from `char' to `int'. 7854 78551997-05-18 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7856 7857 * callint.c (Fcall_interactively): Use num_input_events. 7858 7859 * keyboard.h (num_input_events, num_nonmacro_input_events): 7860 Renamed from ..._input_chars. 7861 7862 * eval.c (num_nonmacro_input_events): 7863 Renamed from num_nonmacro_input_chars. 7864 7865 * keyboard.c (num_nonmacro_input_events): 7866 Renamed from num_nonmacro_input_chars. 7867 (syms_of_keyboard): Rename Lisp variable. 7868 78691997-05-18 Erik Naggum <erik@naggum.no> 7870 7871 * lisp.h (Vtty_erase_char): Declared. 7872 * keyboard.c (Vtty_erase_char): Variable defined 7873 (syms_of_keyboard): Set up Lisp variable. 7874 Also set up `num-nonmacro-input-chars' to report actual keystrokes. 7875 * sysdep.c (init_sys_modes): Initialize Vtty_erase_char if 7876 possible from the stty settings, otherwise to nil. 7877 7878 * lread.c (Fintern): Give keywords a value when interned. 7879 7880 * dired.c (Ffile_attributes): Return inode number as a cons 7881 only if necessary. 7882 78831997-05-18 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7884 7885 * keymap.c (copy_keymap_1): Do nothing if ELT isn't a keymap. 7886 78871997-05-17 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7888 7889 * frame.c (make_terminal_frame): Don't add `Emacs' to frame name. 7890 78911997-05-16 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7892 7893 * sysselect.h (SELECT_TYPE): Don't define if already defined. 7894 7895 * cmds.c (nonascii_insert_offset): New variable. 7896 (Fself_insert_command, internal_self_insert): 7897 Add nonascii_insert_offset to what we insert, when appropriate. 7898 (syms_of_cmds): Set up Lisp variable. 7899 7900 * xdisp.c (display_text_line): Move the code to fill out the line 7901 with the newline's face to the end of the newline code. 7902 Add changes (commented out) to record ellipsis positions in charstarts. 7903 7904 * charset.c (strwidth): Fix previous change. 7905 7906 * ralloc.c (mallopt): Declare, if appropriate. 7907 (r_alloc_init) [DOUG_LEA_MALLOC]: Call mallopt, 7908 instead of setting __malloc_extra_blocks. 7909 7910Thu May 15 22:21:18 1997 Ken'ichi Handa <handa@diazepam.gnu.ai.mit.edu> 7911 7912 * Makefile.in (charset.o): Add disptab.h in dependency list. 7913 7914 * charset.c: Include disptab.h. 7915 79161997-05-16 Kenichi Handa <handa@etl.go.jp> 7917 7918 * xterm.c (dumpglyphs): Draw glyphs one by one if the font for 7919 them is narrower than required. 7920 7921 * fns.c (copy_sub_char_table): Declare the argument ARG as 7922 Lisp_Object. 7923 7924 * fontset.c (fontset_pattern_regexp): Cast to (char *) before 7925 assigning to P0. 7926 7927 * ccl.c (struct ccl_prog_stack): Declear the member ccl_prog as 7928 Lisp_Object *. 7929 7930 * editfns.c: Declare Fuser_full_name as Lisp_Object in advance to 7931 avoid compiler error. 7932 7933 * data.c: Declare set_internal as Lisp_Object in advance to avoid 7934 compiler error. 7935 7936 * alloc.c (BYTES_USED): Put # at the beginning of line. 7937 (emacs_blocked_malloc): Likewise. 7938 7939 * xterm.c (x_connection_closed): Likewise. 7940 (x_load_font): Cast to (char *) before assigning to FONTNAME. 7941 7942 * keymap.c: Declare Fcopy_keymap as Lisp_Object in advance to 7943 avoid compiler error. 7944 79451997-05-16 Kenichi Handa <handa@etl.go.jp> 7946 7947 * charset.h (VALID_CHAR_P): New macro. 7948 7949 * fns.c (Fset_char_table_default): New function. 7950 79511997-05-15 Kenichi Handa <handa@etl.go.jp> 7952 7953 * charset.c (non_ascii_char_to_string): Signal error if the 7954 argument C is an invalid character code. 7955 (Fconcat_chars): Use alloca instead of malloc. 7956 7957 * charset.h (CHAR_STRING): Comment reflect the above change. 7958 7959 * coding.h: Name change through the code: 7960 coding-category-internal => coding-category-emacs-mule, 7961 XXX_coding_internal => XXX_coding_emacs_mule, 7962 coding_type_internal => coding_type_emacs_mule, 7963 coding_type_automatic => coding_type_undecided, 7964 CODING_CATEGORY_MASK_INTERNAL => CODING_CATEGORY_MASK_EMACS_MULE, 7965 CODING_CATEGORY_IDX_INTERNAL => CODING_CATEGORY_IDX_EMACS_MULE, 7966 CODING_EOL_AUTOMATIC => CODING_EOL_UNDECIDED. 7967 * coding.c: Likewise. 7968 * fileio.c: Likewise. 7969 7970 * xfns.c (Fx_create_frame): Delete unnecessary code. 7971 79721997-05-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7973 7974 * fileio.c (Finsert_file_contents): Use xmalloc. not malloc. 7975 Check correctly for whether no code translation is needed. 7976 (Finsert_file_contents): Use xrealloc too. 7977 7978 * charset.c (strwidth, Fchar_width): Handle display table. 7979 79801997-05-15 Karl Heuer <kwzh@gnu.ai.mit.edu> 7981 7982 * casefiddle.c: Include charset.h. 7983 (Qidentity): Define this variable. 7984 (syms_of_casefiddle): Initialize and staticpro it. 7985 (casify_object, casify_region): Handle multibyte. 7986 79871997-05-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 7988 7989 * casetab.c (compute_trt_identity): Use make_sub_char_table. 7990 (compute_trt_identity, compute_trt_shuffle): 7991 Set up bytes[0] with the charset code. 7992 Check for a sub-char-table when deciding to recurse. 7993 Terminate the loop properly for a sub-char-table. 7994 7995 * callint.c (Fcall_interactively): Pass extra arg to Fread_string. 7996 7997 * minibuf.c (Fread_from_minibuffer): Add gcpro. 7998 7999 * fns.c (Fcopy_sequence): Correctly copy the char-table contents. 8000 8001 * keymap.c (describe_vector): Identify charset row numbers clearly. 8002 8003 * casetab.c: Include charset.h. 8004 (compute_trt_inverse): Totally rewritten. 8005 Args are now Lisp_Object. Callers changed. 8006 (compute_trt_identity, compute_trt_shuffle): New subroutines. 8007 (init_casetab_once): Use XSETFASTINT to store into case table; 8008 use CHAR_TABLE_SINGLE_BYTE_SLOTS to end the loop. 8009 80101997-05-13 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8011 8012 * syntax.c (describe_syntax_1): Pass new args to describe_vector. 8013 8014 * category.c (describe_category_1): Pass new args to describe_vector. 8015 80161997-05-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8017 8018 * keymap.c (get_keyelt): Handle an indirect entry with meta char. 8019 (describe_vector): Rewrite char-table handling. 8020 8021 * data.c (wrong_type_argument): Pass new arg to Fstring_to_number. 8022 80231997-05-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8024 8025 * xfns.c (Fx_create_frame): Get X resources from the display 8026 we are making the frame on. 8027 (x_get_arg): New arg DPYINFO. Callers changed. 8028 (display_x_get_resource): New function. 8029 80301997-05-11 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> 8031 8032 * data.c (Fstring_to_number): Handle bases 2...16. 8033 (digit_to_number): New subroutine. 8034 80351997-05-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8036 8037 * fns.c (map_char_table): New arg SUBTABLE. Callers changed. 8038 Pass the whole chartable to C_FUNCTION. 8039 Pass index character as a Lisp_Object. 8040 8041 * keymap.c (Fmake_keymap): Make a char-table. 8042 (access_keymap, store_in_keymap): Likewise. 8043 (describe_map, Fset_keymap_parent, Faccessible_keymaps): Likewise. 8044 (Fwhere_is_internal, Fcopy_keymap): Handle a char-table. 8045 (copy_keymap_1, accessible_keymaps_char_table): New subroutines. 8046 (where_is_internal_1, where_is_internal_2): New functions. 8047 (syms_of_keymap): Set up Qchar_table_extra_slots prop on Qkeymap. 8048 80491997-05-10 Ken'ichi Handa <handa@etl.go.jp> 8050 8051 * callproc.c (Fcall_process_region): Supply 7th new arg 8052 CODING_SYSTEM as Qnil to Fwrite_region. 8053 8054 * ccl.c (Fccl_execute_on_string): Add 4th optional arg 8055 CONTINUE. 8056 8057 * charset.c (unify_char): New function. 8058 (Fdefine_charset): Doc-string modified. 8059 (find_charset_in_str): Add 4th arg TABLE which is a character 8060 unification table. 8061 (Ffind_charset_region): Add optional arg TABLE which is a 8062 character unification table. 8063 (Ffind_charset_string): Likewise. 8064 8065 * charset.h (unify_char): Extern it. 8066 8067 * coding.c (Valternate_charset_table): The variable deleted. 8068 (Venable_character_unification) 8069 (Vstandard_character_unification_table_for_read) 8070 (Vstandard_character_unification_table_for_write) 8071 (Qcharacter_unification_table): New variables. 8072 (syms_of_coding): Initialize and declare them. 8073 (DECODE_ISO_CHARACTER): Modified to handle a character unification 8074 table instead of Valternate_charset_table. 8075 (DECODE_DESIGNATION): Delete handling of Valternate_charset_table. 8076 (decode_coding_iso2022): Handle a character unification table. 8077 (ENCODE_ISO_CHARACTER): New macro. 8078 (encode_designation_at_bol): Handle a character unification table. 8079 Do not return -1 even if end-of-line is not in the current run. 8080 (encode_coding_iso2022): Handle a character unification table. 8081 Call macro ENCODE_ISO_CHARACTER instead of calling 8082 ENCODE_ISO_CHARACTER_DIMENSION1 and 8083 ENCODE_ISO_CHARACTER_DIMENSION2 directly. Check the size of 8084 carryover before copying it to destination. 8085 (setup_coding_system): Initialize the member 8086 character_unification_table of the struct coding system to Qnil. 8087 (Fset_keyboard_coding_system): Doc string augmented. 8088 8089 * coding.h (CODING_SPEC_ISO_PLANE_CHARSET): Return -1 if no 8090 character set is invoked to PLANE. 8091 (struct coding_system): New member character_unification_table. 8092 8093 * fileio.c (Fwrite_region): Add 7th optional arg 8094 CODING_SYSTEM. Move gap after a newline code if we are encoding 8095 in a coding system which requires designation sequences to be put 8096 at beginning of line. Set coding.last_block to 1 before calling 8097 a_write for an empty file. 8098 (build_annotations): Code tuned up for handling 8099 pre_write_conversion of a coding system. 8100 (e_write): Delete code for handling carryover of code conversion. 8101 It is now handled in encode_coding. 8102 (auto_save_1): Supply 7th new arg CODING_SYSTEM as Qnil to 8103 Fwrite_region. 8104 8105 * fontset.c (Vfontset_alias_alist): New variable. 8106 (fontset_pattern_regexp): Delete code for handling nickname of a 8107 fonset. It is now handled in Fquery_fontset by consulting 8108 Vfontset_alias_alist. 8109 (Fquery_fontset): Handle Vfontset_alias_alist. 8110 (syms_of_fontset): Terminate each line by `\n\' in doc-string of 8111 alternate-fontname-alist. Declare Lisp variable 8112 fontset-alias-alist. Doc-string of highlight-wrong-size-font 8113 and clip-large-size-font modified. 8114 8115 * xfns.c (Fx_create_frame): Delete code for handling the X 8116 resouce "Fontset". 8117 8118 * xselect.c (selection_data_to_lisp_data): If TYPE is `STRING' 8119 and DATA contains 8-bit codes, decode them as Latin-1 characters. 8120 (lisp_data_to_selection_data): Supply 4th arg TABLE as Qnil to 8121 find_charset_in_str. 8122 8123 * xterm.c (dumpglyphs): Even if font (not fontset) is used, 8124 display Latin1 characters correctly if the font contains glyphs 8125 for them. Fix bug of displaying cursor on a composite character. 8126 81271997-05-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8128 8129 * keyboard.c (Fexecute_extended_command): 8130 Pass new arg to Fcompleting_read. 8131 (command_loop_1): Use an int for last_command_char. 8132 8133 * lisp.h (read_minibuf): Declaration deleted. 8134 8135 * callint.c (Fcall_interactively): Pass new arg to 8136 Fread_from_minibuffer and Fread_variable. 8137 8138 * fns.c (Fyes_or_no_p): Pass new arg to Fread_from_minibuffer. 8139 8140 * minibuf.c (Fread_command): New optional arg DEFAULT-VALUE. 8141 Callers changed. 8142 (Fread_variable, Fread_string, Fread_from_minibuffer): Likewise. 8143 (read_minibuf): Now static. New arg DEFALT. Callers changed. 8144 Bind minibuffer-default here. 8145 (read_minibuf_unwind): Now static. 8146 (Fcompleting_read): Past DEF to Fread_from_minibuffer; 8147 no need to use it directly here. 8148 8149 * fileio.c (Fread_file_name): Finish previous change. 8150 8151 * coding.c (Fread_coding_system, Fread_non_nil_coding_system): 8152 Pass new arg to Fcompleting_read. 8153 8154 * callint.c (Fcall_interactively): Pass new arg to Fcompleting_read. 8155 8156 * xmenu.c (Fx_popup_menu): Doc fix. 8157 81581997-05-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8159 8160 * Makefile.in (TAGS): Fix typo. 8161 8162 * xdisp.c (mark_window_display_accurate, redisplay_internal): 8163 Test highlight_nonselected_windows. 8164 (display_text_line): Likewise (in more places). 8165 (syms_of_xdisp): Initialize highlight_nonselected_windows to 0. 8166 8167 * keyboard.c (Qtimer_event): Variable deleted. 8168 (Qtimer_event_handler): New variable. 8169 (syms_of_keyboard): Don't initialize Qtimer_event. 8170 Do initialize Qtimer_event_handler. 8171 (read_char): Don't check for timer event. 8172 (swallow_events): Don't handle timer events. 8173 (timer_check): Likewise. 8174 (make_lispy_event): Likewise. 8175 81761997-05-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8177 8178 * s/bsd386.h: Delete the code that was trying to define BSD "right" 8179 now that Emacs doesn't use the symbol BSD this way. 8180 81811997-05-06 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8182 8183 * Makefile.in (MOUSE_SUPPORT): Delete menu-bar.elc. 8184 (lisp): Move menu-bar.elc here. 8185 Add custom.elc and cus-start.elc. 8186 8187 * m/intel386.h (LIBS_MACHINE): Add -lelf. 8188 81891997-05-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8190 8191 * xdisp.c (display_text_line): Clear region_showing to Qnil if the 8192 window should not show a region. 8193 (redisplay_internal): Do update region_showing when ! all_windows. 8194 8195 * window.c (Fset_window_configuration): Set last_selected_window 8196 in the new selected window's new buffer. 8197 8198 * xdisp.c (display_text_line): Set w->region_showing to the mark 8199 position if there's a mark; to nil, otherwise. 8200 8201 * w32fns.c (x_set_mouse_color): Fix previous change. 8202 8203 * xselect.c (x_reply_selection_request): Delete the inner 8204 unbind_to call, since x_uncatch_errors does the job. 8205 82061997-05-04 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8207 8208 * minibuf.c (Fcompleting_read): New arg DEF. 8209 Callers changed. 8210 (Qminibuffer_default): New variable. 8211 (syms_of_minibuf): Initialize it. 8212 8213 * fileio.c (Fread_file_name): Pass default to Fcompleting_read. 8214 82151997-05-03 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8216 8217 * w32fns.c (x_set_mouse_color): Update calls to x_catch_errors 8218 and x_uncatch_errors. 8219 8220 * xfns.c (x_set_scroll_bar_width): If arg is too small, round it up. 8221 8222 * window.c (Fdisplay_buffer): If we give up and try other frames, 8223 look again for a window in those frames already showing BUFFER. 8224 82251997-05-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8226 8227 * xselect.c (x_reply_selection_request): Fix previous change. 8228 82291997-04-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8230 8231 * xterm.c (XTmouse_position, x_term_init): 8232 Save value from x_catch_errors and pass to x_uncatch_errors. 8233 8234 * xselect.c (x_own_selection, x_reply_selection_request) 8235 (x_get_foreign_selection): 8236 Save value from x_catch_errors and pass to x_uncatch_errors. 8237 8238 * xfns.c (x_real_positions, x_set_mouse_color, Fx_list_fonts): 8239 Save value from x_catch_errors and pass to x_uncatch_errors. 8240 8241 * xterm.c (x_catch_errors): Use specpdl so can be nested. 8242 Use a Lisp string to as the buffer for the X message. 8243 (x_uncatch_errors, x_had_errors_p, x_check_errors): Related changes. 8244 (x_catch_errors_unwind): New function. 8245 (x_error_quitter): Call x_error_catcher if appropriate. 8246 (x_error_message_string): New variable. 8247 (syms_of_xterm): Defvar it. 8248 (x_caught_error_message): Variable deleted. 8249 (X_ERROR_MESSAGE_SIZE): Renamed from X_CAUGHT_ERROR_MESSAGE_SIZE. 8250 (x_error_handler): New function, calls x_error_quitter or ..._checker. 8251 (x_initialize): Use x_error_handler as error handler for X. 8252 82531997-04-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8254 8255 * fileio.c (Fexpand_file_name): Check length > 0 when necessary. 8256 82571997-04-27 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8258 8259 * syntax.c (skip_chars): Fix previous change in syntax/backward case. 8260 8261 * lread.c (init_lread): Don't add ../lisp to the dump-time load path. 8262 8263 * buffer.c (Fbury_buffer): If buffer is in selected window, remove it. 8264 Otherwise, remove it from other windows. 8265 8266 * fileio.c (Fsubstitute_in_file_name): Use xnm uniformly, never nm, 8267 when handling /~ and // at the end. 8268 8269 * process.c (read_process_output): Update opoint, old_begv and old_zv 8270 based on actual buffer change rather than size of string. 8271 old_begv and old_zv are now ints. 8272 (status_notify): Likewise for opoint. 8273 82741997-04-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8275 8276 * xterm.c (x_destroy_window): Free saved_menu_event, if any. 8277 8278 * frame.c (Fdelete_frame): Free FRAME_MESSAGE_BUF. 8279 8280 * xrdb.c (get_user_app): Free the gethomedir value. 8281 8282 * buffer.c (reset_buffer): Initialize clip_changed field. 8283 82841997-04-25 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8285 8286 * emacs.c (sort_args): Free the malloc'd memory. 8287 8288 * fileio.c (Fwrite_region): GCPRO `start' near the beginning. 8289 8290 * xfns.c (x_set_menu_bar_lines): Increment windows_or_buffers_changed. 8291 82921997-04-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8293 8294 * syntax.c (skip_chars): Merge mule changes back in. 8295 82961997-04-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8297 8298 * window.c (frame_override_unsplittable): New variable. 8299 (Fsplit_window): Ignore `unsplittable' if frame_override_unsplittable. 8300 (syms_of_window): Set up Lisp var. 8301 8302 * xmenu.c (set_frame_menubar): When widget is new, 8303 forget records of old contents. 8304 83051997-04-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8306 8307 * xterm.c (x_set_offset): Turn off the code that added the border_width 8308 to modified_left and modified_top; it seems incorrect to do that. 8309 83101997-04-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8311 8312 * keymap.c (Faccessible_keymaps): Convert PREFIX to a vector 8313 at the beginning, if it has any definition. 8314 83151997-04-19 Erik Naggum <erik@naggum.no> 8316 8317 * keymap.c (describe_vector): Test for suppressed commands in 8318 all cases. Call get_keyelt with two arguments. 8319 83201997-04-18 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8321 8322 * print.c (print): Symbols like e2 and 2e are not confusing. 8323 83241997-04-17 Andrew Innes <andrewi@harlequin.co.uk> 8325 8326 * fileio.c (Fexpand_file_name): Fix expansion of "/foo/../". 8327 83281997-04-15 Ken'ichi Handa <handa@etl.go.jp> 8329 8330 * coding.c (setup_coding_system): Setup coding->eol_type as LF 8331 for a invalid coding system. 8332 83331997-04-14 Ilya Zakharevich <ilya@math.ohio-state.edu> 8334 8335 * dired.c (Fdirectory_files): Set re_match_object. 8336 8337 * intervals.c (update_interval): New function. 8338 8339 * intervals.h (update_interval): New function declaration. 8340 8341 * regex.c (PTR_TO_OFFSET): New macro. 8342 (POS_AS_IN_BUFFER): New macro. 8343 (SYNTAX_ENTRY_VIA_PROPERTY): Set to take `syntax-table' text 8344 property into account when doing SYNTAX (c). 8345 (re_compile_fastmap): disable fastmap if any of wordbound 8346 notwordbound wordbeg wordend notsyntaxspec syntaxspec are seen. 8347 (re_search_2): SETUP_SYNTAX_TABLE_FOR_OBJECT at the start. 8348 (re_match_object): New variable. 8349 (re_match_2): SETUP_SYNTAX_TABLE_FOR_OBJECT at the start. 8350 (re_match_2_internal): For any of wordbound notwordbound wordbeg 8351 wordend notsyntaxspec syntaxspec call UPDATE_SYNTAX_TABLE before 8352 doing SYNTAX (c). 8353 8354 * regex.h (re_match_object): New variable. 8355 8356 * search.c (looking_at_1): Set re_match_object. 8357 (string_match_1): Set re_match_object. 8358 (fast_string_match): Set re_match_object. 8359 (Fskip_chars_forward): Move to syntax.c. 8360 (Fskip_chars_backward): Move to syntax.c. 8361 (Fskip_syntax_forward): Move to syntax.c. 8362 (Fskip_syntax_backward): Move to syntax.c. 8363 (skip_chars): Move to syntax.c. 8364 (search_buffer): Set re_match_object. 8365 (syms_of_search): Move initialization of skip* to syntax.c. 8366 8367 * syntax.c (SYNTAX_ENTRY_VIA_PROPERTY): Set to take `syntax-table' 8368 text property into account when doing SYNTAX (c). 8369 (ST_COMMENT_STYLE, ST_STRING_STYLE): New codes to denote 8370 delimiters for new types of strings and comments. 8371 (Vparse_sexp_lookup_properties): New variable. 8372 (struct lisp_parse_state): Comment updated. 8373 (gl_state): New global variable. 8374 (update_syntax_table): New function. 8375 (char_quoted): Move earlier, update gl_state when needed. 8376 (find_defun_start): Update gl_state when needed. 8377 (back_comment): New function. 8378 (Scomment_fence, Sstring_fence): New delimeter char classes 8379 denoted by `!' and `|'. 8380 (Fchar_syntax, Fmatching_paren): Update gl_state to whole-buffer state. 8381 (scan_words): Update gl_state when needed. 8382 (Fskip_chars_forward): Move from search.c. 8383 (Fskip_chars_backward): Move from search.c. 8384 (Fskip_syntax_forward): Move from search.c. 8385 (Fskip_syntax_backward): Move from search.c. 8386 (skip_chars): Move from search.c. 8387 (Fforward_comment, scan_lists): Update gl_state when needed. 8388 Handle Scomment_fence, Sstring_fence. 8389 (Fbackward_prefix_chars) update gl_state when needed. 8390 (scan_sexps_forward): update gl_state when needed. 8391 Handle Scomment_fence, Sstring_fence. 8392 If comment_stop==-1, stop at start or end of comment or string. 8393 (Fparse-partial-sexp): Doc fix. 8394 (syms_of_syntax): Move initialization of skip* from search.c. 8395 8396 * syntax.h (enum syntaxcode): 8397 New members Scomment_fence, Sstring_fence. 8398 (SYNTAX_ENTRY): Depending on the value of SYNTAX_ENTRY_VIA_PROPERTY 8399 may do a lookup for syntax table in gl_state. 8400 (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD) 8401 (UPDATE_SYNTAX_TABLE, SETUP_SYNTAX_TABLE) 8402 (SETUP_SYNTAX_TABLE_FOR_OBJECT): New macros. 8403 (struct gl_state_s): New struct. 8404 8405 * textprop.c: Style of comments corrected. 8406 (interval_of): New function. 8407 84081997-04-14 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> 8409 8410 * w16select.c: New file, MS-Windows clipboard support from 8411 Emacs running as MSDOS application. 8412 8413 * s/msdos.h (SYMS_SYSTEM): Add `syms_of_win16select'. 8414 8415 * Makefile.in (MSDOS_OBJ): Add w16select.o. 8416 (dependencies): Add dependencies for w16select.o. 8417 84181997-04-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8419 8420 * undo.c (Fprimitive_undo): When inserting, always insert 8421 after markers (the ordinary kind of insertion). 8422 8423 * insdel.c (adjust_markers): Don't be confused by the gap 8424 when computing the arg to record_marker_adjustment. 8425 84261997-04-11 Karl Heuer <kwzh@gnu.ai.mit.edu> 8427 8428 * category.c (Fmodify_category_entry): Delete second arg in call 8429 to make_sub_char_table. 8430 8431 * lisp.h (DOWNCASE): Return int, not Lisp_Object. 8432 (UPPERCASEP): Use DOWNCASE. 8433 (UPCASE_TABLE): New macro. 8434 (NOCASEP, UPCASE1): Use UPCASE_TABLE. 8435 [!NO_UNION_TYPE] (make_number): Declare. 8436 84371997-04-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8438 8439 * minibuf.c (read_minibuf): Get the string from the minibuffer 8440 even if the user has selected a different buffer. 8441 8442 * fileio.c (Finsert_file_contents): Do call signal_after_change 8443 when REPLACE is handled by reading directly from the file. 8444 Use insert_1 to insert replacement text, to avoid 8445 query about whether to modify the buffer. 8446 84471997-04-10 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu> 8448 8449 * Makefile.in (mallocobj): Make non-REL_ALLOC configuration work 8450 with glibc's malloc--do use vm-limit.o. 8451 84521997-04-10 Karl Heuer <kwzh@gnu.ai.mit.edu> 8453 8454 * cmds.c (internal_self_insert): Fix return value. 8455 * category.c (Fmake_category_set): Use XSETFASTINT. 8456 * minibuf.c (scmp): Fix Lisp_Object/integer confusion. 8457 (Fdisplay_completion_list): Likewise. 8458 * insdel.c (Fcombine_after_change_execute): Likewise. 8459 * xselect.c (expect_property_change): Likewise. 8460 * xterm.c (construct_menu_click, note_mouse_highlight): Likewise. 8461 (fast_find_position): Likewise. 8462 * ccl.c (ccl_driver): Likewise. 8463 * coding.c (Ffind_coding_system): Likewise. 8464 * charset.c (Fconcat_chars, ONE_BYTE_CHAR_WIDTH): Likewise. 8465 * xmenu.c (Fx_popup_menu, set_frame_menubar): Likewise. 8466 * disptab.h (DISP_TABLE_P): Likewise. 8467 * xdisp.c (display_text_line): Likewise. 8468 * dispnew.c (Fframe_or_buffer_changed_p): Likewise. 8469 * window.c (Fset_window_buffer, Fdisplay_buffer): Likewise. 8470 (delete_window): Don't return value from void function. 8471 84721997-04-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8473 8474 * s/freebsd.h (BSD_SYSTEM): Alternate definition for FreeBSD v3. 8475 8476 * systty.h (GETPGRP_NO_ARG): If Glibc 2.1 or later, 8477 don't define this if _BSD_SOURCE is defined. 8478 84791997-04-08 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu> 8480 8481 * emacs.c (malloc_get_state, malloc_set_state): New declarations. 8482 (main): Restore internal malloc state when loading from dumped image. 8483 (Fdump_emacs): Copy internal malloc state for dumping, then free it. 8484 8485 * alloc.c: For glibc's malloc, include <malloc.h> for mallinfo, 8486 mallopt, struct mallinfo, and mallopt constants. 8487 (BYTES_USED): New macro. 8488 (memory_full, emacs_blocked_free): Replace _bytes_used with BYTES_USED. 8489 (emacs_blocked_malloc): Set sbrk padding value for glibc, as is 8490 done with gmalloc. 8491 (allocate_vectorlike, make_uninit_string): 8492 Prevent using mmap for possible large chunks. 8493 (init_alloc_once): Set trim and mmap malloc parms, when using glibc. 8494 8495 * config.in (DOUG_LEA_MALLOC): Add #undef. 8496 8497 * Makefile.in (mallocobj): Don't add gmalloc if using glibc. 8498 Drop check for `old malloc'; it isn't distributed with Emacs. 8499 85001997-04-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8501 8502 * casetab.c (init_casetab_once): Initialize the purpose slot. 8503 85041997-04-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8505 8506 * keyboard.c (read_key_sequence): New argument FIX_CURRENT_BUFFER. 8507 Restore the current buffer from selected window on occasion. 8508 All callers changed. 8509 85101997-04-07 Kenichi HANDA <handa@etl.go.jp> 8511 8512 * Makefile.in (lisp, shortlisp): Include english.elc and 8513 tibetan.elc. 8514 8515 * alloc.c (Fmake_char_table): Adjusted for the new structure of 8516 Lisp_Char_Table. 8517 (make_sub_char_table): New function. 8518 8519 * category.c (category-table-p): Check only type and purpose. 8520 (copy_category_table, Fmodify_category_entry): Adjusted for the 8521 new structure of Lisp_Char_Table. 8522 8523 * ccl.c (ccl_driver): Fix bug of the case CCL_WriteArrayReadJump. 8524 8525 * charset.h (CHARSET_TABLE_ENTRY): Handle ASCII charset correctly. 8526 (SPLIT_NON_ASCII_CHAR, SPLIT_CHAR): Return -1 in C2 for DIMENSION1 8527 characters. 8528 8529 * charset.c (non_ascii_char_to_string, update_charset_table) 8530 (Fsplit_char): Adjusted for the above change. 8531 8532 * coding.c (detect_coding_iso2022, detect_coding_mask): Ignore 8533 invalid ESC sequence for ISO 2022. 8534 (Fencode_sjis_char, Fencode_big5_char): Adjusted for the change of 8535 SPLIT_CHAR. 8536 8537 * data.c (Faref, Faset): Adjusted for the new structure of 8538 Lisp_Char_Table. 8539 8540 * disptab.c (disp_char_vector): Extern it. 8541 (DISP_CHAR_VECTOR): Handle multibyte characters. 8542 8543 * fns.c (copy_sub_char_table): New function. 8544 (Fcopy_sequence): Call copy_sub_char_table for copying a sub char 8545 table. 8546 (Fchar_table_range, Fset_char_table_range, map_char_table) 8547 (Fmap_char_table): Handle multibyte characters correctly. 8548 8549 * fontset.c (Vhighlight_wrong_size_font, Vclip_large_size_font): 8550 New variables. 8551 (syms_of_fontset): Declare them as Lisp variables. 8552 8553 * fontset.h (Vhighlight_wrong_size_font, Vclip_large_size_font): 8554 Extern them. 8555 8556 * keymap.c (describe_vector): Adjusted for the new structure of 8557 Lisp_Char_Table. 8558 8559 * lisp.h (CHAR_TABLE_STANDARD_SLOTS): Now 4 more slots than 8560 CHAR_TABLE_ORDINARY_SLOTS for top, defalt, parent, and purpose. 8561 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS): 8562 New macros. 8563 (CHAR_TABLE_REF, CHAR_TABLE_SET): Enclose args by parenthesis. 8564 (struct Lisp_Char_Table): New member `top'. The member `defalt' 8565 is moved before `contents' so that XCHAT_TABLE (val)->defalt can 8566 also be used for a sub char table. 8567 (SUB_CHAR_TABLE_P): New macro. 8568 (make_sub_char_table): Extern it. 8569 8570 * lread.c (read1): Adjusted for the new structure of 8571 Lisp_Char_Table. 8572 8573 * print.c (print): Likewise. 8574 8575 * xdisp.c (disp_char_vector): New function to be used from the 8576 macro DISP_CHAR_VECTOR for multibyte characters. 8577 8578 * xterm.c (dumpglyphs): Clip and highlight glyphs displayed with 8579 fonts of wrong size. 8580 8581Sun Apr 6 10:26:53 1997 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> 8582 8583 * emacs.c (init_cmdargs) [MSDOS]: Make the change that sets 8584 `installation-directory' if `info' is found as its subdirectory or 8585 sibling, be conditioned on MSDOS (it makes trouble on Unix). 8586 8587 85881997-04-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8589 8590 * coding.c (Ffind_coding_system): Doc fix. 8591 85921997-04-03 Karl Heuer <kwzh@gnu.ai.mit.edu> 8593 8594 * fns.c (Fcopy_sequence): Delete unused variable. 8595 (Fchar_table_extra_slot, Fset_char_table_extra_slot): Doc fix. 8596 (map_char_table): When expanding indices, don't increase depth; 8597 that's amount used, not amount allocated. 8598 8599 * category.h [!__GNUC__] (CATEGORY_SET): Fix syntax error. 8600 8601 * lisp.h (CHAR_TABLE_REF): Fix syntax error. 8602 (LOWERCASEP): Use NOCASEP instead of its expansion. 8603 (UPCASE): Use UPPERCASEP instead of its expansion. 8604 86051997-04-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8606 8607 * fileio.c (Finsert_file_contents): When handling REPLACE, 8608 first try comparing block by block; if we discover a need for 8609 nontrivial code conversion, give up and try convert-whole-file method. 8610 8611 * fileio.c (Fcopy_file): Fix error message. 8612 8613 * fileio.c (Finsert_file_contents): Handle non-regular files. 8614 86151997-04-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8616 8617 * search.c (skip_chars): Make `c' an unsigned int. 8618 86191997-04-01 Erik Naggum <erik@naggum.no> 8620 8621 * eval.c (Fuser_variable_p): If not a symbol, return nil. 8622 86231997-03-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8624 8625 * fileio.c (Fcopy_file): Use Qfile_date_error if can't set file date. 8626 (Qfile_date_error): New variable. 8627 (syms_of_fileio): Set it up. 8628 (Fcopy_file): Fix previous change. 8629 (Finsert_file_contents): Determine the character coding 8630 before we see if REPLACE can be handled. 8631 Do handle REPLACE even if code conversion is needed. 8632 86331997-03-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8634 8635 * keymap.c (Faccessible_keymaps): When metizing, convert a 8636 string to a vector. But don't metize a character that is 8637 part of PREFIX. 8638 8639 * window.c (Qwindow_configuration_change_hook): New variable. 8640 (Vwindow_configuration_change_hook): New variable. 8641 (syms_of_window): Initialize; set up Lisp var. 8642 (delete_window): New subroutine, from Fdelete_window. 8643 Most callers changed. 8644 (Fdelete_window): Call Vwindow_configuration_change_functions. 8645 (Fset_window_buffer, Fenlarge_window, Fshrink_window): 8646 Call the Vwindow_configuration_change_functions. 8647 (Fset_window_configuration): Likewise. 8648 8649 * dispnew.c (change_frame_size_1): Call Fset_window_buffer, 8650 so that Vwindow_configuration_change_hook gets run. 8651 86521997-03-25 Erik Naggum <erik@naggum.no> 8653 8654 * process.c (Fopen_network_stream): Use same socket for in and out. 8655 86561997-03-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 8657 8658 * frame.c (frames_bury_buffer): New function. 8659 * buffer.c (Fbury_buffer): Call frames_bury_buffer. 8660 86611997-03-22 Mark W. Eichin <eichin@kitten.gen.ma.us> 8662 8663 * keyboard.c (make_lispy_event): Use iso_lispy_function_keys for 8664 XK_ISO_* keys found in XFree86. 8665 (ISO_FUNCTION_KEY_OFFSET): New macro. 8666 (iso_lispy_function_keys): New table. 8667 8668 * xterm.c (XTread_socket): Accept XK_ISO_* keys. 8669 86701997-03-19 Kenichi Handa <handa@etl.go.jp> 8671 8672 * xterm.c (dumpglyphs): Set a clipping region when we draw glyphs 8673 with a font of inappropriate size. 8674 (x_list_fonts): Try alternative fonts if we can't find a font of an 8675 appropriate size. 8676 8677 * fontset.c (Valternative_fontname_alist): New variable. 8678 (syms_of_fontset): Declare Lisp variable alternative-fontname-alist. 8679 8680 * fontset.h (Valternative_fontname_alist): Extern it. 8681 8682 * term.c (insert_glyphs): Fix a bug which turns up when 8683 TS_ins_multi_chars is 0. 8684 86851997-03-18 Kenichi Handa <handa@etl.go.jp> 8686 8687 * xterm.c (x_list_fonts): Comment about cached font list added. 8688 8689 * fns.c (map_char_table): Handle multibyte characters. 8690 8691 * lisp.h (CHAR_TABLE_ORDINARY_SLOTS): Change to 384 (== 256 + 128). 8692 (CHAR_TABLE_STANDARD_SLOTS): Adjusted for the above change. 8693 (CHAR_TABLE_SINGLE_BYTE_SLOTS): New macro. 8694 (CHAR_TABLE_REF, CHAR_TABLE_SET): New macros. 8695 8696 * data.c (Faref, Faset): Adjusted for the above change. 8697 8698 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY): Likewise. 8699 8700 * category.h (CATEGORY_SET): Likewise. 8701 8702 * category.c (Fmodify_category_entry): Likewise. 8703 8704 * keymap.c (describe_vector): Likewise. 8705 (push_key_description): A key code less than 512 is printed with 3 8706 octal numbers. Print only entries of valid charsets. 8707 8708 * disptab.h (GLYPH_FOLLOW_ALIASES): Assure that the resulting G 8709 contains valid character code. 8710 8711 * xdisp.c (copy_part_of_rope): Declare glyph as type GLYPH. For a 8712 invalid character code, use ' ' (space). 8713 (display_string, display_text_line): Check validity of character 8714 code before calling fix_glyph. 8715 8716 * term.c (encode_terminal_code): Check validity of character code. 8717 8718 * charset.h (MAX_CHARSET): Definition changed to the actual 8719 maximum valid charset. 8720 (MAX_CHAR): New macro. 8721 8722 * charset.c, coding.h, coding.c, fontset.h, fontset.c, xselect.c: 8723 Adjusted for the above change. 8724 8725 * charset.c (str_cmpchar_id): Return -1 if we have no more room 8726 for a new composite character. 8727 (Fmake_char_internal): Docstring is moved to lisp/mule.el. 8728 8729 * fontset.h (struct font_info): Typo in comment of 8730 `relative_compose' fixed. 8731 87321997-03-14 Karl Heuer <kwzh@gnu.ai.mit.edu> 8733 8734 * window.c (change_window_height): Handle shrink as well as enlarge. 8735 87361997-03-13 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 8737 8738 * buffer.c (reset_buffer): Initialize display_count slot. 8739 8740 * search.c (Freplace_match): Give error if 8741 NEWTEXT uses backslash in an invalid way. 8742 87431997-03-10 Karl Heuer <kwzh@gnu.ai.mit.edu> 8744 8745 * lisp.h (FAST_MAKE_GLYPH): Don't cast CHAR arg; character codes 8746 are now wider than C chars. 8747 87481997-03-09 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 8749 8750 * buffer.c (Fkill_buffer): Call frames_discard_buffer. 8751 (record_buffer): Move buffer to front of frame_buffer_list. 8752 (Fother_buffer): Use frame_buffer_list. 8753 8754 * frame.h (struct frame): New field buffer_list. 8755 8756 * frame.c (frame_buffer_list, set_frame_buffer_list): New functions. 8757 (store_frame_param): Handle buffer-list parameter. 8758 (Qbuffer_list): New variable. 8759 (syms_of_frame_1): Initialize it. 8760 (make_frame): Initialize buffer_list field. 8761 (Fframe_parameters): Handle buffer-list parameter. 8762 (frames_discard_buffer): New function. 8763 (make_frame): Initialize buffer_list. 8764 8765 * alloc.c (mark_object): Mark the buffer_list field. 8766 87671997-03-05 Ken'ichi Handa <handa@etl.go.jp> 8768 8769 * coding.c (decode_eol): Fix bug of converting CRLF to LF. 8770 87711997-03-05 NIIBE Yutaka <gniibe@mri.co.jp> 8772 8773 * indent.c (compute_motion): When POS >= TO, don't call 8774 find_before_next_newline as it assumes POS < TO. 8775 87761997-03-02 Ken'ichi Handa <handa@etl.go.jp> 8777 8778 * category.h (CATEGORY_SET): Cast arg C to 8779 `unsigned char' before indexing category table directly. 8780 87811997-03-01 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 8782 8783 * process.c (wait_reading_process_input): If wait_for_cell, 8784 ignore subprocess input and respond only to keyboard. 8785 (non_process_wait_mask): New variable. 8786 (add_keyboard_wait_descriptor): Update it. 8787 (delete_keyboard_wait_descriptor): Update it. 8788 (init_process): Initialize it. 8789 87901997-03-01 NIIBE Yutaka <gniibe@mri.co.jp> 8791 8792 * gmalloc.c [__GLIBC__ >= 2]: Don't declare __getpagesize. 8793 87941997-02-28 Tomohiko MORIOKA <morioka@jaist.ac.jp> 8795 8796 * coding.c (create_process, Fopen_network_stream): Typo in indexes 8797 of array proc_encode_coding_system fixed. 8798 87991997-02-28 Kenichi HANDA <handa@etl.go.jp> 8800 8801 * Makefile.in (lisp, shortlisp): Add lao.elc. 8802 8803 * buffer.c (init_buffer_once): Make member 8804 enable_multibyte_characters of struct buffer not always local. 8805 (reset_buffer): Do not reset b->enable_multibyte_characters. 8806 (syms_of_buffer): Declare default-enable-multibyte-characters. 8807 8808 * category.h (CATEGORY_SET): For a composite character, return 8809 category set of the first component. 8810 8811 * ccl.c (Fregister_ccl_program): Escape newlines in docstring. 8812 8813 * coding.h (struct iso2022_spec): Member requested_designation is 8814 changed to array of `char' just for saving memory. 8815 (CODING_FLAG_ISO_INIT_AT_BOL, CODING_FLAG_ISO_DESIGNATE_AT_BOL): 8816 New macros. 8817 8818 * coding.c (setup_coding_system): Now, flags of ISO2022 coding 8819 systems contains charsets instead of charset IDs. Correct setting 8820 coding->symbol and coding->eol_type. The performance improved. 8821 (encode_coding) : Fix typo ("=" -> "=="). 8822 (detect_coding_iso2022, decode_coding_iso2022): Make the code 8823 robust against invalid SI and SO. 8824 (ENCODE_RESET_PLANE_AND_REGISTER): Argument `eol' is deleted. 8825 Don't call ENCODE_DESIGNATION if nothing designated initially. 8826 (encode_designation_at_bol) New function. 8827 (encode_coding_iso2022): Handle CODING_FLAG_ISO_INIT_AT_BOL and 8828 CODING_FLAG_ISO_DESIGNATE_AT_BOL. 8829 (detect_coding_iso2022): Detect coding-category-iso-8-2 more 8830 precisely. 8831 (Ffind_coding_system, syms_of_coding): Escape newlines in 8832 docstring. 8833 8834 * charset.h (INC_POS, DEC_POS): Don't increase or decrease too 8835 much if there's binary code (invalid character code). 8836 8837 * data.c (Faref, Faset): Handle a composite char correctly in 8838 char-table. 8839 8840 * disptab.h (DISP_CHAR_VECTOR): Allow bare 8-bit in display-table. 8841 8842 * charset.c (Fcmpchar_cmp_rule): Escape newlines in docstring. 8843 8844 * editfns.c (Fuser_full_name): Likewise. 8845 8846 * fileio.c (Finsert_file_contents, Fwrite_region): Do not perform 8847 character code conversion if enable-multibyte-characters is nil. 8848 8849 * fontset.h (Vuse_default_ascent): Extern. 8850 8851 * fontset.c (syms_of_fontset): Intern Qfontset. Declare new lisp 8852 variable use-default-ascent. 8853 (Vuse_default_ascent): New variable. 8854 (Ffont_info): Return also the value of default-ascent of a font. 8855 (fs_load_font): Disable updating fontsetp->height by non-ASCII 8856 character sets. This should be enabled when Emacs supports 8857 variable height lines. 8858 (fs_load_font, Fset_fontset_font): Bug fix to cope 8859 with the change of charsets to symbols. 8860 8861 * keymap.c (describe_vector): Do not describe deeper char-table if 8862 enable-multibyte-characters is nil. 8863 8864 * process.c (proc_decode_coding_system, proc_encode_coding_system): 8865 Changed to array of pointers to struct coding_system to reduce the 8866 size of dumped Emacs. 8867 (create_process, Fopen_network_stream): Allocate them dynamically. 8868 (init_process): Initialize these pointers to NULL. 8869 (Fstart_process, Fopen_network_stream): Do not perform character 8870 code conversion if enable-multibyte-characters is nil. 8871 8872 * search.c (skip_chars): If enable-multibyte-characters is nil, 8873 don't handle multibyte characters. 8874 8875 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY): Cast arg C to 8876 `unsigned char' before indexing syntax table directly. 8877 8878 * syntax.c (init_syntax_once): Add trick to avoid compiler warning 8879 of "comparison is always 1 ...". 8880 (describe_syntax): Handle the case that the argument VALUE is 8881 char-table. 8882 8883 * xdisp.c (display_mode_line): Avoid error while compiling with 8884 --with-x=no. 8885 8886 * xfns.c (syms_of_xfns): Documentation of 8887 x-pixel-size-width-font-regexp modified. 8888 8889 * xselect.c (lisp_data_to_selection_data, selection_data_to_lisp_data): 8890 Remove prefix "coding-system-" from coding system symbol names. 8891 8892 * xterm.h (struct x_display_info): New member 8893 Xatom_MULE_DEFAULT_ASCENT. 8894 8895 * xterm.c (dumpglyphs): Pay attention to characters registered in 8896 use-default-ascent. Fill background in advance if font has 8897 non-zero _MULE_BASELINE_OFFSET property. 8898 (x_load_font, x_term_init): Handle font property 8899 _MULE_DEFAULT_ASCENT. 8900 89011997-02-28 NIIBE Yutaka <gniibe@mri.co.jp> 8902 8903 * sysdep.c: `ospeed' should be short if not HAVE_TERMIO_H. 8904 8905 * xdisp.c (display_text_line): Correct displaying multi-column 8906 binary data. 8907 (try_window_id): Display blank lines from the next line, when 8908 xp.bufpos == ZV. (This bug is introduced by changes of Mule). 8909 Compare height against xp.vpos instead of xp.bufpos. 8910 89111997-02-27 Erik Naggum <erik@naggum.no> 8912 8913 * lread.c (Fload): Call Vload_source_file_function with 4 args. 8914 89151997-02-22 Tsugutomo ENAMI <enami@ba2.so-net.or.jp> 8916 8917 * regex.c: Include charset.h and category.h 8918 8919 [!emacs] (BASE_LEADING_CODE_P, WORD_BOUNDARY_P, CHAR_HEAD_P) 8920 (SINGLE_BYTE_CHAR_P, SAME_CHARSET_P, MULTIBYTE_FORM_LENGTH) 8921 (STRING_CHAR_AND_LENGTH, GET_CHAR_AFTER_2, GET_CHAR_BEFORE_2): 8922 New dummy macros. 8923 8924 (enum re_opcode_t): New member categoryspec and 8925 notcategoryspec. 8926 8927 (STORE_CHARACTER_AND_INCR, EXTRACT_CHARACTER) 8928 (CHARSET_LOOKUP_RANGE_TABLE_WITH_COUNT) 8929 (CHARSET_LOOKUP_RANGE_TABLE, CHARSET_BITMAP_SIZE) 8930 (CHARSET_RANGE_TABLE_EXISTS_P, CHARSET_RANGE_TABL) 8931 (CHARSET_PAST_RANGE_TABLE): New macros. 8932 8933 (TRANSLATE): Cast return value to unsigned char, not char. 8934 8935 (struct range_table_work_area): New structure. 8936 8937 (EXTEND_RANGE_TABLE_WORK_AREA, SET_RANGE_TABLE_WORK_AREA) 8938 (FREE_RANGE_TABLE_WORK_AREA, CLEAR_RANGE_TABLE_WORK_USED) 8939 (RANGE_TABLE_WORK_USED, RANGE_TABLE_WORK_ELT): New macros. 8940 (FREE_STACK_RETURN): Call FREE_RANGE_TABLE_WORK_AREA. 8941 8942 (regex_compile): Declare `c' and `c1' as int to store 8943 multibyte characters. 8944 Declare range_table_work and initialize it. 8945 Initialize bufp->multibyte to 0 if not emacs. 8946 For case '[' and `default', code re-written to handle 8947 multibyte characters. 8948 Add code for case 'c' and 'C' to handle category spec. 8949 8950 (re_compile_fastmap): New local variables k, simple_char_max, 8951 and match_any_multibyte_characters. 8952 Use macro CHARSET_BITMAP_SIZE. 8953 Handle multibyte characters in cases charset, charset_not, 8954 wordchar, notwordchar, anychar, syntaxspec, notsyntaxspec, 8955 categoryspec, notcategoryspec. 8956 8957 (STOP_ADDR_VSTRING, POS_ADDR_VSTRING): New macros. 8958 8959 (re_search_2): Code re-written to handle multibyte characters. 8960 8961 (AT_WORD_BOUNDARY): Macro disabled. 8962 8963 (re_match_2_internal): New local variable multibyte. `d' is 8964 incremented while paying attention to multibyte characters if 8965 necessary. 8966 For case charset, charsetnot, wordbound, notwordbound, 8967 wordbeg, wordend, matchsyntax, and matchnotsyntax, code 8968 re-written to handle multibyte characters. 8969 Add code for case categoryspec and notcategoryspec. 8970 8971 * regex.h (struct re_pattern_buffer): New member multibyte. 8972 89731997-02-21 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 8974 8975 * window.c (Fset_window_buffer): Increment display_count 8976 if it is an integer. 8977 8978 * buffer.c (init_buffer_once): Set up display_count. 8979 (syms_of_buffer): Set up Lisp variable. 8980 8981 * buffer.h (struct buffer): New field display_count. 8982 89831997-02-20 NIIBE Yutaka <gniibe@mri.co.jp> 8984 8985 * dispnew.c (direct_output_forward_char): #if-0-out redundant 8986 check against truncated text at end of line. 8987 Add giving-up for buffers with reverse direction. 8988 (remake_frame_glyphs): Use FRAME_MESSAGE_BUF_SIZE 8989 instead of FRAME_WIDTH, as the message may include multi-byte 8990 character and the length may be longer than width. 8991 (width_run_cache_on_off): Disable width-run-cache when 8992 multi-byte characters are enabled. 8993 (skip_invisible): Don't put the boundary in the middle of 8994 multibyte characters. 8995 8996 * indent.c (current_column_bol_cache): New variable. This makes 8997 move_to_column faster. 8998 (current_column): Set current_column_bol_cache. 8999 (current_column_1): Likewise. 9000 (Fmove_to_column): Use current_column_bol_cache. 9001 9002 * xdisp.c (display_text_line): Introduce new local variable 9003 rev_dir_bit to display right to left characters (not yet used). 9004 * xdisp.c (message): Use FRAME_MESSAGE_BUF_SIZE. 9005 (redisplay_internal): Add canceling code for continuation at 9006 wide-column. 9007 (display_text_line): Don't just decrement left_edge->bufpos, 9008 it may be multi-byte character, use DEC_POS instead. 9009 90101997-02-20 NIIBE Yutaka <gniibe@mri.co.jp> 9011 9012 Handle multi-byte and wide-column character in computing columns. 9013 Note that we will find the continuation (linebreak) _AFTER_ it 9014 occurs. 9015 9016 * indent.c (current_column): When the buffer may have multi-byte 9017 characters, call current_column_1. 9018 (compute_motion): Handle multi-byte characters. 9019 (current_column_1): Likewise. 9020 (Fmove_to_column): Likewise. 9021 90221997-02-20 NIIBE Yutaka <gniibe@mri.co.jp> 9023 9024 Tab offset calculation changes. We need this change because the 9025 line may be less than WIDTH columns because of wide-character 9026 continuation. 9027 9028 * indent.h (struct position): New member tab_offset to accumulate 9029 tab offset. 9030 9031 * xdisp.c (try_window): Change the way of calculation of tab 9032 offset. We now use val.tab_offset to maintain tab offset. 9033 Removed local variable tab_offset. 9034 (try_window_id): Likewise. 9035 9036 * indent.c: Include "charset.h". 9037 (compute_motion): Remove the variable PREV_VPOS. 9038 Introduce new local variables (multibyte, wide_column, prev_pos, 9039 contin_hpos, prev_tab_offset) to handle multi-byte characters and 9040 wide-column characters. 9041 9042 (pos_tab_offset): Return COL (Modulo is no longer valid). 9043 Add the line to set tab_offset member. 9044 Use pos.tab_offset. 9045 90461997-02-20 NIIBE Yutaka <gniibe@mri.co.jp> 9047 9048 * window.c (Fpos_visible_in_window_p): Bug fix. Specify big 9049 negative number for the argument TOHPOS of compute_motion. 9050 We don't need to calculate to (HPOS==0), but can stop immediately 9051 when VPOS pasts HEIGHT. 9052 * xdisp.c (redisplay_window): Likewise. 9053 (try_window_id): Likewise. 9054 9055 * indent.c (pos_tab_offset): Specify "- (1 << (BITS_PER_SHORT - 1))" 9056 to express big negative number (for consistency with xdisp.c). 9057 90581997-02-20 NIIBE Yutaka <gniibe@mri.co.jp> 9059 9060 * indent.c (vmotion): Specify "1 << (BITS_PER_SHORT - 1)" to 9061 express "Don't care". 9062 * xdisp.c (tri_window_id): Likewise. 9063 9064 * dispnew.c (direct_output_forward_char): Bug fix. Add 9065 XFASTINT (w->left) for losing cursor check. 9066 90671997-02-20 Kenichi HANDA <handa@etl.go.jp> 9068 9069 * Makefile.in: The following changes are for new source codes 9070 related to Mule. 9071 (XOBJ): Include fontset.o. 9072 (obj): Include charset.o, coding.o, category.o, and ccl.o. 9073 (lisp, shortlisp): Include Mule related elc files. 9074 (buffer.o, cmds.o, dispnew.o, doprnt.o): Depend on charset.h. 9075 (editfns.o, indent.o, insdel.o, keymap.o): Depend on charset.h. 9076 (minibuf.o, xdisp.o, xfaces.o, xselect.o): Depend on charset.h. 9077 (data.o, print.o, lread.o): Depend on charset.h. 9078 (callproc.o, fileio.o, process.o, term.o): Depend on charset.h and 9079 coding.h. 9080 (regex.o, search.o, syntax.o): Depend on charset.h and category.h. 9081 (fontset.o): Depend on charset.h and fontset.h. 9082 (xterm.o): Depend on charset.h, ccl.h, and fontset.h. 9083 (category.o, ccl.o, charset.o, coding.o, fontset.o): New targets. 9084 9085 * alloc.c (Fmake_char_table): Typo in doc-string fixed. 9086 Handle the case that PURPOSE is nil (in a deeper char-table). 9087 (Fmake_bool_vector): Make correct size of Lisp_Object for 9088 bool-vector. 9089 9090 * buffer.c: Include charset.h. 9091 (Fget_buffer_create): Allocate an extra byte for a buffer, and 9092 make it always 0 for anchoring. 9093 (reset_buffer): Handle a new member `enable_multibyte_characters' 9094 in the struct buffer. 9095 (fix_overlay_before): New function. 9096 (init_buffer_once): Handle new members in the struct buffer. 9097 (syms_of_buffer): Declare new buffer local variables 9098 `enable-multibyte-characters' and `direction-reserved'. 9099 9100 * buffer.h (BEGV_ADDR, PT_ADDR, ZV_ADDR): Use macro POS_ADDR. 9101 (Z_ADDR, BUF_GPT_ADDR, BUF_Z_ADDR): New macros. 9102 (struct buffer): New members `category_table', 9103 `direction_reserved', and `enable-multibyte-characters'. 9104 (POS_ADDR): New macro used at all places instead of &FETCH_CHAR. 9105 (FETCH_BYTE): New macro used at any places to check the argument 9106 against an ASCII character. 9107 (FETCH_MULTIBYTE_CHAR): New macro used at any places to get a 9108 character code of the argument when it is known to be a multibyte 9109 character. 9110 (_fetch_multibyte_char_p, _fetch_multibyte_char_len): New 9111 variables. 9112 (FETCH_CHAR): Use macros FETCH_MULTIBYTE_CHAR and FETCH_BYTE. 9113 9114 * callint.c (doc-string of `interactive'): Describe new code 9115 letters `i', `z', and `Z'. 9116 (Fcall_interactively): Handle them. 9117 9118 * callproc.c: Include charset.h and coding.h. 9119 (Fcall_process): Perform character code conversion of a process 9120 arguments and the process output. 9121 (Fcall_process_region): Encode coding of a text given to a 9122 process. 9123 9124 * cmds.c: Include charset.h. 9125 (forward_point, Fforward_point): New functions. 9126 (Fforward_char, Fdelete_char): Handle multibyte characters by 9127 calling forward_point. 9128 (Fdelete_backward_char): Pay attention to multibyte characters 9129 in overwrite-mode. 9130 (internal_self_insert): Handle self inserting a multibyte 9131 character. 9132 (syms_of_cmds): Handle the new function Fforward_point. 9133 9134 * data.c: Include charset.h. 9135 (Qprocess): Now extern, not static. 9136 (Faref, Faset): Enable indexing a char table by a multibyte 9137 character. 9138 9139 * dispextern.h (struct face): New members `non_ascii_gc' and 9140 `fontset'. 9141 [HAVE_FACES]: New macros FACE_NON_ASCII_GC and FACE_FONTSET. 9142 9143 * dispnew.c: Include charset.h. 9144 (update_line): Handle wide-column characters. 9145 9146 * disptab.h (DISP_CHAR_VECTOR): Always return nil for multibyte 9147 characters. 9148 9149 * doprnt.c: Include charset.h. 9150 (doprn1): Handle multibyte characters. 9151 9152 * editfns.c: Include charset.h. 9153 (Fchar_to_string, Fstring_to_char): Handle multibyte characters. 9154 (Fsref): New function. 9155 (Fgoto_char): Force point to be at a character boundary. 9156 (Ffollowing_char, Fpreceding_char): Handle multibyte characters. 9157 (Fchar_after): Handle multibyte characters. 9158 (Fchar_before): New function. 9159 (general_insert_function): New function. 9160 (Finsert, Finsert_and_inherit, Finsert_before_markers): Use it. 9161 (Finsert_char): Doc-string refer to markers of 9162 before-insertion-type. Handle multibyte characters. 9163 (Fsubst_char_in_region): Handle multibyte characters. 9164 (Fchar_equal): Don't consider `case' of multibyte characters. 9165 (syms_of_editfns): Handle the new function `char-before'. 9166 9167 * emacs.c (main): Call several initialization function introduced 9168 by Mule. 9169 9170 * eval.c (init_eval_once): Increase max_lisp_eval_depth to 300. 9171 9172 * fileio.c: Include charset.h and coding.h. 9173 (READ_BUF_SIZE): New macro. 9174 (Finsert_file_contents): Refer to a coding system in the docstring. 9175 Perform character code conversion of a text read in. 9176 (Fwrite_region): Refer to a coding system in the docstring. 9177 Setup a coding system for character code conversion. 9178 Pass a new arg `pre_write_conversion' (Lisp function) to 9179 build_annotations. 9180 Pass a new arg `coding' to a_write. 9181 (build_annotations): Handle the new arg. 9182 (a_write): Handle the new arg `coding' by passing it to e_write. 9183 (WRITE_BUF_SIZE): New macro. 9184 (e_write): Perform character code conversion of a text to write 9185 out according to the new arg `coding'. 9186 9187 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray): 9188 Fix a bug of miscalculation of `size_in_chars' of a bool vector. 9189 (Fset_char_table_range): When range is vector, make the original 9190 char table deeper if necessary. 9191 9192 * frame.c: Include "charset.h" 9193 [HAVE_WINDOW_SYSTEM]: Include fontset.h. 9194 (make_frame): Allocate member `fontset_data' of the struct frame. 9195 (Fdelete_frame): Free the area for the member. 9196 9197 * frame.h (struct frame): New member `fontset_data'. 9198 (FRAME_MESSAGE_BUF_SIZE): New macro. 9199 9200 * insdel.c: Include charset.h. 9201 (gap_left, gap_right): Put an anchor `\0' at the end of GAP. 9202 (adjust_markers_for_insert): If any markers are adjusted, check 9203 and fix the order of overlays in overlays_before. 9204 (make_gap): Allocate an extra byte and set to `\0' for anchoring. 9205 (insert1, insert_from_buffer_1): Put an anchor `\0' at the head of 9206 GAP. 9207 9208 * keyboard.c (command_loop_1): Pay attention to a multibyte 9209 character while handling forward-char and backward-char. 9210 [!HAVE_NTGUI && XK_kana_A] (lispy_kana_keys): New variable. 9211 [!HAVE_NTGUI] (lispy_function_keys): New variable. 9212 (make_lispy_event) [XK_kana_A]: Handle kana keys. 9213 9214 * keymap.c: Include charset.h. 9215 (push_key_description): If enable-multibyte-characters is t, use 9216 octal representation for a code of range 128..255 as binary. 9217 (Ftext_char_description): Handle multibyte characters. 9218 (describe_vector): Provide prettier description of a char table 9219 which contains multibyte characters. 9220 9221 * lisp.h (CHARACTERBITS, GLYPH_MASK_REV_DIR): New macros. 9222 (GLYPH_MASK_PADDING, GLYPH_MASK_FACE, GLYPH_MASK_CHAR): New macros. 9223 [HAVE_FACES] (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE): 9224 Use CHARACTERBITS. 9225 [!HAVE_FACES] (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE): 9226 New macros. 9227 [!HAVE_FACES] (GLYPH_CHAR, GLYPH_FACE): Mask appropriate bits. 9228 (Fcoding_system_p, Fcheck_coding_system): Declare external. 9229 (Fread_coding_system, Fread_non_nil_coding_system): Likewise. 9230 9231 * lread.c: Include charset.h. 9232 (Vload_source_file_function): New variable. 9233 (Fload): Call Vload_source_file_function if defined while loading 9234 an Emacs Lisp source file. */ 9235 (read_multibyte): New function. 9236 (read_escape): Handle multibyte characters. 9237 (read1): Correct the value of size_in_chars of a bool vector. 9238 Handle the case `?' is followed by a multibyte character. 9239 (Vload_source_file_function): New variable. 9240 9241 * minibuf.c: Include charset.h. 9242 (read_minibuf): Pay attention to multibyte characters in the arg 9243 INITIAL while handling the arg BACKUP_N. 9244 (scmp, Fminibuffer_complete_word): Handle multibyte characters. 9245 9246 * print.c: Include charset.h. 9247 (printchar, strout): Handle multibyte characters. 9248 (print): Correct the value of size_in_chars of a bool vector. 9249 9250 * process.c: Include charset.h and coding.h. 9251 (proc_decode_coding_system, proc_encode_coding_system): New 9252 variables. 9253 (Fstart_process, create_process, Fopen_network_stream): Setup 9254 coding systems for character code conversion. 9255 (READ_CHILD_OUTPUT): New macro. 9256 (read_process_output): Perform character code conversion of a 9257 process output. 9258 (send_process): Perform character code conversion of a text sent 9259 to a process. 9260 (Fset_process_coding_system, Fprocess_coding_system): New 9261 functions. 9262 (syms_of_process): Handle them. 9263 9264 * process.h (struct Lisp_Process): New members 9265 decode_coding_system, decoding_buf, encode_coding_system, and 9266 encoding_buf. 9267 9268 * puresize.h (BASE_PURESIZE): Increase. 9269 9270 * search.c: Include category.h and charset.h. 9271 (compile_pattern_1): Handle new argument `multibyte'. 9272 (compile_pattern): Handle the flag `enable-multibyte-characters'. 9273 (Vascii_downcase_table): Declare external. 9274 (fast_string_match_ignore_case): New function. 9275 (skip_chars): Handle multibyte characters. 9276 (trivial_regexp_p): Handle regular expression "\\Cc" and "\\CC" 9277 for category. 9278 9279 * syntax.c: Include charset.h and category.h. 9280 (Vsyntax_code_object): New variable. 9281 (Fmodify_syntax_entry): Handle multibyte characters. A multibyte 9282 character in matching parenthesis is also handled correctly. Use 9283 shared object in the vector Vsyntax_code_object for an ASCII 9284 character. 9285 (describe_syntax): Handle a multibyte character in matching 9286 parenthesis. 9287 (describe_syntax_1): Describe also parent syntax tables. 9288 (scan_words, Fforward_comment): Handle multibyte characters. 9289 (scan_lists, char_quoted, Fbackward_prefix_chars): Likewise. 9290 (scan_sexps_forward): Likewise. 9291 (init_syntax_once): Initialize Vsyntax_code_object. 9292 Initialize Vstandard_syntax_table by share objects in 9293 Vsyntax_code_object. 9294 (syms_of_syntax): Staticpro Vsyntax_code_object. 9295 9296 * syntax.h (SET_RAW_SYNTAX_ENTRY): Handle syntax of multibyte 9297 characters. 9298 (SYNTAX_ENTRY_FOLLOW_PARENT): New macro. 9299 (SYNTAX_ENTRY): Handle syntax of multibyte characters. 9300 (SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH): Don't signal error even 9301 if a syntax entry is not cons. 9302 9303 * term.c: Include charset.h and coding.h. 9304 (TS_end_italic_mode, TS_italic_mode, TS_bold_mode): New variables. 9305 (TS_end_bold_mode, TS_end_underscore_mode): New variables. 9306 (TS_underscore_mode): New variable. 9307 (encode_terminal_code): New function. 9308 (write_glyphs, insert_glyphs): Perform character code conversion 9309 on output to a terminal. 9310 (term_init): Initialize TS_bold_mode, TS_end_bold_mode, 9311 TS_end_underscore_mode, and TS_underscore_mode. 9312 9313 * xdisp.c: Include charset.h, coding.h, and process.h. 9314 (display_text_line): Handle multibyte characters. 9315 (display_mode_line): Pay attention to wide-column characters. 9316 (decode_mode_spec_coding): New function. 9317 (decode_mode_spec): Handle %-constructs `%z' and `%Z' to print 9318 coding system mnemonics. 9319 (display_string): Handle multibyte characters. 9320 9321 * xfaces.c: Include charset.h. 9322 (allocate_face, copy_face, face_eq1): Handle member `fontset' of 9323 struct face, i.e. initialize, copy, and check it. 9324 (intern_face, clear_face_cache): Handle member `non_ascii_gc' of 9325 struct face, i.e. initialize and free it. 9326 (free_frame_faces): Unload font only when fontset is not used. 9327 Free non_ascii_gc. 9328 (frame_update_line_height, merge_faces, compute_base_face): Handle 9329 fontset. 9330 (recompute_base_faces): Free non_ascii_gc. 9331 (Fset_face_attribute_internal): Handle fontset. 9332 9333 * xfns.c: Include charset.h and fontset.h. 9334 (Vx_pixel_size_width_font_regexp): New variable. 9335 (x_set_font): Handle fontset. 9336 (Fx_create_frame): Create fontsets in Vglobal_fontset_alist. 9337 (Fx_list_fonts): Handle fontset. 9338 (syms_of_xfns): Initialize Vx_pixel_size_width_font_regexp. 9339 Setting callback functions for fontset handler. 9340 9341 * xselect.c: Include charset.h and coding.h. 9342 (QCOMPOUND_TEXT): New variable. 9343 (symbol_to_x_atom): Handle it. 9344 (selection_data_to_lisp_data): Decode a selection data if 9345 selection type is TEXT or COMPOUND_TEXT. 9346 (lisp_data_to_selection_data): Encode a text to COMPOUND_TEXT if 9347 it contains multibyte characters. 9348 (syms_of_xselect): Initialize and staticpro QCOMPOUND_TEXT. 9349 9350 * xterm.c: Include charset.h, ccl.h, and fontset.h. 9351 (PER_CHAR_METRIC): New macro. 9352 (dumpglyphs): New argument CMPCHARP. Handle multibyte characters. 9353 (XTwrite_glyphs, redraw_previous_char, redraw_following_char): 9354 Supply argument CMPCHARP to dumpglyphs. 9355 (dumprectangle): Display whole glyph of wide-column characters. 9356 Supply argument CMPCHARP to dumpglyphs. 9357 (show_mouse_face): Supply argument CMPCHARP to dumpglyphs. 9358 (x_draw_box): Pay attention to wide-column characters. 9359 (x_draw_single_glyph): Supply argument CMPCHARP to dumpglyphs. 9360 (x_new_font): Call fs_load_font for actual font loading work. 9361 (x_new_fontset): New function. 9362 (x_get_font_info, x_list_fonts, x_load_font, x_query_font): New 9363 functions providing API to fontset handler. 9364 (x_term_init): Initialize several new members of struct x_display_info. 9365 9366 * xterm.h (struct font_info): This definition is moved to 9367 fontset.h. 9368 (struct x_display_info): New members Xatom_PIXEL_SIZE, 9369 Xatom_MULE_BASELINE_OFFSET, Xatom_RELATIVE_COMPOSE, and null_pixel. 9370 (x_list_fonts, x_get_font_info, x_load_font, x_query_font): 9371 Declare external. 9372 (struct x_output): New members font_baseline and fontset. 9373 (FRAME_FONTSET, FRAME_X_FONT_TABLE): New macros. 9374 9375 * category.h, category.c, ccl.h, ccl.c, charset.h: New files. 9376 * charset.c, coding.h, coding.c, fontset.h, fontset.c: New files. 9377 93781997-02-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9379 9380 * print.c (print): Generate a backslash in \2e10. 9381 93821997-02-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9383 9384 * window.c (change_window_height): Take size from multiple siblings, 9385 nearest ones first, when that can be done without deleting any of them. 9386 93871997-02-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9388 9389 * minibuf.c (Fminibuffer_message): New function. 9390 (syms_of_minibuf): Set up Lisp function. 9391 9392 * syntax.c (scan_lists): Signal errors using scan-error. 9393 (syms_of_syntax): Set up Qscan_error. 9394 93951997-02-06 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9396 9397 * lread.c (Feval_buffer): Doc fix. 9398 93991997-02-03 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9400 9401 * window.c (scroll_preserve_screen_position): New variable. 9402 (keys_of_window): Set up Lisp var. 9403 (window_scroll): If scroll_preserve_screen_position is 0, 9404 behave the old way (advancing point the minimum distance). 9405 94061997-02-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9407 9408 * emacs.c (main): Don't extend stack limit too far. 9409 9410Sun Feb 2 10:36:26 1997 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> 9411 9412 * msdos.c (dos_rawgetc): When international keyboard doesn't have 9413 to be supported, recognize Alt-key combinations even if the Alt 9414 key is no longer pressed. 9415 94161997-01-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9417 9418 * xfns.c (Vx_resource_class): New variable. 9419 (syms_of_xfns): Set up Lisp variable. 9420 (Fx_get_resource, x_window): Use Vx_resource_class. 9421 (validate_x_resource_name): Ensure Vx_resource_class is a string. 9422 94231997-01-27 Paul Eggert <eggert@twinsun.com> 9424 9425 * data.c (isnan): Define even if LISP_FLOAT_TYPE is not defined, 9426 since fmod might need it. 9427 (fmod): Ensure that the magnitude of the result does not exceed that 9428 of the divisor, and that the sign of the result does not disagree with 9429 that of the dividend. This does not yield a 9430 particularly accurate result, but at least it will be in the 9431 range promised by fmod. 9432 9433 * doprnt.c: Include <float.h> if STDC_HEADERS. 9434 (DBL_MAX_10_EXP): Define if not defined; default is IEEE double. 9435 (doprnt1): Allocate enough buffer space to handle very large floating 9436 point numbers, or very large field widths or precisions. 9437 Detect overflow in field widths or precisions. 9438 94391997-01-26 Karl Heuer <kwzh@gnu.ai.mit.edu> 9440 9441 * config.in (HAVE_RINT, HAVE_CBRT): Add undefs. 9442 94431997-01-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9444 9445 * lread.c (openp): Handle remote file names in path. 9446 Don't use the path for an absolute name. 9447 (Fload): Handle openp finding a remote file name. 9448 94491997-01-25 Karl Heuer <kwzh@gnu.ai.mit.edu> 9450 9451 * floatfns.c [!HAVE_RINT] (rint): Convert macro to an actual 9452 function, so we can take its address. 9453 94541997-01-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 9455 9456 * indent.c (pos_tab_offset): Take the width of the minibuffer 9457 prompt into account. 9458 (vmotion): In calls to compute_motion use a value for tab_offset 9459 that is corrected by the minibuffer prompt width. 9460 9461 * xdisp.c (try_window): Remove frobnication of tab_offset in a 9462 minibuffer window. 9463 (display_text_line): Likewise, for the taboffset parameter. 9464 94651997-01-24 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9466 9467 * lread.c (Qinhibit_file_name_operation): New variable. 9468 (syms_of_lread): Initialize and staticpro. 9469 (Fload): Bind inhibit-file-name-operation to nil. 9470 94711997-01-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9472 9473 * eval.c (unbind_to, specbind): Use set_internal. 9474 9475 * data.c (set_internal): New subroutine. New arg BINDFLAG. 9476 Don't make a new buffer-local binding if BINDFLAG is 0. 9477 (Fset): Use set_internal. 9478 94791997-01-21 Paul Eggert <eggert@twinsun.com> 9480 9481 * editfns.c (set_time_zone_rule_tz1, set_time_zone_rule_tz2): 9482 Put "+" in value; needed if we are a Solaris 1 executable 9483 running under Solaris 2. 9484 Define these variables only if LOCALTIME_CACHE is defined. 9485 94861997-01-21 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> 9487 9488 * msdos.c (run_msdos_command): Remove unused variables. 9489 (crlf_to_lf): Remove unused variables. 9490 (Fmsdos_downcase_filename): Remove unused variable. 9491 (IT_set_frame_parameters): Declare prototypes for external functions. 9492 (IT_set_frame_parameters): Correct format specifier. 9493 (IT_set_terminal_modes): Remove unused variable. 9494 (top level): Add header files which declare used functions. 9495 94961997-01-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9497 9498 * Makefile.in (stamp-oldxmenu): New target. 9499 (temacs): Depend on stamp-oldxmenu, not on ${OLDXMENU}. 9500 95011997-01-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9502 9503 * lisp.h (FAST_MAKE_GLYPH): Rename args to CHAR and FACE. 9504 Cast CHAR to unsigned char before using it. 9505 9506 * xterm.c (dumpglyphs): Declare g as GLYPH. 9507 95081997-01-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9509 9510 * term.c (fatal): Print a newline at the end. 9511 (term_init): Calls to fatal changed. 9512 9513 * eval.c (Fsignal): Call fatal if no error handlers and no catch. 9514 9515 * dispnew.c (init_display): Check for overflow in screen size. 9516 Use `fatal'. 9517 95181997-01-19 Geoff Voelker <voelker@cs.washington.edu> 9519 9520 * w32.c (init_environment): Rebuild Vsystem_configuration at startup. 9521 9522 * w32gui.h: Update include conditionals to use new name. 9523 9524 * w32gui.h: Renamed from win32.h. 9525 * dispextern.h, w32term.h, makefile.nt: Use new name w32gui.h. 9526 * makefile.nt: Update header comment. 9527 9528 * w32console.c (initialize_w32_display): Renamed from 9529 initialize_win_nt_display. 9530 * term.c (term_init): Use new name initialize_w32_display. 9531 9532 * w32.c, w32console.c, w32faces.c, w32fns.c, w32heap.c, 9533 * w32inevt.c, w32menu.c, w32proc.c, w32select.c, w32term.c, 9534 * w32xfns.c, win32.h, w32inevt.h, w32term.h: Change all uses of win95, 9535 winnt, and win32 into Windows 95, Windows NT, and W32, respectively. 9536 Expand "win" substring in variables referring to Microsoft Windows 9537 constructs into "windows". 9538 Canonicalize header comments to use same terminology. 9539 95401997-01-18 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9541 9542 * search.c (skip_chars): Optimize by not calling SET_PT in the loop. 9543 95441997-01-16 Erik Naggum <erik@naggum.no> 9545 9546 * keymap.c (push_key_description): Print C-j, not LFD. 9547 95481997-01-16 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> 9549 9550 * msdos.c (XMenuActivate): Don't allow non-positive menu 9551 coordinates. 9552 95531997-01-15 Eli Zaretskii <eliz@is.elta.co.il> 9554 9555 * keyboard.c (interrupt_signal): Make emergency exit work on MSDOS 9556 frames. Block further SIGINTs while `interrupt_signal' runs. 9557 9558 * msdos.c (sigprocmask, sig_suspender): New functions, implement 9559 signal blocking on MSDOS. 9560 95611997-01-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9562 9563 * s/hpux9.h (HAVE_PSTAT_GETDYNAMIC): New definition. 9564 95651997-01-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9566 9567 * w32.c (get_emacs_configuration): Return windows95 instead of win95. 9568 95691997-01-13 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9570 9571 * dispnew.c (change_frame_size_1): Reject new sizes if they cause 9572 overflow. 9573 95741997-01-13 Eli Zaretskii <eliz@is.elta.co.il> 9575 9576 * emacs.c (init_cmdargs) [MSDOS]: Allow `installation-directory' 9577 to be set if either `lib-src' or `info' are found as its 9578 subdirectories or siblings. 9579 95801997-01-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9581 9582 * fns.c (concat): Take modulus of thisindex before shifting. 9583 Declare thisindex as unsigned. 9584 95851997-01-12 Geoff Voelker <voelker@cs.washington.edu> 9586 9587 * w32menu.c (x-popup-menu): Pass in insist flag to mouse_position_hook. 9588 95891997-01-11 Paul Eggert <eggert@twinsun.com> 9590 9591 * floatfns.c (rounding_driver): New function for systematic support of 9592 2-argument rounding functions, so that `floor' isn't the only one 9593 that supports 2 arguments. 9594 (Fceiling, Ffloor, Fround, Ftruncate): Use it. 9595 (ceiling2, floor2, round2, truncate2, double_identity): New functions. 9596 (syms_of_floatfns): Define ceiling, round, and truncate even if 9597 LISP_FLOAT_TYPE is not defined. 9598 95991997-01-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9600 9601 * lread.c (read1): Round size of bool-vector properly. 9602 9603 * print.c (print): Round size of bool-vector properly. 9604 9605 * lread.c (read1): Fix error messages. 9606 96071997-01-09 Steve Nygard <nygard@telusplanet.net> 9608 9609 * unexnext.c: Include <mach-o/reloc.h>. 9610 (fgrowth): Initialize to zero. 9611 (vmaddr_growth, dataseg_vmaddr, dataseg_vmend): New variables. 9612 [NS_TARGET] (extreloff, nextrel, dysymtab, reloc_info): New variables. 9613 (unexec_doit): Adjust file offsets of segments that follow the 9614 enlarged data segment. Adjust vmaddr of the SEG_LINKEDIT segment that 9615 follows the data segment. 9616 [NS_TARGET] (unexec_doit): Adjust file offsets in the LC_DYSYMTAB load 9617 command that follows the data segment. Zero out relocation entries 9618 that fall within the data segment. 9619 96201997-01-07 Karl Berry <karl@cs.umb.edu> 9621 9622 * filelock.c (LOCK_PID_MAX): Use sizeof (unsigned long) instead 9623 of hardwiring 21. 9624 (lock_file_1): Use LOCK_PID_MAX when allocating lock_info_str 9625 instead of hardwiring 21. 9626 96271997-01-06 Eli Zaretskii <eliz@is.elta.co.il> 9628 9629 * msdos.c (bright_bg): Save the original state of video blink bit. 9630 (maybe_enable_blinking): New function, restores the original state 9631 of the blink bit. 9632 (IT_reset_terminal_modes): Restore the original state of the blink 9633 bit when suspending/exiting. 9634 (run_msdos_command): Make sure bright background colors are again 9635 enabled after subsidiary program returns. 9636 96371997-01-06 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9638 9639 * data.c (Fset_default): For a BUFFER_OBJFWD, store into 9640 buffer_defaults even if mask < 0. 9641 96421997-01-04 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9643 9644 * keyboard.c (command_loop_1, read_char): 9645 Run Qecho_area_clear_hook when clearing echo area. 9646 (Qecho_area_clear_hook): New variable. 9647 (syms_of_keyboard): Initialize it. 9648 9649 * buffer.c (Fpop_to_buffer): New arg NORECORD. 9650 96511997-01-04 Geoff Voelker <voelker@cs.washington.edu> 9652 9653 * w32proc.c (compare_env, merge_and_sort_env): New functions. 9654 (sys_spawnve): Sort environment variables for subprocess. 9655 (ppid_env_var_buffer): Variable deleted. 9656 96571997-01-02 Karl Berry <karl@cs.umb.edu> 9658 9659 * filelock.c (lock_info_type): Declare pid as unsigned long 9660 instead of int. 9661 (lock_file_1): Use %lu instead of %d in printf. 9662 96631997-01-01 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9664 9665 * cmds.c (internal_self_insert): Check the property 9666 on the hook, not on the abbrev symbol. 9667 9668 * dispnew.c (update_frame): Call detect_input_pending 9669 for X as well as for termcap frames. 9670 96711996-12-31 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9672 9673 * bytecode.c (HANDLE_RELOCATION): New macro. 9674 (MAYBE_GC): Call HANDLE_RELOCATION. Swallow following semicolon. 9675 (Fbyte_code): Use HANDLE_RELOCATION. 9676 96771996-12-31 Paul Eggert <eggert@twinsun.com> 9678 9679 * s/nextstep.h, s/sco4.h (BROKEN_MKTIME): New macro. 9680 * Makefile.in (MKTIME_OBJ), config.in (mktime): 9681 Use BROKEN_MKTIME to determine whether mktime is broken. 9682 96831996-12-30 Paul Eggert <eggert@twinsun.com> 9684 9685 * data.c, floatfns.c: <float.h>: Include if STDC_HEADERS. 9686 (IEEE_FLOATING_POINT): New symbol. 9687 * data.c (float_arith_driver, Fmod), floatfns.c (Ffloor): 9688 Test for division by 0 only if ! IEEE_FLOATING_POINT. 9689 * floatfns.c (fmod_float): New function. 9690 9691 * Makefile.in (MKTIME_OBJ): Use our mktime instead of SCO 9692 3.2v4.2's, since SCO's botches time arithmetic as used by display-time. 9693 96941996-12-30 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9695 9696 * bytecode.c (Fbyte_code): Add error check for jumping out of range. 9697 9698 * s/hiuxmpp.h, m/sr2k.h: New files. 9699 97001996-12-29 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9701 9702 * Makefile.in (process.o): Depend on blockinput.h. 9703 9704 * process.c: Include blockinput.h. 9705 (create_process): Block input around the fork. 9706 97071996-12-27 Karl Berry <karl@owl.HQ.Ileaf.COM> 9708 9709 * filelock.c: Total rewrite. 9710 97111996-12-26 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9712 9713 * data.c (Ffset): Change argument name and doc string. 9714 (Fdefalias): Likewise. 9715 97161996-12-26 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 9717 9718 * xterm.c (x_iconify_frame): Clear visible when we set iconified. 9719 97201996-12-25 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 9721 9722 * window.c (window_scroll): Preserve vpos of point 9723 if we cannot preserve the actual position of it. 9724 Make it static. New arg WHOLE; callers changed. 9725 9726 * keyboard.c (read_char_x_menu_prompt): Unread and record all the 9727 input events from here. 9728 (record_menu_key): New subroutine. 9729 9730 * xmenu.c (single_keymap_panes): New arg DEPTH. 9731 Cut off recursion at that depth. Callers changed. 9732 97331996-12-23 Eli Zaretskii <eliz@is.elta.co.il> 9734 9735 * msdos.c (dos_set_keyboard): Test whether KEYB.COM is installed 9736 for international keyboard support. 9737 (dos_get_modifiers): If international keyboard support is NOT 9738 required, make both Right and Left Alt key behave like Meta key. 9739 97401996-12-22 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 9741 9742 * emacs.c (standard_args): Add -find-file and -visit. 9743 9744 * cmds.c (internal_self_insert): If the abbrev has no expansion, 9745 just a hook, inhibit the insertion of the character. 9746 9747 * abbrev.c (Fexpand_abbrev): Return the abbrev symbol, 9748 or nil if no expansion. 9749 97501996-12-20 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9751 9752 * xdisp.c (try_window): Add error check for POS. 9753 97541996-12-19 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9755 9756 * s/nextstep.h (LD_SWITCH_SYSTEM): Use just -X. 9757 (LIB_STANDARD): Alternate definition if NS_TARGET. 9758 9759 * xfns.c (x_set_title): Check data type of NAME. 9760 9761 * search.c (Fmatch_data): Doc fix. 9762 97631996-12-19 Werner Benger <werner@ast1.uibk.ac.at> 9764 9765 * keyboard.c (modify_event_symbol): 9766 Don't index thru name_table if it is null. 9767 97681996-12-19 Erik Naggum <erik@naggum.no> 9769 9770 * process.c (read_process_output, exec_sentinel): 9771 * w32menu.c (set_frame_menubar): 9772 * xdisp.c (prepare_menu_bars, update_menu_bar): 9773 * xmenu.c (set_frame_menubar): 9774 Call Fmatch_data with new explicit arguments. 9775 97761996-12-18 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9777 9778 * search.c (Fmatch_data): New args INTEGERS and REUSE. 9779 9780 * process.c (send_process) [EMACS_HAS_USECS]: 9781 When we wait for the buffer to clear, wait just .02 second. 9782 9783 * intervals.c (adjust_intervals_for_insertion): 9784 Be smarter about when to split an interval 9785 for properties that are not sticky on either side. 9786 9787 * intervals.h (FRONT_NONSTICKY_P): New macro. 9788 9789 * intervals.c (set_point): Use virtual bounds, not real bounds, 9790 in the abort test for POSITION. 9791 Skip the intangibility test if POSITION is at either end of buffer. 9792 97931996-12-18 Jonathan I. Kamens <jik@annex-1-slip-jik.cam.ov.com> 9794 9795 * config.in (HAVE_LIBMAIL, HAVE_MAILLOCK_H, HAVE_TOUCHLOCK): 9796 Add #undefs. 9797 97981996-12-16 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9799 9800 * fileio.c (Finsert_file_contents): Handle BEG and END non-nil 9801 when REPLACE is non-nil. 9802 98031996-12-15 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9804 9805 * intervals.c (merge_properties_sticky): Don't discard explicit nil 9806 properties. Don't put on a front-sticky property if we inherit 9807 one from the category that does the job. 9808 9809 * config.in (HAVE_LIMITS_H): Add #undef. 9810 98111996-12-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9812 9813 * intervals.c (set_point): Check for intangible properties 9814 on overlays. 9815 9816 * textprop.c (Fnext_char_property_change): New function. 9817 (Fprevious_char_property_change): New function. 9818 (syms_of_textprop): defsubr them. 9819 98201996-12-14 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> 9821 9822 * editfns.c (Fuser_full_name): Return nil if the specified user 9823 doesn't exist. 9824 (init_editfns): Set Vuser_full_name to "unknown" if the user name 9825 can't be resolved. 9826 98271996-12-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9828 9829 * strftime.c: Replace this with the version from libc. 9830 98311996-12-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9832 9833 * xfns.c (x_set_scroll_bar_width): Reject a width that's too small. 9834 98351996-12-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9836 9837 * buffer.c (syms_of_buffer): Doc fix (transient-mark-mode). 9838 98391996-12-10 Andrew Innes <andrewi@harlequin.co.uk> 9840 9841 * fileio.c (Fwrite_region): Be careful not to destroy contents of 9842 existing file when appending. 9843 98441996-12-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9845 9846 * fileio.c (Fread_file_name_internal): Verify STRING is a string. 9847 (Fread_file_name): Don't insert DIR or INITIAL if it isn't a string. 9848 98491996-12-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9850 9851 * s/aix4-2.h: New file. 9852 98531995-12-08 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> 9854 9855 * editfns.c (Fuser_full_name): Use build_string instead of make_string. 9856 98571996-12-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 9858 9859 * callproc.c (Fcall_process_region): Define missing local `count'. 9860 9861 * xdisp.c (message2_nolog): Handle minibuffer_auto_raise. 9862 9863 * minibuf.c (syms_of_minibuf): Doc fix. 9864 98651996-12-07 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> 9866 9867 * editfns.c (Fuser_full_name): Accept a string (the login name) as 9868 a parameter. Do ampersand expansion, if required. 9869 (init_editfns): Use it. 9870 98711996-12-06 Eli Zaretskii <eliz@is.elta.co.il> 9872 9873 * msdos.c (IT_cmgoto): Don't update FRAME_CURSOR_X when the cursor 9874 is in echo area. 9875 98761996-12-05 Erik Naggum <erik@naggum.no> 9877 9878 * keyboard.c (syms_of_keyboard): Doc fix. 9879 98801996-11-28 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 9881 9882 * callproc.c (Vtemp_file_name_pattern): New variable. 9883 (syms_of_callproc): Set up Lisp variable. 9884 (init_callproc): Initialize it. 9885 (Fcall_process_region): Use it. 9886 9887 * bytecode.c (MAYBE_GC): New macro. 9888 (Fbyte_code): Use MAYBE_GC in every goto opcode. 9889 98901996-11-25 Karl Heuer <kwzh@gnu.ai.mit.edu> 9891 9892 * editfns.c (Fline_beginning_position, Fline_end_position): New fns. 9893 * cmds.c (Fend_of_line, Fbeginning_of_line): 9894 Use Fline_beginning_position, Fline_end_position. 9895 * lisp.h (Fend_of_line, Fbeginning_of_line): Declared. 9896 98971996-11-23 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 9898 9899 * window.c (window_scroll): Don't set w->start or w->force_start 9900 if signaling an error. 9901 9902 * xmenu.c (Vmenu_updating_frame): New variable. 9903 (syms_of_xmenu): Set up Lisp var. 9904 (Fx_popup_menu, set_frame_menubar): Initialize it. 9905 99061996-11-23 Erik Naggum <erik@naggum.no> 9907 9908 * keyboard.c (syms_of_keyboard): Doc fix for num-input-keys. 9909 99101996-11-22 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> 9911 9912 * editfns.c (Fuser_full_name): Accept an optional UID and return 9913 the full name of that user instead. 9914 99151996-11-20 Andrew Innes <andrewi@harlequin.co.uk> 9916 9917 * w32fns.c (w32_wnd_proc): Use dummy message to wake up thread on 9918 quit_char. 9919 99201996-11-19 Eli Zaretskii <eliz@is.elta.co.il> 9921 9922 * msdos.c [__DJGPP__ >= 2] (dos_direct_output): Faster method of 9923 writing characters to the screen. 9924 (SCREEN_SET_CURSOR): Remove. 9925 (IT_display_cursor): New function, to turn the cursor on and off. 9926 (IT_cmgoto): New function, sets the cursor to its final position 9927 whenever frame update is complete. 9928 (internal_terminal_init): Set IT_cmgoto as the hook to be called 9929 when frame is up to date. 9930 (dos_rawgetc): Call IT_cmgoto instead of the SCREEN_SET_CURSOR 9931 macro (which is gone now). 9932 (XMenuActivate): Turn off the cursor while the menu is displayed, 9933 to prevent it from showing through the menu panes. 9934 99351996-11-19 Geoff Voelker <voelker@cs.washington.edu> 9936 9937 * w32.c, w32.h: Renamed from nt.c, nt.h. 9938 * w32heap.c, w32heap.h: Renamed from ntheap.c, ntheap.h. 9939 * w32inevt.c, w32inevt.h: Renamed from ntinevt.c, ntinevt.h. 9940 * w32proc.c: Renamed from ntproc.c. 9941 * w32console.c: Renamed from w32term.c. 9942 * unexw32.c: Renamed from unexnt.c. 9943 * s/ms-w32.h: Renamed from s/windowsnt.h. 9944 9945 * dispnew.c (init_display) [HAVE_NTGUI]: Use w32 for window-system. 9946 9947 * Makefile.in, callproc.c, makefile.nt: Use new names for w32 files. 9948 99491996-11-18 Geoff Voelker <voelker@cs.washington.edu> 9950 9951 * emacs.c, frame.c, frame.h, keyboard.c, nt.c, nt.h, 9952 * ntheap.c, ntheap.h, ntinevt.c, ntinevt.h, ntproc.c, ntterm.c, 9953 * termhooks.h, unexnt.c, w32faces.c, w32fns.c, w32menu.c, w32reg.c, 9954 * w32select.c, w32term.c, w32term.h, w32xfns.c, s/windowsnt.h: 9955 Change identifiers of the form win32* to w32*. 9956 9957 * window.c (special-display-p, same-window-p): Add missing 9958 newlines and backslashes in help strings. 9959 99601996-11-12 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9961 9962 * xdisp.c (redisplay_window): When handling scroll_conservatively, 9963 scroll a little farther for the sake of scroll_margin. 9964 99651996-11-11 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9966 9967 * abbrev.c (Fexpand_abbrev): If the abbrev's expansion is nil, 9968 don't expand it, but do still call the hook. 9969 (Fdefine_abbrev): Allow anything for EXPANSION. 9970 9971 * frame.c (Fmodify_frame_parameters): Use alist in reverse order. 9972 99731996-11-10 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9974 9975 * process.c (status_notify): Test p->infd > 0 9976 before each call to read_process_output. 9977 (read_process_output): Handle match data properly in recursive calls. 9978 (exec_sentinel): Likewise. 9979 9980 * window.c (window_scroll): Handle scroll_margin 9981 by putting point at a place that won't force recentering. 9982 9983 * xdisp.c (scroll_margin): New variable. 9984 (init_xdisp): Set up Lisp variable. 9985 (redisplay_window): Implement scroll_margin; don't use old start pos 9986 if point is inside the margin. 9987 99881996-11-09 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 9989 9990 * window.h (struct window): New field optional_new_start. 9991 * xdisp.c (redisplay_window): Handle optional_new_start. 9992 * window.c (Fdelete_other_windows): Set optional_new_start 9993 instead of force_start. 9994 9995 * insdel.c (signal_after_change): If Vcombine_after_change_calls, 9996 save up changes in combine_after_change_list. 9997 (Fcombine_after_change_execute) 9998 (Fcombine_after_change_execute_1): New subroutines. 9999 (syms_of_insdel): New function. 10000 10001 * emacs.c (main): Call syms_of_insdel. 10002 10003 * fns.c: Include frame.h and window.h. 10004 (Fy_or_n_p): Handle minibuffer_auto_raise here. 10005 10006 * Makefile.in (fns.o): Depend on frame.h and window.h. 10007 100081996-11-08 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10009 10010 * macros.c (Fcall_last_kbd_macro): Set this_command from last_command 10011 on entry and again on exit. 10012 100131996-11-07 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10014 10015 * frame.c (Fmodify_frame_parameters): Doc fix. 10016 10017 * fileio.c (USG5 or BSD_SYSTEM or LINUX): Include fcntl.h. 10018 (Ffile_readable_p): Return immediately if stat fails. 10019 Call S_ISFIFO correctly. 10020 100211996-11-06 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10022 10023 * editfns.c (Fencode_time): Doc fix. 10024 100251996-11-06 John F. Carr <carrj@polaroid.com> 10026 10027 * dired.c (Ffile_attributes): Represent inode number as a pair of 10028 integers in case inode numbers do not fit in a Lisp integer. 10029 100301996-11-06 Eli Zaretskii <eliz@is.elta.co.il> 10031 10032 * msdos.c [__DJGPP_MINOR__ == 0] (_rename): New function, a 10033 substitute for library low-level file-renaming function which 10034 works around Windows 95 bug. 10035 100361996-11-06 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10037 10038 * window.c (window_loop, case GET_BUFFER_WINDOW): 10039 Don't find any minibuffer window 10040 except the one that is currently in use. 10041 100421996-11-05 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10043 10044 * fileio.c (S_ISFIFO): Default definition (if S_IFIFO is defined). 10045 10046 * editfns.c (Fencode_time): Use xfree, not free. 10047 10048 * print.c (PRINTFINISH): Use xfree, not free. 10049 100501996-11-04 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10051 10052 * xfns.c (Fx_create_frame): Look for X-resource for minibuffer. 10053 10054 * alloc.c (Fgarbage_collect): Use Vhistory_length 10055 for truncating Vcommand_history. 10056 10057 * print.c (PRINTPREPARE): Really do set free_print_buffer. 10058 10059 * xdisp.c (scroll_conservatively): New variable. 10060 (redisplay_window): Obey it. 10061 (syms_of_xdisp): Set up Lisp var. 10062 100631996-11-02 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10064 10065 * minibuf.c (choose_minibuf_frame): Don't change selected_frame's 10066 selected window even if it is a minibuffer window, 10067 if it is active. 10068 100691996-11-01 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10070 10071 * print.c (PRINTDECLARE): Declare specpdl_count and free_print_buffer. 10072 (PRINTPREPARE): If print_buffer is nonzero, 10073 save its contents in a string using record_unwind_protect. 10074 (PRINTFINISH): Restore old print_buffer contents. 10075 Free it only if this PRINTPREPARE malloc'd it. 10076 (print): Don't call PRINTFULLP after all. 10077 (print_unwind): New function. 10078 10079 * print.c (printchar, strout): Do QUIT for echo area output. 10080 (PRINTFULLP): New macro. 10081 (print): Exit if PRINTFULLP. 10082 When printing a symbol, don't save a pointer to the name. 10083 (PRINTFINISH): Null out print_buffer after freeing it. 10084 100851996-10-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 10086 10087 * xterm.c (cancel_mouse_face): New function. Code copied from 10088 x_set_window_size, fixing a bug. 10089 (x_set_window_size): Use cancel_mouse_face. 10090 (XTread_socket): When frame size has changed, call cancel_mouse_face. 10091 10092 * widget.c (EmacsFrameResize): Use cancel_mouse_face. 10093 100941996-10-31 Erik Naggum <erik@naggum.no> 10095 10096 Reorganize function definitions so etags finds them. 10097 * abbrev.c (Finsert_abbrev_table_description). 10098 * editfns.c (Finsert_and_inherit_before_markers). 10099 * eval.c (Frun_hook_with_args, Frun_hook_with_args_until_success) 10100 (Frun_hook_with_args_until_failure). 10101 * window.c (Fcurrent_window_configuration). 10102 * xselect.c (Fx_own_selection_internal, Fx_get_selection_internal) 10103 (Fx_disown_selection_internal). 10104 101051996-10-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 10106 10107 * emacs.c (main): Clear out *Messages* before init_callproc. 10108 10109 * keyboard.c (command_loop_1): Update selected buffer again 10110 after read_key_sequence. 10111 101121996-10-29 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 10113 10114 * callproc.c (init_callproc): Use dir_warning. 10115 10116 * lread.c (dir_warning): New function. 10117 (init_lread): Use dir_warning. 10118 101191996-10-28 Erik Naggum <erik@naggum.no> 10120 10121 * alloc.c (Fmake_char_table): Doc fix. 10122 101231996-10-25 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 10124 10125 * keymap.c (describe_buffer_bindings): Pass 1 for PARTIAL 10126 in some calls to describe_map_tree. 10127 101281996-10-24 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 10129 10130 * process.c (status_notify): Update p->tick again 10131 just before running the sentinel, in case it dies. 10132 101331996-10-23 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 10134 10135 * xdisp.c (decode_mode_spec): In the `L' case, 10136 remove a buffer from base_line_pos if window has switched buffers. 10137 101381996-10-15 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10139 10140 * minibuf.c (read_minibuf_unwind): Don't restore minibuf_window; 10141 instead call choose_minibuf_frame. 10142 (choose_minibuf_frame): Don't let any other frame keep its minibuf 10143 window selected. 10144 10145 * xterm.c (XTread_socket, KeyPress case): Clear compose_status 10146 if the key has the meta modifier. 10147 101481996-10-14 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10149 10150 * eval.c (Vdebug_on_signal): Renamed from Vdebug_force. 10151 101521996-10-13 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10153 10154 * m/pmax.h (BROKEN_O_NONBLOCK): Define only if Ultrix. 10155 (LIBS_MACHINE, KERNEL_FILE): Don't define if __NetBSD__. 10156 (C_SWITCH_X_MACHINE): Define only if Ultrix. 10157 [__NetBSD__] (START_FILES, CANNOT_DUMP): New definitions. 10158 [__NetBSD__] (RUN_TIME_REMAP, UNEXEC): Undef them. 10159 10160 * m/mips.h (UNEXEC): Undef before defining. 10161 10162 * fileio.c (Fexpand_file_name): 10163 No longer discard .../ before another / or ~. 10164 That is now only in Fsubstitute_in_file_name. 10165 101661996-10-12 Simon Marshall <simon@duality.gnu.ai.mit.edu> 10167 10168 * data.c (Fdefine_function): Function definition deleted. 10169 (syms_of_data): Don't call defsubr for it. 10170 101711996-10-12 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10172 10173 * xterm.c (XTwrite_glyphs, XTclear_end_of_line, XTclear_frame) 10174 (clear_cursor, x_display_bar_cursor, x_display_box_cursor) 10175 (x_set_window_size): Use phys_cursor_on field in frame. 10176 (x_update_cursor): Negative phys_cursor_x no longer means anything. 10177 10178 * frame.h (struct frame): New field phys_cursor_on. 10179 101801996-10-08 David K�gedal <davidk@lysator.liu.se> 10181 10182 * xmenu.c (Fx_popup_menu): Give the menu a title when the menu is 10183 a single keymap. 10184 101851996-10-07 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10186 10187 * s/ptx.h (POSIX_SIGNALS): New definition. 10188 10189 * dispnew.c (init_display): If not yet initialized, 10190 we can't really use X, so we must do the real work. 10191 101921996-10-06 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10193 10194 * xdisp.c (display_text_line): New arg ovstr_done. (Callers changed). 10195 Ignore that many chars from start of overlay strings. 10196 Return updated value in ovstring_chars_done field. 10197 10198 * indent.c (vmotion, compute_motion): Fill in ovstring_chars_done 10199 in the return value. 10200 10201 * indent.h (struct position): New field ovstring_chars_done. 10202 102031996-10-06 Erik Naggum <erik@naggum.no> 10204 10205 * window.c (Fspecial_display_p, Fsame_window_p): New functions. 10206 (Fdisplay_buffer): Use them, instead of doing the work here. 10207 (syms_of_window): Defsubr them. 10208 102091996-10-05 Marcus G. Daniels <marcus@coulee.tdb.com> 10210 10211 * xfns.c (x_set_internal_border_width): Only change 10212 an edit_widget's internal_border_width for the toolkit case. 10213 102141996-10-04 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10215 10216 * lread.c (openp): Omit /: from start of file name. 10217 102181996-10-03 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10219 10220 * buffer.c (init_buffer): Add /: to dir names that could be magic. 10221 * emacs.c (decode_env_path): Add /: to dir names that could be magic. 10222 (init_cmdargs): Add /: to argv[0] if it could be magic. 10223 102241996-10-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 10225 10226 * xfns.c (syms_of_xfns): For x-sensitive-text-pointer-shape, use 10227 DEFVAR_LISP. 10228 102291996-10-01 Karl Heuer <kwzh@gnu.ai.mit.edu> 10230 10231 * frame.c (store_frame_param): Allow setting a frame's minibuffer 10232 to the value that it already has. 10233 102341996-10-01 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 10235 10236 * buffer.c (syms_of_buffer): Doc fix. 10237 102381996-09-28 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10239 10240 * xterm.c (show_mouse_face): Undo 1996-08-30 change. 10241 10242 * s/irix5-0.h (ospeed): New definition. 10243 * s/irix6-0.h (ospeed): New #undef to counteract that definition. 10244 102451996-09-27 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10246 10247 * xterm.c (XTflash): Don't flash in the internal borders. 10248 or between a scroll bar and the edge. 10249 10250 * eval.c (Vdebug_force): New variable. 10251 (syms_of_eval): Set up Lisp var. 10252 (find_handler_clause): If Vdebug_force, call debugger 10253 even if there are handlers. 10254 102551996-09-26 Marcus Daniels <marcus@sayre.sysc.pdx.edu> 10256 10257 * xfns.c (x_set_scroll_bar_width): Move cursor to the 10258 left margin, past a scroll bar, if any. 10259 102601996-09-26 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10261 10262 * lread.c (isfloat_string): Accept E like e. 10263 10264 * callint.c (Fcall_interactively): Bind cursor-in-echo-area to t 10265 for `k' and `K'. 10266 10267 * s/hpux10.h (KERNEL_FILE): Redefine it here. 10268 102691996-09-25 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10270 10271 * textprop.c (Fset_text_properties, Fadd_text_properties) 10272 (Fremove_text_properties): Call modify_region and signal_after_change 10273 only for buffers, not for strings. 10274 10275 * xterm.c (XTflash): Flash just top and bottom screen line. 10276 10277 * window.c (syms_of_window): Doc fixes. 10278 102791996-09-25 Marcus Daniels <marcus@sysc.pdx.edu> 10280 10281 * s/irix5-0.h (sigsetmask, _longjmp, _setjmp): #undef them. 10282 (_BSD_SIGNALS): Definition deleted. 10283 102841996-09-25 Eli Zaretskii <eliz@is.elta.co.il> 10285 10286 * dosfns.c (init_dosfns): When setting `__opendir_flags' value, 10287 override the bits recorded when dumping. 10288 102891996-09-24 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10290 10291 * w32term.c (w32_read_socket): Delete WAITP arg. 10292 10293 * keyboard.c (read_avail_input): Don't pass WAITP to read_socket_hook. 10294 10295 * xterm.c (XTread_socket): Delete WAITP arg. 10296 10297 * config.in (HAVE_GETCWD): Add #undef. 10298 10299 * fileio.c (Vuser_login_name): Declared extern. 10300 (minibuf_level): extern decl moved to top level. 10301 (Fwrite_region): Query before writing to a file that is locked, 10302 even if it is locked by the same user. 10303 10304 * textprop.c (set_properties, add_properties, remove_properties): 10305 Don't call modify_region or signal_after_change here. 10306 (Fset_text_properties, Fadd_text_properties, Fremove_text_properties): 10307 Call them here when appropriate. 10308 10309 * Makefile.in (LIBES): Add LOADLIBES and LDLIBS. 10310 103111996-09-24 Eli Zaretskii <eliz@is.elta.co.il> 10312 10313 * msdos.c (run_msdos_command): When testing whether a shell 10314 belongs to the MSDOS family, convert its name to lower-case. 10315 103161996-09-24 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10317 10318 * eval.c (Vsignal_hook_function): New variable. 10319 (syms_of_eval): Set up Lisp variable. 10320 (Fsignal): Call that function. 10321 10322 * xfns.c (x_set_internal_border_width, Fx_create_frame): 10323 Call widget_store_internal_border. 10324 (Fx_create_frame): Don't use a superclass when 10325 checking for an internalBorder resource. 10326 10327 * widget.c (widget_store_internal_border): New function. 10328 (EmacsFrameSetValues): Undo previous change. 10329 103301996-09-23 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10331 10332 * xfns.c (x_window): With Motif, double extra_borders. 10333 Use a preprocessor conditional to test for Motif. 10334 10335 * frame.h (struct frame): New field window_width. 10336 (FRAME_WINDOW_WIDTH): Refer to window_width field. 10337 (SET_FRAME_WIDTH): Set window_width field as well as width field. 10338 103391996-09-22 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10340 10341 * eval.c (syms_of_eval): Initialize Vrun_hooks here. 10342 Don't make it a Lisp variable. 10343 10344 * frame.c (Fdelete_frame): Set update_mode_lines. 10345 10346 * emacs.c (main): Add copyright etc. to --version output. 10347 103481996-09-21 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10349 10350 * bytecode.c (Bsave_current_buffer): New macro. 10351 (Fbyte_code): Handle Bsave_current_buffer. 10352 10353 * editfns.c (Fsave_current_buffer): New function. 10354 (syms_of_editfns): defsubr it. 10355 10356 * search.c (REGEXP_CACHE_SIZE): Increase to 20. 10357 (compile_pattern): Check for size match before calling Fstring_equal. 10358 103591996-09-21 Paul Eggert <eggert@twinsun.com> 10360 10361 * editfns.c: For time zone difference calculations, use the same 10362 code as the GNU C Library; this fixes a bug with large negative years. 10363 (tm_diff): Renamed from difftm. Yield int, not long. 10364 (TM_YEAR_BASE): Renamed from TM_YEAR_ORIGIN. 10365 103661996-09-21 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10367 10368 * xdisp.c (echo_area_display): Clear the left-side scroll bar columns. 10369 103701996-09-20 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10371 10372 * xterm.c (x_scroll_bar_create, x_scroll_bar_move): 10373 (x_scroll_bar_expose): Use VERTICAL_SCROLL_BAR_WIDTH_TRIM. 10374 10375 * xterm.h (VERTICAL_SCROLL_BAR_WIDTH_TRIM): Renamed from 10376 LEFT_VERTICAL_SCROLL_BAR_WIDTH_TRIM. 10377 (VERTICAL_SCROLL_BAR_INSIDE_WIDTH): Use VERTICAL_SCROLL_BAR_WIDTH_TRIM. 10378 10379 * widget.c (EmacsFrameSetValues): Copy internal_border_width 10380 from the Emacs frame if caller isn't changing it. 10381 10382 * xfns.c (Fx_create_frame): Default Qinternal_border_width to 1. 10383 10384 * xterm.c (XTchange_line_highlight, dumpglyphs, XTclear_end_of_line) 10385 (do_line_dance, pixel_to_glyph_coords): Use FRAME_WINDOW_WIDTH. 10386 10387 * xfns.c (x_set_scroll_bar_width): Default the width to 3 cols. 10388 Call change_frame_size. 10389 10390 * xterm.c (x_scroll_bar_move, x_scroll_bar_create): 10391 Add a border around the actual window. 10392 10393 * dispnew.c (make_frame_glyphs, update_line, update_frame) 10394 (scroll_frame_lines, char_ins_del_cost): Use FRAME_WINDOW_WIDTH. 10395 10396 * minibuf.c (read_minibuf): Use FRAME_LEFT_SCROLL_BAR_WIDTH 10397 to set the cursor position at the end. 10398 10399 * xterm.c (x_scroll_bar_expose): Don't trim the width here. 10400 10401 * xdisp.c (display_mode_line): Use faces for inverse video mode line 10402 whenever that possible. 10403 10404 * xfns.c (Fx_create_frame): Default Qvertical_scroll_bars to `left'. 10405 10406Fri Sep 20 02:37:37 1996 Marcus Daniels <marcus@sayre.sysc.pdx.edu> 10407 10408 * xterm.c (XTclear_end_of_line): Shift end-of-line when there is a 10409 left-side scroll bar by FRAME_LEFT_SCROLL_BAR_WIDTH. 10410 (do_line_dance): Take into account the width of a left-side scroll bar. 10411 (dumprectangle): Trim at FRAME_WINDOW_WIDTH instead of FRAME_WIDTH. 10412 (fast_find_position): Use new macro WINDOW_LEFT_MARGIN. 10413 (show_mouse_face): Likewise. 10414 (x_scroll_bar_set_handle): VERTICAL_SCROLL_BAR_INSIDE_WIDTH now 10415 requires the frame as an argument. 10416 (x_scroll_bar_expose): Narrow the box slightly for a left-side 10417 scroll bar. 10418 10419 * xfns.c: Add the symbol `right'; this symbol is used to indicate 10420 that a right-side scroll bar is wanted. 10421 (x_set_vertical_scroll_bars): Check for left<->right<->none 10422 scroll bar changes, and modify the vertical scroll bar type 10423 as appropriate. 10424 (x_figure_window_size): Use new SET_FRAME_WIDTH macro. 10425 (Fx_create_frame): Likewise. 10426 (Fx_horizontal_line): Use new macro WINDOW_LEFT_MARGIN. 10427 10428 * xdisp.c (echo_area_display): Shift display_string past a 10429 left-side scroll bar. 10430 (redisplay_window): Likewise. 10431 (redisplay_internal): Shift cursor past a left-side scroll bar. 10432 (redisplay_window): Likewise. 10433 (try_window_id): Likewise. 10434 (display_text_line): Likewise. 10435 (redisplay_internal): Shift charstarts past a left-side scroll bar. 10436 (display_text_line): Likewise. 10437 (redisplay_internal): Use new macro WINDOW_FULL_WIDTH_P. 10438 (redisplay_window): Likewise. 10439 (display_text_line): Likewise. 10440 (display_text_line): Shift output past left-side scroll bar. 10441 (display_text_line): Use new WINDOW_RIGHTMOST_P macro. 10442 (display_text_line): Don't pad right columns unless using 10443 a right-side scroll bar. Don't draw vertical bars unless there 10444 isn't any kind of scroll bar. 10445 (display_string): Likewise. 10446 (display_mode_line): Use new macros WINDOW_LEFT_MARGIN, 10447 WINDOW_RIGHT_MARGIN, and WINDOW_FULL_WIDTH_P. 10448 (display_string): Use new macro WINDOW_RIGHTMOST_P. 10449 10450 * window.c (Fwindow_edges): Use new WINDOW_RIGHT_EDGE macro. 10451 (coordinates_in_window): Use WINDOW_LEFT_MARGIN, WINDOW_RIGHT_MARGIN, 10452 and WINDOW_RIGHT_EDGE. Adjust for left-side scroll bar margin. 10453 (window_loop, Fdisplay_buffer): Use new WINDOW_FULL_WIDTH_P macro. 10454 (window_internal_width): Window width now always includes the 10455 scroll bar, if any. Use WINDOW_RIGHTMOST_P and WINDOW_FULL_WIDTH_P. 10456 10457 * w32term.c (fast_find_position, show_macro_face): Use new 10458 WINDOW_LEFT_MARGIN macro. 10459 10460 * w32fns.c (Qright): New variable. 10461 (syms_of_win32fns): Initialize and staticpro Qright. 10462 (x_set_vertical_scroll_bars): Check for left<->right<->none 10463 scroll bar changes, and modify the vertical scroll bar type 10464 as appropriate. 10465 (x_figure_window_size): Use new SET_FRAME_WIDTH macro. 10466 (Fx_create_frame): Likewise. 10467 10468 * term.c (term_init): Use new vertical scroll bar enumerated type. 10469 (term_init): Use new macro SET_FRAME_WIDTH. 10470 10471 * sunfns.c (Fsun_menu_internal): Use new WINDOW_LEFT_MARGIN macro. 10472 10473 * ntterm.c (initialize_win_nt_display): Use SET_FRAME_WIDTH. 10474 10475 * keyboard.c (make_lispy_event): When converting from pixel to 10476 glyph coordinates, offset by WINDOW_LEFT_MARGIN instead of XINT 10477 (XWINDOW (window)->left; this is necessary when there are 10478 left-side scrollbars. 10479 10480 * frame.c (make_frame): Switch from boolean 10481 `has_vertical_scrollbars' integer to an enumerated type. 10482 Use new macro SET_FRAME_WIDTH. 10483 10484 * dispnew.c (preserve_other_columns, preserve_my_columns): Use new 10485 macros WINDOW_LEFT_MARGIN and WINDOW_RIGHT_EDGE. 10486 (adjust_window_charstarts, verify_charstarts, cancel_my_columns): 10487 Use new macro WINDOW_LEFT_MARGIN instead of w->left. 10488 (direct_output_for_insert, direct_output_forward_char): Likewise. 10489 (buffer_posn_from_coords): Likewise. 10490 (verify_charstarts): Use new macro WINDOW_FULL_WIDTH_P. 10491 (update_frame): For determining when to wrap the cursor, use the 10492 new macro FRAME_WINDOW_WIDTH instead of FRAME_WIDTH; they aren't 10493 necessarily the same any more. 10494 (change_frame_size_1): Use FRAME_WINDOW_WIDTH to check for changes. 10495 Give `set_window_width' the window width value. 10496 Use new macro SET_FRAME_WIDTH. 10497 10498 * xterm.h (VERTICAL_SCROLL_BAR_INSIDE_WIDTH): Add frame as an 10499 argument, and use it to decrease the width in the case of a 10500 left-side scroll bar; this prevents the bar and adjacent text 10501 from scrunching together. 10502 (LEFT_VERTICAL_SCROLL_BAR_WIDTH_TRIM): Add constant. 10503 10504 * frame.h (vertical_scroll_bar_type): Add enumerated 10505 none/left/right type for identifying vertical scroll bars. 10506 (struct frame): Use vertical_scroll_bar_type. 10507 (FRAME_HAS_VERTICAL_SCROLL_BARS): Use vertical scroll bar type. 10508 (FRAME_VERTICAL_SCROLL_BAR_TYPE): New macro. 10509 (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT): New macros. 10510 (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT): New macros. 10511 (FRAME_SCROLL_BAR_WIDTH, FRAME_LEFT_SCROLL_BAR_WIDTH): New macros. 10512 (FRAME_WINDOW_WIDTH, FRAME_WINDOW_WIDTH_ARG): New macros. 10513 (SET_FRAME_WIDTH): New macro for assigning to both 10514 `external_width' and `width'. 10515 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Modify to handle left-side 10516 scroll bars too. 10517 10518 * window.h (WINDOW_LEFT_MARGIN): New macro. 10519 (WINDOW_RIGHT_EDGE, WINDOW_RIGHT_MARGIN): New macros. 10520 (WINDOW_FULL_WIDTH_P, WINDOW_RIGHTMOST_P): New macros. 10521 105221996-09-20 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10523 10524 * xterm.h (VERTICAL_SCROLL_BAR_INSIDE_HEIGHT): New arg F (not used). 10525 (VERTICAL_SCROLL_BAR_TOP_RANGE): New arg F (not used). 10526 * xterm.c: Pass frame arg in calls to VERTICAL_SCROLL_BAR_INSIDE_HEIGHT 10527 and VERTICAL_SCROLL_BAR_TOP_RANGE. 10528 10529 * sysdep.c (init_system_name): Retry gethostbyname only 5 times 10530 and don't sleep after the last time. 10531 105321996-09-19 Eli Zaretskii <eliz@is.elta.co.il> 10533 10534 * dired.c (file_name_completion): Remove code which sets and 10535 restores the `stat' control flags (they might not be restored if 10536 C-g is pressed during completion). 10537 (file_name_completion_stat): Set and restore flags that make 10538 `stat' faster here instead of in `file_name_completion'. 10539 105401996-09-18 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10541 10542 * buffer.c (overlay_strings): Declare pstr using unsigned char. 10543 10544 * xdisp.c (display_text_line): Declare ovstr as unsigned char *. 10545 10546 * minibuf.c (Fcompleting_read): Doc fix. 10547 105481996-09-17 Erik Naggum <erik@naggum.no> 10549 10550 * lisp.h: Declare make_symbol. 10551 10552 * lread.c (init_obarray): staticpro Qvariable_documentation. 10553 10554 * keymap.c (syms_of_keymap): staticpro global_map. 10555 10556 * keyboard.c (syms_of_keyboard): Initialize and staticpro 10557 internal_last_event_frame and read_key_sequence_cmd. 10558 10559 * fileio.c (syms_of_fileio): staticpro Qset_visited_file_modtime. 10560 10561 * dired.c (syms_of_dired): staticpro Qdirectory_files, 10562 Qfile_name_completion, Qfile_name_all_completions, and Qfile_attributes. 10563 10564 * casetab.c (syms_of_casetab): staticpro Vascii_canontable, 10565 Vascii_eqv_table, and Vascii_upcase_table. 10566 10567 * alloc.c (Fmake_symbol): Initialize `obarray' field. 10568 105691996-09-16 Karl Heuer <kwzh@gnu.ai.mit.edu> 10570 10571 * Makefile.in: Replaced symbol BSD with BSD_SYSTEM. 10572 * emacs.c, floatfns.c, keyboard.c, mem-limits.h, process.c: Likewise. 10573 * sysdep.c, syssignal.h, syswait.h, xterm.c: Likewise. 10574 * s/bsd386.h, s/bsd4-1.h, s/bsd4-2.h, s/bsd4-3.h, s/dgux.h: Likewise. 10575 * s/freebsd.h, s/msdos.h, s/rtu.h, s/umax.h, s/umips.h: Likewise. 10576 * m/intel386.h, m/mips.h, m/mips4.h, m/vax.h: Likewise. 10577 105781996-09-16 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10579 10580 * buffer.c (Fget_buffer_create): Initialize BUF_OVERLAY_MODIFF. 10581 10582 * minibuf.c (read_minibuf_unwind): Clear last_overlay_modified field. 10583 10584 * msdos.c (IT_set_menu_bar_lines): Clear last_overlay_modified field. 10585 10586 * w32term.c (note_mouse_highlight): Test last_overlay_modified field. 10587 10588 * xterm.c (note_mouse_highlight): Test last_overlay_modified field. 10589 10590 * window.c (Fset_window_start): Clear last_overlay_modified field. 10591 (set_window_height, set_window_width, Fset_window_buffer) 10592 (change_window_height, window_scroll, Fset_window_configuration): 10593 Clear last_overlay_modified field. 10594 (Fpos_visible_in_window_p): Test last_overlay_modified field. 10595 10596 * Makefile.in (frame.o, textprop.o, abbrev.o): Depend on window.h. 10597 10598 * process.c (stream_process): Variable deleted. 10599 (syms_of_process): staticpro deleted. 10600 106011996-09-15 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10602 10603 * sysdep.c: Don't explicitly Include termios.h. 10604 (ospeed): Use HAVE_TERMIOS to decide whether to use speed_t. 10605 10606 * s/hpux9.h (C_SWITCH_X_SYSTEM): Add -I/usr/contrib/X11R5/include. 10607 (LD_SWITCH_X_DEFAULT): Add -L/usr/contrib/X11R5/lib. 10608 106091996-09-14 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10610 10611 * buffer.h (struct buffer): New field overlay_modiff. 10612 (MODIFF, BUF_OVERLAY_MODIFF): New macros. 10613 * window.h (struct window): New field last_overlay_modified. 10614 10615 * xdisp.c (redisplay_internal, mark_window_display_accurate) 10616 (redisplay_window): Test and update last_overlay_modified field 10617 along with last_modified. 10618 10619 * dispnew.c (direct_output_for_insert): Set last_overlay_modified 10620 field in window. 10621 10622 * keyboard.c (command_loop_1): Test last_overlay_modified 10623 along with last_modified. 10624 10625 * xdisp.c (overlay_unchanged_modified): New variable. 10626 (redisplay_internal): Set overlay_unchanged_modified. 10627 * insdel.c (gap_left, gap_right, modify_region): 10628 Compare overlay_unchanged_modified with OVERLAY_MODIFF. 10629 10630 * buffer.c (modify_overlay): Renamed from redisplay_region 10631 moved here from xdisp.c, and made static. Callers changed. 10632 Update OVERLAY_MODIFF instead of MODIFF. 10633 * xdisp.c (redisplay_region): Renamed and moved to buffer.c. 10634 10635 * s/sco5.h (C_SWITCH_SYSTEM, LD_SWITCH_SYSTEM): 10636 Don't define them if using GCC. 10637 106381996-09-13 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10639 10640 * keyboard.c (recursive_edit_1): Handle a string as the 10641 throw value. 10642 10643 * minibuf.c (read_minibuf): If not in minibuffer window, 10644 cancel the active minibuffer. 10645 106461996-09-12 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10647 10648 * frame.c (Fmake_terminal_frame): Use Vdefault_frame_alist. 10649 10650 * s/hpux9.h (C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT): 10651 Don't specify dirs for X, only for Motif. 10652 106531996-09-11 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10654 10655 * lread.c (Fload): Move ... to ends of messages. 10656 10657 * puresize.h (BASE_PURESIZE): Increased. 10658 10659 * s/sco5.h (LIBX11_SYSTEM): Don't use ..._s libraries. 10660 106611996-09-10 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10662 10663 * insdel.c (signal_before_change): Fix previous change. 10664 10665 * lisp.h (struct Lisp_Symbol): New field `obarray'. 10666 10667 * xterm.c (x_connection_closed): Call XtCloseDisplay. 10668 106691996-09-09 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10670 10671 * keyboard.c (Fexecute_extended_command): Delete junk lines. 10672 Print the key bindings after the command, temporarily; 10673 then bring back the previous message. 10674 10675 * buffer.c (syms_of_buffer): Doc fixes. 10676 10677 * filelock.c (lock_superlock): Delete superlock file if it stayed 10678 locked for 20 seconds. 10679 106801996-09-08 Erik Naggum <erik@naggum.no> 10681 10682 * lread.c: Add #n=object, #n#, and #:symbol constructs to reader. 10683 (readevalloop, read, Fread_from_string): Empty list of read objects 10684 before read0 call. 10685 (read1): New variable `uninterned_symbol', which controls how to 10686 make symbols. Support #:, #n=object and #n#. 10687 (make_symbol): New function, used in read1 to make uninterned symbols 10688 (Fintern): Set `obarray' field of interned symbols. 10689 (init_obarray): Explicit set `obarray' field of symbol `nil'. 10690 (syms_of_lread): staticpro read_objects, the list of read objects. 10691 10692 * print.c: Add #n=object, #n#, and #:symbol constructs to printer. 10693 (PRINTDECLARE): New macro to declare required variables. 10694 (PRINTPREPARE, PRINTFINISH): Set printed_genyms to nil. 10695 (Fwrite_char, write_string, write_string_1, Fterpri, Fprin1) 10696 (Fprin1_to_string, Fprinc, Fprint): Use new macro PRINTDECLARE. 10697 (print): Print uninterned symbols readable. 10698 (syms_of_print): Defvar `print-gensym', staticpro printed_gensyms. 10699 107001996-09-05 Karl Heuer <kwzh@gnu.ai.mit.edu> 10701 10702 * editfns.c (Finsert_buffer_substring): Check for deleted buffer. 10703 (Fcompare_buffer_substrings): Likewise. 10704 107051996-09-04 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10706 10707 * lisp.h: Add many declarations. 10708 10709 * lisp.h (BITS_PER_EMACS_INT): New macro. 10710 (XMARKBIT): Test BITS_PER_EMACS_INT to conditionalize fast definition. 10711 * m/alpha.h (BITS_PER_EMACS_INT): New definition. 10712 10713 * s/sol2.h (LIBS_SYSTEM): Use -lkstat instead of -lelf -lkvm 10714 10715 * process.c (create_process): Test HAVE_SETPGID for using setpgid. 10716 10717 * config.in (HAVE_SETPGID): Add #undef. 10718 10719 * keymap.c (syms_of_keymap): staticpro current_global_map; 10720 10721 * intervals.c (get_local_map): Call indirect-function. 10722 10723 * m/alpha.h (UNEXEC): Use unexelf.c. 10724 10725 * unexelf.c: unexelf1.c merged into this file. 10726 10727 * terminfo.c: Include config.h. 10728 [HAVE_TERMIOS_H]: Include termios.h. 10729 (ospeed) [HAVE_TERMIOS_H]: Use ospeed_t. 10730 10731 * process.c (create_process_1, sigchld_handler) [POSIX_SIGNALS]: 10732 Don't reestablish handler. 10733 10734 * keyboard.c (input_available_signal) [POSIX_SIGNALS]: 10735 Don't reestablish handler. 10736 (interrupt_signal) [POSIX_SIGNALS]: Likewise. 10737 10738 * data.c (arith_error) [POSIX_SIGNALS]: Don't reestablish handler. 10739 10740 * config.in (HAVE_TERMIOS_H): Add #undef. 10741 10742 * cm.h, sysdep.c [HAVE_TERMIOS_H]: Include termios.h. 10743 (ospeed) [HAVE_TERMIOS_H]: Use ospeed_t. 10744 10745 * eval.c (Fmacroexpand): Don't declare `form' as register. 10746 10747 * frame.c (Fredirect_frame_focus): Don't call Ffocus_frame. 10748 10749 * keyboard.c (Fexecute_extended_command): Fix previous change. 10750 10751 * intervals.c (copy_intervals_to_string): Take arg as buffer. 10752 10753 * keyboard.c (Fcommand_execute): gcpro cmd and prefixarg 10754 while calling do_autoload. 10755 10756 * eval.c (Fmacroexpand): gcpro form while calling do_autoload. 10757 (do_autoload): gcpro fun, funname, fundef. 10758 107591996-09-03 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10760 10761 * keyboard.c (Fexecute_extended_command): gcpro prefixarg. 10762 10763 * xfns.c, w32fns.c (x_set_frame_parameters): 10764 Make height and width ints. 10765 10766 * fns.c (map_char_table): Declare depth as int. 10767 10768 * xterm.c (note_mouse_highlight): 10769 Pass POS argument to fast_find_position as int. 10770 10771 * textprop.c (set_properties, add_properties, remove_properties): 10772 Call modify_region with ints. 10773 10774 * insdel.c (prepare_to_modify_buffer): Take integer arguments. 10775 (signal_before_change): Take integer arguments. 10776 10777 * alloc.c (Fmake_byte_code): Call make_pure_vector using nargs. 10778 10779 * alloc.c (Fpurecopy): Cast arg to make_pure_vector. 10780 (Fmake_byte_code): Use XFASTINT when calling make_pure_vector. 10781 10782 * doprnt.c (doprnt1): If lispstrings, accept a string 10783 as a `struct Lisp_String *'. 10784 10785 * editfns.c (Fformat): Pass a string using XSTRING. 10786 10787 * xdisp.c (message): Cast size arg to doprnt. 10788 10789 * term.c (term_init): Avoid type-mismatch calling get_frame_size. 10790 (OUTPUT_IF, OUTPUT): Cast frame height to int. 10791 10792 * search.c (search_buffer): Use EMACS_UINT. 10793 107941996-09-03 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu> 10795 10796 * emacs.c (sort_args): Don't rearrange any args that follow "--". 10797 107981996-09-03 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10799 10800 * xfns.c, w32fns.c (Ffocus_frame, Funfocus_frame): Functions deleted. 10801 10802 * xfns.c (x_get_and_record_arg): New function. 10803 (x_icon): Use that, for Qicon_top and Qicon_left. 10804 (x_report_frame_params): Report the Qparent_id parameter. 10805 108061996-09-03 Paul Eggert <eggert@twinsun.com> 10807 10808 * config.in (mktime): Define to emacs_mktime if we are using our own 10809 mktime, since Nextstep doesn't let Emacs redefine the builtin mktime. 10810 * Makefile.in (MKTIME_OBJ): Use our mktime instead of NEXTSTEP's, 10811 since NEXTSTEP's wrongly ignores TZ. 10812 (mktime): #undef, to avoid messing up the file name mktime.c. 10813 * editfns.c (Fencode_time): Remove NEXTSTEP workaround; 10814 we now use our mktime instead. 10815 108161996-09-03 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10817 10818 * process.c (create_process): Undo previous change. 10819 108201996-09-02 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10821 10822 * editfns.c (Fencode_time) [_NEXT_SOURCE]: Use ZONE, not ABSZONE. 10823 10824 Make region highlighting show in just one window. 10825 * xdisp.c (redisplay_internal): Test last_selected_window slot. 10826 (mark_window_display_accurate, display_text_line): Likewise. 10827 * window.c (unshow_buffer): Clear last_selected_window slot, maybe. 10828 (Fset_window_buffer): Set last_selected_window slot. 10829 (Fselect_window): Set last_selected_window slot. 10830 (delete_all_subwindows): Maybe call unshow_buffer. 10831 * buffer.c (reset_buffer): Initialize last_selected_window slot. 10832 * buffer.h (strict buffer): New slot last_selected_window. 10833 108341996-09-01 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10835 10836 * process.c (Fprocess_contact): New function. 10837 (NETCONN_P): Use GC_CONSP. 10838 (list_processes_1): Use new childp format. 10839 (Fopen_network_stream): Store a cons cell in childp. 10840 10841 * keyboard.c (record_asynch_buffer_change, gobble_input): 10842 Use sigblock instead of sigblockx. 10843 10844 * syssignal.h (sigunblockx): Definitions deleted. 10845 (sigpausex, sigblockx, sigholdx): Definitions deleted. 10846 10847 * process.c (create_process): Test defined (TIOCSCTTY) 10848 and defined (HAVE_SETSID) instead of DONT_REOPEN_PTY. 10849 10850 * fileio.c (Faccess_file): New function. 10851 (Qaccess_file): New variable. 10852 (syms_of_fileio): defsubr function; init and staticpro Qaccess_file. 10853 108541996-09-01 Karl Heuer <kwzh@gnu.ai.mit.edu> 10855 10856 * config.in (MULTI_FRAME): Obsolete macro deleted. 10857 * Makefile.in: Removed support for !MULTI_FRAME. 10858 * dispextern.h, frame.h, keyboard.h, lisp.h, puresize.h: Likewise. 10859 * alloc.c, buffer.c, data.c, dispnew.c, frame.c: Likewise. 10860 * keyboard.c, minibuf.c, print.c, sysdep.c, w32faces.c: Likewise. 10861 * window.c, xdisp.c, xfaces.c: Likewise. 10862 10863 * abbrev.c, bytecode.c: Change all references from point to PT. 10864 * callint.c, casefiddle.c, cmds.c, dispnew.c, editfns.c: Likewise. 10865 * fileio.c, indent.c, lread.c, print.c, process.c: Likewise. 10866 * search.c, syntax.c, undo.c, window.c: Likewise. 10867 108681996-09-01 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10869 10870 * Makefile.in (TAGS): Use $(srcdir) in deps. 10871 108721996-08-31 Boris Goldowsky <boris@gnu.ai.mit.edu> 10873 10874 * fileio.c (build_annotations): Remember original buffer that the 10875 region came from; pass this to `format-annotate-function'. 10876 108771996-08-31 Geoff Voelker <voelker@cs.washington.edu> 10878 10879 * Makefile.in (MSDOS_SUPPORT, WINNT_SUPPORT, SOME_MACHINE_LISP): 10880 Include dos-nt.elc. 10881 108821996-08-31 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10883 10884 * keyboard.c (requeued_events_pending_p): New function. 10885 10886 * config.in (HAVE_SETRLIMIT): Add #undef. 10887 10888 * emacs.c [HAVE_SETRLIMIT]: Include time.h and resource.h. 10889 (main) [HAVE_SETRLIMIT]: Call setrlimit to extend the stack limit. 10890 New local `rlim'. 10891 10892 * lread.c (Fload): Add "source is newer" info to the "loading" and 10893 "done" messages. 10894 108951996-08-31 Paul Eggert <eggert@twinsun.com> 10896 10897 * config.in (HAVE_SYS_SYSTEMINFO_H, HAVE_GETDOMAINNAME, HAVE_SYSINFO): 10898 New macros. 10899 * sysdep.c (<sys/systeminfo.h>): 10900 Include if HAVE_SYS_SYSTEMINFO_H is defined. 10901 (init_system_name): Use sysinfo or getdomainname to append domain name 10902 if host name is not already fully qualified. 10903 109041996-08-31 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10905 10906 * xfns.c (Fx_list_fonts): New optional arg MAXIMUM. 10907 109081996-08-31 Erik Naggum <erik@naggum.no> 10909 10910 * alloc.c (Fgarbage_collect): Report used and free intervals. 10911 109121996-08-31 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10913 10914 * xterm.h (struct x_display_info): Add element Xatom_FONT. 10915 * xterm.c (x_term_init): Initialize Xatom_FONT member. 10916 (x_new_font): Use Xatom_FONT member. 10917 109181996-08-31 Kevin Layer <layer@Franz.COM> 10919 10920 * ntproc.c (Vwin32_start_process_show_window): New variable. 10921 (create_child): Conditionally force subprocess to hide window. 10922 (syms_of_ntproc): DEFVAR it. 10923 109241996-08-31 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10925 10926 * s/nextstep.h (LD_SWITCH_SYSTEM): Add alternate definition if 10927 not __NeXT. 10928 109291996-08-30 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10930 10931 * xfaces.c (Fset_face_attribute_internal): Set mouse_face_defer flag. 10932 * xterm.c (XTupdate_end): Always clear mouse_face_defer flag. 10933 10934 * xterm.c (do_line_dance, dumprectangle): Use x_update_cursor. 10935 (show_mouse_face, clear_cursor): Likewise. 10936 (x_display_cursor): New args X and Y. 10937 (XTupdate_end, XTcursor_to, XTwrite_glyphs): Pass new args. 10938 (XTupdate_begin): Initialize curs_x, curs_y here. 10939 10940 * xfns.c (x_set_cursor_color): Use x_update_cursor. 10941 109421996-08-29 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10943 10944 * xterm.c (XTread_socket): Fix previous change. 10945 10946 * keyboard.c (cmd_error): Clear executing_macro. 10947 109481996-08-29 David Byers <byers@lysator.liu.se> 10949 10950 * minibuf.c (Fminibuffer_complete_word): Check for 10951 unexpected data type returned by Ftry_completion. 10952 109531996-08-29 Erik Naggum <erik@psilocin.gnu.ai.mit.edu> 10954 10955 * macros.c (init_macros): Initialize executing_macro, too. 10956 109571996-08-29 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 10958 10959 * xterm.c (XTread_socket): Call XFilterEvent on all events, 10960 if HAVE_X_I18N and FRAME_XIC nonzero. 10961 10962 * keyboard.c (cmd_error): Add number of kbd macro iterations 10963 to the error message. 10964 10965 * macros.h (executing_macro_iterations, executing_macro): Declared. 10966 10967 * macros.c (executing_macro_iterations, executing_macro): New vars. 10968 (Fexecute_kbd_macro): Set them. 10969 109701996-08-28 Morten Welinder <terra@diku.dk> 10971 10972 * minibuf.c (Vhistory_length, Qhistory_length): New variables. 10973 (syms_of_minibuf): Register and initialise these. 10974 (read_minibuf): Truncate history list if needed. 10975 109761996-08-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 10977 10978 * fns.c (Fsubstring): Handle vectors as well as strings. 10979 10980 * callint.c (Fcall_interactively): For `N' and `n', 10981 if we don't get a number, try again. 10982 109831996-08-28 Lars Magne Ingebrigtsen <larsi@dain.ifi.uio.no> 10984 10985 * alloc.c (syms_of_alloc): Set up Lisp variables ...-consed, 10986 such as Vcons-cells-consed. 10987 109881996-08-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 10989 10990 * emacs.c (main): Add bug report info in --help message. 10991 109921996-08-26 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10993 10994 * term.c (Vring_bell_function): New variable. 10995 (syms_of_term): Set up Lisp variable. 10996 (ring_bell): Use Vring_bell_function. 10997 109981996-08-25 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 10999 11000 * xterm.c (fast_find_position): Fix previous change. 11001 11002 * keyboard.c (command_loop_1): Cancel echoing etc. 11003 before running post-command-hook and such. 11004 11005 * xterm.c (fast_find_position): Minor fix in handling maybe_next_line. 11006 11007 * config.in (HAVE_LIBKRB, HAVE_LIBDES): Add #undefs. 11008 110091996-08-24 Richard Stallman <rms@ethanol.gnu.ai.mit.edu> 11010 11011 Renamings to avoid conflicting names on MSDOS. 11012 * s/riscix12.h: Renamed from s/riscix12.h. 11013 * s/sunos413.h: Renamed from s/sunos4-1-3.h. 11014 * s/dgux5-4-3.h: Renamed from s/dgux5-4r3.h. 11015 * s/sunos4-1-2.h: File deleted. 11016 11017 * xmenu.c (set_frame_menubar): Don't add ibw to menubar_size. 11018 11019 * xfns.c (x_window): Don't add ibw to menubar_size. 11020 110211996-08-24 Paul Eggert <eggert@twinsun.com> 11022 11023 * editfns.c (Fencode_time, Fset_time_zone_rule): 11024 Use UTC if the zone is t. 11025 110261996-08-24 Erik Naggum <erik@naggum.no> 11027 11028 * print.c (print-quoted): New variable. 11029 (print): Print certain expressions more compactly when set. 11030 Also use XCAR and XCDR directly -- we know we have conses. 11031 110321996-08-23 Marcus Daniels <marcus@sayre.sysc.pdx.edu> 11033 11034 * xterm.c (x_term_init): If the default Xt font does not exist on 11035 the X server, add a resource so that dialog boxes use a common font. 11036 110371996-08-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 11038 11039 * window.c (Fsplit_window): Treat width just like height; 11040 no special handling for scroll bars. 11041 110421996-08-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 11043 11044 * Makefile.in (paths.h, config.h): Targets deleted. 11045 (../config.status): Add two new rules to check need for reconfigure. 11046 11047 * keyboard.c (command_loop_1): Check column_number_displayed 11048 in the selected window, not Vcolumn_number_mode. 11049 (Vcolumn_number_mode): Variable deleted. 11050 (syms_of_keyboard): Delete Lisp variable column-number-mode. 11051 110521996-08-22 Erik Naggum <erik@psilocin.gnu.ai.mit.edu> 11053 11054 * dispnew.c (change_frame_size_1): Clean up conditional. 11055 110561996-08-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 11057 11058 * xmenu.c (xdialog_show): Don't allow 9 buttons. 11059 110601996-08-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 11061 11062 * process.c (send_process): GCPRO object. 11063 11064 * unexalpha.c: Conditionalize previous changes on not __linux__. 11065 11066 * xfns.c (x_set_scroll_bar_width): Call x_set_window_size 11067 when arg is nil. 11068 110691996-08-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 11070 11071 * unexalpha.c: Include reloc.h and elf_abi.h. 11072 (rel_dyn_section, dynstr_section, dynsym_section): New variables. 11073 (old_data_scnhdr): New variable. 11074 (CHECK_SCNHDR): Compare just 8 chars of section name. 11075 (unexec): Check for rel_dyn_section, dynsym_section, dynstr_section. 11076 Do call update_dynamic_symbols. 11077 (update_dynamic_symbols): Finish it up and take away #if 0. 11078 110791996-08-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 11080 11081 * unexalpha.c (unexec): Copy the .got section. 11082 110831996-08-16 Karl Heuer <kwzh@gnu.ai.mit.edu> 11084 11085 * cmds.c (Fdelete_backward_char): Fix off-by-one error. 11086 Treat deleted newline specially. 11087 110881996-08-16 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 11089 11090 * bytecode.c (Fbyte_code): For relative gotos, force signed arithmetic. 11091 110921996-08-14 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> 11093 11094 * xfns.c (Fx_open_connection): Don't set Vx_resource_name. 11095 11096See ChangeLog.6 for earlier changes. 11097 11098 Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007 11099 Free Software Foundation, Inc. 11100 11101 This file is part of GNU Emacs. 11102 11103 GNU Emacs is free software; you can redistribute it and/or modify 11104 it under the terms of the GNU General Public License as published by 11105 the Free Software Foundation; either version 2, or (at your option) 11106 any later version. 11107 11108 GNU Emacs is distributed in the hope that it will be useful, 11109 but WITHOUT ANY WARRANTY; without even the implied warranty of 11110 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11111 GNU General Public License for more details. 11112 11113 You should have received a copy of the GNU General Public License 11114 along with GNU Emacs; see the file COPYING. If not, write to the 11115 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 11116 Boston, MA 02110-1301, USA. 11117 11118;;; arch-tag: 3b03e091-1123-4031-b67d-41683932cc48 11119