19
$\begingroup$

Bug introduced in 12.1.1


Since I upgraded to version 12.1.1 I am unable to use > (Shift+.). When I type Shift+. the cell that I am typing in converts to Python. What am I doing wrong?


Steps to reproduce the problem:

  • Create a text cell and enter some misspelt words. Make sure that they are underlined in red. Enable spell-checking if necessary.
  • Create an input cell, enter some characters, then enter > not as the first character
  • The input cell will (incorrectly) convert to an external language cell.
$\endgroup$
15
  • 5
    $\begingroup$ Do not type > as the very first character of a new input cell. This is a shortcut for creating an external language cell, just as * is a shortcut for creating a new item cell. Valid Mathematica code never starts with >, so there should be no need to start a cell with this character. If you still want to have this as the first character, type something else first, then type >, then delete the other characters you typed. $\endgroup$
    – Szabolcs
    Jun 22, 2020 at 10:22
  • 2
    $\begingroup$ This is such a bad design choice that I'd say this is a bug. $\endgroup$
    – user21
    Jun 22, 2020 at 10:42
  • 2
    $\begingroup$ Because it tried to do something I never want to do - call python. When I edit inequalities like x>2 and move in front of the x and type another > it will open python. Now I have to remember edit inequalities in a specific way and I have to remember that even though python is irrelevant for me. $\endgroup$
    – user21
    Jun 22, 2020 at 10:53
  • 4
    $\begingroup$ @Szabolcs Were you aware that you can type ** to create a Subitem and *** to create a Subsubitem? I did not realize this until now, from reading the stylesheets. $\endgroup$
    – Mr.Wizard
    Jun 22, 2020 at 11:31
  • 3
    $\begingroup$ Wolfram has put a New version of V12.1.1 on their website. As far as I can see they fixed the problem. $\endgroup$
    – wdacda
    Jun 24, 2020 at 23:45

2 Answers 2

10
$\begingroup$

Open menu Format > Edit Stylesheet... and paste this below the "Inheriting base definitions from" cell:

Cell[StyleData["Input"], StyleKeyMapping -> {}]

Choose Yes when prompted to "interpret the text" then close the Private Style Definitions Notebook.

This should remove these automatic Cell conversions from Input cells for the working Notebook.

You can save the Private Style Definitions Notebook and define it as the new default stylesheet to make this change persist.


If you wish to preserve this functionality but make its entry less accident-prone consider this instead, used as above:

Cell[StyleData["Input"], 
  StyleKeyMapping -> {
   KeyEvent["=", Modifiers -> {Control}] -> "WolframAlphaShort", 
   KeyEvent["*", Modifiers -> {Control}] -> "Item", 
   KeyEvent[">", Modifiers -> {Control}] -> "ExternalLanguageDefault"
  }
]

Now you will need to hold Ctrl as you type the character =, *, or > to enter each of these Cell types.

$\endgroup$
9
  • 3
    $\begingroup$ Oh great, thank you! In particular the * thing annoyed me quite a lot, I really cannot stand it when an editor changes my code without my consent... $\endgroup$ Jun 22, 2020 at 11:19
  • 1
    $\begingroup$ I confirm that this works for getting around this bug in 12.1.1 (since you don't have 12.1.1). $\endgroup$
    – Szabolcs
    Jun 22, 2020 at 11:26
  • $\begingroup$ @Szabolcs Would you please check if my Modified method prevents the bug from triggering by simply typing > at the point you indicate? $\endgroup$
    – Mr.Wizard
    Jun 22, 2020 at 12:01
  • $\begingroup$ Yes, it prevents the bug, but the new shortcuts (with Ctrl) do not work. $\endgroup$
    – Szabolcs
    Jun 22, 2020 at 12:17
  • $\begingroup$ @Szabolcs Hm... you use Windows, right? They do work in 10.1 under Windows 7. $\endgroup$
    – Mr.Wizard
    Jun 22, 2020 at 12:30
12
$\begingroup$

That is a known bug in 12.1.1. WRI is going to publish a new build.

Issue and workaround see here:

https://community.wolfram.com/groups/-/m/t/2006722

Disabling spell checking helps in the mean time:

Preferences 
> Interface > Check spelling as you type


$\endgroup$
4
  • 1
    $\begingroup$ This answer is incorrect. Changing preferences does not fix the behaviour for Input cells. $\endgroup$ Jun 22, 2020 at 12:45
  • 2
    $\begingroup$ This is the workaround recommended from a Wolfram Developer (see the link to the Wolfram community forum in the answer) and I tried it on my system (MacOS 10.15.5) where it works. The input cells are not converted to external language cells anymore after disabling spell checking. $\endgroup$
    – Philipp
    Jun 22, 2020 at 12:48
  • 1
    $\begingroup$ At least for me on Windows 10 and on Linux that does not work. Maybe you use macOS? $\endgroup$ Jun 22, 2020 at 14:11
  • 2
    $\begingroup$ Before reinstalling 12.1.1 I checked SystemInformation["Kernel", "ReleaseID"]. The old one with the bug is "12.1.1.0 (6938439, 2020060901)" the new one without this bug is "12.1.1.0 (6959458, 2020061902)" $\endgroup$ Jun 29, 2020 at 20:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.