From 85e5541248a4674f6e0749d3ea3def39a62f4537 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 8 Nov 2012 14:45:58 -0500 Subject: [PATCH] * lisp/subr.el (locate-user-emacs-file): If both old and new name exist, use the new name. --- lisp/ChangeLog | 3 +++ lisp/subr.el | 13 ++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index fc699759d4..edd3950e24 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2012-11-08 Stefan Monnier + * subr.el (locate-user-emacs-file): If both old and new name exist, use + the new name. + * progmodes/js.el (js--filling-paragraph): New var. (c-forward-sws, c-backward-sws, c-beginning-of-macro): Advise. (js-c-fill-paragraph): Prefer advice to cl-letf so the rebinding is diff --git a/lisp/subr.el b/lisp/subr.el index d328b7cddf..9c89bd3e04 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -2657,13 +2657,17 @@ See also `locate-user-emacs-file'.") (defun locate-user-emacs-file (new-name &optional old-name) "Return an absolute per-user Emacs-specific file name. -If OLD-NAME is non-nil and ~/OLD-NAME exists, return ~/OLD-NAME. +If NEW-NAME exists in `user-emacs-directory', return it. +Else If OLD-NAME is non-nil and ~/OLD-NAME exists, return ~/OLD-NAME. Else return NEW-NAME in `user-emacs-directory', creating the directory if it does not exist." (convert-standard-filename (let* ((home (concat "~" (or init-file-user ""))) - (at-home (and old-name (expand-file-name old-name home)))) - (if (and at-home (file-readable-p at-home)) + (at-home (and old-name (expand-file-name old-name home))) + (bestname (abbreviate-file-name + (expand-file-name new-name user-emacs-directory)))) + (if (and at-home (not (file-readable-p bestname)) + (file-readable-p at-home)) at-home ;; Make sure `user-emacs-directory' exists, ;; unless we're in batch mode or dumping Emacs @@ -2677,8 +2681,7 @@ directory if it does not exist." (set-default-file-modes ?\700) (make-directory user-emacs-directory)) (set-default-file-modes umask)))) - (abbreviate-file-name - (expand-file-name new-name user-emacs-directory)))))) + bestname)))) ;;;; Misc. useful functions. -- 2.39.2