Mercurial > emacs
changeset 104059:3750eeb20ab9
* lread.c: Rewrite 2009-07-21 changes.
(load_depth): Deleted.
(Qload_in_progress): New variable.
(load_unwind): Don't reference load_depth or load_in_progress.
(Fload): Likewise; specbind Qload_in_progress instead.
(init_lread): Don't initialize load_depth.
(syms_of_lread): Initialize and protect Qload_in_progress.
author | Ken Raeburn <raeburn@raeburn.org> |
---|---|
date | Sat, 25 Jul 2009 07:36:17 +0000 |
parents | 85bf43e7dada |
children | eaf56f321ac0 |
files | src/ChangeLog src/lread.c |
diffstat | 2 files changed, 14 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Fri Jul 24 15:43:22 2009 +0000 +++ b/src/ChangeLog Sat Jul 25 07:36:17 2009 +0000 @@ -1,3 +1,13 @@ +2009-07-25 Ken Raeburn <raeburn@raeburn.org> + + * lread.c: Rewrite 2009-07-21 changes. + (load_depth): Deleted. + (Qload_in_progress): New variable. + (load_unwind): Don't reference load_depth or load_in_progress. + (Fload): Likewise; specbind Qload_in_progress instead. + (init_lread): Don't initialize load_depth. + (syms_of_lread): Initialize and protect Qload_in_progress. + 2009-07-24 Adrian Robert <Adrian.B.Robert@gmail.com> * nsfont.m (ns_findfonts): Correctly return fallback in match case.
--- a/src/lread.c Fri Jul 24 15:43:22 2009 +0000 +++ b/src/lread.c Sat Jul 25 07:36:17 2009 +0000 @@ -99,9 +99,7 @@ /* non-zero if inside `load' */ int load_in_progress; - -/* Depth of nested `load' invocations. */ -int load_depth; +static Lisp_Object Qload_in_progress; /* Directory in which the sources were found. */ Lisp_Object Vsource_directory; @@ -1253,8 +1251,7 @@ specbind (Qinhibit_file_name_operation, Qnil); load_descriptor_list = Fcons (make_number (fileno (stream)), load_descriptor_list); - load_depth++; - load_in_progress = 1; + specbind (Qload_in_progress, Qt); if (! version || version >= 22) readevalloop (Qget_file_char, stream, hist_file_name, Feval, 0, Qnil, Qnil, Qnil, Qnil); @@ -1316,8 +1313,6 @@ fclose (stream); UNBLOCK_INPUT; } - if (--load_depth < 0) load_depth = 0; - load_in_progress = load_depth > 0; return Qnil; } @@ -4134,7 +4129,6 @@ Vvalues = Qnil; load_in_progress = 0; - load_depth = 0; Vload_file_name = Qnil; load_descriptor_list = Qnil; @@ -4258,6 +4252,8 @@ DEFVAR_BOOL ("load-in-progress", &load_in_progress, doc: /* Non-nil if inside of `load'. */); + Qload_in_progress = intern ("load-in-progress"); + staticpro (&Qload_in_progress); DEFVAR_LISP ("after-load-alist", &Vafter_load_alist, doc: /* An alist of expressions to be evalled when particular files are loaded.