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

"Monitoring" doesn't detect changes #3142

Closed
ndrewl opened this issue Apr 6, 2017 · 62 comments
Closed

"Monitoring" doesn't detect changes #3142

ndrewl opened this issue Apr 6, 2017 · 62 comments

Comments

@ndrewl
Copy link

ndrewl commented Apr 6, 2017

Description of the Issue

"Monitoring (tail-f)" feature doesn't work when writing to a file without closing it.
It doesn't update the view until file is closed.

Steps to Reproduce the Issue

Instructions are given for python, for simplicity, but it's not specific for python

  1. Open python in interactive mode:
python -i

Then type:

f = open('test.txt', 'w')
  1. Open file 'test.txt' in Notepad++ and click "Monitoring (tail -f)", the "eye" button.
  2. Continue in python session, keeping eye on the notepad++ window:
f.write('hey')
f.flush()
  1. Nothing happens in the Notepad++ (but the message is in file, you can open it with notepad.exe, for example, and check)
  2. Again in python:
f.close()
  1. Now the message appears in the Notepad++

Expected Behavior

Notepad++ should monitor for these changes, even if the writer doesn't close file.

Actual Behavior

Output didn't change, Notepad++ doesn't "see" these updates.

PS:

tail -f actually behaves correctly in this scenario.

@ndrewl ndrewl changed the title "Monitor" doesn't detect changes "Monitoring" doesn't detect changes Apr 6, 2017
@knh1
Copy link

knh1 commented Aug 14, 2017

Would be cool if this got fixed at some point. Switching tabs or application focus also updates the output.

I think Notepad++ is buffering the lines before outputting them (which is fine for files with a high volume of writes), but I would like to be able to control the buffer size or disable it entirely in the settings.

@jrocha
Copy link
Contributor

jrocha commented Nov 7, 2017

Got this same behavior monitoring OpenVPN logs.

@djspacedevil
Copy link

Hy,

still not fixed in Version 7.5.1 32-bit

@jrocha
Copy link
Contributor

jrocha commented Dec 1, 2017

@djspacedevil this version does not have the fix, v7.5.2 does not contain the fix as well. my PR is pending.

@vdeconinck
Copy link

@donho Any idea when this will be integrated ? Looks like low hanging fruit one-liner, and without it, the "tail -f" feature is useless for me (and others :-)). FWIW, my use case is RealTerm - https://sourceforge.net/projects/realterm/ - which also keeps its capture file open for the whole session. Thx.

@darakna
Copy link

darakna commented Feb 19, 2018

7.5.4 still not fixed, used powershell instead: Get-Content -Path "C:\scripts\test.txt" -Wait
https://gist.github.com/marioflores/6509931

@ndrewl
Copy link
Author

ndrewl commented Feb 24, 2018

Visual Studio Code with the "Log Viewer" extension supports this feature, so I had to switch to it. If anyone is looking for a text editor with tail -f support, this is my recommendation. It even supports large log files and highlights the log format.

@epalm
Copy link

epalm commented Feb 24, 2018

I can confirm this is still not fixed in 7.5.4, currently using powershell as @darakna mentioned.

@donho donho closed this as completed in 182063f Feb 25, 2018
@P-a-d-r-a-i-g
Copy link

I can also confirm that this is not resolved in 7.5.4

@nothingface0
Copy link

Same problem, 7.5.6 (32bit).

@Marty
Copy link

Marty commented May 25, 2018

