From c31abc6232a88ea088fc930577332a33ada87dde Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 6 Apr 2013 18:00:01 +0300 Subject: Fix snafu with missing etc/DOC-X. --- lisp/loadup.el | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'lisp/loadup.el') diff --git a/lisp/loadup.el b/lisp/loadup.el index 00c52341058..e5406b6551f 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -311,8 +311,18 @@ "-" (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")) + (let ((name1 (expand-file-name + (if (fboundp 'x-create-frame) "DOC-X" "DOC") + "../etc"))) + ;; There will be no DOC-X on MS-Windows when we build + ;; using the Posix Makefile's. In that case, we want + ;; to create DOC-XX.YY.ZZ, as on Unix. + (if (file-exists-p name) + (setq name name1) + (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))) (setq name (concat (expand-file-name "../etc/DOC-") name)) (if (file-exists-p name) (delete-file name)) -- cgit v1.2.1 From a077194c9dbbc52cbab55b1846c144aca5a11f4e Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 16 Apr 2013 17:59:56 +0300 Subject: Support emacs-XX.YY.ZZ.n and DOC-XX.YY.ZZ.n on Windows. --- lisp/loadup.el | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'lisp/loadup.el') diff --git a/lisp/loadup.el b/lisp/loadup.el index e5406b6551f..3970e514376 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -290,9 +290,12 @@ (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 0)) (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))) @@ -317,7 +320,7 @@ ;; There will be no DOC-X on MS-Windows when we build ;; using the Posix Makefile's. In that case, we want ;; to create DOC-XX.YY.ZZ, as on Unix. - (if (file-exists-p name) + (if (file-exists-p name1) (setq name name1) (setq name (concat (expand-file-name "../etc/DOC-") name)) (if (file-exists-p name) @@ -398,18 +401,20 @@ (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))) + (add-name-to-file (concat "emacs" exe) name t))) (kill-emacs))) ;; For machines with CANNOT_DUMP defined in config.h, -- cgit v1.2.1 From 50aac8891209d63b5793289715026655175b2139 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 16 Apr 2013 19:55:02 +0300 Subject: Fixed hard link to emacs.exe in non-MSYS build. --- lisp/loadup.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lisp/loadup.el') diff --git a/lisp/loadup.el b/lisp/loadup.el index 3970e514376..75659d88ac4 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -414,7 +414,12 @@ (substring name (match-end 0))))) (setq name (concat name exe)) (message "Adding name %s" name) - (add-name-to-file (concat "emacs" exe) 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, -- cgit v1.2.1 From db1ec5b6dfbd4acf342f730da85648de1276f006 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 16 Apr 2013 20:49:18 +0300 Subject: Fixed loadup.el bug in finding the last build number on Unix. --- lisp/loadup.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lisp/loadup.el') diff --git a/lisp/loadup.el b/lisp/loadup.el index 75659d88ac4..7509689e2b7 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -290,7 +290,7 @@ (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 0)) + (exelen (if (eq system-type 'windows-nt) -4)) (files (file-name-all-completions base default-directory)) (versions (mapcar (function (lambda (name) -- cgit v1.2.1