aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding.h (unfollow)
Commit message (Collapse)AuthorFilesLines
1999-12-15(emacs_code_class_type): Delete the memberKenichi Handa1-22/+75
EMACS_leading_code_composition. (COMPOSING_NO) (COMPOSING_WITH_RULE_HEAD) (COMPOSING_NO_RULE_HEAD) (COMPOSING_WITH_RULE_TAIL) (COMPOSING_NO_RULE_TAIL) (COMPOSING_WITH_RULE_RULE) (COMPOSING_HEAD_P) (COMPOSING_WITH_RULE_P): Macros deleted. (COMPOSITION_DATA_SIZE) (COMPOSITION_DATA_MAX_BUNCH_LENGTH): New macros. (struct composition_data): New structure. (CODING_FINISH_INSUFFICIENT_CMP): New macro. (struct coding_system): New members composition_rule_follows, cmp_data, cmp_data_start, cmp_data_index. (coding_save_composition) (coding_free_composition_data) (coding_adjust_composition_offset): Extern them.
1999-10-19Add support for large files, 64-bit Solaris, system locale codings.Paul Eggert1-0/+4
* 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.
1999-08-23Include "ccl.h" instead of "../src/ccl.h".Kenichi Handa1-1/+1
1999-01-27eol-mnemonic-* variables are now strings, not characters.Eli Zaretskii1-4/+4
1998-09-26(struct coding_system): New member composed_chars.Kenichi Handa1-0/+3
1998-09-18(CODING_FINISH_INTERRUPT): New macro.Kenichi Handa1-0/+1
1998-08-10(default_buffer_file_coding): Extern it.Kenichi Handa1-0/+3
1998-08-02(CODING_CATEGORY_IDX_CCL): New macro.Kenichi Handa1-4/+7
(CODING_CATEGORY_IDX_BIG5, CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY, CODING_CATEGORY_IDX_MAX): Increased by one. (CODING_CATEGORY_MASK_CCL): New macro. (CODING_CATEGORY_MASK_ANY): Include CODING_CATEGORY_MASK_CCL.
1998-06-26(Qemacs_mule): Extern it.Kenichi Handa1-1/+1
1998-06-26(setup_raw_text_coding_system): Extern it.Kenichi Handa1-0/+1
1998-06-03(DECODE_FILE, ENCODE_FILE):Karl Heuer1-6/+6
Use code_convert_string_norecord.
1998-05-22Change term "character translation table" to "translation table".Kenichi Handa1-4/+4
1998-05-18Change terms unify/unification toKenichi Handa1-3/+6
translate/translation respectively throughtout the file.
1998-05-02(Vfile_name_coding_system)Richard M. Stallman1-0/+6
(Vdefault_file_name_coding_system): Declarations added.
1998-04-15Declare inherit-process-coding-system.Eli Zaretskii1-0/+4
1998-04-14Add more prototypes.Andreas Schwab1-0/+2
1998-03-30(struct coding_system): Comment for the memberKenichi Handa1-3/+4
heading_ascii modified.
1998-03-03(ENCODE_FILE): Moved from fileio.c. UseKenichi Handa1-0/+22
default-file-name-coding-system if file-name-coding-system is nil. (DECODE_FILE): New macro.
1998-03-03Typo in comment fixed.Kenichi Handa1-1/+1
1998-02-20(struct coding_system): New member fake_multibyte.Kenichi Handa1-0/+6
1998-01-22(CODING_FLAG_ISO_DESIGNATION): New macro.Kenichi Handa1-50/+101
(struct iso2022_spec): New member. last_invalid_designation_register. (struct coding_system): New member inhibit_inconsistent_eol_type. (CODING_CATEGORY_IDX_ISO_7_TIGHT, CODING_CATEGORY_MASK_ISO_7_TIGHT): New macros. (CODING_CATEGORY_MASK_ANY): Include CODING_CATEGORY_MASK_ISO_7_TIGHT. (coding_category_table, coding_category_name): Extern deleted. (Vselect_safe_coding_system_function): Extern it. (CODING_FINISH_XXX): New macros. (CODING_MODE_XXX): New macros. (struct coding_system): New member mode, category_idx, heading_ascii. Deleted members last_block, direction, selective, carryover, carryover_size. (CODING_MAY_REQUIRE_DECODING): New macro. (CODING_CATEGORY_MASK_ISO_7BIT, CODING_CATEGORY_MASK_ISO_8BIT, CODING_CATEGORY_MASK_ISO_SHIFT, CODING_CATEGORY_MASK_ISO): New macros. (Qraw_text): Extern it.
1997-11-21Add more prototypes and function declarations.Andreas Schwab1-4/+11
1997-11-08(struct coding_system): Add member common_flags, deleteKenichi Handa1-18/+28
member require_flushing. (CODING_REQUIRE_FLUSHING_MASK, CODING_REQUIRE_DECODING_MASK, CODING_REQUIRE_ENCODING_MASK, CODING_REQUIRE_DETECTION_MASK): New macros. (CODING_REQUIRE_NO_CONVERSION, CODING_MAY_REQUIRE_NO_CONVERSION): These macros deleted. (CODING_REQUIRE_FLUSHING, CODING_REQUIRE_DECODING, CODING_REQUIRE_ENCODING, CODING_REQUIRE_DETECTION): New macros.
1997-10-23(struct iso2022_spec): New memberKenichi Handa1-8/+13
charset_revision_number. (CODING_SPEC_ISO_SAFE_CHARSETS): This macro deleted. (CODING_SPEC_ISO_REVISION_NUMBER): New macro. (struct coding_system): Member `safe_charsets' is moved from struct iso2022_spec.
1997-09-02Minor reordering of macros.Richard M. Stallman1-1/+1
1997-08-28(coding_type): New member coding_type_raw_text.Kenichi Handa1-11/+22
(CODING_EOL_INCONSISTENT): New macro. (CODING_REQUIRE_NO_CONVERSION): Check also coding_type_raw_text. (CODING_MAY_REQUIRE_NO_CONVERSION): Likewise. (CODING_CATEGORY_IDX_RAW_TEXT): New macro. (CODING_CATEGORY_MASK_RAW_TEXT): New macro.
1997-08-16(Vmicrosoft_code_table): This variable deleted.Kenichi Handa1-1/+5
(Vlatin_extra_code_table): New variable. (detect_coding_iso2022): Pay attention to Vlatin_extra_code_table. (detect_coding_mask): Likewise. (setup_coding_system): Handle a new FLAGS element ACCEPT-LATIN-EXTRA-CODE. (syms_of_coding): Delete code for Vmicrosoft_code_table. Declare latin-extra-code-table as a Lisp variable, and initialize it.
1997-08-10(struct iso2022_spec): New member expected_charsets.Kenichi Handa1-0/+8
(CODING_SPEC_ISO_EXPECTED_CHARSETS): New macro.
1997-08-10(CODING_FLAG_ISO_SAFE): New macro.Kenichi Handa1-0/+11
(CODING_INHIBIT_CHARACTER_SUBSTITUTION): New macro. coding.h (safe_terminal_coding): Extern it.
1997-08-03(CODING_CATEGORY_MASK_BINARY): New macro.Kenichi Handa1-0/+1
1997-07-25(CODING_REQUIRE_TEXT_CONVERSION,Kenichi Handa1-16/+13
CODING_REQUIRE_EOL_CONVERSION, CODING_REQUIRE_CONVERSION): Deleted. (CODING_REQUIRE_NO_CONVERSION): New macro. (CODING_MAY_REQUIRE_NO_CONVERSION): New macro.
1997-07-15(CODING_CATEGORY_IDX_ISO_7_ELSE): This macro is deletedKenichi Handa1-6/+9
(CODING_CATEGORY_IDX_ISO_7_ELSE): New macro. (CODING_CATEGORY_IDX_ISO_8_ELSE): New macro (CODING_CATEGORY_MASK_ISO_ELSE): This macro is deleted. (CODING_CATEGORY_MASK_ISO_7_ELSE): New macro. (CODING_CATEGORY_MASK_ISO_8_ELSE): New macro. (CODING_CATEGORY_MASK_ANY): Adjusted for the above change.
1997-07-07(Qemacs_mule): Extern it.Kenichi Handa1-0/+1
1997-07-02(struct coding_system): New membersKenichi Handa1-2/+3
character_unification_table_for_decode and character_unification_table_for_encode.
1997-06-20Change copyright notices.Richard M. Stallman1-3/+2
1997-06-09(Vdefault_process_coding_system): Extern it.Kenichi Handa1-1/+2
1997-05-28(struct iso2022_spec): Member requested_designation isKenichi Handa1-1/+7
changed to array of unsigned char. (CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION): New macro.
1997-05-19(struct iso2022_spec): Change the declaration ofKenichi Handa1-1/+1
requested_designation from `char' to `int'.
1997-05-16Name change through the code:Kenichi Handa1-9/+9
coding-category-internal => coding-category-emacs-mule, XXX_coding_internal => XXX_coding_emacs_mule, coding_type_internal => coding_type_emacs_mule, coding_type_automatic => coding_type_undecided, CODING_CATEGORY_MASK_INTERNAL => CODING_CATEGORY_MASK_EMACS_MULE, CODING_CATEGORY_IDX_INTERNAL => CODING_CATEGORY_IDX_EMACS_MULE, CODING_EOL_AUTOMATIC => CODING_EOL_UNDECIDED.
1997-05-10(CODING_SPEC_ISO_PLANE_CHARSET): Return -1 if noKenichi Handa1-3/+8
character set is invoked to PLANE. (struct coding_system): New member character_unification_table.
1997-03-18Adjusted for the change of MAX_CHARSET.Kenichi Handa1-1/+1
1997-02-27(struct iso2022_spec): Member requested_designation isKenichi Handa1-4/+14
changed to array of `char' just for saving memory. (CODING_FLAG_ISO_INIT_AT_BOL, CODING_FLAG_ISO_DESIGNATE_AT_BOL): New macros.
1997-02-23Fix FSF address in comment.Karl Heuer1-12/+14
1997-02-20Initial revisionKarl Heuer1-0/+409