diff src/doc.c @ 272:c5d627a313b1 r21-0b34

Import from CVS: tag r21-0b34
author cvs
date Mon, 13 Aug 2007 10:28:48 +0200
parents 966663fcf606
children 8626e4521993
line wrap: on
line diff
--- a/src/doc.c	Mon Aug 13 10:27:41 2007 +0200
+++ b/src/doc.c	Mon Aug 13 10:28:48 2007 +0200
@@ -30,11 +30,9 @@
 #include "bytecode.h"
 #include "insdel.h"
 #include "keymap.h"
-
 #include "sysfile.h"
 
-
-Lisp_Object Vdoc_file_name;
+Lisp_Object Vinternal_doc_file_name;
 
 Lisp_Object QSsubstitute;
 
@@ -177,7 +175,7 @@
 
   if (INTP (filepos))
     {
-      file = Vdoc_file_name;
+      file = Vinternal_doc_file_name;
       position = XINT (filepos);
     }
   else if (CONSP (filepos) && INTP (XCDR (filepos)))
@@ -450,7 +448,7 @@
   if (fd < 0)
     report_file_error ("Opening doc string file",
 		       Fcons (build_string (name), Qnil));
-  Vdoc_file_name = filename;
+  Vinternal_doc_file_name = filename;
   filled = 0;
   pos = 0;
   while (1)
@@ -642,8 +640,9 @@
 kludgily_ignore_lost_doc_p (Lisp_Object sym)
 {
 # define kludge_prefix "ad-Orig-"
-  return (string_length (XSYMBOL (sym)->name) > sizeof (kludge_prefix) &&
-	  !strncmp ((char *) string_data (XSYMBOL (sym)->name), kludge_prefix,
+  struct Lisp_String *name = XSYMBOL (sym)->name;
+  return (string_length (name) > (Bytecount) (sizeof (kludge_prefix)) &&
+	  !strncmp ((char *) string_data (name), kludge_prefix,
 		    sizeof (kludge_prefix) - 1));
 # undef kludge_prefix
 }
@@ -758,7 +757,7 @@
   Bytecount idx;
   Bytecount bsize;
   Bufbyte *new;
-  Lisp_Object tem = Qnil;
+  Lisp_Object tem;
   Lisp_Object keymap;
   Bufbyte *start;
   Bytecount length;
@@ -790,9 +789,11 @@
      an overriding-local-map, `where-is-internal' will correctly note
      this, so there's no reason to do it here.  Maybe FSFmacs
      `where-is-internal' is broken. */
+  /*
   keymap = current_kboard->Voverriding_terminal_local_map;
   if (NILP (keymap))
     keymap = Voverriding_local_map;
+  */
 #endif
 
   strlength = XSTRING_LENGTH (str);
@@ -885,8 +886,13 @@
 	case '{':
 	case '<':
 	  {
-	    Lisp_Object buffer = Fget_buffer_create (QSsubstitute);
-	    struct buffer *buf_ = XBUFFER (buffer);
+	    /* ### jump to label `subst_string|subst' crosses
+               initialization of `buffer|_buf' */
+	    Lisp_Object buffer;
+	    struct buffer *buf_;
+
+	    buffer = Fget_buffer_create (QSsubstitute);
+	    buf_ = XBUFFER (buffer);
 
 	    Fbuffer_disable_undo (buffer);
 	    Ferase_buffer (buffer);
@@ -990,10 +996,10 @@
 void
 vars_of_doc (void)
 {
-  DEFVAR_LISP ("internal-doc-file-name", &Vdoc_file_name /*
+  DEFVAR_LISP ("internal-doc-file-name", &Vinternal_doc_file_name /*
 Name of file containing documentation strings of built-in symbols.
 */ );
-  Vdoc_file_name = Qnil;
+  Vinternal_doc_file_name = Qnil;
 
   QSsubstitute = build_string (" *substitute*");
   staticpro (&QSsubstitute);