]> code.delx.au - gnu-emacs/blobdiff - src/lread.c
(find-function-noselect): Call symbol-file with `defun'.
[gnu-emacs] / src / lread.c
index 0c9bc140b73174ce1837e425de15f5352fbd3b84..6d082203fe0a2af8d6e71aba40ec5b668516e6ef 100644 (file)
@@ -1,6 +1,6 @@
 /* Lisp parsing and input streams.
-   Copyright (C) 1985, 86, 87, 88, 89, 93, 94, 95, 97, 98, 99, 2000, 01, 2003
-      Free Software Foundation, Inc.
+   Copyright (C) 1985, 1986, 1987, 1988, 1989, 1993, 1994, 1995, 1997, 1998,
+     1999, 2000, 2001, 2003, 2004  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -322,6 +322,7 @@ readchar (readcharfun)
       /* Interrupted reads have been observed while reading over the network */
       while (c == EOF && ferror (instream) && errno == EINTR)
        {
+         QUIT;
          clearerr (instream);
          c = getc (instream);
        }
@@ -1993,8 +1994,9 @@ read1 (readcharfun, pch, first_in_list)
          if (c == '"')
            {
              Lisp_Object tmp, val;
-             int size_in_chars = ((XFASTINT (length) + BITS_PER_CHAR - 1)
-                                  / BITS_PER_CHAR);
+             int size_in_chars
+               = ((XFASTINT (length) + BOOL_VECTOR_BITS_PER_CHAR - 1)
+                  / BOOL_VECTOR_BITS_PER_CHAR);
 
              UNREAD (c);
              tmp = read1 (readcharfun, pch, first_in_list);
@@ -2003,7 +2005,7 @@ read1 (readcharfun, pch, first_in_list)
                     when the number of bits was a multiple of 8.
                     Accept such input in case it came from an old version.  */
                  && ! (XFASTINT (length)
-                       == (SCHARS (tmp) - 1) * BITS_PER_CHAR))
+                       == (SCHARS (tmp) - 1) * BOOL_VECTOR_BITS_PER_CHAR))
                Fsignal (Qinvalid_read_syntax,
                         Fcons (make_string ("#&...", 5), Qnil));
 
@@ -2011,9 +2013,9 @@ read1 (readcharfun, pch, first_in_list)
              bcopy (SDATA (tmp), XBOOL_VECTOR (val)->data,
                     size_in_chars);
              /* Clear the extraneous bits in the last byte.  */
-             if (XINT (length) != size_in_chars * BITS_PER_CHAR)
+             if (XINT (length) != size_in_chars * BOOL_VECTOR_BITS_PER_CHAR)
                XBOOL_VECTOR (val)->data[size_in_chars - 1]
-                 &= (1 << (XINT (length) % BITS_PER_CHAR)) - 1;
+                 &= (1 << (XINT (length) % BOOL_VECTOR_BITS_PER_CHAR)) - 1;
              return val;
            }
          Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#&...", 5),
@@ -2373,7 +2375,7 @@ read1 (readcharfun, pch, first_in_list)
              c = 0;
            else if (c == (CHAR_CTL | '?'))
              c = 127;
-           
+
            if (c & CHAR_SHIFT)
              {
                /* Shift modifier is valid only with [A-Za-z].  */
@@ -2458,9 +2460,9 @@ read1 (readcharfun, pch, first_in_list)
 
        if (next_char <= 040
            || (next_char < 0200
-               && index ("\"';([#?", next_char)
-               || (!first_in_list && next_char == '`')
-               || (new_backquote_flag && next_char == ',')))
+               && (index ("\"';([#?", next_char)
+                   || (!first_in_list && next_char == '`')
+                   || (new_backquote_flag && next_char == ','))))
          {
            *pch = c;
            return Qnil;
@@ -3275,7 +3277,7 @@ oblookup (obarray, ptr, size, size_byte)
   hash %= obsize;
   bucket = XVECTOR (obarray)->contents[hash];
   oblookup_last_bucket_number = hash;
-  if (XFASTINT (bucket) == 0)
+  if (EQ (bucket, make_number (0)))
     ;
   else if (!SYMBOLP (bucket))
     error ("Bad data in guts of obarray"); /* Like CADR error message */
@@ -3495,7 +3497,6 @@ defvar_per_buffer (namestring, address, type, doc)
 {
   Lisp_Object sym, val;
   int offset;
-  extern struct buffer buffer_local_symbols;
 
   sym = intern (namestring);
   val = allocate_misc ();
@@ -3677,11 +3678,15 @@ init_lread ()
     }
 #endif
 
-#ifndef WINDOWSNT
+#if (!(defined(WINDOWSNT) || (defined(HAVE_CARBON))))
   /* When Emacs is invoked over network shares on NT, PATH_LOADSEARCH is
      almost never correct, thereby causing a warning to be printed out that
      confuses users.  Since PATH_LOADSEARCH is always overridden by the
-     EMACSLOADPATH environment variable below, disable the warning on NT.  */
+     EMACSLOADPATH environment variable below, disable the warning on NT.
+     Also, when using the "self-contained" option for Carbon Emacs for MacOSX,
+     the "standard" paths may not exist and would be overridden by
+     EMACSLOADPATH as on NT.  Since this depends on how the executable
+     was build and packaged, turn off the warnings in general */
 
   /* Warn if dirs in the *standard* path don't exist.  */
   if (!turn_off_warning)
@@ -3703,7 +3708,7 @@ init_lread ()
            }
        }
     }
-#endif /* WINDOWSNT */
+#endif /* !(WINDOWSNT || HAVE_CARBON) */
 
   /* If the EMACSLOADPATH environment variable is set, use its value.
      This doesn't apply if we're dumping.  */
@@ -3841,10 +3846,10 @@ when the corresponding call to `provide' is made.  */);
 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 remaining elements of each list are symbols defined as functions,
+The remaining elements of each list are symbols defined as variables
 and cons cells of the form `(provide . FEATURE)', `(require . FEATURE)',
-`(defvar . VARIABLE), `(autoload . SYMBOL)', and `(t . SYMBOL)'.
-An element `(t . SYMBOL)' precedes an entry that is just SYMBOL,
+`(defun . FUNCTION)', `(autoload . 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.  */);
   Vload_history = Qnil;
@@ -3970,3 +3975,6 @@ to load.  See also `load-dangerous-libraries'.  */);
   Vloads_in_progress = Qnil;
   staticpro (&Vloads_in_progress);
 }
+
+/* arch-tag: a0d02733-0f96-4844-a659-9fd53c4f414d
+   (do not change this comment) */