1
1

Merge branch 'master' of ssh://styx@midnight-commander.org:22/git/mc

Этот коммит содержится в:
Mikhail S. Pobolovets 2010-04-04 13:46:58 +03:00
родитель 68bb7c20e3 9b41d62d0a
Коммит ae517852b0
34 изменённых файлов: 6519 добавлений и 5595 удалений

Просмотреть файл

@ -7,19 +7,15 @@
v v v mqv v v v mqu v v mj
qqqqqqCommander qj 
Ésta es la pantalla de inicio de la ayuda de
GNU Midnight Commander .
Ésta es la pantalla de inicio de la ayuda de GNU Midnight Commander .
Puede pulsar la tecla IntroHow to use help para aprender a navegar por el
sistema de ayuda, o acceder directamente a los contenidosContents.
Puede pulsar la tecla IntroHow to use help para aprender a navegar por el sistema de ayuda, o acceder directamente a los contenidosContents.
GNU Midnight Commander es obra de sus numerosos autoresAUTHORS.
GNU Midnight Commander NO INCLUYE NINGÚN TIPO DE GARANTÍAWarranty,
es software libre, y se alienta su redistribución en los
terminos y condiciones que están contenidos en la Licencia
Pública General de GNU (GPL)Licencia GNU, de la que existe una
traducción no oficial al españolLicencia GNU (Español).[Licencia GNU]
GNU Midnight Commander NO INCLUYE NINGÚN TIPO DE GARANTÍAWarranty, es software libre, y se alienta su redistribución en los terminos y condiciones que están contenidos en la Licencia Pública General de GNU (GPL)Licencia GNU, de la que existe una traducción no oficial al españolLicencia GNU (Español).
[Licencia GNU]
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
@ -880,32 +876,22 @@ General de GNU para Bibliotecas en lugar de esta Licencia.
[QueryBox]
Cuadros de diálogo
En los cuadros de diálogo puede desplazarse con el teclado
usando las flechas o las teclas de las letras resaltadas.
En los cuadros de diálogo puede desplazarse con el teclado usando las flechas o las teclas de las letras resaltadas.
También se pueden pulsar los botones con el ratón.
[How to use help]
Uso de la ayuda
Se pueden utilizar las flechas o el ratón para navegar
por el sistema de ayuda.
Se pueden utilizar las flechas o el ratón para navegar por el sistema de ayuda.
La flecha de abajo cambia al siguiente elemento o baja.
La tecla de arriba vuelve al elemento anterior o sube.
La tecla derecha sigue el enlace activo.
La tecla izquierda vuelve a la última página visitada.
La flecha de abajo cambia al siguiente elemento o baja. La tecla de arriba vuelve al elemento anterior o sube. La tecla derecha sigue el enlace activo. La tecla izquierda vuelve a la última página visitada.
Si el terminal no es compatible con las flechas de cursor
se puede avanzar con la barra espaciadora y retroceder con
la tecla b (back). El tabulador activa el elemento siguiente y
con INTRO se puede entrar al enlace correspondiente.
La tecla l (last) permite volver a la última página.
Si el terminal no es compatible con las flechas de cursor se puede avanzar con la barra espaciadora y retroceder con la tecla b (back). El tabulador activa el elemento siguiente y con INTRO se puede entrar al enlace correspondiente. La tecla l (last) permite volver a la última página.
ESC pulsada dos veces permite salir de la ayuda.
El botón izquierdo del ratón avanza o sigue enlaces y el
botón derecho retrocede o vuelve a la última página.
El botón izquierdo del ratón avanza o sigue enlaces y el botón derecho retrocede o vuelve a la última página.
La función de todas las teclas en la ayuda:

Просмотреть файл

@ -8,15 +8,11 @@
Ez a GNU Midnight Commander súgója.
Az interaktív súgó használatának megismeréséhez csak üss
egy entertHow to use help. Itt közvetlenül a súgó tartalomjegyzékébeContents
juthatsz.
Az interaktív súgó használatának megismeréséhez csak üss egy entertHow to use help. Itt közvetlenül a súgó tartalomjegyzékébeContents juthatsz.
A Midnight Commander-t a következő szerzőkAUTHORS készítették.
A Midnight Commander mindenféle garanciaWarranty nélkül kerül
kiadásra. Ez szabad szoftver, így továbbadhatod azt a
Felhasználási engedélybenLicense meghatározott feltételekkel.
A Midnight Commander mindenféle garanciaWarranty nélkül kerül kiadásra. Ez szabad szoftver, így továbbadhatod azt a Felhasználási engedélybenLicense meghatározott feltételekkel.
[License]
Engedélyek
@ -438,34 +434,16 @@ Library General Public License instead of this License.
[QueryBox]
Lekérdező box
A lekérdező boxban kezeléséhez a nyíl billentyűket, a
szövegrész elejének magadásást, vagy a gombokra történő
egérkattintást használhatod.
A lekérdező boxban kezeléséhez a nyíl billentyűket, a szövegrész elejének magadásást, vagy a gombokra történő egérkattintást használhatod.
[How to use help]
Hogyan használjuk a súgót
A súgóban a navigációhoz a billentyűzet gombjait és az
egér gombjait is használhatod. A lefelé mutató nyíl
lenyomására a következő bejegyzésre ugorhatsz, vagy
legördítheted azt. A felfelé mutató nyíl lenyomására
ez előző bejegyzésre ugorhatsz, vagy felhúzhatod azt.
A jobbra mutató nyíl lenyomására a linknek megfelelő
címre lép. A balra mutató nyíl lenyomására az előzőleg
meglátogatott címre lépsz vissza.
A súgóban a navigációhoz a billentyűzet gombjait és az egér gombjait is használhatod. A lefelé mutató nyíl lenyomására a következő bejegyzésre ugorhatsz, vagy legördítheted azt. A felfelé mutató nyíl lenyomására ez előző bejegyzésre ugorhatsz, vagy felhúzhatod azt. A jobbra mutató nyíl lenyomására a linknek megfelelő címre lép. A balra mutató nyíl lenyomására az előzőleg meglátogatott címre lépsz vissza.
Ha az általad használt terminál nem támogatja a kurzor
gombok használatát, használd a szóköz billentyűt az
előre lépésre, a 'b' gombot a visszalépésre. Használd a
TAB gombot a következő bejegyzésre való ugráshoz és az
ENTER-t a jelenlegi link által megadott címre történő
lépéshez. Az 'l' (last=utolsó) gombot az előzőleg
látogatott oldalra való visszalépésre használhatod. Az
ESC lenyomásával kiléphetsz a Súgóból.
Ha az általad használt terminál nem támogatja a kurzor gombok használatát, használd a szóköz billentyűt az előre lépésre, a 'b' gombot a visszalépésre. Használd a TAB gombot a következő bejegyzésre való ugráshoz és az ENTER-t a jelenlegi link által megadott címre történő lépéshez. Az 'l' (last=utolsó) gombot az előzőleg látogatott oldalra való visszalépésre használhatod. Az ESC lenyomásával kiléphetsz a Súgóból.
A bal egérgomb lenyomásával követheted a linket, vagy
gördíthetsz. A jobb gomb lenyomásával visszatérhetsz az
előzőleg látogatott pontra.
A bal egérgomb lenyomásával követheted a linket, vagy gördíthetsz. A jobb gomb lenyomásával visszatérhetsz az előzőleg látogatott pontra.
A Súgóban használható összes gomb listája:

Просмотреть файл

@ -7,18 +7,15 @@
v v v mqv v v v mqu v v mj
qqqqqqCommander qj 
Questa è la principale schermata della guida interattiva
del GNU Midnight Commander .
Questa è la principale schermata della guida interattiva del GNU Midnight Commander .
Per saperne di più su come usare la guida interattiva, premere
semplicemente invioHow to use help. Se lo si desidera, è possibile
consultare direttamente il sommarioContents della guida.
Per saperne di più su come usare la guida interattiva, premere semplicemente invioHow to use help. Se lo si desidera, è possibile consultare direttamente il sommarioContents della guida.
Il Midnight Commander è stato scritto dai suoi autoriAUTHORS.
Il Midnight Commander NON E' COPERTO DA ALCUNA GARANZIAWarranty.
Questo è software libero, lo si può ridistribuire sotto
certe condizioniLicenza.[Licenza]
Il Midnight Commander NON E' COPERTO DA ALCUNA GARANZIAWarranty. Questo è software libero, lo si può ridistribuire sotto certe condizioniLicenza.
[Licenza]
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
@ -432,38 +429,18 @@ Library General Public License instead of this License.
[QueryBox]
Finestre di dialogo di richiesta dati
Nelle finestre di dialogo di richiesta dati è possibile
usare i tasti freccia o la prima lettera per selezionare
una voce o cliccare con il mouse sul bottone.
Nelle finestre di dialogo di richiesta dati è possibile usare i tasti freccia o la prima lettera per selezionare una voce o cliccare con il mouse sul bottone.
[How to use help]
Come usare la guida interattiva
Usare i tasti del cursore o il mouse per navigare
nel visualizzatore della guida.
Usare i tasti del cursore o il mouse per navigare nel visualizzatore della guida.
Premere freccia in giù per spostarsi alla voce
successiva o per spostarsi in basso.
Premere freccia in su per spostarsi alla voce
precedente o per spostarsi in alto.
Premere freccia a destra per seguire il collegamento
corrente.
Premere freccia a sinistra per tornare indietro nello
storico dei nodi visitati.
Premere freccia in giù per spostarsi alla voce successiva o per spostarsi in basso. Premere freccia in su per spostarsi alla voce precedente o per spostarsi in alto. Premere freccia a destra per seguire il collegamento corrente. Premere freccia a sinistra per tornare indietro nello storico dei nodi visitati.
Se il terminale non supporta i tasti del cursore si può
usare la barra spaziatrice per spostarsi in avanti
ed il tasto 'b' per tornare indietro. Usare il tasto
TAB per spostarsi sulla prossima voce e premere
INVIO per seguire il collegamento corrente. Usare il
tasto 'l' per tornare indietro nello storico dei nodi
visitati.
Premere ESC per uscire dal visualizzatore della guida.
Se il terminale non supporta i tasti del cursore si può usare la barra spaziatrice per spostarsi in avanti ed il tasto 'b' per tornare indietro. Usare il tasto TAB per spostarsi sulla prossima voce e premere INVIO per seguire il collegamento corrente. Usare il tasto 'l' per tornare indietro nello storico dei nodi visitati. Premere ESC per uscire dal visualizzatore della guida.
Il tasto sinistro del mouse segue il collegamento
o sfoglia le pagine.
Il tasto destro del mouse torna indietro nello storico
dei nodi visitati.
Il tasto sinistro del mouse segue il collegamento o sfoglia le pagine. Il tasto destro del mouse torna indietro nello storico dei nodi visitati.
Elenco completo dei tasti del visualizzatore della guida:
@ -473,13 +450,13 @@ tab Va alla voce successiva.
M-tab Va alla voce precedente.
giù Va alla voce successiva o una riga in basso.
su Va alla voce precedente o una riga in alto.
destra, invio Segue il collegamento corrente.
destra, invio Segue il collegamento corrente.
sinistra, l Torna indietro nello storico dei nodi visitati.
F1 Mostra la guida per il visualizzatore della
guida stessa.
n Va al nodo successivo.
p Va al nodo precedente.
c Va al nodo del sommario.
p Va al nodo precedente.
c Va al nodo del sommario.
F10, esc Esce dal visualizzatore della guida.

