emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 6ecb7ff5ec 10/14: Merge from origin/emacs-28


From: Eli Zaretskii
Subject: master 6ecb7ff5ec 10/14: Merge from origin/emacs-28
Date: Sat, 16 Apr 2022 14:06:44 -0400 (EDT)

branch: master
commit 6ecb7ff5ec9492a8671df63ae097ca2045d18494
Merge: 25db9dfae0 b201823f63
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Merge from origin/emacs-28
    
    b201823f63 Describe problems with invoking Python on MS-Windows
    880f2734c9 A better fix for bug#54800
    5ee959aa87 Add a comment about cl-concatenate
    ab2b822b9b Revert "Make cl-concatenate an alias of seq-concatenate"
---
 etc/PROBLEMS                | 40 ++++++++++++++++++++++++++++++++++++++++
 lisp/calc/calc.el           |  2 +-
 lisp/emacs-lisp/cl-extra.el |  8 ++++++--
 3 files changed, 47 insertions(+), 3 deletions(-)

diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 25022cad46..394c6c223d 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -651,6 +651,46 @@ And then rename the system's readline so that it won't be 
loaded:
 See <https://pypi.python.org/pypi/gnureadline> for more details on
 installation.
 
+*** On MS-Windows, invoking "M-x run-python" signals an error.
+
+If the error says something like this:
+
+  Python was not found; run with arguments to install
+  from the Microsoft Store, or disable this shortcut
+  from Settings > Manage App Execution Aliases.
+
+  Process Python exited abnormally with code 49
+
+then this is due to the MS-Windows "feature" that is intended to
+encourage you to install the latest available Python version.  It
+works by placing "fake" python.exe and python3.exe executables in a
+special directory, and having that directory on your Path _before_ the
+directory where the real Python executable is installed.  That "fake"
+Python then decides whether to redirect you to the Microsoft Store or
+invoke the actual Python.  The directory where Windows keeps those
+"fake" executables is under your Windows user's 'AppData' directory,
+typically 'C:\Users\<user>\AppData\Local\Microsoft\WindowsApps', where
+"<user>" is the user name of your Windows user.
+
+To solve this, you have several alternatives:
+
+  . Go to "Settings > Manage App Execution Aliases" and turn OFF the
+    aliases for python.exe and/or python3.exe.  This will affect only
+    Python, and may require you to manage upgrades to your Python
+    installation manually, instead of being automatically prompted by
+    MS-Windows.
+  . Move the directory with the "fake" executables to the end of Path,
+    or at least after the directory where the real Python is
+    installed.  Depending on the position in Path where you move it,
+    it will affect Python and/or other programs which Windows monitors
+    via the "App Execution Aliases" feature.
+  . Manually remove python.exe and/or python3.exe from the above
+    directory.  Again, this affects only your Python installation.
+
+Whatever you do, you will need to restart Emacs to refresh its notion
+of the directory where python.exe/python3.exe lives, because that is
+recorded when Python mode is started.
+
 *** Visiting files in some auto-mounted directories causes Emacs to print
 'Error reading dir-locals: (file-error "Read error" "is a directory" ...'
 
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index e642d1c5e4..2c139a0238 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -1816,7 +1816,7 @@ See calc-keypad for details."
          (if win
              (progn
                (calc-cursor-stack-index 0)
-               (vertical-motion (- 3 (window-height win)))
+               (vertical-motion (- 3 (window-height win 'floor)))
                (set-window-start win (point)))))
        (calc-cursor-stack-index 0)
        (if (looking-at " *\\.$")
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el
index ed9b1b7d83..8e38df43c8 100644
--- a/lisp/emacs-lisp/cl-extra.el
+++ b/lisp/emacs-lisp/cl-extra.el
@@ -553,10 +553,14 @@ too large if positive or too small if negative)."
                        ,new)))))
   (seq-subseq seq start end))
 
+;;; This isn't a defalias because autoloading defalises doesn't work
+;;; very well.
+
 ;;;###autoload
-(defalias 'cl-concatenate #'seq-concatenate
+(defun cl-concatenate (type &rest sequences)
   "Concatenate, into a sequence of type TYPE, the argument SEQUENCEs.
-\n(fn TYPE SEQUENCE...)")
+\n(fn TYPE SEQUENCE...)"
+  (apply #'seq-concatenate type sequences))
 
 ;;; List functions.
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]