Commit graph

71 commits

Author SHA1 Message Date
Stefan Monnier
53eda4818f (ENCODE_SYSTEM, DECODE_SYSTEM) [!WINDOWSNT]: Use the
locale-coding-system, as was already done for WINDOWSNT.
2005-03-17 00:37:35 +00:00
Kenichi Handa
f943989689 (run_pre_write_conversin_on_c_str): Extern it. 2004-11-30 08:01:45 +00:00
Stefan Monnier
5e92b1caaf (ENCODE_FILE, DECODE_FILE, ENCODE_SYSTEM, DECODE_SYSTEM):
Don't use XFASTINT blindly.
2004-11-23 05:21:31 +00:00
Miles Bader
ab5796a9f9 Add arch taglines 2003-09-01 15:45:59 +00:00
Dave Love
c14e5a3a15 (ENCODE_UTF_8): New.
(Qutf_8): Declare.
2003-06-02 18:49:53 +00:00
Kenichi Handa
cbb76662ea (CODING_REPLACEMENT_CHARACTER): Renamed from
CODING_INHIBIT_CHARACTER_SUBSTITUTION.
(CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
2003-05-22 05:52:15 +00:00
Kenichi Handa
6926d59136 (coding_system_require_warning): Extern it. 2002-12-17 11:39:34 +00:00
Ken Raeburn
f14049eb75 (decode_coding, encode_coding, detect_coding,
detect_eol): Declarations updated.
2002-07-19 14:27:01 +00:00
Eli Zaretskii
f227fdedfb (run_pre_post_conversion_on_str): Add prototype. 2002-02-23 18:39:29 +00:00
Jason Rumney
9b58c683a3 (Vw32_system_coding_system) [WINDOWSNT]: Remove.
(ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
2001-11-20 22:01:56 +00:00
Gerd Moellmann
cf29bf99c7 (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT. 2001-10-05 09:44:02 +00:00
Dave Love
5549605438 Comment fixes. 2001-02-14 23:51:03 +00:00
Kenichi Handa
6041c9ce6b (struct coding_system): New member suppress_error. 2001-01-24 23:30:16 +00:00
Ken Raeburn
6dd241868e (code_convert_string1): Declare. 2000-12-04 00:27:33 +00:00
Gerd Moellmann
d008a7cc71 (Qwrite_region, Qcoding_system_error): Declare extern. 2000-12-02 11:25:59 +00:00
Kenichi Handa
0749a60833 (conversion_buffer_size, conversion_buffer)
(get_conversion_buffer): Extern deleted.
2000-08-16 01:36:53 +00:00
Ken Raeburn
8a6d111eec (decode_coding_string): Declare. 2000-08-08 14:40:19 +00:00
Kenichi Handa
abbe1b451d (struct coding_system): Member safe_charset deleted. 2000-07-27 05:46:12 +00:00
Ken Raeburn
52e386c2dc fix up more Lisp_Object/int conversion issues 2000-06-18 20:14:37 +00:00
Kenichi Handa
6f776e81c7 (EMASC_CODING_H): Renamed from _CODING_H. 2000-06-11 23:41:24 +00:00
Dave Love
eb545596f0 Declare code_convert_string_norecord. 2000-06-05 14:22:54 +00:00
Jason Rumney
2dfda96293 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
[WINDOWSNT]: Add extern for Vw32_system_coding_system.
2000-05-30 21:19:39 +00:00
Kenichi Handa
55fff3f969 (coding_allocate_composition_data): Extern it.
(coding_restore_composition): Likewise.
2000-05-29 11:20:00 +00:00
Kenichi Handa
d23ee51483 (struct coding_system): Add a comment for src_multibyte and
dst_multibyte.
2000-05-23 11:08:35 +00:00
Kenichi Handa
811ea08632 (enum iso_code_class_type): Member ISO_control_code is
devided into ISO_control_0 and ISO_control_1.
(struct coding_system): New members src_multibyte, dst_multibyte,
errors, and result.  Delete member fake_multibyte.
(CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
nonzero.
(CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
nonzero.
2000-05-19 23:56:15 +00:00
Ken Raeburn
8000e212ef * coding.h (code_convert_string): Declare.
* coding.c (code_convert_string_norecord): Pass an int, not a lisp object, as
the fourth argument to code_convert_string.
2000-04-08 19:34:29 +00:00
Kenichi Handa
62537270d9 (CODING_CATEGORY_IDX_UTF_8)
(CODING_CATEGORY_IDX_UTF_16_BE)
(CODING_CATEGORY_IDX_UTF_16_LE): New macros
(CODING_CATEGORY_IDX_RAW_TEXT) (CODING_CATEGORY_IDX_BINARY)
(CODING_CATEGORY_IDX_MAX): Re-numbered.
(CODING_CATEGORY_MASK_UTF_8) (CODING_CATEGORY_MASK_UTF_16_BE)
(CODING_CATEGORY_MASK_UTF_16_LE): New macros.
(CODING_CATEGORY_MASK_ANY): Include them.
(CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
2000-03-07 06:17:10 +00:00
Kenichi Handa
279d9f7b8d (emacs_code_class_type): Delete the member
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-12-15 00:05:57 +00:00
Paul Eggert
68c45bf065 Add support for large files, 64-bit Solaris, system locale codings.
* 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-10-19 07:25:11 +00:00
Kenichi Handa
2ea6666cf7 Include "ccl.h" instead of "../src/ccl.h". 1999-08-23 10:43:51 +00:00
Eli Zaretskii
20ee919eb4 eol-mnemonic-* variables are now strings, not characters. 1999-01-27 10:09:55 +00:00
Kenichi Handa
450c60a559 (struct coding_system): New member composed_chars. 1998-09-26 04:20:48 +00:00
Kenichi Handa
1ee0bc0950 (CODING_FINISH_INTERRUPT): New macro. 1998-09-18 13:10:40 +00:00
Kenichi Handa
0827f88d34 (default_buffer_file_coding): Extern it. 1998-08-10 06:29:02 +00:00
Kenichi Handa
8469bb88e5 (CODING_CATEGORY_IDX_CCL): New macro.
(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-08-02 01:06:57 +00:00
Kenichi Handa
64abe701f1 (Qemacs_mule): Extern it. 1998-06-26 04:14:52 +00:00
Kenichi Handa
e5ff4bc29e (setup_raw_text_coding_system): Extern it. 1998-06-26 03:29:15 +00:00
Karl Heuer
afee915020 (DECODE_FILE, ENCODE_FILE):
Use code_convert_string_norecord.
1998-06-03 14:41:27 +00:00
Kenichi Handa
f967223b11 Change term "character translation table" to "translation table". 1998-05-22 09:45:34 +00:00
Kenichi Handa
ab45712c8f Change terms unify/unification to
translate/translation respectively throughtout the file.
1998-05-18 00:59:38 +00:00
Richard M. Stallman
31406df1a4 (Vfile_name_coding_system)
(Vdefault_file_name_coding_system): Declarations added.
1998-05-02 06:38:09 +00:00
Eli Zaretskii
77a9bc9a3f Declare inherit-process-coding-system. 1998-04-15 15:48:45 +00:00
Andreas Schwab
ec5d8db72d Add more prototypes. 1998-04-14 12:33:47 +00:00
Kenichi Handa
a137bb009d (struct coding_system): Comment for the member
heading_ascii modified.
1998-03-30 06:00:54 +00:00
Kenichi Handa
290591c8fb (ENCODE_FILE): Moved from fileio.c. Use
default-file-name-coding-system if file-name-coding-system is nil.
(DECODE_FILE): New macro.
1998-03-03 07:18:46 +00:00
Kenichi Handa
3b2d77fe29 Typo in comment fixed. 1998-03-03 01:29:16 +00:00
Kenichi Handa
e6a9a0bce6 (struct coding_system): New member fake_multibyte. 1998-02-20 01:40:47 +00:00
Kenichi Handa
658cc2522e (CODING_FLAG_ISO_DESIGNATION): New macro.
(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.
1998-01-22 01:26:45 +00:00
Andreas Schwab
c04809fb5b Add more prototypes and function declarations. 1997-11-21 14:42:33 +00:00
Kenichi Handa
a5ee738b63 (struct coding_system): Add member common_flags, delete
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-11-08 03:05:44 +00:00