Local variables:

Просмотреть файл

@ -9,17 +9,13 @@
Główny ekran pomocy programu GNU Midnight Commander .
Aby dowiedzieć się, jak używać interaktywnej pomocy,
należy nacisnąć klawisz EnterHow to use help. Można też
przejść bezpośrednio do spisu treściContents.
Aby dowiedzieć się, jak używać interaktywnej pomocy, należy nacisnąć klawisz EnterHow to use help. Można też przejść bezpośrednio do spisu treściContents.
Program GNU Midnight Commander został napisany przez jego
autorówAUTHORS.
Program GNU Midnight Commander został napisany przez jego autorówAUTHORS.
Program GNU Midnight Commander jest dostarczany BEZ
JAKIEJKOLWIEK GWARANCJIWarranty. Niniejszy program jest
wolnym oprogramowaniem; można go rozprowadzać dalej na
warunkach GNU General Public LicenseLicense.[License]
Program GNU Midnight Commander jest dostarczany BEZ JAKIEJKOLWIEK GWARANCJIWarranty. Niniejszy program jest wolnym oprogramowaniem; można go rozprowadzać dalej na warunkach GNU General Public LicenseLicense.
[License]
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
@ -433,32 +429,16 @@ Library General Public License instead of this License.
[QueryBox]
Okna zapytań
W oknach dialogowych zapytań można używać klawiszy
strzałek lub pierwszych liter, aby wybrać element albo
kliknąć na przycisku.
W oknach dialogowych zapytań można używać klawiszy strzałek lub pierwszych liter, aby wybrać element albo kliknąć na przycisku.
[How to use help]
Jak używać pomocy
Do obsługi przeglądarki można używać klawiszy kursora lub
myszy. Naciśnięcie strzałki w dół przeniesie do następnego
elementu lub przewinie w dół. Naciśnięcie strzałki w górę
przeniesie do poprzedniego elementu lub przewinie w górę,
Naciśnięcie strzałki w prawo podąży za zaznaczonym
odnośnikiem. Naciśnięcie strzałki w lewo powróci do
poprzednio odwiedzonego węzła.
Do obsługi przeglądarki można używać klawiszy kursora lub myszy. Naciśnięcie strzałki w dół przeniesie do następnego elementu lub przewinie w dół. Naciśnięcie strzałki w górę przeniesie do poprzedniego elementu lub przewinie w górę, Naciśnięcie strzałki w prawo podąży za zaznaczonym odnośnikiem. Naciśnięcie strzałki w lewo powróci do poprzednio odwiedzonego węzła.
Jeśli terminal nie obsługuje klawiszy kursora, można używać
spacji do przewijania do przodu i klawisz B , aby przewijać
do tyłu. Można używać klawisza Tab , aby przechodzić do
następnego elementu i klawisza Enter , aby podążyć za
zaznaczonym odnośnikiem. Klawisz L może być używany do
przechodzenia do poprzednio odwiedzonego węzła.
Naciśnięcie klawisza Esc zakończy przeglądarkę pomocy.
Jeśli terminal nie obsługuje klawiszy kursora, można używać spacji do przewijania do przodu i klawisz B , aby przewijać do tyłu. Można używać klawisza Tab , aby przechodzić do następnego elementu i klawisza Enter , aby podążyć za zaznaczonym odnośnikiem. Klawisz L może być używany do przechodzenia do poprzednio odwiedzonego węzła. Naciśnięcie klawisza Esc zakończy przeglądarkę pomocy.
Lewy przycisk myszy podąży za odnośnikiem lub przewinie
ekran. Prawy przycisk myszy może być używany, aby
przechodzić do poprzednio odwiedzonego węzła.
Lewy przycisk myszy podąży za odnośnikiem lub przewinie ekran. Prawy przycisk myszy może być używany, aby przechodzić do poprzednio odwiedzonego węzła.
Pełna lista klawiszy przeglądarki pomocy:

Просмотреть файл

@ -6,19 +6,15 @@
v v v mqv v v v mqu v v mj
qqqqqqCommander qj 
Вы сейчас видите главное окно интерактивной подсказки
программы GNU Midnight Commander .
Вы сейчас видите главное окно интерактивной подсказки программы GNU Midnight Commander .
Чтобы узнать, как пользоваться подсказкой, нажмите клавишу
EnterHow to use help, иначе переходите к перечню разделовContents подсказки.
Чтобы узнать, как пользоваться подсказкой, нажмите клавишу EnterHow to use help, иначе переходите к перечню разделовContents подсказки.
Программа Midnight Commander поставляется АБСОЛЮТНО БЕЗ
ВСЯКИХ ГАРАНТИЙГарантия. Это свободно распространяемое программное
обеспечение, созданное группой авторовAUTHORS. Вы можете передавать
его другим при условии соблюдения требований лицензии GNUЛицензия (оригинал на английском)
(прочитайте неофициальный переводЛицензия этой лицензии).
Программа Midnight Commander поставляется АБСОЛЮТНО БЕЗ ВСЯКИХ ГАРАНТИЙГарантия. Это свободно распространяемое программное обеспечение, созданное группой авторовAUTHORS. Вы можете передавать его другим при условии соблюдения требований лицензии GNUЛицензия (оригинал на английском) (прочитайте неофициальный переводЛицензия этой лицензии).
Русский перевод текста подсказки - Костромин В.А., 1999 г.[Лицензия (оригинал на английском)]
Русский перевод текста подсказки - Костромин В.А., 1999 г.
[Лицензия (оригинал на английском)]
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
@ -843,50 +839,21 @@ Gnomovision поставляется АБСОЛЮТНО БЕЗ КАКИХ-ЛИБ
[QueryBox]
Диалоговые окна запросов
В окнах запросов для выбора какого-либо варианта ответа
(которые обычно задаются в виде экранных кнопок) Вы можете
использовать либо клавиши со стрелками, либо выбрать ответ
путем нажатия клавиши с выделенной в названии кнопки
буквой, либо щелкнув по нужной кнопке мышкой.
В окнах запросов для выбора какого-либо варианта ответа (которые обычно задаются в виде экранных кнопок) Вы можете использовать либо клавиши со стрелками, либо выбрать ответ путем нажатия клавиши с выделенной в названии кнопки буквой, либо щелкнув по нужной кнопке мышкой.
[How to use help]
Как пользоваться помощью
При работе с программой Midnight Commander практически в
любой момент можно обратиться к интерактивной подсказке,
вызов которой осуществляется нажатием клавиши F1. Для
перемещения в окне просмотра подсказки Вы можете
использовать клавиши перемещения курсора (стрелки) или
мышь. Стрелка вниз вызывает переход к следующей ссылке
(выделены голубым фоном) или сдвиг текста на одну строку
вверх. Стрелка вверх вызывает переход к предыдущей ссылке
или сдвиг текста на одну строку вверх. Стрелка вправо
вызывает переход по ссылке, которая в данный момент
выделена синим фоном (текущая ссылка). По стрелке влево
происходит переход к ранее просмотренным разделам
подсказки.
При работе с программой Midnight Commander практически в любой момент можно обратиться к интерактивной подсказке, вызов которой осуществляется нажатием клавиши F1. Для перемещения в окне просмотра подсказки Вы можете использовать клавиши перемещения курсора (стрелки) или мышь. Стрелка вниз вызывает переход к следующей ссылке (выделены голубым фоном) или сдвиг текста на одну строку вверх. Стрелка вверх вызывает переход к предыдущей ссылке или сдвиг текста на одну строку вверх. Стрелка вправо вызывает переход по ссылке, которая в данный момент выделена синим фоном (текущая ссылка). По стрелке влево происходит переход к ранее просмотренным разделам подсказки.
Если Ваш терминал не поддерживает клавиши-стрелки, Вы
можете использовать клавишу пробела для перехода к
следующей странице подсказки и клавишу 'b' для перехода к
предыдущей странице. Клавиша TAB вызывает переход к
следующей ссылке, а нажатие ENTER - переход по текущей
ссылке. При просмотре подсказки программа запоминает
последовательность переходов по ссылкам и позволяет
вернуться к ранее просмотренным разделам, воспользовавшись
клавишей 'l' (last). Нажатие на ESC вызывает выход из окна
подсказки.
Если Ваш терминал не поддерживает клавиши-стрелки, Вы можете использовать клавишу пробела для перехода к следующей странице подсказки и клавишу 'b' для перехода к предыдущей странице. Клавиша TAB вызывает переход к следующей ссылке, а нажатие ENTER - переход по текущей ссылке. При просмотре подсказки программа запоминает последовательность переходов по ссылкам и позволяет вернуться к ранее просмотренным разделам, воспользовавшись клавишей 'l' (last). Нажатие на ESC вызывает выход из окна подсказки.
По щелчку левой клавиши мыши происходит переход по ссылке
или перемещение по тексту подсказки. Щелчок правой кнопкой
мыши используется для переход к ранее просмотренным
разделам.
По щелчку левой клавиши мыши происходит переход по ссылке или перемещение по тексту подсказки. Щелчок правой кнопкой мыши используется для переход к ранее просмотренным разделам.
Полный список управляющих комбинаций для окна просмотра
подсказки:
Полный список управляющих комбинаций для окна просмотра подсказки:
Работают все клавиши управления перемещениемGeneral Movement Keys.
Работают все клавиши управления перемещениемGeneral Movement Keys.
tab Переход на следующую ссылку.
M-tab Переход на предыдущую ссылку.

Просмотреть файл