Still present in 7.5.6 64bit. I just found out about this feature and got all excited :(

@jrocha
Copy link
Contributor

jrocha commented May 25, 2018

Just tested it on 7.5.6 and it worked. Could you provide more details on what file it isn't working?

@nothingface0
Copy link

nothingface0 commented May 25, 2018

Just re-tested; it's actually working on 7.5.6 (32bit). I'm confused.

Edit: It's working only if I'm reading it at the same time with Get-Content -Path "<path>" -Wait. Which means that reading it with some other program forces some event which notepad++ recognizes? Either way, if I just open the file and monitor it with only notepad++, monitoring fails.
Another way to force a refresh of the file is for notepad++ to lose and regain focus. But this is not practical.

tl;dr: It's kinda working, but not all the time.

@jrocha
Copy link
Contributor

jrocha commented May 25, 2018

Weird. I've tested using python example above and using C# code below, both worked. Also tested monitoring IIS log file, also worked.
I don't think Windows would raise any events because another program is reading the file. I guess how the file is being written could be the cause, if you could provide some details in that way it would be nice.

Some questions that also could help:

  • Is it a local file or a network file?
  • Is the file being flushed after change?
  • How big is this file?
namespace ConsoleApp {
    class Program {
        static void Main(string[] args) {

            using (var sw = new StreamWriter(File.Open("log.txt", FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read))) {

                while (true) {
                    sw.WriteLine(DateTime.Now.ToLongTimeString());
                    sw.Flush();
                    Console.ReadLine();
                }
            }
        }
    }
}

@nothingface0
Copy link

nothingface0 commented May 25, 2018

It's a program written in python (using the logging libary), however I do not know how it is implemented. I will have to ask its author.
I remember noticing similar behavior with TeamViewer logs and Notepad++ monitoring.

Edit: Just verified that the same behavior is noticed with TeamViewer logs. While the file open is focused it does not refresh; when you switch file tabs within Notepad++ or by switching active windows, the file refreshes - but only then.

@Marty
Copy link

Marty commented May 25, 2018

I'm appending the console output of a command to a file on windows 7 using the ">>" operator.
Only if the tab regains focus, I'm prompted whether to refresh the content.

@nothingface0
Copy link

@Marty, you get the dialog to refresh the file, even with Monitoring active?

This actually made me notice something else: I disabled Monitoring while the file was changing, yet I got no dialog (as I usually do) to refresh the file, as Marty said. Only after right-clicking the tab and pressing Reload did the file refresh.

@Marty
Copy link

Marty commented May 25, 2018

@nothingface0 Yes.
I just tested a bit: N++ detects the changes once the command I redirect the output from terminates.
In the meantime, I get the dialog for output the command made while still running.

@jrocha
Copy link
Contributor

jrocha commented May 25, 2018

I've been able to to reproduce the reload dialog over here. Looks like Buffer::checkFileState is being called regardless Monitoring is enabled or not.

Since it takes care over file renames and deletions I don't know yet the best way to handle it, but somewhere this old way to check for changes should not be used when Monitoring is active.

@jrocha
Copy link
Contributor

jrocha commented May 25, 2018

Just made sure to don't ask for a reload when Monitoring is enabled. Looks right for me. I'm still unable to miss a reload yet.

			case DOC_MODIFIED:	//ask for reloading
			{
				bool autoUpdate = (nppGUI._fileAutoDetection == cdAutoUpdate) || (nppGUI._fileAutoDetection == cdAutoUpdateGo2end);
				bool isMonitoring = buffer->isMonitoringOn();

				// Since it is being monitored DOC_NEEDRELOAD is going to handle the change.
				if (isMonitoring)
					break;

@Marty
Copy link

Marty commented May 25, 2018

Create a .bat script with the following content:

ping 127.0.0.1 -n 10 > nul
echo "hi"

The ping command will finish after 10 seconds and after that "hi" is printed.
Redirect the output of this to a file via >> and monitor this file in n++.

The complete output of the script will be shown automatically AFTER the script finished.
However, if you run the script and in under 10 seconds refresh the file in n++ manually, it will already show the first line of the output "D:>ping 127.0.0.1 -n 10 1>nul ".

If you now have a very long running command (like I did), no automatic refresh will happen until it finishes.

@vdeconinck
Copy link

I confirm the issue is not solved in my case with Notepad++ v7.5.6 32bit on Win7 32bit.
A logfile is generated by RealTerm - https://realterm.sourceforge.io/
No change is detected in real time, no matter if Monitoring is enabled or not: the view is not refreshed until focusing to another app and back, then the classic prompt appears.
On the other hand, I have a GNU tail for Windows (tail (GNU textutils) 2.0 Written by Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering. Copyright (C) 1999 Free Software Foundation, Inc.) installed, which works flawlessly on the same file at the same time:
See this video: https://www.screencast.com/t/u0NmshWABAVA
Thanks for your efforts and keep on the good work.

@jrocha
Copy link
Contributor

jrocha commented May 29, 2018

Got it. It is only detecting changes when N++ get focused. CReadChangesRequest::NotificationCompletion is only being called when N++ is focused.

It has something to do with Windows APC (Asynchronous Procedure Calls). I've to dig into how ReadDirectoryChanges is implemented to get a better understanding on why this APC is not delivered right away.

@jrocha
Copy link
Contributor

jrocha commented May 29, 2018

After few tests, looks like Windows isn't honoring FILE_NOTIFY_CHANGE_SIZE or FILE_NOTIFY_CHANGE_LAST_WRITE correctly if the file writer keep it opened.

I agree that this feature would be better if N++ could detect changes without being focused.

At this point I believe that it would be better to implement an active monitor to detect changes on files just like GNU tail for Windows does. It does it at
static void tail_forever (struct File_spec *f, int nfiles, double sleep_interval) on tail.c.

What do you guys think about that? @donho are you ok with this alternative?

@jrocha
Copy link
Contributor

jrocha commented May 29, 2018

Just added to this PR a commit that includes an active file watcher every 250ms.

Can anyone confirm it is working as expected?

@jrocha
Copy link
Contributor

jrocha commented Jun 14, 2018

Could someone please confirm that this patch is working as expected? If needed I can provided a compiled version.

@ndrewl
Copy link
Author

ndrewl commented Jun 15, 2018

@jrocha I could verify your patch, but, yes, I think I need a compiled version. I'm on Windows 10, x64.

@nothingface0
Copy link

nothingface0 commented Jun 15, 2018

@jrocha Yes, a compiled version would help a lot. I will test it too. Same OS as above.

@jrocha
Copy link
Contributor

jrocha commented Jun 21, 2018

@sawlogs Could you please re-open this issue? Let @donho close it again when changes get merged.

@ndrewl
Copy link
Author

ndrewl commented Jun 22, 2018

@jrocha Sorry, I didn't close this issue, so I can't re-open it (there is no such an option). Seems like @donho should re-open and close it again :)

SinghRajenM added a commit to SinghRajenM/notepad-plus-plus that referenced this issue Jul 5, 2018
* Fix multi-line tab button stay pushed issue while swiching off.

Make sure previous tab does not keep focus when switching tabs.
TO REPRODUCE:
Step 1: Move a tab using drag and drop.
Step 2: Use a tab switching hotkey/feature which doesn't set TCM_SETCURFOCUS AND TCM_SETCURSEL

Fixes notepad-plus-plus#3545, closes notepad-plus-plus#3552

* Rename variables & clean up

* Fix a regression regarding b859303

* Fix the long time bug that non-exist folder to pass via command line is not opened without warning

* Fix command line argument parsing regression

Work with the arguments in a temporary array of pointers to the command
line before assigning them to paramVector as generic_string.

Follow up to afb3889. Since then the arguments were copied to
paramVector as generic_string too early, before the command line parsing
finished.

Closes notepad-plus-plus#3575

* Add function list export feature

"notepad++.exe -export=functionList -lcpp c:\funcListTests\whatever.cpp"
will open whatever.cpp as cpp file, then parse this file to write the
funcLst result on disk, then exit Notepad++.
The result will write into c:\funcListTests\whatever.cpp.result.

* Add "-quickPrint" command line argument

"-quickPrint" allows user to launch Notepad++ via command to print a
given document then quit Notepad++ immediately.
Usage:
notepad++.exe -quickPrint c:\funcListTests\EncodingMapper.cpp

* Fix export fuctionlist bug

* Fix a typo

* Corrected typo

happend -> happened

Closes notepad-plus-plus#3568

* Add "Fortran (fixed form)" in compact Language menu

In addition to "Fortran (free form)"

Fixes notepad-plus-plus#3566, closes notepad-plus-plus#3567

* Update czech.xml translation to 7.4.2

Closes notepad-plus-plus#3555

* Roll back from 2 find buttons to 1 find button

Due to 2 find buttons logic limit (lost replacing up capacity), the
direction option is added back, and 1 find button is restored (instead
of 2 find buttons).

* Update translation files

* New feature: Opens file in its default viewer

This feature has the same effect as double-clicking this file in Windows Explorer.

Closes notepad-plus-plus#3577, fixes notepad-plus-plus#3576

* Code improvement

Closes notepad-plus-plus#3582

* Corrected/updated Hindi localization

Colse notepad-plus-plus#3605

* Update Bulgarian translation

* Update Korean translation

* Update Russian translation

* Update german.xml to v7.5

Closes notepad-plus-plus#3618

* Notepad++ 7.5 release

* Fix some excluded language cannot be remembered bug

* Update Corsican translation for Notepad++ 7.5

Closes notepad-plus-plus#3630

* update japanese.xml to v7.5

Changed to follow: "Open in Default Viewer", changes in Find dialog
Closes notepad-plus-plus#3625

* Update croatian.xml

* Update localization files for v7.5 modification

* Shortcut Mapper improvements - add cathegory

Shorcut mapper - main panel : new colums that show the category of the shortcut
Shorcut mapper - plugin panel : new colums that show the plugin name that the shortcut belongs to
Shorcut mapper - scintilla panel : it shows every shortcuts configured for one command

Fixes notepad-plus-plus#3583, Closes notepad-plus-plus#3635

* Improve file extension movement between ListBox in Preferences dialog

Now mouse double click can be used to move File extension between ListBoxes.

Closes notepad-plus-plus#3595

* Make double click work for language menu disabling/enabling in preference dialog

Fixed issue and organized code

Fixes notepad-plus-plus#3589, closes notepad-plus-plus#3594

* Fix a localization regression

Closes notepad-plus-plus#3639

* Replace '\r' by real carriage return

Closes notepad-plus-plus#3280

* Fix restore back language menu item on the wrong position

* Add Visual Prolog language support

Closes notepad-plus-plus#1439

* Add a philosophy quote in easter eggs

* Update Bulgarian translation

Closes notepad-plus-plus#3649

* Update Ukrainian translation

Closes notepad-plus-plus#3647

* Update danish translation to 7.5

Closes notepad-plus-plus#3641

* Add batch auto-completion

A new resource for auto-completion in batch scripting environment

Closes notepad-plus-plus#3157

* Fix the bug that Notepad++ create %appdata%\local\notepad++\ folder even in doLocalConf mode

* Update chineseSimplified.xml

Closes notepad-plus-plus#3660

* Enhance Function List for PHP and JavaScript

Support interface and trait in PHP.
Support space between function name and opening parenthesis in PHP and JavaScript. Fixes at least notepad-plus-plus#1919 and notepad-plus-plus#2604.

About the JavaScript regex:

Current:
function(\s+[A-Za-z_]?\w*\([^\)\(]*\)|\([^\)\(]*\))

There are 2 parts, for named and anonymous functions. Note there is some duplication, let's simplify it:
function(\s+[A-Za-z_]?\w*)?\([^\)\(]*\)

The first character of function name is not optional (of course when the function is named), let's fix it:
function(\s+[A-Za-z_]\w*)?\([^\)\(]*\)

Finally let's support the possible spaces before opening parenthesis, for both named and anonymous functions:
function(\s+[A-Za-z_]\w*)?\s*\([^\)\(]*\)

Fixes notepad-plus-plus#1919, fixes notepad-plus-plus#2604, fixes notepad-plus-plus#1667, fixes notepad-plus-plus#2962
closes notepad-plus-plus#2523, closes notepad-plus-plus#2621

* Notepad++ 7.5.1 release

* Fix un installer issue

While install a x64 version, it should remove x86 version if it exists (and vice versa).
The removal feature doesn't work though user answer Yes for the deletion.
This commit fixes this issue.

* Add 1 quote and delete some.

* Update spiritual quotes

* Export function list in json format

* Use VS2015 for appveyor instead of VS2013

* Switch to VS 2015

* Read plugin list as json format (in progress)

* Better disply of installer components page description

Colses notepad-plus-plus#3745

* Nitpicking - quotations

Britain should be capitalized, one of the quotations is duplicated.

Closes notepad-plus-plus#3743

* Fix certificate checking error message issue

1. Fixed issue (caption and message are interchanged)
2. Disabled lexerdll signature checking in debug mode

Closes notepad-plus-plus#3691, Fix notepad-plus-plus#3688

* Fixed typo in help text

EsterEggName should be EasterEggName

Closes notepad-plus-plus#3681

* Fix the issue that batch.xml is missing from installer

Closes notepad-plus-plus#3677, fixes notepad-plus-plus#3680

* new easter eggs quotes

* fix feedScintKeys when more than two shortcuts are configured

Closes notepad-plus-plus#3732, fixes notepad-plus-plus#3720

* Add version badge

Closes notepad-plus-plus#3725

* Adapt json format for Plugin admin

* switch from VS2013 to VS2015 & VS2017

* Update Arabic language file

* Enhance Plugin Admin UI

* correct appveyor.yml VS vcxproj after rename

add logger to see warnings/errors in the message tab

Closes notepad-plus-plus#3825

* Make mouse hook functions right

* Fix static analyzer message "Expression is always true"

V547 Expression '_isFloating == true' is always true. dockingcont.cpp 1080
V547 Expression 'itemSelected == 2' is always true. treeview.cpp 504
V560 A part of conditional expression is always true: 0xff. babygrid.cpp 711

* Fix static analyzer issue "An exception should be caught by reference"

V746 Object slicing. An exception should be caught by reference rather than by value. filedialog.cpp 183
V746 Object slicing. An exception should be caught by reference rather than by value. nppbigswitch.cpp 110
V746 Object slicing. An exception should be caught by reference rather than by value. pluginsmanager.cpp 259

* Fix static analyzer issue "The enumeration constant 'inactiveText' is used as a variable of a Boolean-type."

V768 The enumeration constant 'inactiveText' is used as a variable of a Boolean-type. wordstyledlg.cpp 438

* Fix static analyzer issue "A virtual function was overridden incorrectly"

V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'UserDefineDialog' and base class 'StaticDialog'. userdefinedialog.h 332
V762 It is possible a virtual function was overridden incorrectly. See first argument of function 'redraw' in derived class 'SplitterContainer' and base class 'Window'. splittercontainer.h 61
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'FindReplaceDlg' and base class 'StaticDialog'. findreplacedlg.h 245
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'GoToLineDlg' and base class 'StaticDialog'. gotolinedlg.h 45
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'FindCharsInRangeDlg' and base class 'StaticDialog'. findcharsinrange.h 52
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'ColumnEditorDlg' and base class 'StaticDialog'. columneditor.h 45
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'WordStyleDlg' and base class 'StaticDialog'. wordstyledlg.h 77
V762 It is possible a virtual function was overridden incorrectly. See first argument of function 'redraw' in derived class 'WordStyleDlg' and base class 'Window'. wordstyledlg.h 99
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'PluginsAdminDlg' and base class 'StaticDialog'. pluginsadmin.h 100

* Fix static analyzer message "The ternary operator always returns constant"

V583 The '?:' operator, regardless of its conditional expression, always returns one and the same value: 22. nppcommands.cpp 1696

* Fix compiling warning problem

* Add DSpellCheck plugin into distribution

* Added more C# keywords for auto-completion

Closes notepad-plus-plus#3899

* Update turkish.xml

Updated localization to latest changes.

Closes notepad-plus-plus#3890

* Update romanian.xml

Updated and corrected romanian to version 7.5

Closes notepad-plus-plus#3872

* Update Italian translation to version 7.5.1

Closes notepad-plus-plus#3778

* Update german.xml

Closes notepad-plus-plus#3715

* Update catalan.xml

Closes notepad-plus-plus#3762

* Update czech.xml translation to v7.5.1

Closes notepad-plus-plus#3701

* Update spanish.xml

Closes notepad-plus-plus#3814

* Fixed hang issue while opening JavaScript file

Fixes notepad-plus-plus#3770, closes notepad-plus-plus#3785

* Prevent from crash in TAB settings

* Remove unused/empty encoding from shortcut mapper

Closes notepad-plus-plus#3763

* Add version and other info into installer

Closes notepad-plus-plus#3751

* Add BaanC Sections in functionlist.xml

Based on
https://notepad-plus-plus.org/community/topic/14494/functionlist-classrange-question

Closes notepad-plus-plus#3842

* Upgrade wingup to fix the problem of connetion for updating

* Notepad++ 7.5.2 release

* Fix a crash issue in Plugin Admin

* Fix installer issues

1. Fix shell extension registration error (due to notepad++.exe has not
yet been copied)
2. Fix themes' absence after installation (one variable depends on
its initialization in mainSection)

