Nie uważam tego ostrzeżenia za szczególnie pomocne i dość rozpraszające, ponieważ ukrywa na chwilę bieżący tekst w obszarze echa. Wydaje się również niepotrzebne, ponieważ i tak zauważę, że nie mogę pisać w obszarach tylko do odczytu. Czy istnieje sposób, aby to wyłączyć?
9
command-error-function
wartości nie wpłynie na wszystkie błędy, a nie tylko na błędy „tylko do odczytu”? Nie mogę dokładnie ustalić, na co ta zmiana wpłynie z kodu źródłowego.(when ...)
formularz we fragmencie kodu: w ten sposób sygnały, które nas nie obchodzą, są przekazywane do domyślnego modułu obsługi ibuffer-read-only
są ignorowane.command-error-default-function
.phils
którą podałeś, jest poprawna, tzn. Potrzebowalibyśmy do tego nowego kodu C.Źródło błędu „bufor tylko do odczytu”
Uważam, że źródło tego błędu:
Buffer is read-only: <#BUFFER-NAME>
znajduje się w kodzie źródłowym C.Rozwiązaniem tego byłoby ulepszenie kodu źródłowego i zbudowanie emacsa lokalnie, komentując ten konkretny wiersz .
W celach informacyjnych fragment kodu generujący ten błąd:
.. i komentowanie tej
xsignal
linii powinno załatwić sprawę.Sugerowane podejście
Jest o wiele łatwiejszy sposób na uniknięcie tego rozdrażnienia na czas pracy w buforze tylko do odczytu. Nie możesz tymczasowo ustawić go jako tylko do odczytu.
M-x read-only-mode
(domyślnie ograniczone doC-x C-q
) przełącza dowolny bufor między trybem tylko do odczytu a trybem edytowalnym.Więc jeśli otrzymujesz wiele tych błędów, po prostu włącz tymczasową edycję bufora, naciskając
C-x C-q
.Uwaga: Wykonanie włamania do źródła C może być poważnym źródłem zamieszania w przyszłości. Więc nie zrobiłbym tego.
źródło
(defun barf-if-buffer-read-only () nil)
ma taki sam efekt jak skomentowaniexsignal1
połączenia i przebudowanie Emacsa. :-)nil
: emacs.stackexchange.com/questions/2935/how-can-i-bring-back-nil