aboutsummaryrefslogtreecommitdiffstats
path: root/src/fileio.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* (Fsubstitute_in_file_name): Adjusted for the change ofKenichi Handa1999-12-151-56/+86
| | | | | | | | | | | CHAR_STRING. (Finsert_file_contents): Set Vlast_coding_system_used before calling signal_after_change. Call update_compositions if some texts are inserted.. (Fwrite_region): Adjusted for the change of a_write and e_write. (a_write): Argument changed. Work based on character position, not byte position. (e_write): Argument changed. Handle new way of composition.
* * editfns.c (Fdelete_and_extract_region): New function.Stefan Monnier1999-12-071-1/+1
| | | | | | | | | | | | (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.
* (decide_coding_unwind): Renamed fromKenichi Handa1999-12-061-28/+52
| | | | | | set_auto_coding_unwind. (Finsert_file_contents): Make single unwind protect to call both Vset_auto_coding_function and Ffind_operation_coding_system.
* Comment change.Richard M. Stallman1999-11-281-1/+4
|
* (Finsert_file_contents): Set buffer-file-coding-systemKenichi Handa1999-11-251-1/+1
| | | | of the current buffer via Fset.
* * callproc.c (strerror): Remove decl.Paul Eggert1999-11-221-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Add support for large files, 64-bit Solaris, system locale codings.Paul Eggert1999-10-191-51/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* (Fmake_temp_name): forgot the \n\ in the docstringStefan Monnier1999-10-081-2/+2
|
* (Fmake_temp_name): add a ref to `make-temp-file' in the docstring.Stefan Monnier1999-10-081-1/+5
|
* Use XCAR, XCDR, and XFLOAT_DATA instead of explicit member access.Ken Raeburn1999-09-131-19/+19
|
* (Fwrite_region): Finish renaming CONFIRM to MUSTBENEW.Richard M. Stallman1999-09-091-3/+4
| | | | (Fwrite_region) [DOS_NT]: Handle `excl' here too.
* (Fwrite_region): Doc fix.Richard M. Stallman1999-09-071-5/+8
|
* (Qexcl): New variable.Richard M. Stallman1999-09-071-12/+24
| | | | | | (report_file_error): Handle EEXIST specially. (Fwrite_region): Special handling for CONFIRM = `excl'. (syms_of_fileio): Initialize Qexcl.
* Include <stdlib.h> if available.Andreas Schwab1999-08-301-0/+4
|
* (Fdo_auto_save): Use push_message, restore_message,Gerd Moellmann1999-08-211-15/+4
| | | | pop_message.
* (Finsert_file_contents): Use xfree.Dave Love1999-08-181-2/+2
|
* (Fdo_auto_save): Handle the case that echo_area_messageGerd Moellmann1999-07-211-4/+34
| | | | | | | is set. (Finsert_file_contents): Prevent redisplay optimizations. (Fread_file_name): Call it. (report_file_error): Return void.
* (Finsert_file_contents): If reading into a unibyteRichard M. Stallman1999-07-071-7/+7
| | | | buffer, suppress character code conversion.
* (Fread_file_name): Check type of DEFAULT_FILENAME.Richard M. Stallman1999-07-011-1/+4
|
* (Finsert_file_contents): In the case of REPALCE, callKenichi Handa1999-06-221-6/+12
| | | | | del_range_byte instead off del_range_1, set `inserted' to the number of characters actually inserted.
* (Fread_file_name): Correct handling of dollars in fileAndreas Schwab1999-05-101-13/+24
| | | | | names. Protect dollars in strings put on the file-name-history. Substitute homedir by `~' also in default_filename.
* Comment fix.Karl Heuer1999-04-281-1/+1
|
* Doc fix.Dave Love1999-03-091-1/+3
|
* (Finsert_file_contents): Use xfree.Dave Love1999-03-071-1/+1
|
* (Ffile_regular_p): Undo previous change.Karl Heuer1999-02-231-1/+1
|
* (lstat) [!S_ISLNK]: Use stat instead of lstat.Eli Zaretskii1999-02-211-0/+4
|
* (Ffile_regular_p): Use lstat.Richard M. Stallman1999-02-131-1/+1
|
* (Finsert_file_contents): Even if INSERTED is zero, ifKenichi Handa1998-12-151-1/+1
| | | | CODING is handled by CCL program, call code_convert_region.
* (Fsubstitute_in_file_name) [DOS_NT]: Fix typo.Geoff Voelker1998-11-031-1/+1
|
* fileio.c (init_fileio_once): New function.Geoff Voelker1998-10-301-1/+7
|
* (Fwrite_region): Reflect the eol conversionKenichi Handa1998-08-101-12/+41
| | | | | specification of default value of buffer-file-coding-system if is is undefined.
* (Finsert_file_contents): Call Vset_auto_coding_functionKenichi Handa1998-07-251-30/+38
| | | | | | | | with two arguments. (Fwrite_region): If buffer-file-coding-system is set locally, use the coding system whithout checking file-coding-system-alist. (syms_of_fileio): Docstring of set-auto-coding-function adjusted for the change of argument number.
* (Finsert_file_contents): When replacing, in multibyte bfr,Richard M. Stallman1998-07-131-1/+22
| | | | always extend the range to a character boundary.
* (Finsert_file_contents): Cancel previous change. SetupKenichi Handa1998-07-061-69/+69
| | | | the variable coding even if the inserted bytes is zero.
* (Ffile_regular_p) [WINDOWSNT]: BindRichard M. Stallman1998-07-031-1/+33
| | | | | | | `w32-get-true-file-attributes' to t while calling stat. (Finsert_file_contents) [WINDOWSNT]: Likewise. (Fwrite_region): Don't try seeking to end of FILENAME for appending if not a regular file.
* (Finsert_file_contents): Do not set Vlast_coding_systemKenichi Handa1998-07-031-1/+1
| | | | if inserted bytes is zero.
* (Faccess_file): Check type of second argument STRING.Richard M. Stallman1998-07-021-4/+4
| | | | (Fread_file_name): Bind minibuffer-completing-file-name to t.
* (Finsert_file_contents): Call setup_raw_text_coding_system.Kenichi Handa1998-06-261-18/+6
|
* (syms_of_fileio): Doc-string of the variableKenichi Handa1998-06-151-2/+2
| | | | set-auto-coding-function modified for the change above.
* (Finsert_file_contents): Redo the change for handlingKenichi Handa1998-06-151-148/+187
| | | | | set-auto-coding while adding a kludgy code to avoid a compiler bug.
* (Finsert_file_contents): Fix change to set INSERTED.Richard M. Stallman1998-06-141-1/+1
|
* (Finsert_file_contents): Undo the previous change forKenichi Handa1998-06-121-179/+148
| | | | handling set-ault-coding.
* (Finsert_file_contents): After calling handler,Kenichi Handa1998-06-121-0/+2
| | | | get INSERTED from the handler's value.
* (set_auto_coding_unwind): New function.Kenichi Handa1998-06-121-149/+189
| | | | | | | | | (Finsert_file_contents): If the current buffer is empty, decide the coding system after the file is inserted in the buffer. If not, insert the head and tail of a file in a temporary buffer and call set-auto-coding-function. (e_write): If there are carryover bytes in encoding because of incomplete multibyte form, write them out as is.
* (Finsert_file_contents): Always updateKarl Heuer1998-06-051-6/+14
| | | | | Vlast_coding_system_used when we actually perform IO. (Fwrite_region): Update documentation.
* (Finsert_file_contents): Fix char signedness mismatches.Karl Heuer1998-06-011-1/+1
|
* (Ffile_name_directory, Ffile_name_nondirectory)Richard M. Stallman1998-05-211-5/+19
| | | | [DOS_NT]: Handle the special construct "/:" when followed by d:foo.
* (Fexpand_file_name): Change conditionalRichard M. Stallman1998-05-171-1/+1
| | | | in previous change from WINDOWSNT to DOS_NT.
* (Fexpand_file_name) [WINDOWSNT]: Be careful not toRichard M. Stallman1998-05-161-1/+12
| | | | | concatenate the directory prefix and file name to accidentally create a network share name.
* (Finsert_file_contents): Don't check non-regularRichard M. Stallman1998-05-141-5/+9
| | | | files for a coding: specification.