* Fix DSpellCheck incomplete installation

* Notepad++ release 7.5.3

* Fix a crash bug due to eventual disordered notifications sent to plugins

The Access Violation while closing Notepad++:
notepad-plus-plus#3961
could be due to SCN_UPDATEUI sending after NPPN_SHUTDOWN, that makes
plugins treat SCN_UPDATEUI on the released handle.

To avoid such situation, once NPPN_SHUTDOWN has been sent, no more
message will be sent to plugin.

Fixes notepad-plus-plus#3961, fixes notepad-plus-plus#4021

* Fix 9f0ba44 typo

* Remove duplicate keywords for autocompletion

* Improve installer

* Fix broken indicies in EncodingMapper

Fixes notepad-plus-plus#3983
Fixes notepad-plus-plus#3991
Closes notepad-plus-plus#3992

* Hungarian translation update for 7.5.3

Closes notepad-plus-plus#3978

* Added keywords auto-completion for CoffeeScript

Closes notepad-plus-plus#3977

* Add Auto Completion for BaanC

Closes notepad-plus-plus#3927

* Fix spanish translation for "tail"

Command `tail` shouldn't be translated (there isn't a `cola` command)

Closes notepad-plus-plus#3920

* Fix typo in French translation

Closes notepad-plus-plus#3921

