changeset 107608:11c99bdae327

Merge from mainline.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 01 Jan 2010 14:30:06 -0500
parents a04b9ac55bc5 (current diff) ee43864593e4 (diff)
children 62ebf47086e7
files
diffstat 7 files changed, 66 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/doc/lispref/ChangeLog	Fri Jan 01 10:17:13 2010 -0500
+++ b/doc/lispref/ChangeLog	Fri Jan 01 14:30:06 2010 -0500
@@ -1,3 +1,8 @@
+2010-01-01  Chong Yidong  <cyd@stupidchicken.com>
+
+	* loading.texi (Where Defined): Make it clearer that these are
+	loaded files (Bug#5068).
+
 2009-12-29  Chong Yidong  <cyd@stupidchicken.com>
 
 	* minibuf.texi (Completion Styles): Document `initials' style.
--- a/doc/lispref/loading.texi	Fri Jan 01 10:17:13 2010 -0500
+++ b/doc/lispref/loading.texi	Fri Jan 01 14:30:06 2010 -0500
@@ -823,13 +823,14 @@
 @code{load-history}.
 
 @defvar load-history
-This variable's value is an alist connecting library file names with the
-names of functions and variables they define, the features they provide,
-and the features they require.
+This value of this variable is an alist that associates the names of
+loaded library files with the names of the functions and variables
+they defined, as well as the features they provided or required.
 
-Each element is a list and describes one library.  The @sc{car} of the
-list is the absolute file name of the library, as a string.  The rest
-of the list elements have these forms:
+Each element in this alist describes one loaded library (including
+libraries that are preloaded at startup).  It is a list whose @sc{car}
+is the absolute file name of the library (a string).  The rest of the
+list elements have these forms:
 
 @table @code
 @item @var{var}
--- a/lisp/ChangeLog	Fri Jan 01 10:17:13 2010 -0500
+++ b/lisp/ChangeLog	Fri Jan 01 14:30:06 2010 -0500
@@ -1,3 +1,8 @@
+2010-01-01  Juri Linkov  <juri@jurta.org>
+
+	* comint.el (comint-input-ring-size): Make it a defcustom and
+	increase the default to 500 (Bug#5148).
+
 2009-12-31  Nick Roberts  <nickrob@snap.net.nz>
 
 	Further changes from EMACS_23_1_RC branch (2009-12-29 contd).
--- a/lisp/comint.el	Fri Jan 01 10:17:13 2010 -0500
+++ b/lisp/comint.el	Fri Jan 01 14:30:06 2010 -0500
@@ -310,8 +310,11 @@
   :group 'comint)
 
 ;; FIXME: this should be defcustom
-(defvar comint-input-ring-size 150
-  "Size of input history ring.")
+(defcustom comint-input-ring-size 500
+  "Size of the input history ring in `comint-mode'."
+  :type 'integer
+  :group 'comint
+  :version "23.2")
 
 (defvar comint-input-ring-separator "\n"
   "Separator between commands in the history file.")
