From f883f945f5535dc2df0d86e9a4f5a034ed4fb0f7 Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Wed, 15 Apr 2026 19:03:54 +0200 Subject: [PATCH 1/2] chg: revert auto resolving to UNC for mapped network-drives, but add an option to allow this --- Build/Notepad3.ini | 1 + language/common_res.h | 1 + language/np3_af_za/menu_af_za.rc | 1 + language/np3_be_by/menu_be_by.rc | 1 + language/np3_de_de/menu_de_de.rc | 1 + language/np3_el_gr/menu_el_gr.rc | 1 + language/np3_en_gb/menu_en_gb.rc | 1 + language/np3_en_us/menu_en_us.rc | 1 + language/np3_es_es/menu_es_es.rc | 1 + language/np3_fi_fi/menu_fi_fi.rc | 1 + language/np3_fr_fr/menu_fr_fr.rc | 1 + language/np3_hi_in/menu_hi_in.rc | 1 + language/np3_hu_hu/menu_hu_hu.rc | 1 + language/np3_id_id/menu_id_id.rc | 1 + language/np3_it_it/menu_it_it.rc | 1 + language/np3_ja_jp/menu_ja_jp.rc | 1 + language/np3_ko_kr/menu_ko_kr.rc | 1 + language/np3_nl_nl/menu_nl_nl.rc | 1 + language/np3_pl_pl/menu_pl_pl.rc | 1 + language/np3_pt_br/menu_pt_br.rc | 1 + language/np3_pt_pt/menu_pt_pt.rc | 1 + language/np3_ru_ru/menu_ru_ru.rc | 1 + language/np3_sk_sk/menu_sk_sk.rc | 1 + language/np3_sv_se/menu_sv_se.rc | 1 + language/np3_tr_tr/menu_tr_tr.rc | 1 + language/np3_vi_vn/menu_vi_vn.rc | 1 + language/np3_zh_cn/menu_zh_cn.rc | 1 + language/np3_zh_tw/menu_zh_tw.rc | 1 + src/Config/Config.cpp | 2 + src/Notepad3.c | 5 +++ src/PathLib.c | 64 ++++++++++++++++++-------------- src/TypeDefs.h | 1 + 32 files changed, 73 insertions(+), 27 deletions(-) diff --git a/Build/Notepad3.ini b/Build/Notepad3.ini index b16c51f1d..3d951113e 100644 --- a/Build/Notepad3.ini +++ b/Build/Notepad3.ini @@ -5,6 +5,7 @@ SettingsVersion=5 ;AnalyzeReliableConfidenceLevel=50 ;DefaultDirectoryOverride= +;ResolveToUNCPaths=false [Settings2] ;grepWin.exe=%PORTABLEAPPS_DIR%\grepWinPortable\grepWinPortable.exe ;IMEInteraction=0 diff --git a/language/common_res.h b/language/common_res.h index 92c270cb4..4f0b47188 100644 --- a/language/common_res.h +++ b/language/common_res.h @@ -861,6 +861,7 @@ #define IDM_SET_MULTIPLE_SELECTION 42044 #define IDM_SET_DEFAULTDIR 42045 #define IDM_SET_DEFAULTDIR_RESET 42046 +#define IDM_SET_RESOLVE_UNC_PATHS 42047 #define IDM_HELP_ABOUT 43000 #define IDM_HELP_CMD 43001 diff --git a/language/np3_af_za/menu_af_za.rc b/language/np3_af_za/menu_af_za.rc index c786955c6..f022a9dbf 100644 --- a/language/np3_af_za/menu_af_za.rc +++ b/language/np3_af_za/menu_af_za.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Lêerverandering-&Kennisgewing...\tAlt+F5", IDM_SET_CHANGENOTIFY MENUITEM "AutoSave / Backup Settings...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "&Mute Message Beeps", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "&Esc Sleutel Funksie" BEGIN MENUITEM "&Geen", IDM_SET_NOESCFUNC diff --git a/language/np3_be_by/menu_be_by.rc b/language/np3_be_by/menu_be_by.rc index d574c52f5..68fa94130 100644 --- a/language/np3_be_by/menu_be_by.rc +++ b/language/np3_be_by/menu_be_by.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Паведамленне а&б змяненні файла...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Аўтазахаванне / рэзервовыя копіі...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "&Заглушыць гук паведамленняў", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "&Функцыя клавішы Esc" BEGIN MENUITEM "&Няма", IDM_SET_NOESCFUNC diff --git a/language/np3_de_de/menu_de_de.rc b/language/np3_de_de/menu_de_de.rc index 91fbab922..ba517e206 100644 --- a/language/np3_de_de/menu_de_de.rc +++ b/language/np3_de_de/menu_de_de.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Nachricht bei &Dateiänderung...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Auto-Speichern / Backup Einstellungen...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Keine Nachrichten &Beeps", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Esc-&Key Funktion" BEGIN MENUITEM "&Keine", IDM_SET_NOESCFUNC diff --git a/language/np3_el_gr/menu_el_gr.rc b/language/np3_el_gr/menu_el_gr.rc index 438989410..161980608 100644 --- a/language/np3_el_gr/menu_el_gr.rc +++ b/language/np3_el_gr/menu_el_gr.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Ειδοποίηση μετα&βολής αρχείου...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Αυτόματη αποθήκευση / Ρυθμίσεις εφεδρικού αντιγράφου...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Σίγαση ήχ&ων μηνύματος", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Λειτουργία πλήκτρου &Εsc" BEGIN MENUITEM "&Καμία", IDM_SET_NOESCFUNC diff --git a/language/np3_en_gb/menu_en_gb.rc b/language/np3_en_gb/menu_en_gb.rc index 07845980f..708bf9504 100644 --- a/language/np3_en_gb/menu_en_gb.rc +++ b/language/np3_en_gb/menu_en_gb.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "File &Change Notification...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "AutoSave / Backup Settings...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "&Mute Message Beeps", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "&Esc Key Function" BEGIN MENUITEM "&None", IDM_SET_NOESCFUNC diff --git a/language/np3_en_us/menu_en_us.rc b/language/np3_en_us/menu_en_us.rc index 0c0a2324a..fd6d1ebea 100644 --- a/language/np3_en_us/menu_en_us.rc +++ b/language/np3_en_us/menu_en_us.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "File &Change Notification...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "AutoSave / Backup Settings...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "&Mute Message Beeps", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "&Esc Key Function" BEGIN MENUITEM "&None", IDM_SET_NOESCFUNC diff --git a/language/np3_es_es/menu_es_es.rc b/language/np3_es_es/menu_es_es.rc index 4a8515bbe..85cf48885 100644 --- a/language/np3_es_es/menu_es_es.rc +++ b/language/np3_es_es/menu_es_es.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "N&otificación de cambios en archivo...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Auto guardar / Configuración guardando...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Silenciar sonidos de aviso", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "&Función de la tecla 'Esc'" BEGIN MENUITEM "&Ninguna", IDM_SET_NOESCFUNC diff --git a/language/np3_fi_fi/menu_fi_fi.rc b/language/np3_fi_fi/menu_fi_fi.rc index 535b7fdd7..bd257f8ba 100644 --- a/language/np3_fi_fi/menu_fi_fi.rc +++ b/language/np3_fi_fi/menu_fi_fi.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Tiedoston &muutosilmoitus...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Automaattitallennus / varmuuskopiointiasetukset...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "&Mykistä viestin äänimerkit", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "&Esc-toiminta" BEGIN MENUITEM "&Ei mitään", IDM_SET_NOESCFUNC diff --git a/language/np3_fr_fr/menu_fr_fr.rc b/language/np3_fr_fr/menu_fr_fr.rc index c24d0cedd..49c2b1c28 100644 --- a/language/np3_fr_fr/menu_fr_fr.rc +++ b/language/np3_fr_fr/menu_fr_fr.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Notif&ication de modification de fichier...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Auto-enregister / Paramètres de sauvegarde...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Couper les &bips de messages", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Fonction de la touche ""&Echap""" BEGIN MENUITEM "&Aucune", IDM_SET_NOESCFUNC diff --git a/language/np3_hi_in/menu_hi_in.rc b/language/np3_hi_in/menu_hi_in.rc index 9e9ba3375..bd84ecf9c 100644 --- a/language/np3_hi_in/menu_hi_in.rc +++ b/language/np3_hi_in/menu_hi_in.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "फ़ाइल परिवर्तन अधिसूचना (&C)...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "AutoSave / Backup Settings...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "संदेश आवाज़ बंद करें (&M)", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "ESC कुंजी उपयोग (&E)" BEGIN MENUITEM "कुछ न करें (&N)", IDM_SET_NOESCFUNC diff --git a/language/np3_hu_hu/menu_hu_hu.rc b/language/np3_hu_hu/menu_hu_hu.rc index 00e3975f8..ad06ac6ca 100644 --- a/language/np3_hu_hu/menu_hu_hu.rc +++ b/language/np3_hu_hu/menu_hu_hu.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Figyel&meztetés fájl változásról...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Aut. mentés / Bizt. mentés beállításai...",IDM_SET_AUTOSAVE_BACKUP MENUITEM "&Üzenethang némítása", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Esc g&omb funkciója" BEGIN MENUITEM "&Semmi", IDM_SET_NOESCFUNC diff --git a/language/np3_id_id/menu_id_id.rc b/language/np3_id_id/menu_id_id.rc index 7cdadc25b..f6192b9ef 100644 --- a/language/np3_id_id/menu_id_id.rc +++ b/language/np3_id_id/menu_id_id.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "&Notifikasi Berkas Berubah...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Pengaturan Otomatis Simpan / Cadangkan ...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Bisukan Bun&yi Pesan Bip", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Fungsi Tombol &Escape" BEGIN MENUITEM "&Tidak Ada", IDM_SET_NOESCFUNC diff --git a/language/np3_it_it/menu_it_it.rc b/language/np3_it_it/menu_it_it.rc index f7965fd83..9e448b667 100644 --- a/language/np3_it_it/menu_it_it.rc +++ b/language/np3_it_it/menu_it_it.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Notifica le modifi&che al file...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Impostazioni Salvataggio automatico e Backup...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Disabilita &beep messaggio", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Azione tasto '&Esc'" BEGIN MENUITEM "&Nessuna", IDM_SET_NOESCFUNC diff --git a/language/np3_ja_jp/menu_ja_jp.rc b/language/np3_ja_jp/menu_ja_jp.rc index 58421094f..206682953 100644 --- a/language/np3_ja_jp/menu_ja_jp.rc +++ b/language/np3_ja_jp/menu_ja_jp.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "ファイルの変更を通知(&C)...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "自動保存/バックアップの設定...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "メッセージの効果音をミュート(&M)", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Escキーの動作(&E)" BEGIN MENUITEM "なし(&N)", IDM_SET_NOESCFUNC diff --git a/language/np3_ko_kr/menu_ko_kr.rc b/language/np3_ko_kr/menu_ko_kr.rc index 1b3336c9f..b676b8090 100644 --- a/language/np3_ko_kr/menu_ko_kr.rc +++ b/language/np3_ko_kr/menu_ko_kr.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "파일 변경 알림(&C)...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "자동 저장 / 백업 설정...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "메시지 경고음 음소거(&M)", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "ESC 키 기능(&E)" BEGIN MENUITEM "없음(&N)", IDM_SET_NOESCFUNC diff --git a/language/np3_nl_nl/menu_nl_nl.rc b/language/np3_nl_nl/menu_nl_nl.rc index aeabb8925..0b74690f2 100644 --- a/language/np3_nl_nl/menu_nl_nl.rc +++ b/language/np3_nl_nl/menu_nl_nl.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Melding bij bestandswijziging...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Automatisch opslaan / Back-up...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Meldingen dempen", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Functie Esc-&toets" BEGIN MENUITEM "&Geen", IDM_SET_NOESCFUNC diff --git a/language/np3_pl_pl/menu_pl_pl.rc b/language/np3_pl_pl/menu_pl_pl.rc index 4ed13c9de..5a8d3b444 100644 --- a/language/np3_pl_pl/menu_pl_pl.rc +++ b/language/np3_pl_pl/menu_pl_pl.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Powiadomienie o zmianie pliku...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Ustawienia Autozapisu/ kopii zapasowej...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Wycisz sygnał dźwiękowy", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Funkcja klawisza Esc" BEGIN MENUITEM "Żadna", IDM_SET_NOESCFUNC diff --git a/language/np3_pt_br/menu_pt_br.rc b/language/np3_pt_br/menu_pt_br.rc index 2af0d8058..a626f0b0e 100644 --- a/language/np3_pt_br/menu_pt_br.rc +++ b/language/np3_pt_br/menu_pt_br.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Notificação de &Mudança de Arquivo...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Configurações de Salvar Automático / Backup...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Deixar Mudo Avisos &Sonoros de Mensagens", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Função da &Tecla Esc" BEGIN MENUITEM "&Nada", IDM_SET_NOESCFUNC diff --git a/language/np3_pt_pt/menu_pt_pt.rc b/language/np3_pt_pt/menu_pt_pt.rc index 8b8b185e6..67adbefa0 100644 --- a/language/np3_pt_pt/menu_pt_pt.rc +++ b/language/np3_pt_pt/menu_pt_pt.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Notificação de alteração df fi&cheiro...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "AutoSave / Backup Settings...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Silenciar &beeps das mensagens", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Função da tecla Esc" BEGIN MENUITEM "&Nenhuma", IDM_SET_NOESCFUNC diff --git a/language/np3_ru_ru/menu_ru_ru.rc b/language/np3_ru_ru/menu_ru_ru.rc index 6bfa564fb..5a0d42eb7 100644 --- a/language/np3_ru_ru/menu_ru_ru.rc +++ b/language/np3_ru_ru/menu_ru_ru.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "&Уведомление об изменении файла...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Автосохранение / резервные копии...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Заглу&шить звук уведомлений", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "&Функция клавиши Esc" BEGIN MENUITEM "&Нет", IDM_SET_NOESCFUNC diff --git a/language/np3_sk_sk/menu_sk_sk.rc b/language/np3_sk_sk/menu_sk_sk.rc index e0fd8caef..294bb33fb 100644 --- a/language/np3_sk_sk/menu_sk_sk.rc +++ b/language/np3_sk_sk/menu_sk_sk.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "&Oznámenie o zmene súboru...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Auto-ukladanie / Nastavenie zálohovania...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "&Stlmiť hlásenie pípnutím", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "&Funkcia klávesy Esc" BEGIN MENUITEM "Ž&iadna", IDM_SET_NOESCFUNC diff --git a/language/np3_sv_se/menu_sv_se.rc b/language/np3_sv_se/menu_sv_se.rc index 56fc04382..7afeaecc1 100644 --- a/language/np3_sv_se/menu_sv_se.rc +++ b/language/np3_sv_se/menu_sv_se.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Notifiering vid filändring...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "AutoSave / Backup Settings...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Stäng av ljud vid meddelande", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Esc-tangentens funktion" BEGIN MENUITEM "Ingen", IDM_SET_NOESCFUNC diff --git a/language/np3_tr_tr/menu_tr_tr.rc b/language/np3_tr_tr/menu_tr_tr.rc index 4f30feb3a..127a431cd 100644 --- a/language/np3_tr_tr/menu_tr_tr.rc +++ b/language/np3_tr_tr/menu_tr_tr.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Dosyadaki değişiklikler bildirilsin...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Otomatik kayıt / Yedekleme ayarları...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "İleti &sesi kısılsın", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Esc &tuşu işlevi" BEGIN MENUITEM "&Yok", IDM_SET_NOESCFUNC diff --git a/language/np3_vi_vn/menu_vi_vn.rc b/language/np3_vi_vn/menu_vi_vn.rc index 06a515d17..bec5fcffb 100644 --- a/language/np3_vi_vn/menu_vi_vn.rc +++ b/language/np3_vi_vn/menu_vi_vn.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "Thông báo thay đổi tệp(&C)...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "Cài đặt lưu tự động / Sao lưu...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "Tắt âm báo tin nhắn(&M)", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Chức năng phím ESC(&E)" BEGIN MENUITEM "Không(&N)", IDM_SET_NOESCFUNC diff --git a/language/np3_zh_cn/menu_zh_cn.rc b/language/np3_zh_cn/menu_zh_cn.rc index b5d78a142..c15ce4514 100644 --- a/language/np3_zh_cn/menu_zh_cn.rc +++ b/language/np3_zh_cn/menu_zh_cn.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "文件修改通知(&C)...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "自动保存和备份设置...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "关闭消息提示音(&M)", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Esc 键功能(&E)" BEGIN MENUITEM "无(&N)", IDM_SET_NOESCFUNC diff --git a/language/np3_zh_tw/menu_zh_tw.rc b/language/np3_zh_tw/menu_zh_tw.rc index 11e4fcabe..30b7d1d3f 100644 --- a/language/np3_zh_tw/menu_zh_tw.rc +++ b/language/np3_zh_tw/menu_zh_tw.rc @@ -483,6 +483,7 @@ BEGIN MENUITEM "檔案修改通知(&C)...\tAlt+F5", IDM_SET_CHANGENOTIFY ///MENUITEM "自動儲存和備份設定...", IDM_SET_AUTOSAVE_BACKUP MENUITEM "關閉訊息提示音(&M)", IDM_SET_MUTE_MESSAGEBEEP + MENUITEM "Resolve to &UNC-Paths", IDM_SET_RESOLVE_UNC_PATHS POPUP "Esc 鍵功能(&E)" BEGIN MENUITEM "無(&N)", IDM_SET_NOESCFUNC diff --git a/src/Config/Config.cpp b/src/Config/Config.cpp index 995dd9e03..fbb9572c3 100644 --- a/src/Config/Config.cpp +++ b/src/Config/Config.cpp @@ -1812,6 +1812,7 @@ void LoadSettings() GET_BOOL_VALUE_FROM_INISECTION(PreferredLocale4DateFmt, false); GET_BOOL_VALUE_FROM_INISECTION(SearchByClipboardIfEmpty, true); GET_BOOL_VALUE_FROM_INISECTION(ReplaceByClipboardTag, true); + GET_BOOL_VALUE_FROM_INISECTION(ResolveToUNCPaths, false); ///~Settings2.IMEInteraction = clampi(IniSectionGetInt(IniSecSettings, L"IMEInteraction", Settings2.IMEInteraction), SC_IME_WINDOWED, SC_IME_INLINE); @@ -2259,6 +2260,7 @@ static bool _SaveSettings(bool bForceSaveSettings) SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, PreferredLocale4DateFmt); SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, SearchByClipboardIfEmpty); SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, ReplaceByClipboardTag); + SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, ResolveToUNCPaths); SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, DarkModeHiglightContrast); #ifdef D_NP3_WIN10_DARK_MODE diff --git a/src/Notepad3.c b/src/Notepad3.c index 7457cc18d..bcbfe3ee1 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -4458,6 +4458,7 @@ LRESULT MsgInitMenu(HWND hwnd, WPARAM wParam, LPARAM lParam) CheckCmd(hmenu, IDS_USE_LOCALE_DATEFMT, Settings.PreferredLocale4DateFmt); CheckCmd(hmenu, IDM_SET_MUTE_MESSAGEBEEP, Settings.MuteMessageBeep); + CheckCmd(hmenu, IDM_SET_RESOLVE_UNC_PATHS, Settings.ResolveToUNCPaths); CheckCmd(hmenu, IDM_SET_SAVEBEFORERUNNINGTOOLS, Settings.SaveBeforeRunningTools); //~EnableCmd(hmenu, IDM_SET_SAVEBEFORERUNNINGTOOLS, !faro); @@ -6645,6 +6646,10 @@ static bool _HandleViewAndSettingsCommands(HWND hwnd, UINT umsg, WPARAM wParam, Settings.MuteMessageBeep = !Settings.MuteMessageBeep; break; + case IDM_SET_RESOLVE_UNC_PATHS: + Settings.ResolveToUNCPaths = !Settings.ResolveToUNCPaths; + break; + case IDM_VIEW_SPLIT_UNDOTYPSEQ_LNBRK: Settings.SplitUndoTypingSeqOnLnBreak = !Settings.SplitUndoTypingSeqOnLnBreak; break; diff --git a/src/PathLib.c b/src/PathLib.c index c96dd9b6f..cdecb1fe1 100644 --- a/src/PathLib.c +++ b/src/PathLib.c @@ -2019,39 +2019,49 @@ size_t PTHAPI Path_NormalizeEx(HPATHL hpth_in_out, const HPATHL hpth_wrkdir, boo } if (bRealPath) { - // get real path name (based on version developed by zufuliu) - LPCWSTR const path_io = PathGet(hpth_in_out); - HANDLE const hFile = CreateFileW(path_io, // file to open - GENERIC_READ, // open for reading - FILE_SHARE_READ | FILE_SHARE_WRITE, // share anyway - NULL, // default security - OPEN_EXISTING, // existing file only - FILE_ATTRIBUTE_NORMAL, // normal file - NULL); // no attr. template - if (IS_VALID_HANDLE(hFile)) { + // Skip GetFinalPathNameByHandleW for drive-letter paths when UNC resolution is disabled + bool bSkipRealPath = false; + if (!Settings.ResolveToUNCPaths) { + LPCWSTR const skip = _Path_SkipLPPrefix(hstr_io); + bSkipRealPath = (skip && iswalpha(skip[0]) && skip[1] == L':'); + } - HSTRINGW hstr = StrgCreate(NULL); - LPWSTR const buf = StrgWriteAccessBuf(hstr, PATHLONG_MAX_CCH); + if (!bSkipRealPath) { + // get real path name (based on version developed by zufuliu) + LPCWSTR const path_io = PathGet(hpth_in_out); + HANDLE const hFile = CreateFileW(path_io, // file to open + GENERIC_READ, // open for reading + FILE_SHARE_READ | FILE_SHARE_WRITE, // share anyway + NULL, // default security + OPEN_EXISTING, // existing file only + FILE_ATTRIBUTE_NORMAL, // normal file + NULL); // no attr. template - if (GetFinalPathNameByHandleW(hFile, buf, PATHLONG_MAX_CCH, FILE_NAME_OPENED) > 0) { - StrgSanitize(hstr); - LPWSTR ptr = buf; - // remove prefix - if ((wcslen(buf) < MAX_PATH_EXPLICIT) || HasOptInToRemoveMaxPathLimit()) { - if ((wcsstr(ptr, PATHUNC_PREFIX1) == ptr) || - (wcsstr(ptr, PATHUNC_PREFIX2) == ptr)) { - ptr += (wcslen(PATHUNC_PREFIX1) - 2); - *ptr = L'\\'; - } - else if (wcsstr(ptr, PATHLONG_PREFIX) == ptr) { - ptr += wcslen(PATHLONG_PREFIX); + if (IS_VALID_HANDLE(hFile)) { + + HSTRINGW hstr = StrgCreate(NULL); + LPWSTR const buf = StrgWriteAccessBuf(hstr, PATHLONG_MAX_CCH); + + if (GetFinalPathNameByHandleW(hFile, buf, PATHLONG_MAX_CCH, FILE_NAME_OPENED) > 0) { + StrgSanitize(hstr); + LPWSTR ptr = buf; + // remove prefix + if ((wcslen(buf) < MAX_PATH_EXPLICIT) || HasOptInToRemoveMaxPathLimit()) { + if ((wcsstr(ptr, PATHUNC_PREFIX1) == ptr) || + (wcsstr(ptr, PATHUNC_PREFIX2) == ptr)) { + ptr += (wcslen(PATHUNC_PREFIX1) - 2); + *ptr = L'\\'; + } + else if (wcsstr(ptr, PATHLONG_PREFIX) == ptr) { + ptr += wcslen(PATHLONG_PREFIX); + } } + Path_Reset(hpth_in_out, ptr); } - Path_Reset(hpth_in_out, ptr); + CloseHandle(hFile); + StrgDestroy(hstr); } - CloseHandle(hFile); - StrgDestroy(hstr); } } return Path_GetLength(hpth_in_out); diff --git a/src/TypeDefs.h b/src/TypeDefs.h index d0ce8ffb3..4dd53aa6b 100644 --- a/src/TypeDefs.h +++ b/src/TypeDefs.h @@ -698,6 +698,7 @@ typedef struct SETTINGS_T { int AutoSaveInterval; bool SearchByClipboardIfEmpty; bool ReplaceByClipboardTag; + bool ResolveToUNCPaths; int DarkModeHiglightContrast; AutoSaveBackupOptions AutoSaveOptions; From 286b99ce723ed20e9ca1661f0dcc28211836bb19 Mon Sep 17 00:00:00 2001 From: Pairi Daiza Date: Wed, 15 Apr 2026 20:07:14 +0200 Subject: [PATCH 2/2] MUI - Restore encoding to "UTF-8" (without Signature) --- language/np3_af_za/menu_af_za.rc | 2 +- language/np3_be_by/menu_be_by.rc | 2 +- language/np3_de_de/menu_de_de.rc | 2 +- language/np3_el_gr/menu_el_gr.rc | 2 +- language/np3_en_gb/menu_en_gb.rc | 2 +- language/np3_en_us/menu_en_us.rc | 2 +- language/np3_es_es/menu_es_es.rc | 2 +- language/np3_fi_fi/menu_fi_fi.rc | 2 +- language/np3_fr_fr/menu_fr_fr.rc | 2 +- language/np3_hi_in/menu_hi_in.rc | 2 +- language/np3_hu_hu/menu_hu_hu.rc | 2 +- language/np3_id_id/menu_id_id.rc | 2 +- language/np3_it_it/menu_it_it.rc | 2 +- language/np3_ja_jp/menu_ja_jp.rc | 2 +- language/np3_ko_kr/menu_ko_kr.rc | 2 +- language/np3_nl_nl/menu_nl_nl.rc | 2 +- language/np3_pl_pl/menu_pl_pl.rc | 2 +- language/np3_pt_br/menu_pt_br.rc | 2 +- language/np3_pt_pt/menu_pt_pt.rc | 2 +- language/np3_ru_ru/menu_ru_ru.rc | 2 +- language/np3_sk_sk/menu_sk_sk.rc | 2 +- language/np3_sv_se/menu_sv_se.rc | 2 +- language/np3_tr_tr/menu_tr_tr.rc | 2 +- language/np3_vi_vn/menu_vi_vn.rc | 2 +- language/np3_zh_cn/menu_zh_cn.rc | 2 +- language/np3_zh_tw/menu_zh_tw.rc | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/language/np3_af_za/menu_af_za.rc b/language/np3_af_za/menu_af_za.rc index f022a9dbf..0ac02c43e 100644 --- a/language/np3_af_za/menu_af_za.rc +++ b/language/np3_af_za/menu_af_za.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_be_by/menu_be_by.rc b/language/np3_be_by/menu_be_by.rc index 68fa94130..33535ffcf 100644 --- a/language/np3_be_by/menu_be_by.rc +++ b/language/np3_be_by/menu_be_by.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_de_de/menu_de_de.rc b/language/np3_de_de/menu_de_de.rc index ba517e206..5cef33bda 100644 --- a/language/np3_de_de/menu_de_de.rc +++ b/language/np3_de_de/menu_de_de.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_el_gr/menu_el_gr.rc b/language/np3_el_gr/menu_el_gr.rc index 161980608..dd6f92185 100644 --- a/language/np3_el_gr/menu_el_gr.rc +++ b/language/np3_el_gr/menu_el_gr.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_en_gb/menu_en_gb.rc b/language/np3_en_gb/menu_en_gb.rc index 708bf9504..5ac0af694 100644 --- a/language/np3_en_gb/menu_en_gb.rc +++ b/language/np3_en_gb/menu_en_gb.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_en_us/menu_en_us.rc b/language/np3_en_us/menu_en_us.rc index fd6d1ebea..12da60f64 100644 --- a/language/np3_en_us/menu_en_us.rc +++ b/language/np3_en_us/menu_en_us.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_es_es/menu_es_es.rc b/language/np3_es_es/menu_es_es.rc index 85cf48885..83c7593f0 100644 --- a/language/np3_es_es/menu_es_es.rc +++ b/language/np3_es_es/menu_es_es.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_fi_fi/menu_fi_fi.rc b/language/np3_fi_fi/menu_fi_fi.rc index bd257f8ba..f91b81dfe 100644 --- a/language/np3_fi_fi/menu_fi_fi.rc +++ b/language/np3_fi_fi/menu_fi_fi.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_fr_fr/menu_fr_fr.rc b/language/np3_fr_fr/menu_fr_fr.rc index 49c2b1c28..c3754e7bf 100644 --- a/language/np3_fr_fr/menu_fr_fr.rc +++ b/language/np3_fr_fr/menu_fr_fr.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_hi_in/menu_hi_in.rc b/language/np3_hi_in/menu_hi_in.rc index bd84ecf9c..559081998 100644 --- a/language/np3_hi_in/menu_hi_in.rc +++ b/language/np3_hi_in/menu_hi_in.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_hu_hu/menu_hu_hu.rc b/language/np3_hu_hu/menu_hu_hu.rc index ad06ac6ca..d6120bf66 100644 --- a/language/np3_hu_hu/menu_hu_hu.rc +++ b/language/np3_hu_hu/menu_hu_hu.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_id_id/menu_id_id.rc b/language/np3_id_id/menu_id_id.rc index f6192b9ef..0b4e1617b 100644 --- a/language/np3_id_id/menu_id_id.rc +++ b/language/np3_id_id/menu_id_id.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_it_it/menu_it_it.rc b/language/np3_it_it/menu_it_it.rc index 9e448b667..971c0e2d1 100644 --- a/language/np3_it_it/menu_it_it.rc +++ b/language/np3_it_it/menu_it_it.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_ja_jp/menu_ja_jp.rc b/language/np3_ja_jp/menu_ja_jp.rc index 206682953..d4c0396db 100644 --- a/language/np3_ja_jp/menu_ja_jp.rc +++ b/language/np3_ja_jp/menu_ja_jp.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_ko_kr/menu_ko_kr.rc b/language/np3_ko_kr/menu_ko_kr.rc index b676b8090..20c00a8e7 100644 --- a/language/np3_ko_kr/menu_ko_kr.rc +++ b/language/np3_ko_kr/menu_ko_kr.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_nl_nl/menu_nl_nl.rc b/language/np3_nl_nl/menu_nl_nl.rc index 0b74690f2..264fb63e3 100644 --- a/language/np3_nl_nl/menu_nl_nl.rc +++ b/language/np3_nl_nl/menu_nl_nl.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_pl_pl/menu_pl_pl.rc b/language/np3_pl_pl/menu_pl_pl.rc index 5a8d3b444..547869c83 100644 --- a/language/np3_pl_pl/menu_pl_pl.rc +++ b/language/np3_pl_pl/menu_pl_pl.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_pt_br/menu_pt_br.rc b/language/np3_pt_br/menu_pt_br.rc index a626f0b0e..9d00755f7 100644 --- a/language/np3_pt_br/menu_pt_br.rc +++ b/language/np3_pt_br/menu_pt_br.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_pt_pt/menu_pt_pt.rc b/language/np3_pt_pt/menu_pt_pt.rc index 67adbefa0..d39e566df 100644 --- a/language/np3_pt_pt/menu_pt_pt.rc +++ b/language/np3_pt_pt/menu_pt_pt.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_ru_ru/menu_ru_ru.rc b/language/np3_ru_ru/menu_ru_ru.rc index 5a0d42eb7..c14468434 100644 --- a/language/np3_ru_ru/menu_ru_ru.rc +++ b/language/np3_ru_ru/menu_ru_ru.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_sk_sk/menu_sk_sk.rc b/language/np3_sk_sk/menu_sk_sk.rc index 294bb33fb..5ba4a8206 100644 --- a/language/np3_sk_sk/menu_sk_sk.rc +++ b/language/np3_sk_sk/menu_sk_sk.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_sv_se/menu_sv_se.rc b/language/np3_sv_se/menu_sv_se.rc index 7afeaecc1..249d0996f 100644 --- a/language/np3_sv_se/menu_sv_se.rc +++ b/language/np3_sv_se/menu_sv_se.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_tr_tr/menu_tr_tr.rc b/language/np3_tr_tr/menu_tr_tr.rc index 127a431cd..181565597 100644 --- a/language/np3_tr_tr/menu_tr_tr.rc +++ b/language/np3_tr_tr/menu_tr_tr.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_vi_vn/menu_vi_vn.rc b/language/np3_vi_vn/menu_vi_vn.rc index bec5fcffb..d98f954d8 100644 --- a/language/np3_vi_vn/menu_vi_vn.rc +++ b/language/np3_vi_vn/menu_vi_vn.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_zh_cn/menu_zh_cn.rc b/language/np3_zh_cn/menu_zh_cn.rc index c15ce4514..05075dd6e 100644 --- a/language/np3_zh_cn/menu_zh_cn.rc +++ b/language/np3_zh_cn/menu_zh_cn.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_zh_tw/menu_zh_tw.rc b/language/np3_zh_tw/menu_zh_tw.rc index 30b7d1d3f..79ba161bb 100644 --- a/language/np3_zh_tw/menu_zh_tw.rc +++ b/language/np3_zh_tw/menu_zh_tw.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h"