@ -10,20 +10,14 @@
Ово је главни екран помоћи за ГНУ-овог поноћног наредника .
Да бисте сазнали више о томе како да користите интерактивни
систем помоћи потребно је да притиснете EnterHow to use help.
Можете и одмах отићи на садржајContents помоћи.
Да бисте сазнали више о томе како да користите интерактивни систем помоћи потребно је да притиснете EnterHow to use help. Можете и одмах отићи на садржајContents помоћи.
ГНУ-овог поноћног наредника су написали његови ауториAUTHORS.
ГНУ-ов поноћни наредник се испоручује БЕЗ ИКАКВЕ ГАРАНЦИЈЕWarranty.
Ово је слободни софтвер, а ви сте позвани да га
расподелите под одредбама ГНУ-ове опште јавне лиценцеЛиценца (оригинал на енглеском).
Погледајте и незваничан превод ГНУ-ове ОЈЛ на српскиЛиценца (на српском).
ГНУ-ов поноћни наредник се испоручује БЕЗ ИКАКВЕ ГАРАНЦИЈЕWarranty. Ово је слободни софтвер, а ви сте позвани да га расподелите под одредбама ГНУ-ове опште јавне лиценцеЛиценца (оригинал на енглеском). Погледајте и незваничан превод ГНУ-ове ОЈЛ на српскиЛиценца (на српском).
Превод Поноћног наредника и ове датотеке помоћи на српски: Страхиња Радић, <mr99164@alas.matf.bg.ac.yu > СРД `Уликс', http://uliks.sourceforge.net
Превод Поноћног наредника и ове датотеке помоћи на српски:
Страхиња Радић, <mr99164@alas.matf.bg.ac.yu >
СРД `Уликс', http://uliks.sourceforge.net
[Лиценца (оригинал на енглеском)]
GNU GENERAL PUBLIC LICENSE
@ -883,35 +877,16 @@ Library General Public License instead of this License.
[QueryBox]
Прозори упита
У дијалозима упита можете да користите тастере са
стрелицама или прво слово да бисте изабрали ставку или
можете да притиснете дугме миша када се показивач налази
изнад дугмета на екрану.
У дијалозима упита можете да користите тастере са стрелицама или прво слово да бисте изабрали ставку или можете да притиснете дугме миша када се показивач налази изнад дугмета на екрану.
[How to use help]
Како користити помоћ
Можете да користите курсорске тастере да бисте се кретали
у оквиру прегледача помоћи. Притисните стрелицу надоле
да бисте се померили на следећу ставку или клизали надоле.
Притисните стрелицу нагоре да бисте се померили на
претходну ставку или клизали нагоре. Притисните стрелицу
надесно да бисте пратили текућу везу. Притисните
стрелицу налево да бисте се вратили уназад у оквиру
историје посећених чворова.
Можете да користите курсорске тастере да бисте се кретали у оквиру прегледача помоћи. Притисните стрелицу надоле да бисте се померили на следећу ставку или клизали надоле. Притисните стрелицу нагоре да бисте се померили на претходну ставку или клизали нагоре. Притисните стрелицу надесно да бисте пратили текућу везу. Притисните стрелицу налево да бисте се вратили уназад у оквиру историје посећених чворова.
Ако ваш терминал не подржава курсорске тастере, можете да
користите размакницу да бисте клизали унапред и b
(латинично б) да бисте клизали уназад. Користите тастер
TAB да бисте прешли на следећу ставку а ENTER да
бисте пратили текућу везу. Тастер l (латинично л) се
може користити за враћање уназад у историји чворова које
сте посетили. Притисните тастер ESC да бисте изашли из
прегледача помоћи.
Ако ваш терминал не подржава курсорске тастере, можете да користите размакницу да бисте клизали унапред и b (латинично б) да бисте клизали уназад. Користите тастер TAB да бисте прешли на следећу ставку а ENTER да бисте пратили текућу везу. Тастер l (латинично л) се може користити за враћање уназад у историји чворова које сте посетили. Притисните тастер ESC да бисте изашли из прегледача помоћи.
Притиском на лево дугме миша ћете пратити везу или
клизати. Притиском на десно дугме миша ћете се враћати
уназад у историји чворова.
Притиском на лево дугме миша ћете пратити везу или клизати. Притиском на десно дугме миша ћете се враћати уназад у историји чворова.
Потпун списак тастера прегледача помоћи:

Просмотреть файл

@ -9,15 +9,13 @@
This is the main help screen for GNU Midnight Commander .
To learn more on how to use the interactive help facility
just press EnterHow to use help. You may want to go directly to the help
contentsContents.
To learn more on how to use the interactive help facility just press EnterHow to use help. You may want to go directly to the help contentsContents.
GNU Midnight Commander is written by its authorsAUTHORS.
GNU Midnight Commander comes with ABSOLUTELY NO WARRANTYWarranty.
This is free software, and you are welcome to redistribute
it under terms of GNU General Public LicenseLicense.[License]
GNU Midnight Commander comes with ABSOLUTELY NO WARRANTYWarranty. This is free software, and you are welcome to redistribute it under terms of GNU General Public LicenseLicense.
[License]
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
@ -431,30 +429,16 @@ Library General Public License instead of this License.
[QueryBox]
Query boxes
In the query dialog box you can use the arrow keys or the
first letter to select an item or click with the mouse on
the button.
In the query dialog box you can use the arrow keys or the first letter to select an item or click with the mouse on the button.
[How to use help]
How to use help
You can use the cursor keys or mouse to navigate in the
help viewer. Press down arrow to move to the next item or
scroll down. Press up arrow to move to the previous item
or scroll up. Press right arrow to follow the current
link. Press left arrow to go back in the history of nodes
that you have visited.
You can use the cursor keys or mouse to navigate in the help viewer. Press down arrow to move to the next item or scroll down. Press up arrow to move to the previous item or scroll up. Press right arrow to follow the current link. Press left arrow to go back in the history of nodes that you have visited.
If you terminal doesn't support the cursor keys you can
use the space bar to scroll forward and the b (back) key
scroll back. Use the TAB key to move to the next item and
press ENTER to follow the current link. The l (last) key
can be used to go back in the history of nodes you have
visited. Press ESC to exit the help viewer.
If you terminal doesn't support the cursor keys you can use the space bar to scroll forward and the b (back) key scroll back. Use the TAB key to move to the next item and press ENTER to follow the current link. The l (last) key can be used to go back in the history of nodes you have visited. Press ESC to exit the help viewer.
The left mouse button will follow the link or scroll. The
right mouse button can be used to go back in the history
of nodes.
The left mouse button will follow the link or scroll. The right mouse button can be used to go back in the history of nodes.
The full key list of the help viewer:

Просмотреть файл