* Autompletion enhancement: remove unwanted symbols

Fixes notepad-plus-plus#3861
Closes notepad-plus-plus#3917

* Improve smart highlighting performance

Abort highlight search if the selection crosses a line boundry.

Closes notepad-plus-plus#3908

* Notepad++ release 7.5.4

* Fix highlighting of <script> tags in XML files

* Plugins Admin (in progress)

* Fix a typo

* Added .coffee extension to CoffeeScript

* Fix line ending changes are not detected in reloaded changed files issue

Fixes notepad-plus-plus#4033, closes notepad-plus-plus#4043

* Make UI Right To Left when Farsi & Uyghur are loaded

Closes notepad-plus-plus#4108

* Use reversed header image for RTL installer

Closes notepad-plus-plus#4107

* Code improvement

Closes notepad-plus-plus#4085

* Add commandline support for few more languages

Closes notepad-plus-plus#4084

* Update localization files (English & Hindi)

Fixes notepad-plus-plus#4040, closes notepad-plus-plus#4046

* Update japanese.xml to v7.5.4

* Replace '\r' by real carriage return
* Fix some translations for clear japanese

closes notepad-plus-plus#4043

* Fix menu items' state is not maintained due to save macro command

Fixes notepad-plus-plus#4112, fixes notepad-plus-plus#4114, closes notepad-plus-plus#4115

