Fix fontification bugs with constructors and const.
[bpt/emacs.git] / lisp / loadup.el
index f017295..27148ce 100644 (file)
@@ -1,7 +1,7 @@
 ;;; loadup.el --- load up standardly loaded Lisp files for Emacs
 
-;; Copyright (C) 1985-1986, 1992, 1994, 2001-2012
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1992, 1994, 2001-2013 Free Software
+;; Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: internal
   ;; In case loaddefs hasn't been generated yet.
   (file-error (load "ldefs-boot.el")))
 
+(load "emacs-lisp/nadvice")
 (load "minibuffer")
 (load "abbrev")         ;lisp-mode.el and simple.el use define-abbrev-table.
 (load "simple")
 (load "textmodes/page")
 (load "register")
 (load "textmodes/paragraphs")
+(load "progmodes/prog-mode")
 (load "emacs-lisp/lisp-mode")
 (load "textmodes/text-mode")
 (load "textmodes/fill")
 
 (load "vc/vc-hooks")
 (load "vc/ediff-hook")
-(if (fboundp 'x-show-tip) (load "tooltip"))
+(if (not (eq system-type 'ms-dos)) (load "tooltip"))
 
 ;If you want additional libraries to be preloaded and their
 ;doc strings kept in the DOC file rather than in core,
             (equal (nth 4 command-line-args) "dump"))
         (not (eq system-type 'ms-dos)))
     (let* ((base (concat "emacs-" emacs-version "."))
+          (exelen (if (eq system-type 'windows-nt) -4))
           (files (file-name-all-completions base default-directory))
-          (versions (mapcar (function (lambda (name)
-                                        (string-to-number (substring name (length base)))))
+          (versions (mapcar (function
+                             (lambda (name)
+                               (string-to-number
+                                (substring name (length base) exelen))))
                             files)))
       (setq emacs-bzr-version (condition-case nil (emacs-bzr-get-version)
                               (error nil)))
 (message "Finding pointers to doc strings...")
 (if (or (equal (nth 3 command-line-args) "dump")
        (equal (nth 4 command-line-args) "dump"))
-    (let ((name emacs-version))
-      (while (string-match "[^-+_.a-zA-Z0-9]+" name)
-       (setq name (concat (downcase (substring name 0 (match-beginning 0)))
-                          "-"
-                          (substring name (match-end 0)))))
-      (if (memq system-type '(ms-dos windows-nt))
-         (setq name (expand-file-name
-                     (if (fboundp 'x-create-frame) "DOC-X" "DOC") "../etc"))
-       (setq name (concat (expand-file-name "../etc/DOC-") name))
-       (if (file-exists-p name)
-           (delete-file name))
-       (copy-file (expand-file-name "../etc/DOC") name t))
-      (Snarf-documentation (file-name-nondirectory name)))
-    (condition-case nil
-       (Snarf-documentation "DOC")
-      (error nil)))
+    (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
       (dump-emacs "emacs" "temacs")
       (message "%d pure bytes used" pure-bytes-used)
       ;; Recompute NAME now, so that it isn't set when we dump.
-      (if (not (or (memq system-type '(ms-dos windows-nt))
+      (if (not (or (eq system-type 'ms-dos)
                    ;; Don't bother adding another name if we're just
                    ;; building bootstrap-emacs.
                    (equal (nth 3 command-line-args) "bootstrap")
                    (equal (nth 4 command-line-args) "bootstrap")))
-         (let ((name (concat "emacs-" emacs-version)))
+         (let ((name (concat "emacs-" emacs-version))
+               (exe (if (eq system-type 'windows-nt) ".exe" "")))
            (while (string-match "[^-+_.a-zA-Z0-9]+" name)
              (setq name (concat (downcase (substring name 0 (match-beginning 0)))
                                 "-"
                                 (substring name (match-end 0)))))
+           (setq name (concat name exe))
             (message "Adding name %s" name)
-           (add-name-to-file "emacs" name t)))
+           ;; When this runs on Windows, invocation-directory is not
+           ;; necessarily the current directory.
+           (add-name-to-file (expand-file-name (concat "emacs" exe)
+                                               invocation-directory)
+                             (expand-file-name name invocation-directory)
+                             t)))
       (kill-emacs)))
 
 ;; For machines with CANNOT_DUMP defined in config.h,