Emacs 22 nie współpracuje z pakietem session.el
, który
służy do zapisania do pliku na potrzeby następnej sesji iluś tam
ostatnio wykonanych poleceń, otwartych plików itp. Ćwicząc Emacs 23
już to przerabiałem i na taką okoliczność wstawiłem do plików
startowych tryb desktop-save
:
(if (< emacs-major-version 22) (progn (require 'session) (add-hook 'after-init-hook 'session-initialize)) (progn (desktop-save-mode 1) (setq history-length 250) (add-to-list 'desktop-globals-to-save 'file-name-history)))
O tych wszystkich nastawach zdążyłem już zapomnieć. A że Emacs na starcie czyta
kilkanaście plików to nie od razu doszedłem czemu
wraz z przejściem na Emacsa 22 przestał działać session.el
a włączyło się
coś innego.
(Ten blog jest w dużej części po to, aby takich sytuacji uniknąć w przyszłości:-)
Tryb desktop-save
nie podoba mi się: przy starcie Emacsa ładuje się kilkadziesiąt
plików, większość z nich zupełnie niepotrzebnie. Najgorzej wygląda sprawa z plikami
edytowanymi poprzez trampa. Emacs łączy się z odległą maszyną. Nie wiem czemu robi to
kilkakrotnie. Wszystko to trwa oczywiście a próba okiełznania desktop-save
nie
dała zadowalającego rezultatu.
W dokumentacji jest zresztą niewiele na ten temat.
Spróbowałem przykładowo ustawić zmienną
desktop-restore-eager
, ale to niewiele pomogło.
Faktycznie Emacs szybciej startował,
ale jak tylko chwilę nie dotykałem klawiatury zaczął otwierać resztę buforów.
Nie szło tego przerwać... Jednym słowem mulił,
tylko że nie na początku.
W ,,sprawie trampa'' wyczytałem w odpowiedzi
na żale jakiegoś użytkownika żeby dać sobie z nim spokój i działać
na maszynie odległej przez fuse-sshfs
.
Czy ja wiem? Jak
przed uruchomieniem nie zamontuję odległego katalogu, to co zrobi
desktop-save
? To chyba nie jest dobre rozwiązanie.
Ostatecznie przełączyłem się na standardowy tryb
savehist
. Działa z grubsza jak session.el. Czemu
ja w ogóle zacząłem używać tego ostatniego--nie pamiętam.
Tryb desktop-save
wyłączyłem.
W temacie AWK też pojawił się problemik. Dawno, dawno temu (ca 1994 mówiąc konkretnie) zrobiłem skrypcik do podliczania moich rocznych finansów. Działał. Aż w tym roku przestał (a może przestał wcześniej, tylko nie zwróciłem na to uwagi). Zaczęło się od komunikatu division by zero.
Miałem od dawna świadomość, że jakiś mądry tak przerobił gawka, iż przy ustawieniu lokali
na PL
traktuje on jako kropkę dziesiętną przecinek a nie kropkę.
Po co to zrobiono--nie wiem. Wydaje mi się, że zrobiono bez sensu. Ponieważ mój skrypt
był uruchamiany via skrypt basha, wystarczyło dopisać LANG=C
:
#!/bin/bash LANG=C exec gawk -f $AWKDIR/foo.awk $*
I działa znowu.
Dopisane 19 marca 2008:
fuse_sshfs
jest jednak świetnym rozwiązaniem. Ostatecznie
nie pracuję na dziesiątkach maszyn, tylko na dwóch. W razie potrzeby
montuję odległy katalog i już.
Super wygodnie, nie tylko w połączeniu z Emacsem. Pakietu
tramp już nie używam.