lib: PATH ayar mekanizmasını değiştir

Bu eski bir sorun, ancak şimdi ilgilenme fırsatı bulduk.

Önceden `PATH` yerine `X_PATH` değişkeninin kullanılmasını öneriyorduk.  Örneğin
PATH'e ekleme yapmak için `~/etc/init/*-local` dosyasında:

	export X_PATH=$X_PATH:ekleme

satırı gibi.  Daha sonra her kabuk ilklendirmesinde devreye giren ~/lib/x
betiğiyle `X_PATH`'teki değişikliği `PATH`'e aktarıyorduk.

Bunun temel gerekçesi `PATH` gibi önemli bir değişkenin hata eseri üzerine
yazılmasını engelleme ve tekrarlı olarak devreye giren ilklendirme
mekanizmasının yol açtığı tekrarlı PATH kayıtlarını engelleme idi.

Bu yaklaşım bir kaç açıdan çirkin ve sorunlu.  `PATH` gibi çok iyi bilinen bir
ortam değişkeni yerine `X_PATH` gibi özel ve kolayca unutulabilir bir değişken
kullanmak bir çirkinlik.  Bazı uç durumlarda, örneğin Midnight Commander'ın fork
edilmesi sırasında bu mekanizmanın devre dışı kalması da bir sorun.

Yeni bir düzenleme yaptık.  Artık ilklendirmelerde doğrudan `PATH` kullanıyoruz.
Tekrarlı PATH kayıtları sorununu (ki pek çok zaman zararsız bir sorun)
ilklendirme sırasında devreye giren yeni bir işlevle, `pathsqueeze` çözüyoruz.

Önceden yaptığınız `X_PATH`'li ayarları yeni düzene taşımanız gerekiyor, aksi
halde yaptığınız düzenleme etkin olmayacaktır.  Bu amaçla:

*   `~/etc/init/*-local` dosyasını açın

*   `X_PATH`'li ayar satırlarını şu şekilde değiştirin

	export PATH=$PATH:<ekleme>

    (`export` gerekmiyor ama yine de alışık olduğunuz şekilde yazabilirsiniz)

PATH düzenlemeleri için `pathsqueeze` dışında iki yeni işlevimiz daha var:

*   `pathappend` → `PATH`'e **tekrarsız ekleme** yapar.  Bu işlevi betiklerde
    kullanın, mekanizmayı basit  tutmak için bunun kullanımını zorunlu tutmadık.
    `PATH`'e yukarıdaki gibi ekleme yaptığınızda `pathsqueeze` devreye girerek
    tekrarları zaten önlüyor.

        pathappend ~/foo
	export PATH # <eski PATH>:~/foo

*   `pathprepend` → `PATH`'in **başına tekrarsız ekleme** yapar.  Örneğin sistemde
    kurulu bir program yerine değiştirdiğiniz bir sürümün çalışmasını istiyorsanız
    bu programın dosya yolunu `PATH`'te öne koymanız gerekir.  Bu tür durumlarda
    bu işlevi kullanabilirsiniz.

        pathprepend ~/foo
	export PATH # ~/foo:<eski PATH>

    Kabuk yapılandırmasında yukarıda anlattığımız senaryo için bu işlevin kullanımı da
    zorunlu değil.  Bu işlevi betiklerde kullanın.  Aynı sonucu yapılandırma dosyasında
    şu şekilde elde edebilirsiniz:

	export PATH=<ekleme>:$PATH
x: kitaplık düzenlemesinden dolayı yeniden üret
fix #42
fix 43 - Türkçeleme görevini Ubuntu'nun yerelleştirme altyapısına uyarla

Yerel üretimini aslında daima locale-gen ile yapmak lazım, çünkü bu betik
dağıtımın tüm yerelleştirme işlerini biliyor.  Fakat sorun şu ki Debian
locale-gen ile Ubuntu'daki betik arasında önemli farklar var.  Bu nedenle yerel
üretimini elle yapma yolunu tercih etmiştik.  Bu yöntemin bir gün kırılacağı
açıktı ve nitekim de kırıldı.  Anlaşıldığı kadarıyla Ubuntu'da işler biraz
değişmiş.  Günü kurtaran bir değişiklik yapıyorum.  Test edilmesi lazım.
SSH ajanı aktif değilse yeni bir ajan oluştur fix #37

Bunu da test etmek lazım.
x: kitaplık değişikliği
lib: PATH ayarlarını düzelt

Önceki değişiklikte bir noktayı atlamışız: `core.sh`'ta Bash'e özgü bir kod
(örneğin array, hash veriyağıları Bash'e özgüdür) olamaz.  Çünkü bu kitaplık
modülü ilklendirmenin erken aşamalarında Dash tarafından da kullanılıyor.  O
halde PATH manipülasyonlarını yapan işlevleri bu modülde tutamayız.  Sonuç: bu
işlevleri kaldır ve sadece `pathsqueeze` işlevini `etc/init/9*` serisinde bir
dosyaya alarak PATH temizliğini en son aşamada hallet.

PATH ayarlarındaki değişikliklerle ilgili olarak önceki teslim notunda
yazdıklarım aynen geçerli.  Tek düzeltme: artık `pathappend`, `pathprepend`
işlevleri yok.

Tekrar edecek olursak.  Lütfen `X_PATH` ile yaptığınız ayarları (muhtemelen
`/etc/init/*-local` dosyasında) artık `PATH` üzerinden yapın.  Yani:

	export X_PATH=$X_PATH:<ekleme>

yerine

	export PATH=$PATH:<ekleme>
kitaplık değişikliğine uyarla
vim: markdown kod alanları daima aynı renk olmalı
vim: vim-pad eklentisi için ~/notes dizini oluşturmaktan vazgeç

`~/etc/vim/*local.vim` dosyasında aşağıdaki gibi bir satırla notların
kaydedileceği dizini ayarlayabilirsiniz.

	let g:pad_dir = <dizin>
vim: Google App Engine projelerini algılama yöntemini iyileştir

Git'e bağımlı olmasın.
Merge branch 'master' of github.com:00010011/x
vim: brown paper bug
vim: dark brown paper bug
lib: PATH böceğini temizle

`/etc/profile` PATH değişkeninin üzerine yazıyor.  Daha düzgün bir çözüm
buluncaya kadar PATH'i X_PATH üzerinden restore et
Kitaplık değişikliği
Merge branch 'master' of github.com:00010011/x
skel: ana makine profilini default ile aynı yap
lib: sözdizimi hatasını düzelt
Kitaplık değişikliği