Pytania otagowane jako elisp

na pytania dotyczące Emacsa Lispa jako języka w porównaniu do innych języków, w szczególności w porównaniu do innych dialektów Lisp. To jest, jeśli chodzi o pytania * dotyczące samego języka *. * NIE UŻYWAJ * w przypadku pytań dotyczących * używania * Emacs Lisp. Emacs Lisp jest językiem skryptowym i programistycznym, na którym zbudowany jest edytor Emacs.

2
Jak prawidłowo korzystać z defcustom?
Jak większość użytkowników Emacsa, dostosowałem tryb, zmieniając zmienne. To, co nigdy nie przyszło mi do głowy, to cała mentalność programistyczna stojąca za możliwością dostosowania tego i tego. Uświadomiłem sobie to, kiedy zacząłem szukać kodu źródłowego eshell. Nie jestem programistą elisp, ale em-ls.elwydaje się, że używa defcustom, defgroupitp. Wydaje się, że …
15 elisp  defcustom 


2
Czy funkcja lub makro może określać ostrzeżenia kompilatora bajtowego?
Piszę funkcję, która w zasadzie przyjmuje dowolną liczbę argumentów. W praktyce należy jednak podawać parzystą liczbę argumentów, w przeciwnym razie przyniosą niepożądane rezultaty. Oto fałszywy przykład kontekstu: (defun my-caller (&rest args) (while args (call-other-function (pop args) (pop args)))) Gdy plik elisp jest kompilowany bajtowo, kompilator bajtów generuje ostrzeżenie, gdy widzi …

1
Uzyskaj zawartość bufora
W ten sposób buffer-stringpobiera zawartość bieżącego bufora. Ale nie pozwala na określenie innych buforów. Jak mogę to obejść? Czy potrzebuję czegoś takiego, save-window-excursionaby działało?


2
Po co cytować pojedynczy argument i przecinek? (cytat, arg)
(quote x)marki nie X będzie oceniana, ale dodanie ,przed xwewnątrz quotesprawia, że oceniany. Co to jest to punkt korzystania cytat z pojedynczym argumentem przecinkiem przed nim tak: (quote ,x)? Motywowany linią 59 od irytujących strzał : (put (quote ,cmd) 'aa--alts ,alternatives) Dlaczego nie jest (put cmd 'aa-alts ,alternatives)równie dobry?
15 elisp  backquote 

3
Czy jest jakiś sposób, aby uruchomić funkcję hook tylko raz?
Kontekst Korzystam z after-make-frame-functionshaka, aby poprawnie załadować motywy w konfiguracji klient / serwer emacs . W szczególności jest to fragment kodu, którego używam do tego (na podstawie tej odpowiedzi SO ): (if (daemonp) (add-hook 'after-make-frame-functions (lambda (frame) (select-frame frame) (load-theme 'monokai t) ;; setup the smart-mode-line and its theme (sml/setup))) …


1
Dlaczego pliki elisp mają komentarze na końcu pliku?
Dlaczego pliki elisp zwykle kończą się ;;; file.el ends here? Czy jest jakiś historyczny powód, dla którego był to użyteczny? Widziałem to zalecane w przewodnikach w stylu elisp i nadal widzę to w nowoczesnych pakietach elisp. auto-insert-modedomyślnie dodaje również taki komentarz do nowych plików elisp.


2
„I” vs „kiedy” dla warunków warunkowych
Jest to kontynuacja komentarzy do tej odpowiedzi . Następujące fragmenty kodu wydają się równoważne: (and a b) (when a b) Oczywiście andpozwala stawiać więcej warunków: (and a b c d)oznacza(when (and a b c) d) Zwykle używam whentylko do wyrażania rozgałęzień. Czy istnieją rzeczywiste różnice? Czy lepiej jest używać jednego …

7
Kod Elisp, aby sprawdzić połączenie z Internetem
Kiedy otwieram Emacsa, ocenia mój plik init, który obejmuje odświeżanie moich archiwów pakietów przez połączenie internetowe. Jest to problematyczne, gdy nie mam połączenia z Internetem, dlatego muszę uniemożliwić wykonanie tego kodu podczas uruchamiania Emacsa bez połączenia z Internetem. Aby rozwiązać ten problem, zastanawiam się, czy istnieje sposób, aby Emacs zignorował …
13 elisp  networking 

4
Różnice między ustawieniem klawiszy trybu głównego za pomocą haka a dodaniem ich do mapy trybów
Załóżmy, że pobrałem tryb główny o nazwie magical-modei ma on własną magiczną mapę klawiszy o nazwie magical-mode-map. Ten tryb zapewnia również przechwycenie, magical-mode-hookktóre jest uruchamiane za każdym razem, gdy magical-modestaje się głównym trybem bufora. Teraz chcę zmodyfikować mój plik init, aby dodać kilka niestandardowych powiązań klawiszy do użycia w tym …

4
Co robi „symbol-wartość”?
Dokumenty nie uczyniły mnie mądrzejszym: Ta funkcja zwraca wartość zapisaną w komórce wartości symbolu. To tutaj przechowywana jest bieżąca (dynamiczna) wartość zmiennej. Jeśli zmienna nie ma lokalnego powiązania, jest to po prostu jej wartość globalna. Jeśli zmienna jest nieważna, sygnalizowany jest błąd zmiennej nieważności. Jaki jest sens wartości symbolicznej? Gdzie …
13 elisp  symbols 

9
Jak edytować elisp bez zgubienia się w nawiasach
Zmieniam kod elisp z linum.el: (custom-set-variables '(linum-format 'dynamic)) (defadvice linum-update-window (around linum-dynamic activate) (let* ((w (length (number-to-string (+ (count-lines (point-min) (point-max)) 1)))) (linum-format (concat " %" (number-to-string w) "d "))) ad-do-it)) Byłem w stanie naprawić błąd, w którym wcięcie występowało osobno, zmieniając (count-lines (point-min) (point-max))na (+ (count-lines (point-min) (point-max)) 1). …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.