1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-27 07:41:28 -08:00
Commit graph

172 commits

Author SHA1 Message Date
Gerd Moellmann
8f9f49d733 (Qtext_read_only): New built-in error.
(syms_of_data): Initialize it.
1999-11-01 14:14:04 +00:00
Gerd Moellmann
c1307a2360 (Qad_activate_internal): Renamed from Qad_activate.
(Ffset): Call Qad_activate_internal.
(syms_of_data): Initialize Qad_activate_internal.
1999-10-26 23:25:22 +00:00
Gerd Moellmann
81dc5de57a (Qhash_table): New.
(Ftype_of): Return it for hash tables.
(syms_of_data): Initialize Qhash_table.
1999-10-25 20:51:13 +00:00
Ken Raeburn
7539e11fca more XCAR/XCDR/XFLOAT_DATA uses, to help isolete lisp engine 1999-10-25 04:58:18 +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
Gerd Moellmann
dd8daec5e8 (find_symbol_value): Remove unused variables.
(Faref, Fstring_to_number): Ditto.
(toplevel): Include stdio.h.
(Fnumber_to_string): Cast XINT to long for %ld.
1999-09-20 23:18:38 +00:00
Gerd Moellmann
1cc04aed1e (swap_in_symval_forwarding): Change for Lisp_Object
selected_frame.
(set_internal): Ditto.
1999-09-13 11:13:22 +00:00
Kenichi Handa
a260318815 (Faset): Adjust the way to check byte-combining
possibility for the new handling of multibyte sequence.
1999-09-03 01:28:42 +00:00
Karl Heuer
32f532b7e2 (Fdefalias): Call Ffset instead of duplicating code. 1999-07-30 15:46:56 +00:00
Richard M. Stallman
33fa85e042 (set_internal): For built-in maybe-local vars,
when BINDFLAG is set, do not mark them as local.
1998-10-31 23:39:42 +00:00
Kenichi Handa
5e522af4f3 (Faset): Fix previous change. 1998-10-14 07:17:22 +00:00
Kenichi Handa
dbda4aad56 (Faset): If ARRAY is a multibyte string, pay attention to
byte-combining situation.
1998-10-12 12:00:44 +00:00
Kenichi Handa
8e36ae7f46 (Fstring_to_number): Don't recognize floating point if base is not 10. 1998-10-12 11:54:43 +00:00
Karl Heuer
05edf8bd68 (Fmake_local_variable): Doc fix. 1998-09-13 03:58:36 +00:00
Paul Eggert
e64981da92 (arith_driver, float_arith_driver): Compute (- x) by
using negation, not subtraction; this makes a difference with
IEEE floating point arithmetic (and also if integer arithmetic
is ones' complement or signed-magnitude!).
1998-08-29 17:57:22 +00:00
Kenichi Handa
6d0b4facd2 (Faset): Use macro CHAR_BYTES instead of Fchar_bytes. 1998-08-28 12:22:39 +00:00
Richard M. Stallman
899cb8f0f3 (set_internal): Properly compare lisp objects.
(Fmakunbound): Likewise.
1998-05-07 20:47:53 +00:00
Richard M. Stallman
81d7062685 (Flsh, Fash): Handle out-of-range shift counts reasonably. 1998-04-29 00:59:22 +00:00
Richard M. Stallman
454fa45765 (Fmakunbound): Test keywordness only in initial obarray.
(set_internal): Test keywordness only in initial obarray.
1998-04-26 19:16:25 +00:00
Andreas Schwab
dfcf069d56 Fix -Wimplicit warnings. 1998-04-14 12:25:56 +00:00
Karl Heuer
120821e11c (set_internal, Fmakunbound): Fix previous change. 1998-04-12 06:41:01 +00:00
Karl Heuer
b087d86605 (set_internal, Fmakunbound): No error if setting
a keyword to itself.
1998-04-11 18:04:12 +00:00
Karl Heuer
5c5aad0710 (keyword_symbols_constant_flag): New variable.
(syms_of_data): Set up Lisp variable.
(set_internal): Obey it and give error for :-symbols.
(Fmakunbound): Likewise.
1998-04-08 18:56:20 +00:00
Richard M. Stallman
8f152ad40d Fix previous change. 1998-04-05 19:13:50 +00:00
Richard M. Stallman
37254ece9e (Fmake_variable_frame_local): Doc fix. 1998-04-03 03:13:32 +00:00
Richard M. Stallman
fc932ac6c7 Use STRING_BYTES and SET_STRING_BYTES. 1998-03-21 07:06:14 +00:00
Richard M. Stallman
b0c2d1c671 (store_symval_forwarding, swap_in_symval_forwarding)
(set_internal, default_value, Fset_default, Fmake_local_variable)
(Fmake_variable_buffer_local, Fkill_local_variable):
Handle new data structure for struct Lisp_Buffer_Local_Value.
(Fmake_variable_frame_local): New function.
1998-03-12 05:50:33 +00:00
Karl Heuer
984ef137be (store_symval_forwarding) <Lisp_Misc_Buffer_Objfwd>:
If buffer_local_types has -1, this variable is read-only.
(Fset_default) <BUFFER_OBJFWDP>:
Unconditionally set the slot in buffer_defaults.
1998-02-27 21:56:28 +00:00
Richard M. Stallman
ab5c3f933d (Faref, Faset): Allow indexing a char-table
directly by numbers up to CHAR_TABLE_ORDINARY_SLOTS.
1998-02-03 06:22:02 +00:00
Kenichi Handa
0f56470d73 (syms_of_data): Register multibyte-string-p as a Lisp
function.
1998-01-28 12:37:25 +00:00
Kenichi Handa
ca2f68f8d9 (Faset): Allow setting a multibyte character in a
multibyte string as far as it doesn't change the size_byte of the
string.
1998-01-22 01:26:45 +00:00
Richard M. Stallman
4a2f9c6aef Update copyright year. 1998-01-21 23:32:12 +00:00
Richard M. Stallman
25638b0794 (Fmultibyte_string_p): New function.
(Faref): Index string by chars.
(Faset): Index multibyte string by chars.
1998-01-09 23:06:13 +00:00
Paul Eggert
2f2615421a No need to include <float.h> before "lisp.h",
as the latter no longer defines DBL_DIG.
1997-10-23 04:29:36 +00:00
Karl Heuer
142d91357f (Fstring_to_number): Handle NEGATIVE for floats too. 1997-10-15 23:12:54 +00:00
Richard M. Stallman
3c8fccc3e5 (Faset): Simplify a statement in the char-table case.
This is to help some compilers.
1997-09-04 06:30:27 +00:00
Richard M. Stallman
c21241654f Many doc fixes. 1997-07-18 18:17:20 +00:00
Richard M. Stallman
523e929122 Include float.h before lisp.h. 1997-07-05 03:27:25 +00:00
Kenichi Handa
c8823c61e4 (Faset): Inherit default value correctly while creating
sub char table.
1997-06-09 13:00:07 +00:00
Richard M. Stallman
a9729926eb (Farrayp): Accept bool-vectors and char-tables. 1997-05-30 20:13:21 +00:00
Richard M. Stallman
9346f5077f (Faset): Doc fix. 1997-05-29 00:14:20 +00:00
Kenichi Handa
d02eeab3cf Declare set_internal as Lisp_Object in advance to avoid
compiler error.
1997-05-16 00:43:15 +00:00
Richard M. Stallman
3883fbebaa (wrong_type_argument): Pass new arg to Fstring_to_number.
(Fstring_to_number): Handle bases 2...16.
(digit_to_number): New subroutine.
1997-05-12 22:04:18 +00:00
Kenichi Handa
39e16e513f (Faref, Faset): Adjusted for the new structure of
Lisp_Char_Table.
1997-04-07 07:12:13 +00:00
Kenichi Handa
3a6cf6bde3 (Faref, Faset): Adjusted for the change of CHAR_TABLE_ORDINARY_SLOTS. 1997-03-18 23:31:34 +00:00
Kenichi Handa
8fb379fdac (Faref, Faset): Handle a composite char correctly in char-table. 1997-02-27 10:45:19 +00:00
Karl Heuer
8313c4e7a8 Include charset.h.
(Qprocess): Now extern, not static.
(Faref, Faset): Enable indexing a char table by a multibyte
character.
1997-02-20 06:47:04 +00:00
Paul Eggert
bc1c9d7e6b (isnan): Define even if LISP_FLOAT_TYPE is not defined, since fmod
might need it.
(fmod): Ensure that the magnitude of the result does not exceed that
of the divisor, and that the sign of the result does not disagree with
that of the dividend.  This does not yield a
particularly accurate result, but at least it will be in the
range promised by fmod.
1997-01-28 04:51:45 +00:00
Richard M. Stallman
05ef7169a0 (set_internal): New subroutine. New arg BINDFLAG.
Don't make a new buffer-local binding if BINDFLAG is 0.
(Fset): Use set_internal.
1997-01-25 20:19:30 +00:00
Paul Eggert
ad8d56b960 <float.h>: Include if STDC_HEADERS.
(IEEE_FLOATING_POINT): New symbol.
(float_arith_driver, Fmod):
Test for division by 0 only if ! IEEE_FLOATING_POINT.
1996-12-30 08:07:51 +00:00