Запитання з тегом «elisp»

для запитань про Emacs Lisp як про мову, порівняно з іншими мовами, зокрема, порівняно з іншими Lisp діалектами. Тобто, це питання * про саму мову *. * НЕ ВИКОРИСТОВУЙТЕ * для запитань щодо * використання * Emacs Lisp. Emacs Lisp - це сценарій та мова програмування, на якій створений редактор Emacs.

2
Як правильно користуватися декупажем?
Як і більшість користувачів Emacs, я налаштував режим, змінивши змінні. Те, що мені ніколи не спадало на думку, - це цілий менталітет програмування, який стоїть за налаштуванням цього і того. Я зрозумів це, коли почав переглядати частину вихідного коду для eshell. Я не є програмістом elisp, але конкретно, em-ls.elсхоже, використовує …
15 elisp  defcustom 


2
Чи може функція або макрос вказати попередження компілятора байт?
Я пишу функцію, яка, в принципі, бере довільну кількість аргументів. На практиці, однак, вона повинна коли-небудь передавати парну кількість аргументів, і це призведе до небажаних результатів в іншому випадку. Ось фіктивний приклад для контексту: (defun my-caller (&rest args) (while args (call-other-function (pop args) (pop args)))) Коли файл elisp компілюється в …

1
Отримайте вміст буфера
Так buffer-stringотримується вміст поточного буфера. Але це не дозволяє вказувати інші буфери. Як я можу обійти це? Чи потрібно мені щось на зразок, save-window-excursionщоб воно працювало?


2
Який сенс цитати з одним аргументом і комою? (цитата, аргумент)
(quote x)становить не х бути оцінені, але з додаванням ,перед xвсередині quoteробить його оцінювали. У чому тоді сенс використання цитати з одним аргументом із комою перед ним, як-от так (quote ,x):? Мотивовано рядком 59 від дратівливих стрілок : (put (quote ,cmd) 'aa--alts ,alternatives) Чому не (put cmd 'aa-alts ,alternatives)однаково добре?
15 elisp  backquote 

3
Чи є спосіб запустити функцію гачка лише один раз?
Контекст Я використовую after-make-frame-functionsгачок для належного завантаження тем у конфігурації клієнта / сервера emacs . Зокрема, це фрагмент коду, який я використовую, щоб зробити це (виходячи з цієї відповіді ТАК ): (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
Чому setq і set quo діють по-різному на обмежених змінних з лексичною сферою?
В одному з моїх розширень виявилася помилка, яка, зрештою, була викликана тим, що вона setне працює, як я очікувала: ;; -*- lexical-binding: t -*- (let ((a nil)) (setq a t) (print a)) (let ((a nil)) (set 'a t) (print a)) при запуску з emacs -Q --batch -l temp.elвідбитками: t nil …

1
Чому у файлах elisp є коментарі до кінця файлів?
Чому зазвичай закінчуються файли elisp ;;; file.el ends here? Чи є якась історична причина, чому це було корисно? Я бачив, як це рекомендується в посібниках зі стилем Elisp, і я все ще бачу його в сучасних пакетах Elisp. auto-insert-modeтакож додає такий коментар до нових elisp-файлів за замовчуванням.

2
Чи є у elisp буквами regexp?
Велика кількість нахилів, які потрібні мої повторні виразки, є досить божевільною. Чи є в elisp буквали regexp, тож я можу написати щось подібне rx"some\(regexp\)" замість "some\\(regexp\\)"

2
"І" проти "коли" для умов
Це супроводження коментарів до цієї відповіді . Наступні біти коду здаються еквівалентними: (and a b) (when a b) Звичайно, andдозволяє поставити більше умов: (and a b c d)засоби(when (and a b c) d) Я схильний використовувати whenлише для вираження розгалуження. Чи є фактичні відмінності? Чи краще використовувати те чи інше? …

7
Код Elisp для перевірки підключення до Інтернету
Коли я відкриваю Emacs, він оцінює мій файл init, який включає оновлення моїх архівів пакетів через Інтернет. Це проблематично, коли у мене немає підключення до Інтернету, тому мені потрібно запобігти виконанню цього коду при запуску Emacs без підключення до Інтернету. Щоб вирішити цю проблему, мені цікаво, чи є спосіб Emacs …
13 elisp  networking 

4
Відмінності між встановленням основних клавіш режиму гачком та додаванням їх до карти режимів
Припустимо, що я завантажив основний режим, який називається magical-mode, і він має свою магічну клавішну назву magical-mode-map. Цей режим також забезпечує гак, magical-mode-hookякий запускається кожного разу, коли він magical-modeстає основним режимом буфера. Тепер я хочу змінити мій файл init, щоб додати кілька спеціальних прив’язок клавіш для використання в цьому режимі. …

4
Що робить "символ-значення"?
Документи не зробили мене мудрішим: Ця функція повертає значення, збережене у комірці знаку символу. Тут зберігається поточне (динамічне) значення змінної. Якщо змінна не має локальної прив'язки, це просто її глобальне значення. Якщо змінна недійсна, сигналізується про помилку змінної пустоти. У чому полягає значення символу-значення? Де і коли мені потрібно його …
13 elisp  symbols 

9
Як редагувати elisp, не гублячись у дужках
Я змінюю код elisp з 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)) Мені вдалося виправити помилку, коли відступ було відмінено за допомогою зміни (count-lines (point-min) (point-max))до (+ (count-lines (point-min) (point-max)) …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.