]> git.eshelyaron.com Git - emacs.git/commitdiff
* subr.el (with-current-buffer): don't use backquotes to avoid
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 13 Oct 1999 00:21:07 +0000 (00:21 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 13 Oct 1999 00:21:07 +0000 (00:21 +0000)
  bootstrapping problems.
loadup.el (load-path): add subdirs for bootstrapping.
(docstrings): ignore errors during bootstrapping.
(args): new `bootstrap' argument (for use in place of `dump').

lisp/ChangeLog
lisp/loadup.el
lisp/subr.el

index a0cc9ac8e6093e4e0902d5085f2d96e28543dfea..742588131b823086407fb3b4692c7d8437ae6ee7 100644 (file)
@@ -1,3 +1,11 @@
+1999-10-12  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * subr.el (with-current-buffer): don't use backquotes to avoid
+         bootstrapping problems.
+       loadup.el (load-path): add subdirs for bootstrapping.
+       (docstrings): ignore errors during bootstrapping.
+       (args): new `bootstrap' argument (for use in place of `dump').
+
 1999-10-12  Emmanuel Briot  <briot@gnat.com>
 
        * ada-stmt.el: Doc-string fixes.
index 86122146a6ebc96cfd83ca9105a2edfd69c96cad..ec1e2584e9af6c7d869a0aef4596da9e04beca44 100644 (file)
 
 ;;; Code:
 
+;; add subdirectories to the load-path for files that might
+;; get autoloaded when bootstrapping
+(if (or (equal (nth 3 command-line-args) "bootstrap")
+       (equal (nth 4 command-line-args) "bootstrap"))
+    (let ((path (car load-path)))
+      (setq load-path (list path
+                           (expand-file-name "emacs-lisp" path)
+                           (expand-file-name "international" path)))))
+
 (message "Using load-path %s" load-path)
 
 ;;; We don't want to have any undo records in the dumped Emacs.
 ;; We specify .el in case someone compiled version.el by mistake.
 (load "version.el")
 
-(load "map-ynp")
 (load "widget")
 (load "custom")
+(autoload '\` "emacs-lisp/backquote" nil nil 'macro)
+(load "map-ynp")
 (load "cus-start")
 (load "international/mule")
 (load "international/mule-conf.el") ;Don't get confused if someone compiled this by mistake.
            (delete-file name))
        (copy-file (expand-file-name "../etc/DOC") name t))
       (Snarf-documentation (file-name-nondirectory name)))
-    (Snarf-documentation "DOC"))
+    (condition-case nil
+       (Snarf-documentation "DOC")
+      (error nil)))
 (message "Finding pointers to doc strings...done")
 
 ;;;Note: You can cause additional libraries to be preloaded
   (setq symbol-file-load-history-loaded t))
 (set-buffer-modified-p nil)
 
+;; reset the load-path.  See lread.c:init_lread why.
+(if (or (equal (nth 3 command-line-args) "bootstrap")
+       (equal (nth 4 command-line-args) "bootstrap"))
+    (setcdr load-path nil))
+
 (garbage-collect)
 
 ;;; At this point, we're ready to resume undo recording for scratch.
 (buffer-enable-undo "*scratch*")
 
-(if (or (equal (nth 3 command-line-args) "dump")
-       (equal (nth 4 command-line-args) "dump"))
+(if (or (member (nth 3 command-line-args) '("dump" "bootstrap"))
+       (member (nth 4 command-line-args) '("dump" "bootstrap")))
     (if (eq system-type 'vax-vms)
        (progn 
          (message "Dumping data as file temacs.dump")
index c2e01916f9814468a18a208bde2999f9bef70132..66c1986f4b5f2f0f48973581aa55b259c8e17afd 100644 (file)
@@ -977,9 +977,9 @@ Wildcards and redirection are handled as usual in the shell."
   "Execute the forms in BODY with BUFFER as the current buffer.
 The value returned is the value of the last form in BODY.
 See also `with-temp-buffer'."
-  `(save-current-buffer
-    (set-buffer ,buffer)
-    ,@body))
+  (cons 'save-current-buffer
+       (cons (list 'set-buffer buffer)
+             body)))
 
 (defmacro with-temp-file (file &rest body)
   "Create a new buffer, evaluate BODY there, and write the buffer to FILE.