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"
This commit is contained in:
Eli Zaretskii 2022-04-16 13:46:04 -04:00
commit 6ecb7ff5ec
3 changed files with 47 additions and 3 deletions

View file

@ -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" ...'

View file

@ -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 " *\\.$")

View file

@ -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.