Mercurial > emacs
diff src/lread.c @ 82907:92ccd83174e6
Merge from emacs--rel--22
Patches applied:
* emacs--rel--22 (patch 97-100)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 246-247)
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-860
author | Miles Bader <miles@gnu.org> |
---|---|
date | Mon, 27 Aug 2007 04:00:19 +0000 |
parents | e5a68f18fcb9 52977b7fd128 |
children | 27d11c1d4e46 b83d0dadb2a7 |
line wrap: on
line diff
--- a/src/lread.c Mon Aug 27 03:36:34 2007 +0000 +++ b/src/lread.c Mon Aug 27 04:00:19 2007 +0000 @@ -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) - goto default_label; + { + Vold_style_backquotes = Qt; + goto default_label; + } else { Lisp_Object value; @@ -2478,7 +2497,10 @@ return Fcons (comma_type, Fcons (value, Qnil)); } else - goto default_label; + { + 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;