Vim inside xfce4-terminal under Cygwin displays symbols when I enter insert mode

I am using xfce4-terminal via Cygwin/X. When I open a file in VIM and press Shift-A (to get to the end of the line and enter insert mode), some strange character is displayed at the start of the line.

In the image below I am on the last line of the file, then I press Shift-A. The green cursor moves to the right side of the line, but at the previous cursor position there are some strange characters.

View post on imgur.com

I’ve tried a different font for xfce4-terminal. This problem is not present when using cygwin’s default terminal (the non-X based one).

built in symbols – What could go wrong in redefining Power to act on functions?

Inspired by a tweet (from a locked account, unfortunately, so I can’t link it), we can get notation like $cos^2(x)$ to work in Mathematica in general:

Unprotect(Power);
Power(f_, n_)(x___) := Power(f(x), n);
Protect(Power)

Weirdly, so far, I can’t think of anything this would break, since—as far as I can tell—Power(f_, n_) is never otherwise expected to appear as the head of some other expression. It seems like this might actually be a convenient choice.

Is there any chaos this could cause that I’m not thinking of?

front end – Syntax highlighting for own functions only for certain symbols

For simplicity, let’s say I have defined my own function f that takes in exactly one input argument which is of the Symbol type like this:

f(x_Symbol):=x;

Now, I want the input argument to show up with Syntax highlighting (with the colouring on symbols like in D() or Plot()) for certain input symbols when I call the function.

Let’s say I want the green-ish syntax colouring to show up when the input argument is either a,b, or c. Colouring for other symbols can stay as it is (i.e. blue).

How do I achieve this? (The attached picture is what I want to achieve.)

example colouring

Note: I am using Mathematica version 12.2.

c# – Why aren’t my conditional compilation symbols working when I dotnet publish my .NET Core 3 project?

I have a project which is targeting .NET Core 3. This project builds and runs fine in both Debug and Release configurations. Both configurations have a Conditional compilation symbol set in Visual Studio of Glue.

enter image description here

The resulting .csproj has the following:

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
  <DefineConstants>TRACE;GLUE</DefineConstants>
  <OutputPath></OutputPath>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
  <DefineConstants>TRACE;GLUE</DefineConstants>
</PropertyGroup>

As I mentioned earlier, if I run through Visual Studio, all works fine.

If I publish my app through the command line interface, the resulting app seems to ignore the conditional compilation symbol.

As a test, I added an #if around a section of code which will cause compile errors if the #if is excluded.

#if GLUE
        public MainGlueWindow()
        {
#endif
            mSelf = this;

            ...

If the GLUE conditional compilation symbol is considered, the code should compile fine, but I do get errors when I perform a dotnet publish. The full command I am using is:

dotnet publish GlueFormsCore.csproj -r win-x86 -c Debug

The error suggests the constructor header is missing:

C:UsersvchelDocumentsGitHubFlatRedBallFRBDKGlueGlueMainGlueWindow.cs(95,19): error CS1519: Invalid token '=' in class, record, struct, or interface member declaration (C:UsersvchelDocumentsGitHubFlatRedBallFRBDKGlueGlueGlueFormsCore_tksugttl_wpftmp.csproj)

I should point out that x86 is the only platform in my csproj.

I don’t know if the problem is caused by the absence of specifying x86 as the platform, but if so I don’t know how to specify that on the dotnet publish command.

Can anyone tell me why the dotnet publish command is not considering the GLUE conditional compilation symbol?

keyboard – Stop autocorrect in Microsoft Office changing custom symbols to emoji

I have set up a number of custom shortcuts for math/logic symbols to use in Word and OneNote, including the left/right arrow ↔. This works in OneNote, but I also need it to work in Word, but it keeps autocorrecting to the corresponding arrow emoji which is incredibly frustrating.

I have tried the following:

  • changing the shortcut to add a space after the ↔. This still corrects to the emoji.
  • selecting “change back to (custom shortcut)” – this does what it says, and corrects it all the way back to the shortcut, rather than to the arrow symbol I want
  • using the inbuilt shortcut leftrightarrow (which I want to avoid because it’s so much faster to type a three-character shortcut than that) also autocorrects to the emoji outside of math fields in Word
  • changing the shortcut trigger to something different. This still replaces the arrow with an emoji.

Within specified math fields, this issue doesn’t occur, but I want to be able to continue to use these symbols outside of math fields, because that’s the only way I can still use it within OneNote as well due to the way the Autocorrect dictionary for Office is set up.

I suspect that the issue is due to the fact that there is an inbuilt auto-replacement function for the arrow symbol to be replaced by the arrow emoji itself, much like how the smiley symbols started getting replaced by emoji a few years ago too, but I wouldn’t know where to look to disable that to allow insertion of the actual arrow symbol itself. Any suggestions? Right now I’m copying and pasting but obviously this is not an ideal solution.

I am using Microsoft Word for Mac Version 16.46.

Thank you in advance, this is driving me up the wall!