[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/lread.c,v
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/src/lread.c,v |
Date: |
Mon, 27 Aug 2007 04:00:39 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Miles Bader <miles> 07/08/27 04:00:20
Index: src/lread.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/lread.c,v
retrieving revision 1.374
retrieving revision 1.375
diff -u -b -r1.374 -r1.375
--- src/lread.c 13 Aug 2007 13:41:17 -0000 1.374
+++ src/lread.c 27 Aug 2007 04:00:17 -0000 1.375
@@ -193,6 +193,7 @@
Fread initializes this to zero, so we need not specbind it
or worry about what happens to it when there is an error. */
static int new_backquote_flag;
+static Lisp_Object Vold_style_backquotes, Qold_style_backquotes;
/* A list of file names for files being loaded in Fload. Used to
check for recursive loads. */
@@ -698,6 +699,20 @@
return Qnil;
}
+static Lisp_Object
+load_warn_old_style_backquotes (file)
+ Lisp_Object file;
+{
+ if (!NILP (Vold_style_backquotes))
+ {
+ Lisp_Object args[2];
+ args[0] = build_string ("!! File %s uses old-style backquotes !!");
+ args[1] = file;
+ Fmessage (2, args);
+ }
+ return Qnil;
+}
+
DEFUN ("get-load-suffixes", Fget_load_suffixes, Sget_load_suffixes, 0, 0, 0,
doc: /* Return the suffixes that `load' should try if a suffix is \
required.
@@ -762,7 +777,6 @@
register FILE *stream;
register int fd = -1;
int count = SPECPDL_INDEX ();
- Lisp_Object temp;
struct gcpro gcpro1, gcpro2, gcpro3;
Lisp_Object found, efound, hist_file_name;
/* 1 means we printed the ".el is newer" message. */
@@ -896,6 +910,10 @@
tmp))
: found) ;
+ /* Check fore the presence of old-style quotes and warn about them. */
+ specbind (Qold_style_backquotes, Qnil);
+ record_unwind_protect (load_warn_old_style_backquotes, file);
+
if (!bcmp (SDATA (found) + SBYTES (found) - 4,
".elc", 4))
/* Load .elc files directly, but not when they are
@@ -1381,8 +1399,6 @@
static void
end_of_file_error ()
{
- Lisp_Object data;
-
if (STRINGP (Vload_file_name))
xsignal1 (Qend_of_file, Vload_file_name);
@@ -2443,7 +2459,10 @@
case '`':
if (first_in_list)
+ {
+ Vold_style_backquotes = Qt;
goto default_label;
+ }
else
{
Lisp_Object value;
@@ -2478,7 +2497,10 @@
return Fcons (comma_type, Fcons (value, Qnil));
}
else
+ {
+ Vold_style_backquotes = Qt;
goto default_label;
+ }
case '?':
{
@@ -4191,6 +4213,12 @@
doc: /* List of buffers being read from by calls to
`eval-buffer' and `eval-region'. */);
Veval_buffer_list = Qnil;
+ DEFVAR_LISP ("old-style-backquotes", &Vold_style_backquotes,
+ doc: /* Set to non-nil when `read' encounters an old-style
backquote. */);
+ Vold_style_backquotes = Qnil;
+ Qold_style_backquotes = intern ("old-style-backquotes");
+ staticpro (&Qold_style_backquotes);
+
/* Vsource_directory was initialized in init_lread. */
load_descriptor_list = Qnil;