diff --git a/etc/refcards/orgcard.tex b/etc/refcards/orgcard.tex index 62ba687c19f..240e3366b0b 100644 --- a/etc/refcards/orgcard.tex +++ b/etc/refcards/orgcard.tex @@ -1,5 +1,5 @@ % Reference Card for Org Mode -\def\orgversionnumber{9.6.9} +\def\orgversionnumber{9.6.10} \def\versionyear{2023} % latest update \input emacsver.tex diff --git a/lisp/emacs-lisp/elint.el b/lisp/emacs-lisp/elint.el index 700f007d6b4..d8ab883b58d 100644 --- a/lisp/emacs-lisp/elint.el +++ b/lisp/emacs-lisp/elint.el @@ -1,8 +1,9 @@ ;;; elint.el --- Lint Emacs Lisp -*- lexical-binding: t -*- -;; Copyright (C) 1997, 2001-2023 Free Software Foundation, Inc. +;; Copyright (C) 1997-2023 Free Software Foundation, Inc. ;; Author: Peter Liljenberg +;; Maintainer: emacs-devel@gnu.org ;; Created: May 1997 ;; Keywords: lisp @@ -27,7 +28,7 @@ ;; misspellings and undefined variables, although it can also catch ;; function calls with the wrong number of arguments. -;; To use, call `elint-current-buffer' or `elint-defun' to lint a buffer +;; To use it, call `elint-current-buffer' or `elint-defun' to lint a buffer ;; or defun. The first call runs `elint-initialize' to set up some ;; argument data, which may take a while. @@ -37,9 +38,9 @@ ;;; To do: -;; * Adding type checking. (Stop that sniggering!) +;; * Adding type checking. (Stop that sniggering!) ;; * Make eval-when-compile be sensitive to the difference between -;; funcs and macros. +;; functions and macros. ;; * Requires within function bodies. ;; * Handle defstruct. ;; * Prevent recursive requires. diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el index 227571b148b..451c033a044 100644 --- a/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el @@ -1208,6 +1208,9 @@ file names." (tramp-run-real-handler #'expand-file-name (list name)) ;; Dissect NAME. (with-parsed-tramp-file-name name nil + ;; Tilde expansion shall be possible also for quoted localname. + (when (string-prefix-p "~" (file-name-unquote localname)) + (setq localname (file-name-unquote localname))) ;; If there is a default location, expand tilde. (when (string-match (rx bos "~" (group (* (not "/"))) (group (* nonl)) eos) localname) diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 4a5840cca4c..ba6dbdf0c39 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -2835,6 +2835,9 @@ the result will be a local, non-Tramp, file name." (tramp-run-real-handler #'expand-file-name (list name))) (unless (tramp-run-real-handler #'file-name-absolute-p (list localname)) (setq localname (concat "~/" localname))) + ;; Tilde expansion shall be possible also for quoted localname. + (when (string-prefix-p "~" (file-name-unquote localname)) + (setq localname (file-name-unquote localname))) ;; Tilde expansion if necessary. This needs a shell which ;; groks tilde expansion! The function `tramp-find-shell' is ;; supposed to find such a shell on the remote host. Please diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index f3f2c40e62c..ac1b29f08cd 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -722,6 +722,9 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored." (tramp-run-real-handler #'expand-file-name (list name)) ;; Dissect NAME. (with-parsed-tramp-file-name name nil + ;; Tilde expansion shall be possible also for quoted localname. + (when (string-prefix-p "~" (file-name-unquote localname)) + (setq localname (file-name-unquote localname))) ;; Tilde expansion if necessary. (when (string-match (rx bos "~" (group (* (not "/"))) (group (* nonl)) eos) localname) diff --git a/lisp/net/tramp-sudoedit.el b/lisp/net/tramp-sudoedit.el index c22bfd7ff5c..40e438435fc 100644 --- a/lisp/net/tramp-sudoedit.el +++ b/lisp/net/tramp-sudoedit.el @@ -381,6 +381,9 @@ the result will be a local, non-Tramp, file name." ;; but to the root home directory. (when (tramp-string-empty-or-nil-p localname) (setq localname "~")) + ;; Tilde expansion shall be possible also for quoted localname. + (when (string-prefix-p "~" (file-name-unquote localname)) + (setq localname (file-name-unquote localname))) (unless (file-name-absolute-p localname) (setq localname (format "~%s/%s" user localname))) (when (string-match diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index c0d910a5c15..7cc9b0c14a2 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -3811,6 +3811,9 @@ Let-bind it when necessary.") (with-parsed-tramp-file-name name nil (unless (tramp-run-real-handler #'file-name-absolute-p (list localname)) (setq localname (concat "/" localname))) + ;; Tilde expansion shall be possible also for quoted localname. + (when (string-prefix-p "~" (file-name-unquote localname)) + (setq localname (file-name-unquote localname))) ;; Expand tilde. Usually, the methods applying this handler do ;; not support tilde expansion. But users could declare a ;; respective connection property. (Bug#53847) diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el index d3e61643190..38e81d9d713 100644 --- a/lisp/org/org-agenda.el +++ b/lisp/org/org-agenda.el @@ -6784,7 +6784,8 @@ scheduled items with an hour specification like [h]h:mm." (let ((deadline (time-to-days (when (org-element-property :deadline el) (org-time-string-to-time - (org-element-property :deadline el)))))) + (org-element-interpret-data + (org-element-property :deadline el))))))) (and (<= schedule deadline) (> current deadline)))) (`not-today pastschedp) (`t t) diff --git a/lisp/org/org-colview.el b/lisp/org/org-colview.el index 28cfd0d910c..475416ecf74 100644 --- a/lisp/org/org-colview.el +++ b/lisp/org/org-colview.el @@ -525,7 +525,8 @@ for the duration of the command.") (setq header-line-format org-previous-header-line-format) (kill-local-variable 'org-previous-header-line-format) (remove-hook 'post-command-hook #'org-columns-hscroll-title 'local)) - (set-marker org-columns-begin-marker nil) + (when (markerp org-columns-begin-marker) + (set-marker org-columns-begin-marker nil)) (when (markerp org-columns-top-level-marker) (set-marker org-columns-top-level-marker nil)) (with-silent-modifications diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el index a859fe6d412..cfef38581c6 100644 --- a/lisp/org/org-version.el +++ b/lisp/org/org-version.el @@ -5,13 +5,13 @@ (defun org-release () "The release version of Org. Inserted by installing Org mode or when a release is made." - (let ((org-release "9.6.9")) + (let ((org-release "9.6.10")) org-release)) ;;;###autoload (defun org-git-version () "The Git version of Org mode. Inserted by installing Org or when a release is made." - (let ((org-git-version "release_9.6.9")) + (let ((org-git-version "release_9.6.10")) org-git-version)) (provide 'org-version) diff --git a/lisp/org/org.el b/lisp/org/org.el index 9ca7f155614..8b02721a859 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el @@ -9,7 +9,7 @@ ;; URL: https://orgmode.org ;; Package-Requires: ((emacs "26.1")) -;; Version: 9.6.9 +;; Version: 9.6.10 ;; This file is part of GNU Emacs. ;; diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el index 0136e0abd5b..a2460686e96 100644 --- a/test/lisp/net/tramp-tests.el +++ b/test/lisp/net/tramp-tests.el @@ -2325,6 +2325,17 @@ is greater than 10. (should (string-equal (expand-file-name local dir) dir)) (should (string-equal (expand-file-name (concat dir local)) dir))))) +;; The following test is inspired by Bug#65685. +(ert-deftest tramp-test05-expand-file-name-tilde () + "Check `expand-file-name'." + (skip-unless (tramp--test-enabled)) + (skip-unless (not (tramp--test-ange-ftp-p))) + + (let ((dir (file-remote-p ert-remote-temporary-file-directory)) + (tramp-tolerate-tilde t)) + (should (string-equal (expand-file-name (concat dir "~")) + (expand-file-name (concat dir "/:~")))))) + (ert-deftest tramp-test06-directory-file-name () "Check `directory-file-name'. This checks also `file-name-as-directory', `file-name-directory',