summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/emacs-lisp/bytecomp.el12
-rw-r--r--lisp/term.el3
2 files changed, 13 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index cc3a24e3d51..80eb6489c31 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -1933,7 +1933,17 @@ The value is non-nil if there were no errors, nil if errors."
;; parallel bootstrap), it does not risk getting a
;; half-finished file. (Bug#4196)
(tempfile
- (make-temp-file (file-name-nondirectory target-file)))
+ (if (file-name-absolute-p target-file)
+ (make-temp-file target-file)
+ ;; If target-file is relative and includes
+ ;; leading directories, make-temp-file will
+ ;; assume those leading directories exist
+ ;; under temporary-file-directory, which might
+ ;; not be true. So strip leading directories
+ ;; from relative file names before calling
+ ;; make-temp-file.
+ (make-temp-file
+ (file-name-nondirectory target-file))))
(default-modes (default-file-modes))
(temp-modes (logand default-modes #o600))
(desired-modes (logand default-modes #o666))
diff --git a/lisp/term.el b/lisp/term.el
index 1a373935c9d..c64c64e6ecd 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -1117,7 +1117,8 @@ Entry to this mode runs the hooks on `term-mode-hook'."
(lambda (size)
(when size
(term-reset-size (cdr size) (car size)))
- size))
+ size)
+ '((name . term-maybe-reset-size)))
(add-hook 'read-only-mode-hook #'term-line-mode-buffer-read-only-update nil t)