* Fix encoding not sync (on status bar) after reloading

Extracted parts of FileManager::reloadBuffer and FileManager::loadFile
to a separate function, so that both exhibit the same feature level of
EOL/encoding detection. reloadBuffer() used to have less logic than loadFile() and incorrectly handled UTF-8 detection when the file was ANSI

Fixes notepad-plus-plus#2637, fixes notepad-plus-plus#2843, closes notepad-plus-plus#4124

* Restore "Find Previous" & "Find Next" button in Find dialog

The pair of button "Find Previous" and "Find Next" have been removed in
the previous version due to some regressions. It's restored with being optional.

* Fix a crash by improving cutString() function

Remove an arbitrary MAX_PATH character limit

Fixes notepad-plus-plus#2727, closes notepad-plus-plus#4037

* Fix 2 different files whose canonic names are the same can't be opened
in the same time issue

Fix Unicode file name comparision to match Windows behaviour (as opposed to doing a linguistic filename comparision)

Fixes notepad-plus-plus#3820, closes notepad-plus-plus#4141

* Add forgotten translation entries

* Make more dialog strings translatable

* More translatable dialogs

* More translatable entries for Folder as Workspace

* Enhance Shortcut Mapper and make it translatable

* Shortcut Mapper is resizable and maximizable

* Add filter capacity in the shortcut mapper

Closes notepad-plus-plus#4096, closes notepad-plus-plus#2562

* Add more translations

Find dialog status bar messages are translatable.
Add more shortcut mapper translation entries.

* Add new language and update translations

* Simplify and fix memory leak in getSpecialFolderLocation

Fixes notepad-plus-plus#399, closes notepad-plus-plus#4138

