Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using the Notepad++ find/replace form turns on Elastic Tabstops #24

Closed
molsonkiko opened this issue May 23, 2024 · 5 comments
Closed

Using the Notepad++ find/replace form turns on Elastic Tabstops #24

molsonkiko opened this issue May 23, 2024 · 5 comments
Labels
bug Something isn't working

Comments

@molsonkiko
Copy link

molsonkiko commented May 23, 2024

AFAICT, when Columns++ 1.1 is installed, this issue occurs on Notepad++ 8.6.4 but not Notepad++ 8.6.6. I haven't tested to see what other versions cause this issue to surface.

EDIT: As noted below, this issue is still present for Notepad++ 8.6.6, even though the example in this original post doesn't exhibit it.

To replicate:

  1. Open the following file:
foo
bar
baz
  1. Turn on Show All Characters to make it easier to determine whether Elastic Tabstops is on.
  2. Turn off Elastic Tabstops, if it was previously on. Verify that it is off by checking that the CR and LF are full-sized.
  3. Use the Notepad++ find/replace form to replace foo with foo.
  4. Observe that the CR and LF appear squished, indicating that Elastic Tabstops is on.
  5. Go to the Columns++ plugin menu and observe that there is no checkmark next to the Elastic Tabstops item even though it is turned on. Clicking this item twice will fix this issue.
@Coises Coises added the bug Something isn't working label May 23, 2024
@Coises
Copy link
Owner

Coises commented May 23, 2024

@molsonkiko

At first attempt, I’m not able to reproduce this with Notepad++ 8.6.4 and Columns++ 1.1.

In your step 5, could you try typing a letter, then a tab at the start of the first line (before “foo”); then several letters (enough to be more than your ordinary tab width) and a tab at the start of the second line (before “bar”); and note whether “foo” and “bar” after the tabs line up (indicating Elastic tabstops is really on) or not (indicating that it isn’t)?

I ask that because — particularly when we already know some sort of bug is happening — the contraction of control character symbols isn’t a reliable indication that elastic tabstops is on; it could equally well be an indication that SCI_SETCONTROLCHARSYMBOL has been called incorrectly, or not called when it should have been.

Would you post the Notepad++ Debug Info so I can duplicate what other plugins were installed? Is the list identical between your installations of 8.6.4 and 8.6.6? Since I’m not able to reproduce this just duplicating the versions of Notepad++ and Columns++, I have to consider that there might be interference between Columns++ and some other plugin.

I presume DirectWrite is not enabled in Notepad++ (because as of Columns++ 1.1 the control character reduction wouldn’t be happening at all if DirectWrite were enabled unless you forced monospace font options in the elastic tabstops profile), and you have the (default) Columns++ Profile options Apply monospaced font options: Best estimate selected and Don't show expanded mnemonics for non-printing characters when monospaced checked?

@Coises Coises added the question Further information is requested label May 23, 2024
@molsonkiko molsonkiko changed the title Using the Notepad++ find/replace form turns on Elastic Tabstops (maybe only for NPP older than 8.6.6) Using the Notepad++ find/replace form turns on Elastic Tabstops May 23, 2024
@molsonkiko
Copy link
Author

molsonkiko commented May 23, 2024

I ask that because — particularly when we already know some sort of bug is happening — the contraction of control character symbols isn’t a reliable indication that elastic tabstops is on

Thank you for giving me that clarification; now that I understand what was happening, I can confirm that this bug still appears on Notepad++ 8.6.6 (I have edited my original post and issue title to reflect that) with a clean installation of Columns++ 1.1 with default settings and no other plugins.

Using a clean installation of Columns++ with default settings, why don't you try using the find/replace form to replace foo with foo in the following file:

foo	bar	baz
fffffoo	bbbbbar	baeeeez

I've tried this both with and without DirectWrite turned on; it doesn't matter.

Debug info:

Notepad++ v8.6.6   (64-bit)
Build time : May  6 2024 - 21:59:00
Path : file\path\npp.8.6.6.portable.x64\notepad++.exe
Command Line : 
Admin mode : OFF
Local Conf mode : ON
Cloud Config : OFF
Periodic Backup : ON
OS Name : Windows 10 Home (64-bit)
OS Version : 22H2
OS Build : 19045.4412
Current ANSI codepage : 1252
Plugins : 
    ColumnsPlusPlus (1.1)

@Coises
Copy link
Owner

Coises commented May 23, 2024

@molsonkiko:

Thank you! Using a fresh, portable installation of Notepad++ 8.6.6 with a fresh copy of Columns++ 1.1 and the test you suggested enabled me to reproduce it.

@Coises
Copy link
Owner

Coises commented May 23, 2024

@molsonkiko:

Columns++ version 1.1.1 should fix this. When you get a chance, let me know if you can confirm, or if you find problems.

Thank you again for your help in identifying this.

@Coises Coises added awaiting confirmation Waiting for confirmation that issue is resolved and removed question Further information is requested labels May 23, 2024
@molsonkiko
Copy link
Author

I tested CPP 1.1.1 on both Notepad++ 8.6.4 and 8.6.6, and it seems to be fixed.

@Coises Coises removed the awaiting confirmation Waiting for confirmation that issue is resolved label May 23, 2024
@Coises Coises closed this as completed May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants