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.

4
Nazwany ciąg znaków?
Często muszę dokonać kilku podstawień tego samego ciągu: (format "%s %s %s" "a" "a" "a") ;; gives: "a a a" (to tylko fikcyjny przykład, w tym przypadku lepiej przykleić „a” spacją, ale ogólnie mam do czynienia z bardziej skomplikowanymi sytuacjami) Czy istnieje sposób dokonania nazwanego podstawienia? Na przykład w pythonie …
13 elisp  string 

5
Jak mogę ocenić elisp w pliku orgmode, gdy jest otwarty?
Mam kod elisp, który chciałbym uruchamiać w plikach orgmode podczas ładowania (różne dla różnych plików i zdefiniowane w samym pliku). Czy jest na to sposób? Nic nie widziałem w http://orgmode.org/manual/In_002dbuffer-settings.html Jeśli mogę dodać coś do inicjowania emacsa, który uruchamia specjalnie nazwany blok kodu za każdym razem, gdy ładuje się plik …
13 org-mode  elisp 

1
Znaczenie okresu w (. 123)
Dowiedziałem się, że . /path/to/filebash służy do wykonywania pliku. Z ciekawości ewaluuję coś w stylu Emacsa (. 123) ⇒ 123 (read "(. 123)") ⇒ 123 Wygląda na to, Emacs po prostu brzmi (. 123)jak 123to, co się stało?
12 elisp  list  read 

2
Jak mogę zmodyfikować czytnik Elisp?
Modyfikacja czytnika pozwoliłaby na wprowadzenie nowej składni odczytu (takiej jak #(hash table)i '(quoted)). Wiele Lisps ma taką możliwość, ale wydaje się, że nie ma takiej możliwości dla elisp.
12 elisp 


3
Jak mogę wykryć, czy bieżący znak jest znakiem komentarza dla tego trybu głównego?
Pracuję nad tą małą funkcją, która wyciąga następny wiersz do bieżącego wiersza. Chcę dodać funkcjonalność, aby jeśli bieżący wiersz był komentarzem do wiersza, a następny wiersz był również komentarzem do wiersza, wówczas znaki komentarza są usuwane po akcji „pull-up”. Przykład: Przed ;; comment 1▮ ;; comment 2 Powołanie M-x modi/pull-up-line …

1
Jak używać argumentów „interaktywnych” podczas wywoływania polecenia z kodu
Mam wywołane polecenie, testktóre po prostu pobiera dane wejściowe od użytkownika i powtarza je z powrotem: (defun test (input) (interactive "MInput: ") (message "%s" input)) Chcę napisać inną funkcję, która by to wywołała. Następujące niepowodzenie: (defun test-forward () (interactive) (test)) z tym błędem test-forward: Wrong number of arguments: (lambda (input) …
12 elisp  commands 

5
Sposoby dyskretnej zmiany renderowania tekstu?
Piszę rozszerzenie emacs do użytku z rozpoznawaniem mowy i szukam pomocy z określoną funkcją. Niektóre słowa, które rozpoznaje mowę (Dragon), konsekwentnie słabo rozpoznaje - nie ma znaczenia, ile razy je ćwiczysz, będzie po prostu ssać rozpoznawanie niektórych słów. W tym samym czasie zwykle, kiedy piszesz na temat lub kodujesz, będziesz …

1
Jakie są potencjalne pułapki włączenia wiązania leksykalnego dla bufora?
Zostało to zainspirowane dyskusją na temat wiązania leksykalnego a leksykalno-letniego w tym pytaniu . Jak leksykalno-wiązanie daje możliwość posiadania użytecznych closures ludzie mogą być wykorzystane w innych językach takich jak JavaScript, dlaczego nie włączono go cały czas? Zakładając, że wsteczna kompatybilność ze starszą wersją Emacsena nie stanowi problemu, jakich pułapek …

1
Reimplementacje Elisp
Emacs implementuje interpreter dla elisp w C, który służy jako de facto implementacja referencyjna. Czy są jakieś inne implementacje elisp w innych językach (szczególnie Javascript)? Jaki jest minimalny zestaw prymitywów niezbędnych do pełnego ponownego wdrożenia elisp? Jakie są w tym podstawowe trudności (np. Dynamiczne określanie zakresu)?
12 elisp 

5
Jak zrozumieć ten kod rekurencyjny?
Znalazłem ten kod w podręczniku An Introduction to Programming in Emacs Lispdemonstrującym rekurencję za pomocą condfunkcji, aby dowiedzieć się o liczbie kamyków na podstawie wprowadzonej liczby wierszy, tj. Jeśli rzędy = 2, to kamyki powinny mieć 3, jeśli 4 rzędy, to powinno być 10 kamyków tam. (defun triangle-using-cond (number) (cond …
12 elisp  learning 

2
Jakie są wbudowane pakiety z ładnym kodem źródłowym? [Zamknięte]
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 5 lat temu . Próbuję zapoznać się z Emacsem Lispem, jego składnią, strukturami danych itp., Więc zastanawiałem …

3
Jaki jest najłatwiejszy sposób na implementację funkcji takiej jak format-time-string
format-time-string Funkcja przyjmuje ciąg znaków i zastępuje zestaw specjalnych konstrukcjach w tym ciąg znaków (poprzedzone %) z jakiegoś konkretnego tekstu. Chciałbym zaimplementować taką funkcjonalność we własnej funkcji: Mam alist między znaków i symboli, takich jak: '((?n . name) (?r . reputation)). Funkcja powinna mieć ciąg podobny do "My name is …
12 elisp 

1
Spraw, aby zmienna lokalna bufora ponownie stała się globalna
Eksperymentowałem ze zmiennymi lokalnymi i ustawiłem: (defvar-local foo nil "Buffer local foo") Później przeprojektowałem swój program, aby zamiast niego używał zmiennej globalnej, używając: (defvar foo nil "Not buffer local foo") ale zmienna jest nadal buforowana lokalnie, a nawet jej (kill-local-variable 'foo)nie zabiła. Zasadniczo, jak mogę „cofnąć” make-local-variable?


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.