* Warning/error fixes as per VS2017 code analysis

Closes notepad-plus-plus#4154

* Fix tab sticks to mouse pointer problem after external update of a file open in
Notepad++

Fixes notepad-plus-plus#4122, fixes notepad-plus-plus#3851, closes notepad-plus-plus#4182

* Update ukrainian.xml

Closes notepad-plus-plus#4198

* Update occitan.xml localisation to v.7.5.5

Closes notepad-plus-plus#4196

* Keep Doc Switcher's ordering in sync with Tab bar

Close notepad-plus-plus#946, close notepad-plus-plus#1684, close notepad-plus-plus#2342, close notepad-plus-plus#4015

* Enhance ShortcutMapper resizing

- keep centered buttons while resizing
- set minimum width and height

Close notepad-plus-plus#4178

* Update catalan.xml

Close notepad-plus-plus#4200

* Update czech.xml translation to v7.5.5

Close notepad-plus-plus#4199

* Update Turkish localization

Close notepad-plus-plus#4197

* Update german.xml to 7.5.5

Close notepad-plus-plus#4137

* Fix the wrong integer replacement (instead of string)

Fix also some minor grammatical errors

Close notepad-plus-plus#4203

* Update danish.xml to 7.5.5

Close notepad-plus-plus#4135

* Fixed the czech.xml v7.5.5

Fixed the wrong integer replacements (instead of string) according to the english.xml latest change.

Close notepad-plus-plus#4207

* Minor enhancements for Kurdish language

Make Kurdish be RTL
Command line support for Kurdish

Close notepad-plus-plus#4206

* Updated Hindi localization

1. Updated "Hindi.xml"
2. Corrected typos in English.xml (changed "NppIO.cpp" and "shortcut.rc" accordingly)
3. Synced "english_customizable.xml" with "English.xml"

Close notepad-plus-plus#4152

* Update Bulgarian translation

Close notepad-plus-plus#4143

* Make Unix style path (slashes) work in open file dialog (optional)

Close notepad-plus-plus#3948, fix notepad-plus-plus#2438, fix notepad-plus-plus#3840

* Change the label of one option to match Unix style path on open dialog

* Disable DSpellCheck by default due to some performance issues

* Make column names translatable in Window->Window...

Close notepad-plus-plus#4219

* Update translations

* Fix for "Monitoring" doesn't detect changes

Fix notepad-plus-plus#3142, close notepad-plus-plus#3882

* Add new keywords of javascript for auto-completion

Close notepad-plus-plus#4156

* update japanese.xml to v7.5.5

Close notepad-plus-plus#4139

* Update chineseSimplified.xml

Close notepad-plus-plus#4175

* Update german.xml to v7.5.5

Close notepad-plus-plus#4209

* Update romanian.xml for version 7.5.5

Close notepad-plus-plus#4210

* Update belarusian translation

Close notepad-plus-plus#4212

* Update Bulgarian translation

Close notepad-plus-plus#4218

* Fix for "Toggle Single Line Comment" malfunctioning with HTML/XML

Add space for a null character so last line character does not get cut off, and thus allow closing tag to be matched properly.

Fix notepad-plus-plus#3869, close notepad-plus-plus#3870

* Update chineseSimplified.xml

Close notepad-plus-plus#4223

* Change the EOL

* Fix a label display glitch in Preference

* Notepad++ release 7.5.5

* Fix EOLs

* Make new entries translatable

* Fix macro playing back crash issue

Fix crash issue while playing back macro if "find previous" and/or "find next"
button actions are/is recorded.

Also prevent from future crash if new commands in Find dialog are forgotten to be
treated.

* Remove the TODO to prevent from the useless modification

* Add ghost typing Unicode capacity

* Ghost typing enhancement

1. Make ghost typing Unicode supported so any language can be displayed.
2. Ghost typing's speed (slow, rapid and spped of light) can be set.
3. Any supported programming language (syntax highligting) can be applied.
4. All above supports are accessible via command line arguments.

* Add a message from outer space

* Update chineseSimplified.xml

* Update english.xml & chineseSimplified.xml

* Fix GDI objects leak problem

Fix notepad-plus-plus#1017, close notepad-plus-plus#3896

* Function List enhancement: Highlight the current function based on cursor position

Closes notepad-plus-plus#715, close notepad-plus-plus#4113

* Fix crash on styler dialog of User Defined Language dialog

Fixes notepad-plus-plus#2646, fixes notepad-plus-plus#4215, close notepad-plus-plus#4279

* Update german.xml to v7.5.5

Closes notepad-plus-plus#4256

* Update czech.xml for v7.5.5

Close notepad-plus-plus#4235

* Quotes clean up

* Change english.xml to match to GUI texts

Some texts of `english.xml` is not equivalent to GUI texts. This commit change `english.xml` to match GUI.

Close notepad-plus-plus#4297

* Add more funny quotes

* Update german localization

Close notepad-plus-plus#4310

* Hungarian translation update for 7.5.5

Close notepad-plus-plus#4308

* Update Ukrainian translation

Close notepad-plus-plus#4304

* Update Swedish localization

