1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-17 08:31:09 -08:00
Commit graph

160 commits

Author SHA1 Message Date
Gerd Moellmann
bf9f2aabfe (print_preprocess, print_object): Test internedness of
symbols differently.
2001-10-05 09:50:10 +00:00
Eli Zaretskii
ada329e63f (strout): Treat the characters at *ptr as unsigned char. 2001-08-01 08:29:28 +00:00
Gerd Moellmann
fe88d421bd (syms_of_print) <print-length, print-level>: Doc fix. 2001-05-09 15:41:25 +00:00
Eli Zaretskii
3c062f186d (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change. 2001-03-30 10:59:36 +00:00
Eli Zaretskii
3fa0c5052b (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix. 2001-03-26 17:07:37 +00:00
Gerd Moellmann
5845f63eec (syms_of_print): Doc fixes. 2001-03-20 13:31:03 +00:00
Kenichi Handa
a76ef35dce (print_string): If we are going to print a unibyte
string into a multibyte buffer, convert the string to multibyte by
str_to_multibyte.
2001-02-07 04:24:14 +00:00
Stefan Monnier
85eb236c0a *** empty log message *** 2001-02-02 18:21:56 +00:00
Gerd Moellmann
ee5263afa8 (print_unwind): Return nil.
(PRINTDECLARE): Initialize all local variables.
(print_preprocess): Add a default case.
2000-12-21 20:40:10 +00:00
Andrew Innes
2538fae4f8 Include keyboard.h before frame.h. 2000-08-22 22:41:00 +00:00
Kenichi Handa
d6ac884e34 (print_object): If vector printing is truncated, print "..." to
indicate it as well as the case of list printing.
2000-07-26 04:12:42 +00:00
Gerd Moellmann
fd76094657 (temp_output_buffer_setup): Don't call1 Vrun_hooks
if that is nil.
2000-07-24 18:41:13 +00:00
Gerd Moellmann
1d462b4c3d (print_error_message): If Vsignaling_function is set,
show it in *Messages*.
2000-07-05 17:22:52 +00:00
Gerd Moellmann
eb7b678b97 (printchar, strout): Don't check message_buf_print
before calling setup_echo_area_for_printing because that
function does something useful even when message_buf_print is
already set.
2000-06-14 11:32:05 +00:00
Kenichi Handa
eba90784ce (print_object): Use FETCH_STRING_CHAR_ADVANCE
unconditionally.
2000-05-20 00:04:05 +00:00
Gerd Moellmann
9ab8560dc2 Use the term invalid' instead of illegal'. 2000-05-16 14:29:08 +00:00
Gerd Moellmann
42ac1ed4d1 (print_object): Treat print-length < 0 as nil. 2000-04-27 19:09:17 +00:00
Gerd Moellmann
c02279de38 (print_error_message): Print data of `end-of-file'
with Fprinc instead of Fprin1.
2000-04-27 10:47:45 +00:00
Ken Raeburn
7c752c8099 make_number/XINT/XUINT conversions; EQ/== fixes; ==Qnil -> NILP 2000-04-05 17:29:31 +00:00
Gerd Moellmann
f6cd05276d Use new macro names
for handling per-buffer variables.
2000-03-27 12:50:13 +00:00
Gerd Moellmann
c3279ad4ab (print_object): Use new macros for per-buffer
variables.
2000-03-26 14:08:22 +00:00
Gerd Moellmann
cc94f3b24e Remove LISP_FLOAT_TYPE' and standalone'. 2000-02-17 09:45:46 +00:00
Kenichi Handa
19a86a032e (printchar): Adjusted for the change of CHAR_STRING. 1999-12-15 00:17:25 +00:00
Gerd Moellmann
5494b50f0c (PRINTPREPARE): Don't call setup_echo_area_for_printing
in noninteractive.
1999-11-16 11:36:01 +00:00
Gerd Moellmann
339ee9797d Remove USE_TEXT_PROPERTIES. 1999-11-11 11:45:06 +00:00
Richard M. Stallman
7b0cb8a0e7 (strout): Consider `noninteractive' and use stdout
only when PRINTCHARFUN is t.
1999-11-01 23:25:14 +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
aca2020bdb (print_preprocess): In case print-circle is nil,
add OBJ to Vprint_number_table only when OBJ is a symbol.
1999-10-18 02:01:56 +00:00
Richard M. Stallman
73fb36f17c (print): When removing objects from Vprint_number_table,
only scan the newly added objects.
(print_preprocess): If OBJ is a gensym, and print-continuous-numbering,
unconditionally force it to stay in the table.
1999-10-09 22:58:37 +00:00
Gerd Moellmann
63fbf4ff16 (PRINTFULLP): Removed because it is no longer used and
is misleading.
(Ferror_message_string): Remove unused variables.
(print_object): Cast argument of sprintf to long for `%ld'
specifier.  Remove unused variable.
1999-09-15 12:58:37 +00:00
Ken Raeburn
94b342cea5 Use XCAR, XCDR, and XFLOAT_DATA instead of explicit member access. 1999-09-14 15:12:57 +00:00
Richard M. Stallman
0f25ecc6ca Support print-circle and related features.
(Vprint_gensym_alist): Removed.
(Vprint_circle, Vprint_continuous_numbering, print_number_index
Vprint_number_table): New variables.
(PRINT_NUMBER_OBJECT, PRINT_NUMBER_STATUS): New macros.
(PRINTPREPARE, PRINTFINISH): Don't set Vprint_gensym_alist.
(print, print_preprocess, print_preprocess_string, print_object):
New/modified functions with print-circle feature.  Use
Vprint_number_table instead of Vprint_gensym_alist for print-gensym.
(syms_of_print): Defined new Lisp variables `print-circle',
`print-continuous-numbering', `print-number-table'.
1999-09-13 19:26:18 +00:00
Kenichi Handa
765fe1d0fa (print_string): Use the macro STRING_CHAR_AND_LENGTH.
(print): Likewise.
1999-09-03 01:28:42 +00:00
Gerd Moellmann
0788646cc2 Remove conditional compilation on `standalone'.
(glyph_len, str_to_glyph_cpy, str_to_glyph_ncpy,
glyph_to_str_cpy):  Remove that section because GLYPHs are no
longer used in that way.
(PRINTDECLARE): Add multibyte.
(PRINTPREPARE, PRINTFINISH): Handle printcharfun t differently.
(printbufidx): Removed.
(printchar, strout): Rewritten.
1999-08-21 19:30:21 +00:00
Gerd Moellmann
7eb0330213 (print): Add hash table handling.
(printchar): Set echo_area_message to nil.
(strout): Ditto.
1999-07-21 21:43:52 +00:00
Richard M. Stallman
8c29413d71 (print_error_message): Don't crash if (cdr data) is not a list. 1999-02-21 19:56:08 +00:00
Richard M. Stallman
d9c21094c7 (Qtemp_buffer_setup_hook): New variable.
(syms_of_print): Init and staticpro that.
(temp_output_buffer_setup): Run Qtemp_buffer_setup_hook.
1999-01-11 15:26:11 +00:00
Kenichi Handa
9a4d01d85c (printchar): Fix previous change. 1998-12-22 06:06:48 +00:00
Kenichi Handa
d366d2e41b (printchar): Outputting multibyte characters
to echo area always makes it multibyte.
1998-12-15 10:41:44 +00:00
Kenichi Handa
c7e3eb8b1b (printchar): Cancel previous change. 1998-12-15 10:38:40 +00:00
Kenichi Handa
02a08df0ab (printchar): When outputting a multibyte character to
echo area, always set message_enable_multibyte to 1.
1998-12-15 04:35:38 +00:00
Kenichi Handa
da1ad4e741 (print_string): Check validity of a character.
(print): Likewise.
1998-11-04 10:53:14 +00:00
Dave Love
451f7df83b (Fwith_output_to_temp_buffer): Doc fix. 1998-09-10 22:51:33 +00:00
Richard M. Stallman
835d0be6dd (print_escape_multibyte, Qprint_escape_multibyte)
(Qprint_escape_nonascii): New variables.
(syms_of_print): Initialize them and set up Lisp variable.
(PRINTPREPARE): Bind print-escape-multibyte to t if appropriate.
Also bind print-escape-nonascii if appropriate.
(print): Test print_escape_multibyte and print_escape_nonascii,
rather than enable-multibyte-characters.
1998-08-07 07:22:27 +00:00
Richard M. Stallman
8a2ab0c691 (PRINTFINISH): Convert text to unibyte before
inserting in a unibyte buffer.
1998-06-24 18:32:53 +00:00
Karl Heuer
375fcc095f (print_string): Properly compute number of chars
in multibyte case, before calling strout.
1998-06-22 17:39:25 +00:00
Karl Heuer
799fdb040b (strout): Show multibyte message correctly. 1998-06-20 21:49:01 +00:00
Richard M. Stallman
96aab770c2 (sms_of_print): Doc fix in prev change. 1998-05-25 20:35:28 +00:00
Richard M. Stallman
38940e93ef (print_escape_nonascii): New variable.
(print) <Lisp_String>: Use it to force printing single-byte
non-ASCII characters as octal escapes.
(syms_of_print): Define print-escape-nonascii.
1998-05-25 20:29:54 +00:00
Richard M. Stallman
1eab22b5de (print) <Lisp_Cons>: Detect circular list. 1998-05-25 16:28:02 +00:00