1. 15 Dec, 1999 1 commit
    • Kenichi Handa's avatar
      Include composite.h. · ec6d2bb8
      Kenichi Handa authored
      (DECODE_CHARACTER_ASCII): Don't handle composition here.
      (DECODE_CHARACTER_DIMENSION1): Likewise.  Don't check the validity
      of multibyte code here.
      (DECODE_CHARACTER_DIMENSION2): Likewise.
      (detect_coding_emacs_mule): Change the case label from
      EMACS_leading_code_composition to 0x80.
      (detect_coding_iso2022): Handle new composition sequence.
      (DECODE_ISO_CHARACTER): Likewise.
      (check_composing_code): Deleted.
      (coding_allocate_composition_data): New function.
      (CODING_ADD_COMPOSITION_START) (CODING_ADD_COMPOSITION_END)
      (CODING_ADD_COMPOSITION_COMPONENT) (DECODE_COMPOSITION_START)
      (DECODE_COMPOSITION_END) (DECODE_COMPOSITION_RULE): New macros.
      (decode_coding_iso2022): Handle new composition sequence.
      (ENCODE_ISO_CHARACTER): Don't check composition here.
      (ENCODE_COMPOSITION_RULE) (ENCODE_COMPOSITION_START): New macros.
      (ENCODE_COMPOSITION_NO_RULE_START)
      (ENCODE_COMPOSITION_WITH_RULE_START): Deleted.
      (ENCODE_COMPOSITION_END): Handle new composition sequence.
      (ENCODE_COMPOSITION_FAKE_START): New macro.
      (encode_coding_iso2022): Handle new composition sequence.
      (ENCODE_SJIS_BIG5_CHARACTER): Delete superfluous `;' at the tail.
      (encode_coding_sjis_big5): Ignore composition.
      (setup_coding_system): Initialize new members of struct
      coding_system.  Enable composition only when the coding system has
      `composition' property t.
      (coding_free_composition_data) (coding_adjust_composition_offset)
      (coding_save_composition) (coding_restore_composition): New
      functions.
      (code_convert_region): Call coding_save_composition for encoding
      and coding_allocate_composition_data for decoding.  Don't skip
      ASCII characters if we handle composition on encoding.  Call
      signal_after_change with Check_BORDER.
      (code_convert_string): Call coding_save_composition for encoding
      and coding_allocate_composition_data for decoding.  Don't skip
      ASCII characters if we handle composition on encoding.
      (code_convert_string1): Set Vlast_coding_system_used after calling
      code_convert_string.
      (code_convert_string_norecord): Disable composition.
      (Fset_terminal_coding_system_internal): Likewise.
      (Fset_safe_terminal_coding_system_internal): Likewise.
      (Fset_keyboard_coding_system_internal): Likewise.
      (init_coding_once): Set emacs_code_class[0x80] to
      EMACS_invalid_code.
      ec6d2bb8
  2. 07 Dec, 1999 1 commit
    • Stefan Monnier's avatar
      * editfns.c (Fdelete_and_extract_region): New function. · 7dae4502
      Stefan Monnier authored
      (syms_of_editfns): register it.
      * insdel.c (del_range): update del_range_1 call.
      (del_range_1, del_range_2): Add a ret_string argument to
      request that the deleted text be returned.
      (del_range_byte, del_range_both): Update del_range_2 call.
      * lisp.h (del_range_1, del_range_2): change prototype
      * casefiddle.c (casify_region): Update del_range_1 call.
      * coding.c (code_convert_region): Update del_range_2 call.
      * fileio.c (Finsert_file_contents): Update del_range_2 call.
      7dae4502
  3. 22 Nov, 1999 1 commit
    • Paul Eggert's avatar
      * callproc.c (strerror): Remove decl. · ca9c0567
      Paul Eggert authored
      * fileio.c (strerror): Likewise.
      * process.c (strerror): Likewise.
      * emacs.c (strerror): Likewise.
      (Vsystem_messages_locale): Renamed from Vmessages_locale.
      All uses changed.
      (Vprevious_system_messages_locale): Likewise, from
      Vprevious_messages_locale.
      (Vsystem_time_locale): Likewise, from Vtime_locale.
      (Vprevious_system_time_locale): Likewise, from Vprevious_time_locale.
      (ABORT_RETURN_TYPE): New macro.
      (abort): Return type is now ABORT_RETURN_TYPE.
      (main): Always invoke init_signals, even if POSIX_SIGNALS is not
      defined.
      (syms_of_emacs): messages-locale -> system-messages-locale,
      previous-messages-locale -> previous-system-messages-locale,
      time-locale -> system-time-locale,
      previous-time-locale -> previous-system-time-locale.
      
      * gmalloc.c (PP, __ptr_t): Assume ANSI C if STDC_HEADERS is defined.
      (const): Do not define; that's config.h's job.
      (<limits.h>): Include if HAVE_LIMITS_H is defined.
      (CHAR_BIT): Move test for definedness outside of limits.h condition.
      (<stddef.h>): Include if STDC_HEADERS is defined.
      (FREE_RETURN_TYPE): New macro.
      (free): Return type is now FREE_RETURN_TYPE.
      
      * lisp.h (synchronize_system_time_locale): Renamed from
      synchronize_time_locale.  All uses changed.
      (synchronize_system_messages_locale): Likewise, from
      synchronize_messages_locale.
      
      * process.c (sys_siglist): Remove.
      
      * syntax.c (scan_sexps_forward): Use abort, not assert.
      
      * sysdep.c (my_sys_siglist): New var.
      (sys_siglist): New macro.  Remove old initialized vars of same name.
      (init_signals): Initialize sys_siglist.
      
      * xfns.c (abort): Remove decl; stdlib.h now does this.
      ca9c0567
  4. 29 Oct, 1999 1 commit
  5. 19 Oct, 1999 1 commit
    • Paul Eggert's avatar
      Add support for large files, 64-bit Solaris, system locale codings. · 68c45bf0
      Paul Eggert authored
      * Makefile.in (emacs): Set the LC_ALL environment variable to "C"
      when dumping, so that the dumped Emacs doesn't have stray locale info.
      (dired.o): Depend on systime.h.
      (editfns.o): Depend on coding.h.
      
      * alloc.c, buffer.c, callproc.c, ccl.c, charset.c, coding.c, data.c,
      dispnew.c, editfns.c, emacs.c, filelock.c, floatfns.c, hftctl.c,
      keyboard.c, process.c, sysdep.c, unexelf.c, unexhp9k800.c,
      unexsunos4.c, vmsfns.c, vmsgmalloc.c, w32faces.c, w32menu.c, w32term.c,
      w32xfns.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
      Include <config.h> before any system include files.
      
      * alloc.c, buffer.c, ccl.c, data.c, editfns.c, emacs.c, eval.c,
      fileio.c, filelock.c, frame.c, insdel.c, keymap.c, lread.c,
      m/alpha.h, print.c, search.c, sysdep.c, xdisp.c, xfaces.c, xfns.c,
      xmenu.c, xterm.c:
      Do not include <stdlib.h>, as <config.h> does this now.
      
      * callproc.c (Fcall_process):
      Synchronize messages locale before invoking strerror.
      Decode resulting string with locale-coding-system.
      
      * coding.c (Vlocale_coding_system): New var.
      (syms_of_coding): Adjust to above change.
      (emacs_strerror): New function.
      
      * coding.h (emacs_strerror, Vlocale_coding_system): New decls.
      
      * config.in (HAVE_STDIO_EXT_H, HAVE_TM_GMTOFF, HAVE___FPENDING,
      HAVE_FTELLO, HAVE_GETLOADAVG, HAVE_MBLEN, HAVE_MBRLEN,
      HAVE_STRSIGNAL): New macros.
      (BITS_PER_LONG): Default to 64 if _LP64 is defined.
      <stdlib.h>: Include if HAVE_STDLIB_H is defined and NOT_C_CODE isn't.
      
      * dired.c: Include "systime.h".
      (Ffile_attributes): Do not cast s.st_size to int; this loses
      information if int is 32 bits but st_size and EMACS_INT are larger.
      Treat large device numbers like large inode numbers.
      
      * dispnew.c (PENDING_OUTPUT_COUNT): Use __fpending if available.
      
      * editfns.c: Include coding.h.
      (emacs_strftime): Remove decl.
      (emacs_strftimeu): New decl.
      (emacs_memftimeu): Renamed from emacs_memftime; new arg UT.
      Use emacs_strftimeu instead of emacs_strftime.
      (Fformat_time_string): Convert format string using
      Vlocale_coding_system, and convert result back.  Synchronize time
      locale before invoking lower level function.  Invoke
      emacs_memftimeu, passing ut, instead of emacs_memftime.
      
      * emacs.c: Include <locale.h> if HAVE_SETLOCALE is defined.
      (Vmessages_locale, Vprevious_messages_locale, Vtime_locale,
      Vprevious_time_locale): New variables.
      (main): Invoke setlocale early, so that initial error messages are
      localized properly.  But skip locale-setting if LC_ALL is "C".
      Fix up locale when it's safe to do so.
      (fixup_locale): Moved here from xterm.c.
      (synchronize_locale, synchronize_time_locale,
      synchronize_messages_locale): New functions.
      (syms_of_emacs): Accommodate above changes.
      
      * fileio.c (report_file_error): Convert strerror output according
      to Vlocale_coding_system.
      (Finsert_file_contents): Check for arithmetic overflow in
      computations that depend on file size.  Report IO errors
      with emacs_strerror, not strerror.
      
      * fns.c (Fgethash): Declare dflt parameter.
      
      * gmalloc.c: Do not define const to nothing if HAVE_CONFIG_H
      is defined; that's config.h's job.
      
      * lisp.h (EMACS_INT, BITS_PER_EMACS_INT, EMACS_UINT): If _LP64,
      default these values to long, BITS_PER_LONG, and unsigned long.
      (VALBITS, MARKBIT, XINT): Do not assume 32-bit EMACS_INT.
      (PNTR_COMPARISON_TYPE): Default to EMACS_UINT, not to unsigned int.
      (code_convert_string_norecord, fixup_locale,
      synchronize_messages_locale, synchronize_time_locale,
      emacs_open, emacs_close, emacs_read, emacs_write): New decls.
      All Emacs callers of open, close, read, write changed to use
      emacs_open, emacs_close, emacs_read, emacs_write.
      
      * lread.c (file_offset, file_tell): New macros.  All uses of ftell
      changed to file_tell.
      (saved_doc_string_position, prev_saved_doc_string_position): Now
      of type file_offset.
      (init_lread): Do not fix locale here; fixup_locale now does this.
      
      * m/amdahl.h, s/usg5-4.h:
      (NSIG): Remove.
      (NSIG_MINIMUM): New macro.
      
      * m/cydra5.h, m/dpx2.h, m/mips.h, m/pfa50.h, m/sps7.h, m/stride.h,
      m/ustation.h, s/gnu-linux.h, s/hpux.h, s/iris3-5.h, s/iris3-6.h,
      s/umips.h, s/usg5-4.h:
      (SIGIO): Do not undef.
      (BROKEN_SIGIO): New macro.
      
      * m/ustation.h:
      (SIGTSTP): Do not undef.
      (BROKEN_SIGTSTP): New macro.
      
      * s/gnu-linux.h:
      (SIGPOLL, SIGURG): Do not undef.
      (BROKEN_SIGPOLL, BROKEN_SIGURG): New macros.
      
      * s/ptx4.h:
      (SIGINFO): Do not undef.
      (BROKEN_SIGINFO): New macros.
      
      * m/delta.h, s/ptx.h, s/template.h: Doc fix.
      
      * mktime.c, strftime.c: Update to glibc 2.1.2 version, with
      some Emacs-related changes merged.
      
      * print.c (float_to_string): Prepend "-" to representation of a
      NaN if the NaN is negative.
      
      * process.c (sys_siglist): Omit if HAVE_STRSIGNAL.
      (wait_reading_process_input): Use emacs_strerror, not strerror.
      
      * process.c (status_message, sigchld_handler): Synchronize locale,
      then use strsignal istead of sys_siglist.
      * w32proc.c (sys_wait): Likewise.
      
      * s/aix3-1.h, s/bsd4-1.h, s/dgux.h, s/gnu-linux.h, s/hiuxmpp.h,
      s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/osf1.h, s/rtu.h,
      s/sunos4-1.h, s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h,
      s/usg5-2.h, s/usg5-3.h, s/xenix.h:
      (open, close, read, write, INTERRUPTIBLE_OPEN,
      INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Remove.
      
      * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): New macros.
      * sysdep.c (sys_read, sys_write, read, write, sys_close, close,
      sys_open, open): Remove.
      (emacs_open, emacs_close, emacs_read, emacs_write): Always define;
      the old INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, and INTERRUPTIBLE_IO
      macros are no longer used.
      (emacs_open): Renamed from sys_open.  Merge BSD4_1 version.
      (emacs_close): Renamed from sys_close.
      (emacs_read): Renamed from sys_read.
      (emacs_write): Renamed from sys_write.
      (sys_siglist): Do not declare if HAVE_STRSIGNAL.
      (dup2): Do not print error on failure; the real dup2 doesn't.
      (strsignal): New function, defined if !HAVE_STRSIGNAL.
      
      * syssignal.h (SIGINFO): Undef if defined and if BROKEN_SIGINFO
      is defined.
      (SIGIO, SIGPOLL, SIGTSTP, SIGURG): Likewise.
      (NSIG): If less than NSIG_MINIMUM, define to NSIG_MINIMUM.
      (strsignal): Declare if !HAVE_STRSIGNAL.
      
      * unexelf.c (ElfBitsW, ELFSIZE, ElfExpandBitsW): New macros.
      (ElfW): Define in terms of ElfExpandBitsW.
      
      * w32proc.c (sys_siglist): Remove decl.
      
      * xdisp.c (decode_mode_spec): 3rd arg is int, not char, to comply
      with ANSI C.
      (display_string): Declare face_string_pos arg.
      
      * xfns.c (Fx_show_tip): Declare timeout param.
      
      * xterm.c: No need to include locale.h.
      (x_alloc_lighter_color, x_setup_relief_color):
      Pass arg as double, not float, for compatibility with ANSI C.
      (fixup_locale): Move to emacs.c.
      (x_term_init): Do not setlocale or fixup locale; the main program
      does this now.
      68c45bf0
  6. 18 Oct, 1999 1 commit
    • Kenichi Handa's avatar
      (code_convert_string): Add record_unwind_protect to · b843d1ae
      Kenichi Handa authored
      assure setting inhibit_pre_post_conversion back to zero.  Take
      care of the multibyteness of the working buffer.
      
      (inhibit_pre_post_conversion): New variable.
      (setup_coding_system): If inhibit_pre_post_conversion is nonzero,
      ignore post-read-conversion and pre-write-conversion property of
      the coding system.
      (code_convert_region_unwind): New function.
      (code_convert_region): Set inhibit_pre_post_conversion to 1 while
      running pre-write-conversion and post-read-conversion.
      (code_convert_string): Likewise.
      b843d1ae
  7. 04 Oct, 1999 1 commit
  8. 13 Sep, 1999 1 commit
  9. 23 Aug, 1999 1 commit
  10. 26 Jul, 1999 1 commit
  11. 18 Jun, 1999 1 commit
  12. 08 Jun, 1999 1 commit
  13. 02 Jun, 1999 1 commit
  14. 24 May, 1999 1 commit
  15. 10 May, 1999 1 commit
  16. 02 May, 1999 1 commit
    • Andrew Innes's avatar
      [andrewi] · 716e0b0a
      Andrew Innes authored
      (decode_eol): Set produced/consumed values to zero if
      src_bytes is <= 0 on entry.
      
      [handa]
      (setup_raw_text_coding_system): Call
      setup_coding_system to initialize the fields of struct
      coding_system correctly.
      716e0b0a
  17. 06 Apr, 1999 1 commit
  18. 23 Mar, 1999 1 commit
  19. 20 Mar, 1999 1 commit
  20. 09 Mar, 1999 1 commit
  21. 01 Mar, 1999 1 commit
  22. 18 Feb, 1999 1 commit
  23. 16 Feb, 1999 1 commit
  24. 15 Feb, 1999 1 commit
  25. 08 Feb, 1999 1 commit
  26. 05 Feb, 1999 1 commit
  27. 27 Jan, 1999 1 commit
  28. 25 Jan, 1999 1 commit
  29. 14 Jan, 1999 1 commit
  30. 11 Jan, 1999 1 commit
  31. 15 Dec, 1998 1 commit
    • Kenichi Handa's avatar
      (DECODE_DESIGNATION): Jump to label_invalid_code if · 944bd420
      Kenichi Handa authored
      final_char is invalid.
      (decode_coding): If coding->type is coding_type_ccl, call
      ccl_coding_driver even if SRC_BYTES is zero.
      (code_convert_region): Update `inserted' correctly after calling
      coding->post_read_conversion.  Even after the code converter
      consumed all source text, call it once more if it is
      coding_type_ccl to flush out data.
      944bd420
  32. 28 Oct, 1998 1 commit
  33. 26 Oct, 1998 1 commit
  34. 24 Oct, 1998 1 commit
  35. 21 Oct, 1998 1 commit
    • Kenichi Handa's avatar
      (setup_coding_system): Fix setting up · e133c8fa
      Kenichi Handa authored
      coding->spec.ccl.valid_codes for CCL based coding system.
      (code_convert_region): Set point to FROM before inserting the
      result of pre-write-funciton.  Preserve original point.
      (code_convert_string): If coding->type is coding_type_ccl, do
      conversion even if the length of conversion region is zero.
      e133c8fa
  36. 17 Oct, 1998 1 commit
  37. 12 Oct, 1998 1 commit
  38. 08 Oct, 1998 1 commit
  39. 28 Sep, 1998 1 commit
    • Kenichi Handa's avatar
      (check_composing_code): Fix previous change. Now it · 88993dfd
      Kenichi Handa authored
      alwasy returns 0 or -1.
      (decode_coding_iso2022): Adjusted for the above change.
      (encode_coding_iso2022): When encoding the last block, flush out
      tailing garbage bytes.
      (setup_coding_system): Delete unnecessary code.
      (shrink_decoding_region): Check translation table.  If ASCII
      should be translated, give up shrinking.
      (shrink_encoding_region): Likewise.
      (SHRINK_CONVERSION_REGION_THRESHHOLD): New macro.
      (SHRINK_CONVERSION_REGION): New macro.
      (code_convert_region): Call SHRINK_CONVERSION_REGION.  Delete text
      properties here.
      (code_convert_region): In the case of encoding, always calulate
      correct character number.
      (code_convert_string): Call SHRINK_CONVERSION_REGION.
      (code_convert_region1): Don't delete text properties here.
      (check_composing_code): Fix previous change.  Now it
      alwasy returns 0 or -1.
      (decode_coding_iso2022): Adjusted for the above change.
      (encode_coding_iso2022): When encoding the last block, flush out
      tailing garbage bytes.
      (setup_coding_system): Delete unnecessary code.
      (shrink_decoding_region): Check translation table.  If ASCII
      should be translated, give up shrinking.
      (shrink_encoding_region): Likewise.
      (SHRINK_CONVERSION_REGION_THRESHHOLD): New macro.
      (SHRINK_CONVERSION_REGION): New macro.
      (code_convert_region): Call SHRINK_CONVERSION_REGION.  Delete text
      properties here.
      (code_convert_region): In the case of encoding, always calulate
      correct character number.
      (code_convert_string): Call SHRINK_CONVERSION_REGION.
      (code_convert_region1): Don't delete text properties here.
      88993dfd
  40. 26 Sep, 1998 1 commit
    • Kenichi Handa's avatar
      (check_composing_code): If the current composing · de79a6a5
      Kenichi Handa authored
      sequence doesn't end properly, return -1.
      (DECODE_CHARACTER_ASCII): Update coding->composed_chars.
      (DECODE_CHARACTER_DIMENSION1): Likewise.
      (decode_coding_iso2022): Check validity of a composing sequence.
      (code_convert_string): If the length of text to be converted is
      shrunk to zero, don't perform code conversion.
      (shrink_decoding_region): Fix previous change.
      de79a6a5