Close notepad-plus-plus#4296

* Update Dutch translation for 7.5.5

Close notepad-plus-plus#4292

* Update Corsican translation for Notepad++ 7.5.5

Close notepad-plus-plus#4290

* Update Turkish localization

Close notepad-plus-plus#4289

* Update Bulgarian localization

Close notepad-plus-plus#4260

* Update Hindi Localization

Close notepad-plus-plus#4244

* Fit access keys of the main manu to English behavior

Close notepad-plus-plus#4230

* Update french.xml

Close notepad-plus-plus#4263

* Update French localization

* Fix typos in translation entry string

* Fix file status detection issue under Windows XP (32-bit only)

Close notepad-plus-plus#4226

* Major improvements to C# intellisense

Close notepad-plus-plus#4142

* Notepad++ 7.5.6 release

* Rename label in functionlist output json

* Fix Javascript not working regression in Function list since 2016

due to 2 commits:
5d438aa
fb189fa

* Add unit tests for function list feature

go to notepad-plus-plus\PowerEditor\Test\FunctionList directory then
launch the following commands:
powershell ./unitTestLauncher.ps1

* Update Russian translation

* Update stylers.xml model

* Fix a typo in French translation

* Fixed UDL export extension issue

Fix notepad-plus-plus#4372, close notepad-plus-plus#4377

* Various fixes in french.xml

Close notepad-plus-plus#4319

* Updated Slovak language file for the latest Notepad++ version.

Close notepad-plus-plus#4341

* Fix typo to make translation work.

correct typo STRT_REPLACE -> STR_REPLACE

Fix notepad-plus-plus#4354, close notepad-plus-plus#4391

* Updated Hindi Translation

Close notepad-plus-plus#4376

* Update dutch.xml

Fix a few spelling mistakes, change mail address

Close notepad-plus-plus#4344

* Fixed a code in ReadDirectoryChangesPrivate.cpp

Close notepad-plus-plus#4257

* Update italian.xml to version 7.5.6

Various update on translation for italian
Close notepad-plus-plus#4355

* Make new file system of plugin works on installation directory

* Adapt new plugin file system structure for the future release.

* Update Indonesian.xml

Close notepad-plus-plus#4446

* Update Russian translation for 7.5.6

Close notepad-plus-plus#4441

* Small fix in german.xml

Close notepad-plus-plus#4316

* More improvements in C# intellisense

Close notepad-plus-plus#4419

* Fix Sort Lines as Integers issue: use Natural Sort algorithm

This changes the line operations "Sort as Integers Ascending" and "Sort as Integers Descending" to sort by Natural Sort Order, in which consecutive numerals are considered as one character. This causes "2" < "10", just like in the old Integer sort, but also "foo 2" < "foo 10", which was not previously available functionality. In cases where every line is a single integer, Natural Sort functions exactly the same as Integer Sort; when every line begins with a single integer, it is a valid Integer Sort.

Close notepad-plus-plus#4413, fix notepad-plus-plus#2025

* Remove unused method

* Remove Updater binaries

* Enhance Notepad++ installation packaging

Use GUP to retrieve GUP release from its website while doing Notepad++ release.

* Update turkish.xml

Close notepad-plus-plus#4478

* Fix toolbar display bug in big icon mode issue

Close notepad-plus-plus#4509

* Cleanup in context menu and Run entries

Close notepad-plus-plus#4519

* Installer enhancement: Place program shortcut in top-level Start folder

Fix notepad-plus-plus#2143, close notepad-plus-plus#4342

* Refactoring Plugin Admin codes

* Enhance installed list in Plugin Admin

* Restore the needed functions

* Add run process sync method & Plugin Admin's operations

Make Updater run sync for removing & restoring plugin info from & to the
plugin lists while the Plugin Admin's operation of installation, update and removal.

* Fix a bug where the document map highlights incorrectly when the view is scrolled past the end of the file.

Fix notepad-plus-plus#4579, close notepad-plus-plus#4580

* Fixed pointer truncations reported after removing /Wv:18

Close notepad-plus-plus#4544

* Fixed the macro deletion bug

Fix the issue that deleting a Macro doesn't remove it from the Run Macro multiple times dialog until restart

Fix notepad-plus-plus#4526, close notepad-plus-plus#4532

* Fix Open File Dialog error for a long path

Fix notepad-plus-plus#4345

* Clean up

* Update catalan.xml

Close notepad-plus-plus#4537

* Make carret line always visible on click from Finder panel

Close notepad-plus-plus#4518, fix notepad-plus-plus#4510

* Remove "from" which is not a reserved JavaScript keyword

Close notepad-plus-plus#4410

* Force cpp standard const char pointer on string literals

const-ified all string literals to suppress warnings on gcc and allow /Zc:strictStrings to be used with Visual Studio

Fix notepad-plus-plus#4146, close notepad-plus-plus#4150

* Migrate timestamps from time_t to FILETIME and store them in UTC universally

Fixes notepad-plus-plus#4491, notepad-plus-plus#3969, notepad-plus-plus#2535 and notepad-plus-plus#215.