--- a/src/ChangeLog	Fri Jan 01 10:17:13 2010 -0500
+++ b/src/ChangeLog	Fri Jan 01 14:30:06 2010 -0500
@@ -1,3 +1,11 @@
+2010-01-01  Chong Yidong  <cyd@stupidchicken.com>
+
+	* lread.c (syms_of_lread): Make it clearer that these are the
+	names of loaded files (Bug#5068).
+
+	* eval.c (run_hook_with_args): Handle the case where the global
+	value has the obsolete single-function form (Bug#5026).
+
 2009-12-27  Chong Yidong  <cyd@stupidchicken.com>
 
 	* minibuf.c (Fall_completions): Minor optimization.
--- a/src/eval.c	Fri Jan 01 10:17:13 2010 -0500
+++ b/src/eval.c	Fri Jan 01 14:30:06 2010 -0500
@@ -2620,7 +2620,6 @@
      enum run_hooks_condition cond;
 {
   Lisp_Object sym, val, ret;
-  Lisp_Object globals;
   struct gcpro gcpro1, gcpro2, gcpro3;
 
   /* If we are dying or still initializing,
@@ -2641,7 +2640,7 @@
     }
   else
     {
-      globals = Qnil;
+      Lisp_Object globals = Qnil;
       GCPRO3 (sym, val, globals);
 
       for (;
@@ -2654,18 +2653,28 @@
 	    {
 	      /* t indicates this hook has a local binding;
 		 it means to run the global binding too.  */
-
-	      for (globals = Fdefault_value (sym);
-		   CONSP (globals) && ((cond == to_completion)
-				       || (cond == until_success ? NILP (ret)
-					   : !NILP (ret)));
-		   globals = XCDR (globals))
+	      globals = Fdefault_value (sym);
+	      if (NILP (globals)) continue;
+
+	      if (!CONSP (globals) || EQ (XCAR (globals), Qlambda))
+		{
+		  args[0] = globals;
+		  ret = Ffuncall (nargs, args);
+		}
+	      else
 		{
-		  args[0] = XCAR (globals);
-		  /* In a global value, t should not occur.  If it does, we
-		     must ignore it to avoid an endless loop.  */
-		  if (!EQ (args[0], Qt))
-		    ret = Ffuncall (nargs, args);
+		  for (;
+		       CONSP (globals) && ((cond == to_completion)
+					   || (cond == until_success ? NILP (ret)
+					       : !NILP (ret)));
+		       globals = XCDR (globals))
+		    {
+		      args[0] = XCAR (globals);
+		      /* In a global value, t should not occur.  If it does, we
+			 must ignore it to avoid an endless loop.  */
+		      if (!EQ (args[0], Qt))
+			ret = Ffuncall (nargs, args);
+		    }
 		}
 	    }
 	  else
--- a/src/lread.c	Fri Jan 01 10:17:13 2010 -0500
+++ b/src/lread.c	Fri Jan 01 14:30:06 2010 -0500
@@ -4377,20 +4377,20 @@
   Vafter_load_alist = Qnil;
 
   DEFVAR_LISP ("load-history", &Vload_history,
-	       doc: /* Alist mapping file names to symbols and features.
-Each alist element is a list that starts with a file name,
-except for one element (optional) that starts with nil and describes
-definitions evaluated from buffers not visiting files.
-
-The file name is absolute and is the true file name (i.e. it doesn't
-contain symbolic links) of the loaded file.
-
-The remaining elements of each list are symbols defined as variables
-and cons cells of the form `(provide . FEATURE)', `(require . FEATURE)',
-`(defun . FUNCTION)', `(autoload . SYMBOL)', `(defface . SYMBOL)'
-and `(t . SYMBOL)'.  An element `(t . SYMBOL)' precedes an entry
-`(defun . FUNCTION)', and means that SYMBOL was an autoload before
-this file redefined it as a function.
+	       doc: /* Alist mapping loaded file names to symbols and features.
+Each alist element should be a list (FILE-NAME ENTRIES...), where
+FILE-NAME is the name of a file that has been loaded into Emacs.
+The file name is absolute and true (i.e. it doesn't contain symlinks).
+As an exception, one of the alist elements may have FILE-NAME nil,
+for symbols and features not associated with any file.
+
+The remaining ENTRIES in the alist element describe the functions and
+variables defined in that file, the features provided, and the
+features required.  Each entry has the form `(provide . FEATURE)',
+`(require . FEATURE)', `(defun . FUNCTION)', `(autoload . SYMBOL)',
+`(defface . SYMBOL)', or `(t . SYMBOL)'.  In addition, an entry `(t
+. SYMBOL)' may precede an entry `(defun . FUNCTION)', and means that
+SYMBOL was an autoload before this file redefined it as a function.
 
 During preloading, the file name recorded is relative to the main Lisp
 directory.  These file names are converted to absolute at startup.  */);