diff src/doc.c @ 183:e121b013d1f0 r20-3b18

Import from CVS: tag r20-3b18
author cvs
date Mon, 13 Aug 2007 09:54:23 +0200
parents 8eaf7971accc
children 3d6bfa290dbd
line wrap: on
line diff
--- a/src/doc.c	Mon Aug 13 09:53:23 2007 +0200
+++ b/src/doc.c	Mon Aug 13 09:54:23 2007 +0200
@@ -539,9 +539,28 @@
 				}
 			      XCAR (tem) = offset;
 			    }
-                          else goto weird_function;
+                          else if (!CONSP (tem))
+			    {
+			      weird_doc (sym, GETTEXT ("!CONSP(tem)"),
+					 GETTEXT ("function"), pos);
+			  goto cont;
+			    }
+                          else
+			    {
+			      /* DOC string is a string not integer 0 */
+#if 0
+			      weird_doc (sym, GETTEXT ("!INTP(XCAR(tem))"),
+					 GETTEXT ("function"), pos);
+#endif
+			      goto cont;
+			    }
                         }
-                      else goto weird_function;
+                      else
+			{
+			  weird_doc (sym, GETTEXT ("not lambda or autoload"),
+				     GETTEXT ("function"), pos);
+			  goto cont;
+			}
 		    }
 		  else if (COMPILED_FUNCTIONP (fun))
 		    {
@@ -599,6 +618,7 @@
                 }
             }
 	}
+    cont:
       pos += end - buf;
       filled -= end - buf;
       memmove (buf, end, filled);