@ -23,10 +23,10 @@
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h> /* extern int errno */
#include <errno.h> /* extern int errno */
#include "lib/global.h"
#include "lib/vfs/mc-vfs/vfs.h" /* mc_stat */
#include "lib/vfs/mc-vfs/vfs.h" /* mc_stat */
#include "lib/mcconfig.h"
/*** global variables **************************************************/
@ -44,8 +44,7 @@ mc_config_t *mc_panels_config;
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
static gboolean
mc_config_new_or_override_file (mc_config_t * mc_config, const gchar * ini_path,
GError **error)
mc_config_new_or_override_file (mc_config_t * mc_config, const gchar * ini_path, GError ** error)
{
gchar *data, *written_data;
gsize len, total_written;
@ -54,7 +53,8 @@ mc_config_new_or_override_file (mc_config_t * mc_config, const gchar * ini_path,
ssize_t cur_written;
data = g_key_file_to_data (mc_config->handle, &len, NULL);
if (!exist_file (ini_path)) {
if (!exist_file (ini_path))
{
ret = g_file_set_contents (ini_path, data, len, error);
g_free (data);
return ret;
@ -62,9 +62,12 @@ mc_config_new_or_override_file (mc_config_t * mc_config, const gchar * ini_path,
mc_util_make_backup_if_possible (ini_path, "~");
fd = mc_open (ini_path, O_WRONLY | O_TRUNC | O_SYNC, 0);
if (fd == -1) {
g_propagate_error (error, g_error_new (mc_main_error_quark() ,0, "%s", unix_error_string (errno)));
g_free(data);
if (fd == -1)
{
g_propagate_error (error,
g_error_new (mc_main_error_quark (), 0, "%s",
unix_error_string (errno)));
g_free (data);
return FALSE;
}
@ -74,9 +77,12 @@ mc_config_new_or_override_file (mc_config_t * mc_config, const gchar * ini_path,
mc_close (fd);
g_free (data);
if (cur_written == -1) {
if (cur_written == -1)
{
mc_util_restore_from_backup_if_possible (ini_path, "~");
g_propagate_error (error, g_error_new (mc_main_error_quark() ,0, "%s", unix_error_string (errno)));
g_propagate_error (error,
g_error_new (mc_main_error_quark (), 0, "%s",
unix_error_string (errno)));
return FALSE;
}
@ -100,15 +106,18 @@ mc_config_init (const gchar * ini_path)
return NULL;
mc_config->handle = g_key_file_new ();
if (mc_config->handle == NULL) {
if (mc_config->handle == NULL)
{
g_free (mc_config);
return NULL;
}
if (!ini_path || !exist_file (ini_path)) {
if (!ini_path || !exist_file (ini_path))
{
return mc_config;
}
if (!mc_stat (ini_path, &st) && st.st_size) {
if (!mc_stat (ini_path, &st) && st.st_size)
{
/* file present and not empty */
g_key_file_load_from_file (mc_config->handle, ini_path, G_KEY_FILE_KEEP_COMMENTS, NULL);
}
@ -195,7 +204,8 @@ mc_config_read_file (mc_config_t * mc_config, const gchar * ini_path)
gchar **keys, **curr_key;
gchar *value;
if (mc_config == NULL) {
if (mc_config == NULL)
{
return FALSE;
}
@ -206,11 +216,16 @@ mc_config_read_file (mc_config_t * mc_config, const gchar * ini_path)
groups = mc_config_get_groups (tmp_config, NULL);
if (groups == NULL)
{
mc_config_deinit (tmp_config);
return FALSE;
}
for (curr_grp = groups; *curr_grp != NULL; curr_grp++) {
for (curr_grp = groups; *curr_grp != NULL; curr_grp++)
{
keys = mc_config_get_keys (tmp_config, *curr_grp, NULL);
for (curr_key = keys; *curr_key != NULL; curr_key++) {
for (curr_key = keys; *curr_key != NULL; curr_key++)
{
value = g_key_file_get_value (tmp_config->handle, *curr_grp, *curr_key, NULL);
if (value == NULL)
continue;
@ -228,9 +243,10 @@ mc_config_read_file (mc_config_t * mc_config, const gchar * ini_path)
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
gboolean
mc_config_save_file (mc_config_t * mc_config, GError **error)
mc_config_save_file (mc_config_t * mc_config, GError ** error)
{
if (mc_config == NULL || mc_config->ini_path == NULL) {
if (mc_config == NULL || mc_config->ini_path == NULL)
{
return FALSE;
}
return mc_config_new_or_override_file (mc_config, mc_config->ini_path, error);
@ -239,10 +255,10 @@ mc_config_save_file (mc_config_t * mc_config, GError **error)
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
gboolean
mc_config_save_to_file (mc_config_t * mc_config, const gchar * ini_path, GError **error)
mc_config_save_to_file (mc_config_t * mc_config, const gchar * ini_path, GError ** error)
{
if (mc_config == NULL) {
if (mc_config == NULL)
{
return FALSE;
}
return mc_config_new_or_override_file (mc_config, ini_path, error);

Просмотреть файл

@ -44,7 +44,8 @@
/*** file scope type declarations ****************************************************************/
typedef enum {
typedef enum
{
REPLACE_T_NO_TRANSFORM = 0,
REPLACE_T_UPP_TRANSFORM_CHAR = 1,
REPLACE_T_LOW_TRANSFORM_CHAR = 2,
@ -81,18 +82,24 @@ mc_search__regex_str_append_if_special (GString * copy_to, GString * regex_str,
tmp_regex_str = &(regex_str->str[*offset]);
while (*spec_chr) {
while (*spec_chr)
{
spec_chr_len = strlen (*spec_chr);
if (!strncmp (tmp_regex_str, *spec_chr, spec_chr_len)) {
if (!strutils_is_char_escaped (regex_str->str, tmp_regex_str)) {
if (!strncmp ("\\x", *spec_chr, spec_chr_len)) {
if (*(tmp_regex_str + spec_chr_len) == '{') {
if (!strncmp (tmp_regex_str, *spec_chr, spec_chr_len))
{
if (!strutils_is_char_escaped (regex_str->str, tmp_regex_str))
{
if (!strncmp ("\\x", *spec_chr, spec_chr_len))
{
if (*(tmp_regex_str + spec_chr_len) == '{')
{
while ((spec_chr_len < regex_str->len - *offset)
&& *(tmp_regex_str + spec_chr_len) != '}')
spec_chr_len++;
if (*(tmp_regex_str + spec_chr_len) == '}')
spec_chr_len++;
} else
}
else
spec_chr_len += 2;
}
g_string_append_len (copy_to, tmp_regex_str, spec_chr_len);
@ -118,16 +125,20 @@ mc_search__cond_struct_new_regex_hex_add (const char *charset, GString * str_to,
upp = mc_search__toupper_case_str (charset, one_char, str_len);
low = mc_search__tolower_case_str (charset, one_char, str_len);
for (loop = 0; loop < upp->len; loop++) {
for (loop = 0; loop < upp->len; loop++)
{
if (loop < low->len) {
if (loop < low->len)
{
if (upp->str[loop] == low->str[loop])
tmp_str = g_strdup_printf ("\\x%02X", (unsigned char) upp->str[loop]);
else
tmp_str =
g_strdup_printf ("[\\x%02X\\x%02X]", (unsigned char) upp->str[loop],
(unsigned char) low->str[loop]);
} else {
}
else
{
tmp_str = g_strdup_printf ("\\x%02X", (unsigned char) upp->str[loop]);
}
g_string_append (str_to, tmp_str);
@ -144,31 +155,34 @@ mc_search__cond_struct_new_regex_accum_append (const char *charset, GString * st
GString * str_from)
{
GString *recoded_part;
gchar *one_char;
gsize loop;
gboolean just_letters;
gsize loop = 0;
loop = 0;
recoded_part = g_string_new ("");
recoded_part = g_string_sized_new (32);
while (loop < str_from->len)
{
gchar *one_char;
gsize one_char_len;
gboolean just_letters;
while (loop < str_from->len) {
one_char =
mc_search__get_one_symbol (charset, &(str_from->str[loop]),
(str_from->len - loop > 6) ? 6 : str_from->len - loop,
&just_letters);
if (!strlen (one_char)) {
min (str_from->len - loop, 6), &just_letters);
one_char_len = strlen (one_char);
if (one_char_len == 0)
loop++;
continue;
else
{
loop += one_char_len;
if (just_letters)
mc_search__cond_struct_new_regex_hex_add (charset, recoded_part, one_char,
one_char_len);
else
g_string_append_len (recoded_part, one_char, one_char_len);
}
if (just_letters) {
mc_search__cond_struct_new_regex_hex_add (charset, recoded_part, one_char,
strlen (one_char));
} else {
g_string_append (recoded_part, one_char);
}
loop += strlen (one_char);
if (!strlen (one_char))
loop++;
g_free (one_char);
}
@ -193,20 +207,23 @@ mc_search__cond_struct_new_regex_ci_str (const char *charset, const char *str, g
spec_char = g_string_new ("");
loop = 0;
while (loop <= str_len) {
if (mc_search__regex_str_append_if_special (spec_char, tmp, &loop)) {
while (loop <= str_len)
{
if (mc_search__regex_str_append_if_special (spec_char, tmp, &loop))
{
mc_search__cond_struct_new_regex_accum_append (charset, ret_str, accumulator);
g_string_append_len (ret_str, spec_char->str, spec_char->len);
g_string_set_size (spec_char, 0);
continue;
}
if (tmp->str[loop] == '[' && !strutils_is_char_escaped (tmp->str, &(tmp->str[loop]))) {
if (tmp->str[loop] == '[' && !strutils_is_char_escaped (tmp->str, &(tmp->str[loop])))
{
mc_search__cond_struct_new_regex_accum_append (charset, ret_str, accumulator);
while (loop < str_len && !(tmp->str[loop] == ']'
&& !strutils_is_char_escaped (tmp->str,
&(tmp->str[loop])))) {
&& !strutils_is_char_escaped (tmp->str, &(tmp->str[loop]))))
{
g_string_append_c (ret_str, tmp->str[loop]);
loop++;
@ -240,12 +257,15 @@ mc_search__regex_found_cond_one (mc_search_t * lc_mc_search, mc_search_regex_t *
if (!g_regex_match_full
(regex, search_str->str, -1, 0, G_REGEX_MATCH_NEWLINE_ANY, &lc_mc_search->regex_match_info,
&error)) {
&error))
{
g_match_info_free (lc_mc_search->regex_match_info);
lc_mc_search->regex_match_info = NULL;
if (error) {
if (error)
{
lc_mc_search->error = MC_SEARCH_E_REGEX;
lc_mc_search->error_str = str_conv_gerror_message (error, _(" Regular expression error "));
lc_mc_search->error_str =
str_conv_gerror_message (error, _(" Regular expression error "));
g_error_free (error);
return COND__FOUND_ERROR;
}
@ -254,9 +274,10 @@ mc_search__regex_found_cond_one (mc_search_t * lc_mc_search, mc_search_regex_t *
lc_mc_search->num_rezults = g_match_info_get_match_count (lc_mc_search->regex_match_info);
#else /* SEARCH_TYPE_GLIB */
lc_mc_search->num_rezults = pcre_exec (regex, lc_mc_search->regex_match_info,
search_str->str, search_str->len - 1, 0, 0, lc_mc_search->iovector,
MC_SEARCH__NUM_REPLACE_ARGS);
if (lc_mc_search->num_rezults < 0) {
search_str->str, search_str->len - 1, 0, 0,
lc_mc_search->iovector, MC_SEARCH__NUM_REPLACE_ARGS);
if (lc_mc_search->num_rezults < 0)
{
return COND__NOT_FOUND;
}
#endif /* SEARCH_TYPE_GLIB */
@ -273,13 +294,16 @@ mc_search__regex_found_cond (mc_search_t * lc_mc_search, GString * search_str)
mc_search_cond_t *mc_search_cond;
mc_search__found_cond_t ret;
for (loop1 = 0; loop1 < lc_mc_search->conditions->len; loop1++) {
for (loop1 = 0; loop1 < lc_mc_search->conditions->len; loop1++)
{
mc_search_cond = (mc_search_cond_t *) g_ptr_array_index (lc_mc_search->conditions, loop1);
if (!mc_search_cond->regex_handle)
continue;
ret = mc_search__regex_found_cond_one (lc_mc_search, mc_search_cond->regex_handle, search_str);
ret =
mc_search__regex_found_cond_one (lc_mc_search, mc_search_cond->regex_handle,
search_str);
if (ret != COND__NOT_FOUND)
return ret;
@ -294,15 +318,18 @@ mc_search_regex__get_max_num_of_replace_tokens (const gchar * str, gsize len)
{
int max_token = 0;
gsize loop;
for (loop = 0; loop < len - 1; loop++) {
if (str[loop] == '\\' && (str[loop + 1] & (char) 0xf0) == 0x30 /* 0-9 */ ) {
for (loop = 0; loop < len - 1; loop++)
{
if (str[loop] == '\\' && (str[loop + 1] & (char) 0xf0) == 0x30 /* 0-9 */ )
{
if (strutils_is_char_escaped (str, &str[loop]))
continue;
if (max_token < str[loop + 1] - '0')
max_token = str[loop + 1] - '0';
continue;
}
if (str[loop] == '$' && str[loop + 1] == '{') {
if (str[loop] == '$' && str[loop + 1] == '{')
{
gsize tmp_len;
char *tmp_str;
int tmp_token;
@ -312,7 +339,8 @@ mc_search_regex__get_max_num_of_replace_tokens (const gchar * str, gsize len)
for (tmp_len = 0;
loop + tmp_len + 2 < len && (str[loop + 2 + tmp_len] & (char) 0xf0) == 0x30;
tmp_len++);
if (str[loop + 2 + tmp_len] == '}') {
if (str[loop + 2 + tmp_len] == '}')
{
tmp_str = g_strndup (&str[loop + 2], tmp_len);
tmp_token = atoi (tmp_str);
if (max_token < tmp_token)
@ -359,8 +387,10 @@ mc_search_regex__process_replace_str (const GString * replace_str, const gsize c
*skip_len = 0;
if (*curr_str == '$' && *(curr_str + 1) == '{' && (*(curr_str + 2) & (char) 0xf0) == 0x30) {
if (strutils_is_char_escaped (replace_str->str, curr_str)) {
if (*curr_str == '$' && *(curr_str + 1) == '{' && (*(curr_str + 2) & (char) 0xf0) == 0x30)
{
if (strutils_is_char_escaped (replace_str->str, curr_str))
{
*skip_len = 1;
return -1;
}
@ -383,20 +413,24 @@ mc_search_regex__process_replace_str (const GString * replace_str, const gsize c
return ret;
}
if (*curr_str == '\\') {
if (strutils_is_char_escaped (replace_str->str, curr_str)) {
if (*curr_str == '\\')
{
if (strutils_is_char_escaped (replace_str->str, curr_str))
{
*skip_len = 1;
return -1;
}
if ((*(curr_str + 1) & (char) 0xf0) == 0x30) {
if ((*(curr_str + 1) & (char) 0xf0) == 0x30)
{
ret = *(curr_str + 1) - '0';
*skip_len = 2; /* \\ and one digit */
return ret;
}
ret = -2;
*skip_len += 2;
switch (*(curr_str + 1)) {
switch (*(curr_str + 1))
{
case 'U':
*replace_flags |= REPLACE_T_UPP_TRANSFORM;
*replace_flags &= ~REPLACE_T_LOW_TRANSFORM;
@ -430,39 +464,50 @@ mc_search_regex__process_append_str (GString * dest_str, const char *from, gsize
char *tmp_str;
GString *tmp_string;
if (len == (gsize) -1)
if (len == (gsize) - 1)
len = strlen (from);
if (*replace_flags == REPLACE_T_NO_TRANSFORM) {
if (*replace_flags == REPLACE_T_NO_TRANSFORM)
{
g_string_append_len (dest_str, from, len);
return;
}
while (loop < len) {
while (loop < len)
{
tmp_str = mc_search__get_one_symbol (NULL, from + loop, len - loop, NULL);
char_len = strlen (tmp_str);
if (*replace_flags & REPLACE_T_UPP_TRANSFORM_CHAR) {
if (*replace_flags & REPLACE_T_UPP_TRANSFORM_CHAR)
{
*replace_flags &= !REPLACE_T_UPP_TRANSFORM_CHAR;
tmp_string = mc_search__toupper_case_str (NULL, tmp_str, char_len);
g_string_append (dest_str, tmp_string->str);
g_string_free (tmp_string, TRUE);
} else if (*replace_flags & REPLACE_T_LOW_TRANSFORM_CHAR) {
}
else if (*replace_flags & REPLACE_T_LOW_TRANSFORM_CHAR)
{
*replace_flags &= !REPLACE_T_LOW_TRANSFORM_CHAR;
tmp_string = mc_search__toupper_case_str (NULL, tmp_str, char_len);
g_string_append (dest_str, tmp_string->str);
g_string_free (tmp_string, TRUE);
} else if (*replace_flags & REPLACE_T_UPP_TRANSFORM) {
}
else if (*replace_flags & REPLACE_T_UPP_TRANSFORM)
{
tmp_string = mc_search__toupper_case_str (NULL, tmp_str, char_len);
g_string_append (dest_str, tmp_string->str);
g_string_free (tmp_string, TRUE);
} else if (*replace_flags & REPLACE_T_LOW_TRANSFORM) {
}
else if (*replace_flags & REPLACE_T_LOW_TRANSFORM)
{
tmp_string = mc_search__tolower_case_str (NULL, tmp_str, char_len);
g_string_append (dest_str, tmp_string->str);
g_string_free (tmp_string, TRUE);
} else {
}
else
{
g_string_append (dest_str, tmp_str);
}
g_free (tmp_str);
@ -485,7 +530,8 @@ mc_search__cond_struct_new_init_regex (const char *charset, mc_search_t * lc_mc_
int erroffset;
#endif /* SEARCH_TYPE_GLIB */
if (!lc_mc_search->is_case_sentitive) {
if (!lc_mc_search->is_case_sentitive)
{
tmp = g_string_new_len (mc_search_cond->str->str, mc_search_cond->str->len);
g_string_free (mc_search_cond->str, TRUE);
mc_search_cond->str = mc_search__cond_struct_new_regex_ci_str (charset, tmp->str, tmp->len);
@ -496,7 +542,8 @@ mc_search__cond_struct_new_init_regex (const char *charset, mc_search_t * lc_mc_
g_regex_new (mc_search_cond->str->str, G_REGEX_OPTIMIZE | G_REGEX_RAW | G_REGEX_DOTALL, 0,
&error);
if (error != NULL) {
if (error != NULL)
{
lc_mc_search->error = MC_SEARCH_E_REGEX_COMPILE;
lc_mc_search->error_str = str_conv_gerror_message (error, _(" Regular expression error "));
g_error_free (error);
@ -505,14 +552,17 @@ mc_search__cond_struct_new_init_regex (const char *charset, mc_search_t * lc_mc_
#else /* SEARCH_TYPE_GLIB */
mc_search_cond->regex_handle =
pcre_compile (mc_search_cond->str->str, PCRE_EXTRA, &error, &erroffset, NULL);
if (mc_search_cond->regex_handle == NULL) {
if (mc_search_cond->regex_handle == NULL)
{
lc_mc_search->error = MC_SEARCH_E_REGEX_COMPILE;
lc_mc_search->error_str = g_strdup (error);
return;
}
lc_mc_search->regex_match_info = pcre_study (mc_search_cond->regex_handle, 0, &error);
if (lc_mc_search->regex_match_info == NULL) {
if (error) {
if (lc_mc_search->regex_match_info == NULL)
{
if (error)
{
lc_mc_search->error = MC_SEARCH_E_REGEX_COMPILE;
lc_mc_search->error_str = g_strdup (error);
g_free (mc_search_cond->regex_handle);
@ -540,11 +590,13 @@ mc_search__run_regex (mc_search_t * lc_mc_search, const void *user_data,
lc_mc_search->regex_buffer = g_string_new ("");
virtual_pos = current_pos = start_search;
while (virtual_pos <= end_search) {
while (virtual_pos <= end_search)
{
g_string_set_size (lc_mc_search->regex_buffer, 0);
lc_mc_search->start_buffer = current_pos;
while (1) {
while (1)
{
current_chr = mc_search__get_char (lc_mc_search, user_data, current_pos);
if (current_chr == MC_SEARCH_CB_ABORT)
break;
@ -566,7 +618,8 @@ mc_search__run_regex (mc_search_t * lc_mc_search, const void *user_data,
break;
}
switch (mc_search__regex_found_cond (lc_mc_search, lc_mc_search->regex_buffer)) {
switch (mc_search__regex_found_cond (lc_mc_search, lc_mc_search->regex_buffer))
{
case COND__FOUND_OK:
#ifdef SEARCH_TYPE_GLIB
g_match_info_fetch_pos (lc_mc_search->regex_match_info, 0, &start_pos, &end_pos);
@ -587,8 +640,8 @@ mc_search__run_regex (mc_search_t * lc_mc_search, const void *user_data,
return FALSE;
break;
}
if (( lc_mc_search->update_fn != NULL ) &&
( (lc_mc_search->update_fn) (user_data, current_pos) == MC_SEARCH_CB_ABORT))
if ((lc_mc_search->update_fn != NULL) &&
((lc_mc_search->update_fn) (user_data, current_pos) == MC_SEARCH_CB_ABORT))
current_chr = MC_SEARCH_CB_ABORT;
if (current_chr == MC_SEARCH_CB_ABORT)
@ -626,7 +679,8 @@ mc_search_regex_prepare_replace_str (mc_search_t * lc_mc_search, GString * repla
return g_string_new_len (replace_str->str, replace_str->len);
if (num_replace_tokens > lc_mc_search->num_rezults - 1
|| num_replace_tokens > MC_SEARCH__NUM_REPLACE_ARGS) {
|| num_replace_tokens > MC_SEARCH__NUM_REPLACE_ARGS)
{
lc_mc_search->error = MC_SEARCH_E_REGEX_REPLACE;
lc_mc_search->error_str = g_strdup (STR_E_RPL_NOT_EQ_TO_FOUND);
return NULL;
@ -634,11 +688,14 @@ mc_search_regex_prepare_replace_str (mc_search_t * lc_mc_search, GString * repla
ret = g_string_new ("");
prev_str = replace_str->str;
for (loop = 0; loop < replace_str->len - 1; loop++) {
for (loop = 0; loop < replace_str->len - 1; loop++)
{
lc_index = mc_search_regex__process_replace_str (replace_str, loop, &len, &replace_flags);
if (lc_index == -1) {
if (len != 0) {
if (lc_index == -1)
{
if (len != 0)
{
mc_search_regex__process_append_str (ret, prev_str,
replace_str->str - prev_str + loop,
&replace_flags);
@ -650,7 +707,8 @@ mc_search_regex_prepare_replace_str (mc_search_t * lc_mc_search, GString * repla
continue;
}
if (lc_index == -2) {
if (lc_index == -2)
{
if (loop)
mc_search_regex__process_append_str (ret, prev_str,
replace_str->str - prev_str + loop,
@ -660,7 +718,8 @@ mc_search_regex_prepare_replace_str (mc_search_t * lc_mc_search, GString * repla
continue;
}
if (lc_index > lc_mc_search->num_rezults) {
if (lc_index > lc_mc_search->num_rezults)
{
g_string_free (ret, TRUE);
lc_mc_search->error = MC_SEARCH_E_REGEX_REPLACE;
lc_mc_search->error_str = g_strdup_printf (STR_E_RPL_INVALID_TOKEN, lc_index);

Просмотреть файл

@ -663,6 +663,7 @@ load_mc_home_file (const char *_mc_home, const char *_mc_home_alt, const char *f
/* Fall back to the two-letter language code */
if (lang[0] && lang[1])
lang[2] = 0;
g_free (hintfile);
hintfile = g_strconcat (hintfile_base, ".", lang, (char *) NULL);
data = load_file (hintfile);

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -486,7 +486,7 @@ extfs_read_archive (int fstype, const char *name, struct archive **pparc)
*(p++) = '\0';
q = cfn;
}
if (S_ISDIR (hstat.st_mode) && (strcmp (p, ".") || !strcmp (p, "..") == 0))
if (S_ISDIR (hstat.st_mode) && (strcmp (p, ".") == 0 || strcmp (p, "..") == 0))
goto read_extfs_continue;
pent = extfs_find_entry (current_archive->root_entry, q, TRUE, FALSE);
if (pent == NULL)

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -23,6 +23,7 @@ context default
keyword = brightcyan
keyword ; brightmagenta
keyword whole extensions yellow
keyword whole extensions_case yellow
keyword whole type yellow
keyword DEVICE brightred
keyword DIR brightred

Просмотреть файл

@ -1,7 +1,7 @@
# Copyright (C) 2010 Free Software Foundation, Inc.
#
#
#
#
#
#
# Kang Bundo <bundo@bundo.biz>, 2010
msgid ""
msgstr ""
@ -14,9 +14,9 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Country: KOREA, REPUBLIC OF\n"
"X-Poedit-Language: Korean\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-Country: KOREA, REPUBLIC OF\n"
msgid " Search string not found "
msgstr "글월을 찾을 수 없군요 "
@ -25,7 +25,7 @@ msgid " Not implemented yet "
msgstr "아직 구현되지 않았습니다."
msgid " Num of replace tokens not equal to num of found tokens "
msgstr " Num of replace tokens not equal to num of found tokens "
msgstr "Num of replace tokens not equal to num of found tokens "
#, c-format
msgid " Invalid token number %d "
@ -35,7 +35,7 @@ msgid "Normal"
msgstr "일반"
msgid "&Regular expression"
msgstr "정규표현식(&R)"
msgstr "정규 표현식(&R)"
msgid "Hexadecimal"
msgstr "16진수"
@ -395,7 +395,7 @@ msgid ""
"%s"
msgstr ""
"파일의 끝에 알 수 없습니다\n"
"% s"
"%s"
#, c-format
msgid "Directory cache expired for %s"
@ -406,11 +406,11 @@ msgstr "선형 전송 시작..."
#, c-format
msgid "%s: %s: %s %3d%% (%lu bytes transferred)"
msgstr "%s: %s: %s %3d%% (%lu 바이트 전송됨)"
msgstr "%s: %s: %s %3d%% (%lu 바이트 전송 됨)"
#, c-format
msgid "%s: %s: %s %lu bytes transferred"
msgstr "%s: %s: %s %lu 바이트 전송됨"
msgstr "%s: %s: %s %lu 바이트 전송 됨"
msgid "Getting file"
msgstr "파일 받기"
@ -432,7 +432,7 @@ msgstr "경고: %s 디렉터리을 바꿀 수 없습니다\n"
#, c-format
msgid "fish: Disconnecting from %s"
msgstr "fish : %s에서 분리중"
msgstr "fish : %s에서 분리 중"
msgid "fish: Waiting for initial line..."
msgstr "fish: 초기 라인을 기다림..."
@ -457,11 +457,11 @@ msgstr "fish: 현재 디렉터리의 설정..."
#, c-format
msgid "fish: Connected, home %s."
msgstr "fish: 홈 %s , 접속됨."
msgstr "fish: 홈 %s, 접속됨."
#, c-format
msgid "fish: Reading directory %s..."
msgstr "fish: %s 디렉터리 읽는 중..."
msgstr "fish: %s 디렉터리 읽는 중..."
#, c-format
msgid "%s: done."
@ -473,7 +473,7 @@ msgstr "%s: 실패"
#, c-format
msgid "fish: store %s: sending command..."
msgstr "fish: % s : 명령을 보내는 중..."
msgstr "fish: %s : 명령을 보내는 중..."
msgid "fish: Local read failed, sending zeros"
msgstr "fish: 상태 읽기 실패, 전송 제로"
@ -547,7 +547,7 @@ msgstr " ftpfs: 서버로 연결할 수 없음: %s "
#, c-format
msgid "Waiting to retry... %d (Control-C to cancel)"
msgstr "재시도를 기다리는 중 ... % d (컨트롤 - C를 취소)"
msgstr "재시도를 기다리는 중 ... %d (Contro-C로 취소)"
msgid "ftpfs: invalid address family"
msgstr "ftpfs: 잘못된 주소 목록"
@ -575,7 +575,7 @@ msgstr "ftpfs: 중지 실패"
#, fuzzy
msgid "ftpfs: CWD failed."
msgstr "ftpfs: CWD실패."
msgstr "ftpfs : CWD실패했습니다."
msgid "ftpfs: couldn't resolve symlink"
msgstr "ftpfs: 심볼릭 링크 해결 못함"
@ -841,7 +841,7 @@ msgstr "모드"
#, c-format
msgid "%6d of %d"
msgstr "%6d of %d"
msgstr "%6d %d"
msgid " Chown advanced command "
msgstr " 고급 chown 명령 "
@ -1035,7 +1035,7 @@ msgid "Listing mode"
msgstr "목록보기 설정"
msgid "user &Mini status"
msgstr "사용자 &미니 상태 바(&M)"
msgstr "사용자 미니 상태 바(&M)"
msgid "&OK"
msgstr "확인(&O)"
@ -1098,7 +1098,7 @@ msgid "Other 8 bit"
msgstr "다른 8 비트"
msgid "Input / display codepage:"
msgstr "입출력 코드페이지:"
msgstr "입/출력 코드페이지:"
msgid "&Select"
msgstr "선택(&S)"
@ -1355,7 +1355,7 @@ msgid " Which menu file do you want to edit? "
msgstr "어떤 메뉴 파일을 편집하고 싶으세요? "
msgid "&Local"
msgstr "로(&L)"
msgstr "로(&L)"
msgid "Highlighting groups file edit"
msgstr "선택 표시된 그룹 파일을 수정"
@ -1493,7 +1493,7 @@ msgstr "에러"
#, c-format
msgid " Error reading from pipe: %s "
msgstr "파이프 읽기 에러: %s "
msgstr "파이프 읽기 에러: %s "
#, c-format
msgid " Cannot open pipe for reading: %s "
@ -1560,7 +1560,7 @@ msgid "&Safe save"
msgstr "안전한 저장(&S)"
msgid "&Do backups with following extension:"
msgstr "확장명을 다음과 같이 백업하지 않음(&D) :"
msgstr "확장명을 다음과 같이 백업하지 않음(&D):"
msgid "Check &POSIX new line"
msgstr "체크 POSIX의 새로운 라인(&P)"
@ -1584,7 +1584,7 @@ msgid "&Windows/DOS format (CR LF)"
msgstr "MS 도스/윈도우즈 포맷(&W) (CR LF)"
msgid "&Macintosh format (CR)"
msgstr "캔토시 포맷(&M) (CR)"
msgstr "캔토시 포맷(&M) (CR)"
msgid "Change line breaks to:"
msgstr "깨진 라인 바꾸기:"
@ -1629,7 +1629,7 @@ msgid " Load macro "
msgstr "매크로 불러오기"
msgid " Confirm save file? : "
msgstr "저장하시겠습니까? "
msgstr "저장하시겠습니까? :"
msgid " Save file "
msgstr "파일 저장"
@ -1645,7 +1645,7 @@ msgstr ""
" 저장 안하고 계속하실 겁니까? "
msgid "Syntax file edit"
msgstr "문법 파일 수정(&M)"
msgstr "문법 파일 수정"
msgid " Which syntax file you want to edit? "
msgstr "수정하기를 원하는 문법 파일은? "
@ -1676,7 +1676,7 @@ msgid "&Cancel quit"
msgstr "끝내기 취소(&C)"
msgid " Error "
msgstr "에러"
msgstr "오류"
msgid " This function is not implemented. "
msgstr "이 기능은 구현되지 않습니다."
@ -1751,7 +1751,7 @@ msgid "Script created:"
msgstr "스크립트 만듬:"
msgid "Process block"
msgstr "Process block"
msgstr "프로세스 블럭"
msgid " Copies to"
msgstr "복사"
@ -1811,7 +1811,7 @@ msgid "A&ll"
msgstr "모두(&L)"
msgid " Replace with: "
msgstr " ...로 바꿈: "
msgstr "함께 바꿈: "
msgid " Confirm replace "
msgstr "바꾸기 확인 "
@ -2758,7 +2758,7 @@ msgid "Fr&ee VFSs now"
msgstr "VFS를 지금 해제(&E)"
msgid "Change &To"
msgstr "바꾸기(&T)"
msgstr "바꾸기(&T)"
msgid "Subgroup - press ENTER to see list"
msgstr "하위집단 - 보려면 엔터키를 누르십시오"
@ -2836,7 +2836,7 @@ msgstr "미드나잇 코맨더 %s"
#, c-format
msgid "File: %s"
msgstr "파일: %s"
msgstr "파일: %s"
#, c-format
msgid "Free nodes: %d (%d%%) of %d"
@ -2854,14 +2854,14 @@ msgstr "빈 공간: 정보 없음"
#, c-format
msgid "Type: %s "
msgstr "종류: %s "
msgstr "종류: %s "
msgid "non-local vfs"
msgstr "원격 vfs"
#, c-format
msgid "Device: %s"
msgstr "디바이스: %s"
msgstr "디바이스: %s"
#, c-format
msgid "Filesystem: %s"
@ -2869,16 +2869,16 @@ msgstr "파일체계: %s"
#, c-format
msgid "Accessed: %s"
msgstr "액세스일: %s"
msgstr "액세스일: %s"
#, c-format
msgid "Modified: %s"
msgstr "수정일: %s"
msgstr "수정일: %s"
#. TRANSLATORS: "Status changed", like in the stat(2) man page
#, c-format
msgid "Status: %s"
msgstr "만든날: %s"
msgstr "만든날: %s"
#, c-format
msgid "Dev. type: major %lu, minor %lu"
@ -2886,7 +2886,7 @@ msgstr "Dev. type: 주요 %lu, 기여 %lu"
#, c-format
msgid "Size: %s"
msgstr "크기: %s"
msgstr "크기: %s"
#, c-format
msgid " (%ld block)"
@ -2894,19 +2894,19 @@ msgstr " (%ld 블럭)"
#, c-format
msgid "Owner: %s/%s"
msgstr "소유자: %s/%s"
msgstr "소유자: %s/%s"
#, c-format
msgid "Links: %d"
msgstr "링크: %d"
msgstr "링크: %d"
#, c-format
msgid "Mode: %s (%04o)"
msgstr "모드: %s (%04o)"
msgstr "모드: %s (%04o)"
#, c-format
msgid "Location: %Xh:%Xh"
msgstr "위치: %Xh:%Xh"
msgstr "위치: %Xh:%Xh"
msgid "&Vertical"
msgstr "수직(&V)"
@ -3755,4 +3755,3 @@ msgstr "기록을 삭제하기를 원하십니까?"
msgid "Background process:"
msgstr "배경 프로세스:"

Просмотреть файл

@ -15,8 +15,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid " Search string not found "
msgstr " Така стрічка не знайдена "
@ -340,7 +340,7 @@ msgstr "Тимчасові файли створюватися не будуть
#, c-format
msgid "Press any key to continue..."
msgstr "Натисніть пробіл для продовження..."
msgstr "Натисніть пробіл для продовження"
msgid "Warning"
msgstr "Попередження"
@ -404,7 +404,7 @@ msgid "Directory cache expired for %s"
msgstr "Кеш каталога застарів для %s"
msgid "Starting linear transfer..."
msgstr "Початок лінійного перенесення..."
msgstr "Початок лінійного перенесення"
#, c-format
msgid "%s: %s: %s %3d%% (%lu bytes transferred)"
@ -438,7 +438,7 @@ msgid "fish: Disconnecting from %s"
msgstr "fish: від'єднуюсь від %s"
msgid "fish: Waiting for initial line..."
msgstr "fish: чекаю початковий рядок..."
msgstr "fish: чекаю початковий рядок"
msgid "Sorry, we cannot do password authenticated connections for now."
msgstr "Вибачте, зараз неможливо створювати з'єднання, авторизовані паролем."
@ -447,16 +447,16 @@ msgid " fish: Password required for "
msgstr " fish: вимагається пароль для "
msgid "fish: Sending password..."
msgstr "fish: відсилаю пароль..."
msgstr "fish: відсилаю пароль"
msgid "fish: Sending initial line..."
msgstr "fish: відсилаю початковий рядок..."
msgstr "fish: відсилаю початковий рядок"
msgid "fish: Handshaking version..."
msgstr "fish: домовляюсь про версію..."
msgstr "fish: домовляюсь про версію"
msgid "fish: Setting up current directory..."
msgstr "fish: встановлюю поточний каталог..."
msgstr "fish: встановлюю поточний каталог"
#, c-format
msgid "fish: Connected, home %s."
@ -464,7 +464,7 @@ msgstr "fish: з'єднався, домашній каталог %s."
#, c-format
msgid "fish: Reading directory %s..."
msgstr "fish: читаю каталог %s..."
msgstr "fish: читаю каталог %s"
#, c-format
msgid "%s: done."
@ -476,7 +476,7 @@ msgstr "%s: збій"
#, c-format
msgid "fish: store %s: sending command..."
msgstr "fish: запис %s: відсилаю команду..."
msgstr "fish: запис %s: відсилаю команду"
msgid "fish: Local read failed, sending zeros"
msgstr "fish: Збій локального читання, відсилаються нулі"
@ -492,7 +492,7 @@ msgid "file"
msgstr "файл"
msgid "Aborting transfer..."
msgstr "Переривання перенесення..."
msgstr "Переривання перенесення"
msgid "Error reported after abort."
msgstr "Повідомлена помилка після переривання."
@ -550,7 +550,7 @@ msgstr "ftpfs: збій з'єднання з сервером: %s"
#, c-format
msgid "Waiting to retry... %d (Control-C to cancel)"
msgstr "Очікування повтору спроби... %d (Control-C для скасування)"
msgstr "Очікування повтору спроби %d (Control-C для скасування)"
msgid "ftpfs: invalid address family"
msgstr "ftpfs: неправильний рід адреси"
@ -585,11 +585,11 @@ msgid "ftpfs: couldn't resolve symlink"
msgstr "ftpfs: не зміг розпізнати символьне посилання"
msgid "Resolving symlink..."
msgstr "Розпізнається символьне посилання..."
msgstr "Розпізнається символьне посилання"
#, c-format
msgid "ftpfs: Reading FTP directory %s... %s%s"
msgstr "ftpfs: Читання каталога FTP %s... %s%s"
msgstr "ftpfs: Читання каталога FTP %s %s%s"
msgid "(strict rfc959)"
msgstr "(обмеження rfc959)"
@ -724,7 +724,7 @@ msgid ""
"%s\n"
"doesn't look like a tar archive."
msgstr ""
"Гм,...\n"
"Гм,\n"
"%s\n"
"не схожий на tar-архів."
@ -768,25 +768,25 @@ msgid " Cannot open file %s "
msgstr " Не вдалося відкрити файл %s "
msgid "undelfs: reading inode bitmap..."
msgstr "undelfs: читання бітової мапи i-вузлів..."
msgstr "undelfs: читання бітової карти i-вузлів…"
#, c-format
msgid ""
" Cannot load inode bitmap from: \n"
" %s \n"
msgstr ""
" Не вдалося завантажити бітову мапу i-вузлів з:\n"
" Не вдалося завантажити бітову карту i-вузлів з:\n"
" %s \n"
msgid "undelfs: reading block bitmap..."
msgstr "undelfs: читання блоку бітової мапи..."
msgstr "undelfs: читання блоку бітової карти…"
#, c-format
msgid ""
" Cannot load block bitmap from: \n"
" %s \n"
msgstr ""
" Не вдалося завантажити блок бітової мапи з:\n"
" Не вдалося завантажити блок бітової карти з:\n"
" %s \n"
msgid " vfs_info is not fs! "
@ -1847,7 +1847,7 @@ msgid "&Ignore lock"
msgstr "Ігнорувати замок"
msgid "&Open file..."
msgstr "&Відкрити файл..."
msgstr "&Відкрити файл"
msgid "&New"
msgstr "Новий"
@ -1994,7 +1994,7 @@ msgid "&External formatter"
msgstr "З&овнішня програма форматування"
msgid "&General... "
msgstr "&Загальні... "
msgstr "&Загальні"
msgid "Save &mode..."
msgstr "Режим &збереження…"
@ -2973,7 +2973,7 @@ msgid " Panel split "
msgstr " Розбиття панелей "
msgid " Highlight... "
msgstr " Підсвітка... "
msgstr " Підсвітка"
msgid " Other options "
msgstr " Інші параметри "
@ -3054,7 +3054,7 @@ msgid " Do you really want to quit the Midnight Commander? "
msgstr " Ви дійсно хочете вийти з Midnight Commander? "
msgid "&Listing mode..."
msgstr "Фор&мат списку..."
msgstr "Фор&мат списку"
msgid "&Quick view"
msgstr "Швидкий перегляд"
@ -3063,25 +3063,25 @@ msgid "&Info"
msgstr "Інформація"
msgid "&Sort order..."
msgstr "Порядок &сортування"
msgstr "Порядок &сортування"
msgid "&Filter..."
msgstr "&Фільтр..."
msgstr "&Фільтр"
msgid "&Encoding..."
msgstr "Кодування…"
msgid "&Network link..."
msgstr "Ме&режне з'єднання..."
msgstr "Ме&режне з'єднання"
msgid "FT&P link..."
msgstr "&FTP-з'єднання..."
msgstr "&FTP-з'єднання"
msgid "S&hell link..."
msgstr "Зв'язок через &shell..."
msgstr "Зв'язок через &shell"
msgid "SM&B link..."
msgstr "Зв'язок через &SMB..."
msgstr "Зв'язок через &SMB"
msgid "&Rescan"
msgstr "Пересканувати"
@ -3189,19 +3189,19 @@ msgid "Edit hi&ghlighting group file"
msgstr "Редагувати файл підсвітки груп"
msgid "&Configuration..."
msgstr "&Конфігурація..."
msgstr "&Конфігурація"
msgid "&Layout..."
msgstr "&Макет..."
msgstr "&Макет"
msgid "C&onfirmation..."
msgstr "&Підтвердження…"
msgid "&Display bits..."
msgstr "&Відображення символів..."
msgstr "&Відображення символів"
msgid "&Virtual FS..."
msgstr "Віртуальні &ФС..."
msgstr "Віртуальні &ФС"
msgid "&Above"
msgstr "Верхня"
@ -3325,7 +3325,7 @@ msgid " Panel options "
msgstr " Параметри панелей "
msgid " Pause after run... "
msgstr " Пауза після виконання... "
msgstr " Пауза після виконання"
msgid "Configure options"
msgstr "Параметри конфігурації"

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1881,7 +1881,6 @@ void
edit_search_cmd (WEdit * edit, int again)
{
char *search_string = NULL, *search_string_dup = NULL;
gsize len = 0;
if (!edit)
@ -1910,36 +1909,45 @@ edit_search_cmd (WEdit * edit, int again)
{
#ifdef HAVE_CHARSET
GString *tmp;
if (search_string && *search_string)
{
tmp = str_convert_to_display (search_string);
g_free (search_string_dup);
search_string_dup = NULL;
if (tmp && tmp->len)
search_string = search_string_dup = tmp->str;
g_string_free (tmp, FALSE);
if (tmp != NULL)
{
if (tmp->len == 0)
g_string_free (tmp, TRUE);
else
{
g_free (search_string);
search_string = search_string_dup = g_string_free (tmp, FALSE);
}
}
}
#endif /* HAVE_CHARSET */
editcmd_dialog_search_show (edit, &search_string);
g_free (search_string_dup);
search_string_dup = NULL;
#ifdef HAVE_CHARSET
if (search_string && *search_string)
{
tmp = str_convert_to_input (search_string);
if (tmp && tmp->len)
search_string = tmp->str;
g_string_free (tmp, FALSE);
if (search_string_dup)
g_free (search_string_dup);
if (tmp != NULL)
{
if (tmp->len == 0)
g_string_free (tmp, TRUE);
else
{
g_free (search_string);
search_string = g_string_free (tmp, FALSE);
}
}
}
#endif /* HAVE_CHARSET */
edit_push_action (edit, KEY_PRESS + edit->start_display);
if (!search_string)
if (search_string == NULL)
{
edit->force |= REDRAW_COMPLETELY;
edit_scroll_screen_over_cursor (edit);
@ -1959,8 +1967,10 @@ edit_search_cmd (WEdit * edit, int again)
if (edit->search == NULL)
{
edit->search_start = edit->curs1;
g_free (search_string);
return;
}
edit->search->search_type = edit_search_options.type;
edit->search->is_all_charsets = edit_search_options.all_codepages;
edit->search->is_case_sentitive = edit_search_options.case_sens;
@ -1968,6 +1978,8 @@ edit_search_cmd (WEdit * edit, int again)
edit->search->search_fn = edit_search_cmd_callback;
}
g_free (search_string);
if (search_create_bookmark)
{
edit_search_cmd_search_create_bookmark (edit);

Просмотреть файл

@ -93,7 +93,7 @@ void
editcmd_dialog_replace_show (WEdit * edit, const char *search_default, const char *replace_default,
/*@out@ */ char **search_text, /*@out@ */ char **replace_text)
{
if (*search_default == '\0')
if ((search_default == NULL) || (*search_default == '\0'))
search_default = INPUT_LAST_TEXT;
{
@ -162,7 +162,7 @@ editcmd_dialog_search_show (WEdit * edit, char **search_text)
{
(void) edit;
if (*search_text == '\0')
if (*search_text == NULL)
*search_text = INPUT_LAST_TEXT;
{

Просмотреть файл

@ -1054,6 +1054,7 @@ move_file_file (FileOpTotalContext *tctx, FileOpContext *ctx, const char *s, con
struct stat src_stats, dst_stats;
FileProgressStatus return_status = FILE_CONT;
gboolean copy_done = FALSE;
gboolean old_ask_overwrite;
file_progress_show_source (ctx, s);
file_progress_show_target (ctx, d);
@ -1121,7 +1122,10 @@ move_file_file (FileOpTotalContext *tctx, FileOpContext *ctx, const char *s, con
#endif
/* Failed because filesystem boundary -> copy the file instead */
old_ask_overwrite = tctx->ask_overwrite;
tctx->ask_overwrite = FALSE;
return_status = copy_file_file (tctx, ctx, s, d);
tctx->ask_overwrite = old_ask_overwrite;
if (return_status != FILE_CONT)
return return_status;

Просмотреть файл

@ -960,7 +960,7 @@ file_mask_dialog (FileOpContext * ctx, FileOperation operation,
/* 9 - OFFSET */
QUICK_CHECKBOX (37, FMDX, 4, FMDY, N_("&Using shell patterns"), &source_easy_patterns),
/* 10 - OFFSET */
QUICK_INPUT (3, FMDX, 3, FMDY, easy_patterns ? "*" : "^\\(.*\\)$", 58, 0, "input-def",
QUICK_INPUT (3, FMDX, 3, FMDY, easy_patterns ? "*" : "^(.*)$", 58, 0, "input-def",
&source_mask),
/* 11 - OFFSET */
QUICK_LABEL (3, FMDX, 2, FMDY, fmd_buf),

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -29,20 +29,18 @@
#ifndef MC_HELP_H
#define MC_HELP_H
#define HELP_TEXT_WIDTH 58
/* Markers used in the help files */
#define CHAR_LINK_START '\01' /* Ctrl-A */
#define CHAR_LINK_POINTER '\02' /* Ctrl-B */
#define CHAR_LINK_END '\03' /* Ctrl-C */
#define CHAR_NODE_END '\04' /* Ctrl-D */
#define CHAR_ALTERNATE '\05' /* Ctrl-E */
#define CHAR_NORMAL '\06' /* Ctrl-F */
#define CHAR_VERSION '\07' /* Ctrl-G */
#define CHAR_FONT_BOLD '\010' /* Ctrl-H */
#define CHAR_FONT_NORMAL '\013' /* Ctrl-K */
#define CHAR_FONT_ITALIC '\024' /* Ctrl-T */
#define CHAR_LINK_START '\01' /* Ctrl-A */
#define CHAR_LINK_POINTER '\02' /* Ctrl-B */
#define CHAR_LINK_END '\03' /* Ctrl-C */
#define CHAR_NODE_END '\04' /* Ctrl-D */
#define CHAR_ALTERNATE '\05' /* Ctrl-E */
#define CHAR_NORMAL '\06' /* Ctrl-F */
#define CHAR_VERSION '\07' /* Ctrl-G */
#define CHAR_FONT_BOLD '\010' /* Ctrl-H */
#define CHAR_FONT_NORMAL '\013' /* Ctrl-K */
#define CHAR_FONT_ITALIC '\024' /* Ctrl-T */
void interactive_display (const char *filename, const char *node);
#endif
#endif /* MC_HELP_H */

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -23,7 +23,8 @@
#define MC_MOUNTLIST_H
/* Filesystem status */
struct my_statfs {
struct my_statfs
{
int type;
char *typename;
const char *mpoint;
@ -36,5 +37,6 @@ struct my_statfs {
void init_my_statfs (void);
void my_statfs (struct my_statfs *myfs_stats, const char *path);
void free_my_statfs (void);
#endif

Просмотреть файл

@ -3100,6 +3100,7 @@ panel_callback (Widget * w, widget_msg_t msg, int parm)
case WIDGET_DESTROY:
panel_destroy (panel);
free_my_statfs ();
return MSG_HANDLED;
default:

Просмотреть файл

@ -329,17 +329,14 @@ mcview_execute_cmd (mcview_t * view, unsigned long command)
case CK_ViewToggleWrapMode:
/* Toggle between wrapped and unwrapped view */
mcview_toggle_wrap_mode (view);
view->dirty++;
break;
case CK_ViewToggleHexEditMode:
/* Toggle between hexview and hexedit mode */
mcview_toggle_hexedit_mode (view);
view->dirty++;
break;
case CK_ViewToggleHexMode:
/* Toggle between hex view and text view */
mcview_toggle_hex_mode (view);
view->dirty++;
break;
case CK_ViewGoto:
{
@ -365,7 +362,6 @@ mcview_execute_cmd (mcview_t * view, unsigned long command)
break;
case CK_ViewToggleMagicMode:
mcview_toggle_magic_mode (view);
view->dirty++;
break;
case CK_ViewToggleNroffMode:
mcview_toggle_nroff_mode (view);
@ -471,12 +467,12 @@ mcview_handle_key (mcview_t * view, int key)
if ((command != CK_Ignore_Key) && (mcview_execute_cmd (view, command) == MSG_HANDLED))
return MSG_HANDLED;
if (mcview_check_left_right_keys (view, key))
if (mcview_check_left_right_keys (view, key) == MSG_HANDLED)
return MSG_HANDLED;
if (check_movement_keys (key, view->data_area.height + 1, view,
mcview_cmk_move_up, mcview_cmk_move_down,
mcview_cmk_moveto_top, mcview_cmk_moveto_bottom))
mcview_cmk_moveto_top, mcview_cmk_moveto_bottom) == MSG_HANDLED)
return MSG_HANDLED;
#ifdef MC_ENABLE_DEBUGGING_CODE

Просмотреть файл

@ -138,12 +138,8 @@ mcview_dialog_search (mcview_t * view)
g_free (view->last_search_string);
view->last_search_string = exp;
if (view->search_nroff_seq != NULL)
mcview_nroff_seq_free (&(view->search_nroff_seq));
if (view->search != NULL)
mc_search_free (view->search);
mcview_nroff_seq_free (&view->search_nroff_seq);
mc_search_free (view->search);
view->search = mc_search_new (view->last_search_string, -1);
view->search_nroff_seq = mcview_nroff_seq_new (view);

Просмотреть файл

@ -281,55 +281,54 @@ mcview_display_hex (mcview_t * view)
gboolean
mcview_hexedit_save_changes (mcview_t * view)
{
struct hexedit_change_node *curr, *next;
int fp, answer;
char *text, *error;
int answer = 0;
if (view->change_list == NULL)
return TRUE;
retry_save:
assert (view->filename != NULL);
fp = mc_open (view->filename, O_WRONLY);
if (fp == -1)
goto save_error;
for (curr = view->change_list; curr != NULL; curr = next)
while (answer == 0)
{
next = curr->next;
int fp;
char *text;
struct hexedit_change_node *curr, *next;
if (mc_lseek (fp, curr->offset, SEEK_SET) == -1 || mc_write (fp, &(curr->value), 1) != 1)
goto save_error;
assert (view->filename != NULL);
/* delete the saved item from the change list */
view->change_list = next;
view->dirty++;
mcview_set_byte (view, curr->offset, curr->value);
g_free (curr);
fp = mc_open (view->filename, O_WRONLY);
if (fp != -1)
{
for (curr = view->change_list; curr != NULL; curr = next)
{
next = curr->next;
if (mc_lseek (fp, curr->offset, SEEK_SET) == -1
|| mc_write (fp, &(curr->value), 1) != 1)
goto save_error;
/* delete the saved item from the change list */
view->change_list = next;
view->dirty++;
mcview_set_byte (view, curr->offset, curr->value);
g_free (curr);
}
if (mc_close (fp) == -1)
message (D_ERROR, _(" Save file "),
_(" Error while closing the file: \n %s \n"
" Data may have been written or not. "), unix_error_string (errno));
view->dirty++;
return TRUE;
}
save_error:
text = g_strdup_printf (_(" Cannot save file: \n %s "), unix_error_string (errno));
(void) mc_close (fp);
answer = query_dialog (_(" Save file "), text, D_ERROR, 2, _("&Retry"), _("&Cancel"));
g_free (text);
}
if (mc_close (fp) == -1)
{
error = g_strdup (unix_error_string (errno));
message (D_ERROR, _(" Save file "),
_(" Error while closing the file: \n %s \n"
" Data may have been written or not. "), error);
g_free (error);
}
mcview_update (view);
return TRUE;
save_error:
error = g_strdup (unix_error_string (errno));
text = g_strdup_printf (_(" Cannot save file: \n %s "), error);
g_free (error);
(void) mc_close (fp);
answer = query_dialog (_(" Save file "), text, D_ERROR, 2, _("&Retry"), _("&Cancel"));
g_free (text);
if (answer == 0)
goto retry_save;
return FALSE;
}

Просмотреть файл

@ -79,7 +79,6 @@ mcview_toggle_magic_mode (mcview_t * view)
filename = g_strdup (view->filename);
command = g_strdup (view->command);
mcview_done (view);
mcview_load (view, command, filename, 0);
g_free (filename);
g_free (command);
@ -92,6 +91,8 @@ mcview_toggle_magic_mode (mcview_t * view)
void
mcview_toggle_wrap_mode (mcview_t * view)
{
if (view->text_wrap_mode)
view->dpy_start = mcview_bol (view, view->dpy_start);
view->text_wrap_mode = !view->text_wrap_mode;
view->dpy_bbar_dirty = TRUE;
view->dirty++;
@ -190,12 +191,20 @@ mcview_done (mcview_t * view)
coord_cache_free (view->coord_cache), view->coord_cache = NULL;
if (!(view->converter == INVALID_CONV || view->converter != str_cnv_from_term))
if (view->converter == INVALID_CONV)
view->converter = str_cnv_from_term;
if (view->converter != str_cnv_from_term)
{
str_close_conv (view->converter);
view->converter = str_cnv_from_term;
}
mc_search_free (view->search);
view->search = NULL;
g_free (view->last_search_string);
view->last_search_string = NULL;
mcview_nroff_seq_free (&view->search_nroff_seq);
mcview_hexedit_free_change_list (view);
}

Просмотреть файл

@ -108,12 +108,21 @@ mcview_move_up (mcview_t * view, off_t lines)
off_t i;
for (i = 0; i < lines; i++)
{
new_offset = mcview_bol (view, view->dpy_start);
off_t cur_bol;
cur_bol = new_offset = mcview_bol (view, view->dpy_start);
if (new_offset > 0)
new_offset--;
new_offset = mcview_bol (view, new_offset);
if (new_offset < 0)
new_offset = 0;
if (view->text_wrap_mode)
{
size_t last_row_length = (view->dpy_start - new_offset) % view->data_area.width;
if (last_row_length != 0 && cur_bol == view->dpy_start)
new_offset = max (new_offset, view->dpy_start - last_row_length);
else
new_offset = max (new_offset, view->dpy_start - view->data_area.width);
}
view->dpy_start = new_offset;
}
}
@ -149,6 +158,8 @@ mcview_move_down (mcview_t * view, off_t lines)
{
off_t new_offset;
new_offset = mcview_eol (view, view->dpy_start);
if (view->text_wrap_mode)
new_offset = min (new_offset, view->dpy_start + view->data_area.width);
view->dpy_start = new_offset;
}
}
@ -173,10 +184,6 @@ mcview_move_left (mcview_t * view, off_t columns)
if (old_cursor > 0 || view->hexedit_lownibble)
view->hexedit_lownibble = !view->hexedit_lownibble;
}
else if (view->text_wrap_mode)
{
/* nothing to do */
}
else
{
if (view->dpy_text_column >= columns)
@ -207,10 +214,6 @@ mcview_move_right (mcview_t * view, off_t columns)
if (old_cursor < last_byte || !view->hexedit_lownibble)
view->hexedit_lownibble = !view->hexedit_lownibble;
}
else if (view->text_wrap_mode)
{
/* nothing to do */
}
else
{
view->dpy_text_column += columns;