summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2014-05-14 10:01:29 -0700
committerGlenn Morris <rgm@gnu.org>2014-05-14 10:01:29 -0700
commitf4da4720dfdefbdace402201c6a5fc8017bb98aa (patch)
treeff0ad3d49398cca6c22b9061742d95fc1b0a9eae /lisp
parent6f1d9822d972c418dbf2295fcd01b7b0a3dc5ef8 (diff)
parent34cba8e885f2ed1c0e9c805ad89b9464e0b5766a (diff)
downloademacs-f4da4720dfdefbdace402201c6a5fc8017bb98aa.tar.gz
Merge from emacs-24; up to 2014-05-15T16:55:18Z!jan.h.d@swipnet.se
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog18
-rw-r--r--lisp/minibuffer.el13
-rw-r--r--lisp/net/browse-url.el8
-rw-r--r--lisp/vc/emerge.el9
4 files changed, 42 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 0b257444662..77e8942bdcc 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,21 @@
+2014-05-14 Stephen Berman <stephen.berman@gmx.net>
+ Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion-pcm--merge-try): Merge trailing / with
+ suffix (bug#15419).
+
+2014-05-14 Glenn Morris <rgm@gnu.org>
+
+ * vc/emerge.el (emerge-temp-file-prefix):
+ Make pointless option obsolete.
+ (emerge-temp-file-mode): Make non-functional option obsolete.
+
+2014-05-14 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/browse-url.el (browse-url):
+ Use `unhandled-file-name-directory' when setting `default-directory',
+ in order to circumvent stalled remote connections. (Bug#17425)
+
2014-05-14 Glenn Morris <rgm@gnu.org>
* printing.el (subst-char-in-string, make-temp-file, pr-get-symbol):
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 7245911de4b..f8e39dc1529 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -3216,11 +3216,20 @@ the same set of elements."
;; Not `prefix'.
mergedpat))
;; New pos from the start.
- (newpos (length (completion-pcm--pattern->string pointpat)))
+ (newpos (length (completion-pcm--pattern->string pointpat)))
;; Do it afterwards because it changes `pointpat' by side effect.
(merged (completion-pcm--pattern->string (nreverse mergedpat))))
- (setq suffix (completion--merge-suffix merged newpos suffix))
+ (setq suffix (completion--merge-suffix
+ ;; The second arg should ideally be "the position right
+ ;; after the last char of `merged' that comes from the text
+ ;; to be completed". But completion-pcm--merge-completions
+ ;; currently doesn't give us that info. So instead we just
+ ;; use the "last but one" position, which tends to work
+ ;; well in practice since `suffix' always starts
+ ;; with a boundary and we hence mostly/only care about
+ ;; merging this boundary (bug#15419).
+ merged (max 0 (1- (length merged))) suffix))
(cons (concat prefix merged suffix) (+ newpos (length prefix)))))))
(defun completion-pcm-try-completion (string table pred point)
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 33f4eda9604..9644a509b22 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -807,15 +807,15 @@ first, if that exists."
(interactive (browse-url-interactive-arg "URL: "))
(unless (called-interactively-p 'interactive)
(setq args (or args (list browse-url-new-window-flag))))
+ (when (and url-handler-mode (not (file-name-absolute-p url)))
+ (setq url (expand-file-name url)))
(let ((process-environment (copy-sequence process-environment))
(function (or (and (string-match "\\`mailto:" url)
browse-url-mailto-function)
browse-url-browser-function))
;; Ensure that `default-directory' exists and is readable (b#6077).
- (default-directory (if (and (file-directory-p default-directory)
- (file-readable-p default-directory))
- default-directory
- (expand-file-name "~/"))))
+ (default-directory (or (unhandled-file-name-directory default-directory)
+ (expand-file-name "~/"))))
;; When connected to various displays, be careful to use the display of
;; the currently selected frame, rather than the original start display,
;; which may not even exist any more.
diff --git a/lisp/vc/emerge.el b/lisp/vc/emerge.el
index 0cf4484aac1..d4638616dd7 100644
--- a/lisp/vc/emerge.el
+++ b/lisp/vc/emerge.el
@@ -261,11 +261,19 @@ Do not start with `~/' or `~USERNAME/'."
:type 'string
:group 'emerge)
+(make-obsolete-variable 'emerge-temp-file-prefix
+ "customize `temporary-file-directory' instead."
+ "24.4" 'set)
+
(defcustom emerge-temp-file-mode 384 ; u=rw only
"Mode for Emerge temporary files."
:type 'integer
:group 'emerge)
+(make-obsolete-variable 'emerge-temp-file-mode
+ "it has no effect, temporary files are always private."
+ "24.4" 'set)
+
(defcustom emerge-combine-versions-template
"#ifdef NEW\n%b#else /* not NEW */\n%a#endif /* not NEW */\n"
"Template for `emerge-combine-versions' to combine the two versions.
@@ -2881,6 +2889,7 @@ keymap. Leaves merge in fast mode."
(let (f (old-modes (default-file-modes)))
(unwind-protect
(progn
+ ;; This has no effect, since make-temp-file sets umask = 700.
(set-default-file-modes emerge-temp-file-mode)
(setq f (make-temp-file (concat emerge-temp-file-prefix prefix))))
(set-default-file-modes old-modes))