aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMiles Bader <[email protected]>2005-04-09 02:16:29 +0000
committerMiles Bader <[email protected]>2005-04-09 02:16:29 +0000
commit768d4533ce51d61ce065b28f63aae43c7be0d1cc (patch)
treefb2d103d5c9354b3a15550b160bba0ff2e22c418 /src
parent918bcc18650840562677f841aa0bcaa34a069be5 (diff)
parent2a9e192d3815d2c34fdd41d52590027805bc9055 (diff)
Revision: [email protected]/emacs--unicode--0--patch-35
Merge from emacs--cvs-trunk--0 Patches applied: * emacs--cvs-trunk--0 (patch 228-240) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 53-58) - Merge from emacs--cvs-trunk--0 - Update from CVS - Collapse feature addition/removal within single ChangeLog entry
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog38
-rw-r--r--src/ChangeLog.64
-rw-r--r--src/alloc.c4
-rw-r--r--src/emacs.c2
-rw-r--r--src/eval.c7
-rw-r--r--src/lread.c56
-rw-r--r--src/mac.c35
-rw-r--r--src/macfns.c4
-rw-r--r--src/xdisp.c2
9 files changed, 101 insertions, 51 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a7c0dfdb8f..170838bef4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,37 @@
+2005-04-09 Kim F. Storm <[email protected]>
+
+ * lread.c (readevalloop): Add args START and END as region in
+ current buffer to read. Callers changed.
+ When specified, narrow to this region only when reading,
+ not during eval. Track next point to read from during eval.
+ Also restore point to "real" buffer position before eval.
+ (Feval_region): Don't save excursion and restriction here, and
+ don't narrow to region. Just pass region to readevalloop.
+ Note: Point is now preserved even when PRINTFLAG is nil.
+
+2005-04-08 Kim F. Storm <[email protected]>
+
+ * xdisp.c (syms_of_xdisp): Init overlay-arrow-string to "=>".
+
+2005-04-06 Kim F. Storm <[email protected]>
+
+ * emacs.c (standard_args): Add -Q, --bare-bones, -bare-bones.
+
+2005-04-06 YAMAMOTO Mitsuharu <[email protected]>
+
+ * mac.c (cfdate_to_lisp): Add `const' for variable `epoch_gdate'.
+ (Fmac_get_preference): Doc fix.
+
+ * macfns.c (Fx_create_frame, x_create_tip_frame): Add
+ "fontset-mac" to fallback font/fontsets.
+
+2005-04-04 Kim F. Storm <[email protected]>
+
+ * alloc.c (Fgarbage_collect): Call CHECK_CONS_LIST before and after gc.
+
+ * eval.c (Ffuncall): Always call CHECK_CONS_LIST on entry.
+ Call it again after autoload.
+
2005-04-02 Jan Dj,Ad(Brv <[email protected]>
* alloc.c (allocate_string_data): Call BLOCK_INPUT before calling
@@ -2853,7 +2887,7 @@
* xfns.c (xic_create_xfontset): Initialize missing_list to NULL.
-2004-10-21 K,Aa(Broly L$,1 q(Brentey <[email protected]>
+2004-10-21 K,Ba(Broly L,Bu(Brentey <[email protected]>
* xterm.h (x_output): New member `xic_base_fontname'.
(FRAME_XIC_BASE_FONTNAME): New macro.
@@ -4134,7 +4168,7 @@
* keyboard.c (cmd_error): Don't call any_kboard_state
if inside a recursive edit level.
-2004-06-13 Lorentey K,Aa(Broly <[email protected]>
+2004-06-13 K,Ba(Broly L,Bu(Brentey <[email protected]>
* keyboard.c (command_loop): Call any_kboard_state before
command_loop_2 when at top level.
diff --git a/src/ChangeLog.6 b/src/ChangeLog.6
index 52e48cac27..2da83619eb 100644
--- a/src/ChangeLog.6
+++ b/src/ChangeLog.6
@@ -1079,7 +1079,7 @@
scroll_bar_up_arrow, scroll_bar_down_arrow.
(win32_scroll_bar_click): New enum constant.
-1996-05-03 Andrw Innes <[email protected]>
+1996-05-03 Andrew Innes <[email protected]>
* makefile.nt (SUBSYSTEM) [NTGUI]: Remove conditional.
(LINK_FLAGS): Explicitly set base address, and stack and heap sizes.
@@ -4817,7 +4817,7 @@
(Fmemory_use_counts): New function.
(syms_of_alloc): defsubr it.
-1995-07-28 Gvran Uddeborg <[email protected]>
+1995-07-28 Göran Uddeborg <[email protected]>
* s/isc4-1.h: ISC 4.1 has termios.
diff --git a/src/alloc.c b/src/alloc.c
index aee09c3f16..1aa07b01da 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -4644,6 +4644,8 @@ returns nil, because real GC can't be done. */)
if (pure_bytes_used_before_overflow)
return Qnil;
+ CHECK_CONS_LIST ();
+
/* Don't keep undo information around forever.
Do this early on, so it is no problem if the user quits. */
{
@@ -4837,6 +4839,8 @@ returns nil, because real GC can't be done. */)
UNBLOCK_INPUT;
+ CHECK_CONS_LIST ();
+
/* clear_marks (); */
gc_in_progress = 0;
diff --git a/src/emacs.c b/src/emacs.c
index feac88d71a..1ddde867d0 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -1814,6 +1814,8 @@ struct standard_args standard_args[] =
{ "-d", "--display", 60, 1 },
{ "-display", 0, 60, 1 },
/* Now for the options handled in startup.el. */
+ { "-Q", "--bare-bones", 55, 0 },
+ { "-bare-bones", 0, 55, 0 },
{ "-q", "--no-init-file", 50, 0 },
{ "-no-init-file", 0, 50, 0 },
{ "-no-site-file", "--no-site-file", 40, 0 },
diff --git a/src/eval.c b/src/eval.c
index bf4fec4f8a..8700ca222c 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -2742,6 +2742,8 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */)
if (debug_on_next_call)
do_debug_on_call (Qlambda);
+ CHECK_CONS_LIST ();
+
retry:
fun = args[0];
@@ -2750,9 +2752,7 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */)
if (SUBRP (fun))
{
- CHECK_CONS_LIST ();
-
- if (numargs < XSUBR (fun)->min_args
+ if (numargs < XSUBR (fun)->min_args
|| (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < numargs))
{
XSETFASTINT (lisp_numargs, numargs);
@@ -2844,6 +2844,7 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */)
else if (EQ (funcar, Qautoload))
{
do_autoload (fun, args[0]);
+ CHECK_CONS_LIST ();
goto retry;
}
else
diff --git a/src/lread.c b/src/lread.c
index 709db3bf29..9b0b5b90ec 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -218,6 +218,7 @@ static int read_emacs_mule_char P_ ((int, int (*) (int, Lisp_Object),
static void readevalloop P_ ((Lisp_Object, FILE*, Lisp_Object,
Lisp_Object (*) (), int,
+ Lisp_Object, Lisp_Object,
Lisp_Object, Lisp_Object));
static Lisp_Object load_unwind P_ ((Lisp_Object));
static Lisp_Object load_descriptor_unwind P_ ((Lisp_Object));
@@ -1097,14 +1098,15 @@ Return t if file exists. */)
= Fcons (make_number (fileno (stream)), load_descriptor_list);
load_in_progress++;
if (! version || version >= 22)
- readevalloop (Qget_file_char, stream, file, Feval, 0, Qnil, Qnil);
+ readevalloop (Qget_file_char, stream, file, Feval,
+ 0, Qnil, Qnil, Qnil, Qnil);
else
{
/* We can't handle a file which was compiled with
byte-compile-dynamic by older version of Emacs. */
specbind (Qload_force_doc_strings, Qt);
- readevalloop (Qget_emacs_mule_file_char, stream, file, Feval, 0,
- Qnil, Qnil);
+ readevalloop (Qget_emacs_mule_file_char, stream, file, Feval,
+ 0, Qnil, Qnil, Qnil, Qnil);
}
unbind_to (count, Qnil);
@@ -1483,16 +1485,19 @@ end_of_file_error ()
/* UNIBYTE specifies how to set load_convert_to_unibyte
for this invocation.
- READFUN, if non-nil, is used instead of `read'. */
+ READFUN, if non-nil, is used instead of `read'.
+ START, END is region in current buffer (from eval-region). */
static void
-readevalloop (readcharfun, stream, sourcename, evalfun, printflag, unibyte, readfun)
+readevalloop (readcharfun, stream, sourcename, evalfun,
+ printflag, unibyte, readfun, start, end)
Lisp_Object readcharfun;
FILE *stream;
Lisp_Object sourcename;
Lisp_Object (*evalfun) ();
int printflag;
Lisp_Object unibyte, readfun;
+ Lisp_Object start, end;
{
register int c;
register Lisp_Object val;
@@ -1518,28 +1523,41 @@ readevalloop (readcharfun, stream, sourcename, evalfun, printflag, unibyte, read
continue_reading_p = 1;
while (continue_reading_p)
{
+ int count1 = SPECPDL_INDEX ();
+
if (b != 0 && NILP (b->name))
error ("Reading from killed buffer");
+ if (!NILP (start))
+ {
+ record_unwind_protect (save_excursion_restore, save_excursion_save ());
+ record_unwind_protect (save_restriction_restore, save_restriction_save ());
+ Fgoto_char (start);
+ Fnarrow_to_region (make_number (BEGV), end);
+ }
+
instream = stream;
+ read_next:
c = READCHAR;
if (c == ';')
{
while ((c = READCHAR) != '\n' && c != -1);
- continue;
+ goto read_next;
+ }
+ if (c < 0)
+ {
+ unbind_to (count1, Qnil);
+ break;
}
- if (c < 0) break;
/* Ignore whitespace here, so we can detect eof. */
if (c == ' ' || c == '\t' || c == '\n' || c == '\f' || c == '\r')
- continue;
+ goto read_next;
if (!NILP (Vpurify_flag) && c == '(')
{
- int count1 = SPECPDL_INDEX ();
record_unwind_protect (unreadpure, Qnil);
val = read_list (-1, readcharfun);
- unbind_to (count1, Qnil);
}
else
{
@@ -1565,6 +1583,10 @@ readevalloop (readcharfun, stream, sourcename, evalfun, printflag, unibyte, read
val = read_internal_start (readcharfun, Qnil, Qnil);
}
+ if (!NILP (start) && continue_reading_p)
+ start = Fpoint_marker ();
+ unbind_to (count1, Qnil);
+
val = (*evalfun) (val);
if (printflag)
@@ -1623,7 +1645,8 @@ This function preserves the position of point. */)
specbind (Qstandard_output, tem);
record_unwind_protect (save_excursion_restore, save_excursion_save ());
BUF_SET_PT (XBUFFER (buf), BUF_BEGV (XBUFFER (buf)));
- readevalloop (buf, 0, filename, Feval, !NILP (printflag), unibyte, Qnil);
+ readevalloop (buf, 0, filename, Feval,
+ !NILP (printflag), unibyte, Qnil, Qnil, Qnil);
unbind_to (count, Qnil);
return Qnil;
@@ -1655,15 +1678,10 @@ This function does not move point. */)
tem = printflag;
specbind (Qstandard_output, tem);
- if (NILP (printflag))
- record_unwind_protect (save_excursion_restore, save_excursion_save ());
- record_unwind_protect (save_restriction_restore, save_restriction_save ());
-
- /* This both uses start and checks its type. */
- Fgoto_char (start);
- Fnarrow_to_region (make_number (BEGV), end);
+ /* readevalloop calls functions which check the type of start and end. */
readevalloop (cbuf, 0, XBUFFER (cbuf)->filename, Feval,
- !NILP (printflag), Qnil, read_function);
+ !NILP (printflag), Qnil, read_function,
+ start, end);
return unbind_to (count, Qnil);
}
diff --git a/src/mac.c b/src/mac.c
index f5fc62b220..da6a61633d 100644
--- a/src/mac.c
+++ b/src/mac.c
@@ -364,13 +364,13 @@ cfnumber_to_lisp (number)
/* CFDate to a list of three integers as in a return value of
- `current-time'xo. */
+ `current-time'. */
Lisp_Object
cfdate_to_lisp (date)
CFDateRef date;
{
- static CFGregorianDate epoch_gdate = {1970, 1, 1, 0, 0, 0.0};
+ static const CFGregorianDate epoch_gdate = {1970, 1, 1, 0, 0, 0.0};
static CFAbsoluteTime epoch = 0.0, sec;
int high, low;
@@ -668,7 +668,7 @@ parse_resource_name (p)
return Qnil;
result = Fcons (component, result);
- while (binding = parse_binding (p))
+ while ((binding = parse_binding (p)) != '\0')
{
if (binding == '*')
result = Fcons (LOOSE_BINDING, result);
@@ -3662,7 +3662,7 @@ corresponding Lisp object as follows:
CFDate List of three integers date
(cf. `current-time')
CFData Unibyte string data
- CFArray Array array
+ CFArray Vector array
CFDictionary Alist or hash table dictionary
(depending on HASH-BOUND)
@@ -4174,26 +4174,13 @@ syms_of_mac ()
staticpro (&QCLIPBOARD);
#if TARGET_API_MAC_CARBON
- Qstring = intern ("string");
- staticpro (&Qstring);
-
- Qnumber = intern ("number");
- staticpro (&Qnumber);
-
- Qboolean = intern ("boolean");
- staticpro (&Qboolean);
-
- Qdate = intern ("date");
- staticpro (&Qdate);
-
- Qdata = intern ("data");
- staticpro (&Qdata);
-
- Qarray = intern ("array");
- staticpro (&Qarray);
-
- Qdictionary = intern ("dictionary");
- staticpro (&Qdictionary);
+ Qstring = intern ("string"); staticpro (&Qstring);
+ Qnumber = intern ("number"); staticpro (&Qnumber);
+ Qboolean = intern ("boolean"); staticpro (&Qboolean);
+ Qdate = intern ("date"); staticpro (&Qdate);
+ Qdata = intern ("data"); staticpro (&Qdata);
+ Qarray = intern ("array"); staticpro (&Qarray);
+ Qdictionary = intern ("dictionary"); staticpro (&Qdictionary);
Qxml = intern ("xml");
staticpro (&Qxml);
diff --git a/src/macfns.c b/src/macfns.c
index fa37a1b298..78365ce3c0 100644
--- a/src/macfns.c
+++ b/src/macfns.c
@@ -2632,6 +2632,8 @@ This function is an internal primitive--use `make-frame' instead. */)
font = x_new_font (f, "-ETL-fixed-medium-r-*--*-160-*-*-*-*-iso8859-1");
/* If those didn't work, look for something which will at least work. */
if (! STRINGP (font))
+ font = x_new_fontset (f, "fontset-mac");
+ if (! STRINGP (font))
font = x_new_font (f, "-*-monaco-*-12-*-mac-roman");
if (! STRINGP (font))
font = x_new_font (f, "-*-courier-*-10-*-mac-roman");
@@ -3732,6 +3734,8 @@ x_create_tip_frame (dpyinfo, parms, text)
font = x_new_font (f, "-ETL-fixed-medium-r-*--*-160-*-*-*-*-iso8859-1");
/* If those didn't work, look for something which will at least work. */
if (! STRINGP (font))
+ font = x_new_fontset (f, "fontset-mac");
+ if (! STRINGP (font))
font = x_new_font (f, "-*-monaco-*-12-*-mac-roman");
if (! STRINGP (font))
font = x_new_font (f, "-*-courier-*-10-*-mac-roman");
diff --git a/src/xdisp.c b/src/xdisp.c
index 9fe8ac9a0e..13ef9b00ab 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -22757,7 +22757,7 @@ See also `overlay-arrow-string'. */);
DEFVAR_LISP ("overlay-arrow-string", &Voverlay_arrow_string,
doc: /* String to display as an arrow in non-window frames.
See also `overlay-arrow-position'. */);
- Voverlay_arrow_string = Qnil;
+ Voverlay_arrow_string = build_string ("=>");
DEFVAR_LISP ("overlay-arrow-variable-list", &Voverlay_arrow_variable_list,
doc: /* List of variables (symbols) which hold markers for overlay arrows.