* Deprecate wstat/stat in favour of WinAPI GetFileAttributesEx - unifies code and behaviour between Windows versions

Fixes notepad-plus-plus#4491, fixes notepad-plus-plus#3969, fixes notepad-plus-plus#2535, fixes notepad-plus-plus#215, close notepad-plus-plus#4541

* Use automatic variable with static size instead of dynamical allocation

* Use corret name for length variable

* Fix the compiling failure on x64 build

* Fix format specifier warnings - /Wv:18 can now be removed

As a follow up to my previous pull request, this PR fixes the last remaining improper format specifiers. This allows to remove /Wv:18 compilation flag completely, since (presumably) the only reason it was added in the first place were those format specifier warnings, introduced in VS2015.

Effectively, all this PR does is applying fixes suggested by the compiler (included in those warnings).

Close notepad-plus-plus#4604

* Fix hanging problem while shutingdown and backup file is absent

Fix notepad-plus-plus#4295, fix notepad-plus-plus#4276, close notepad-plus-plus#4611

* Notepad++ 7.5.7 release
@jrocha
Copy link
Contributor

jrocha commented Jul 12, 2018

Looks like this changes didn't make it to v7.5.7, just tested it without success.

@jrocha
Copy link
Contributor

jrocha commented Jul 20, 2018

I'm unsure if this thread is being noticed since it is already closed. What do you guys think? @sawlogs @vdeconinck @nothingface0 @donho

@nothingface0
Copy link

Is there some way to re-open it? Sorry, I'm not that accustomed to github issues.

@ndrewl
Copy link
Author

ndrewl commented Jul 20, 2018

@jrocha I don't know, this project is quite slow, maybe after some time, let's say a year, @donho will do something about it :) I can't reopen it, but I think we can open a new one, and mention in the new one this issue (and vice versa) and your pull-request. Since you have fixed the bug and maybe spent some time debugging it, I think you are able to provide the clearest description and steps to reproduce. So, may we ask you to do it?

@jrocha
Copy link
Contributor

jrocha commented Jul 20, 2018

Guess not. I'm also not used to github issues but think only @donho is able to open it again.

@jrocha
Copy link
Contributor

jrocha commented Jul 20, 2018

@sawlogs Got it. I'm going to fill out a new issue and mention this one.

@JongleurNin
Copy link

Seems to be working great in 7.5.8, for the record!

@nothingface0
Copy link

@JongleurNin Just updated notepad++ to 7.5.8 but I notice the same behavior as before. I need to bring the notepad++ window/tab to focus in order for the file to update.

@dia-susca
Copy link

Can confirm it's not working on Windows 10 with version 7.5.8 x64

@jrocha
Copy link
Contributor

jrocha commented Oct 16, 2018

Just found I've missed some discussion on PR

@Rudolpher
Copy link

Like some others here I just learned of the feature, only to realize it doesn't work unless you give Notepad++ focus, which makes it useless. Is there any movement on this, or better alternatives than my current of UnxUtils with Tail?

@epalm
Copy link

epalm commented Nov 29, 2018

Hey @Rudolpher, I've been using BareTail for years. It works as advertised, and also offers some interesting highlighting options.

I'll abandon BareTail as soon as this Notepad++ feature works, though.

@jrocha
Copy link
Contributor

jrocha commented Dec 12, 2018

@Rudolpher @epalm The PR is open again. Just committed some fixes to it. Hope this issue will be fixed soon.

@Personwithhat
Copy link

@jrocha Still an issue, doesn't look like the PR made it in.

@Rudolpher
Copy link

Rudolpher commented Dec 28, 2019

Yikes, this is starting to become slightly silly.
@donho This is still an issue. Currently Notepad++ requires updated focus, unfortunately making the feature mostly useless.

@epalm
Copy link

epalm commented Jan 13, 2020

Can confirm this feature still doesn't work in 7.8.2

Reading above it sounds like some work was done, but wasn't merged in. Would really love to use this feature in NP++ rather than switching to BareTail or tail -f

I'd offer to help, if I was competent at C++. That said, I'd be happy to help test, if it means pushing this feature through.

@jrocha
Copy link
Contributor

jrocha commented Feb 22, 2020

@epalm @Rudolpher @Personwithhat just made a new PR (#7969)

@donho donho reopened this Feb 24, 2020
@donho donho closed this as completed in 66893f9 Feb 25, 2020
alef162 pushed a commit to alef162/notepad-plus-plus that referenced this issue Oct 11, 2020
This patch adds an active monitor to detect changes on files since Windows isn't honoring FILE_NOTIFY_CHANGE_SIZE or FILE_NOTIFY_CHANGE_LAST_WRITE on ReadDirectoryChangesW correctly if the file writer keep it opened.
This solution is based on GNU tail for Windows does. It does it at
static void tail_forever (struct File_spec *f, int nfiles, double sleep_interval) on tail.c.

Fix notepad-plus-plus#3142, fix notepad-plus-plus#4955, fix notepad-plus-plus#4527, close notepad-plus-plus#7969
kspalaiologos pushed a commit to kspalaiologos/notepad-plus-plus that referenced this issue Jan 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests