Size: a a a

Emacs — русскоговорящее сообщество

2021 September 22

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
надо изобрести cprop для elisp
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
чтобы нормальные (относительно) структуры данных юзать, а не вот это вот всё
источник

A ß in Emacs — русскоговорящее сообщество
(make-local-variable 'process-environment)
источник

a

akater in Emacs — русскоговорящее сообщество
(defun cl-style-symbol-to-unix-style-env-var-name (symbol)
   (upcase
    (replace-regexp-in-string "-" "_"
                              (replace-regexp-in-string "^:" ""
                                                        (symbol-name symbol)))))


 (defun my-bindings-to-process-environment-list (bindings)
   (mapcar (lambda (it)
             (concat (cl-style-symbol-to-unix-style-env-var-name (car it))
                     "="
                     (cadr it)))
           bindings))

 (defmacro with-env-vars (bindings &rest body)
   (declare (indent 1))
   `(let ((process-environment
           (append ',(my-bindings-to-process-environment-list bindings)
                   process-environment)))
      ,@body))
источник

a

akater in Emacs — русскоговорящее сообщество
И дальше

(with-env-vars ((:such "wow")
               (:much "env"))
 stuff)
источник

С

Саша in Emacs — русскоговорящее сообщество
спасибо
буду ковырять дальше завтра
источник

A ß in Emacs — русскоговорящее сообщество
тебе нужен make-local-variable, про остальное забудь, дедушкам на больную мозоль наступили
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
чем это лучше let?
источник

A ß in Emacs — русскоговорящее сообщество
тем что это блять будет работать
источник

A ß in Emacs — русскоговорящее сообщество
без необходимости переписывать все
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
разумно, но некрасиво
источник

a

akater in Emacs — русскоговорящее сообщество
По-моему оно ничего не делает: значение то же

и вдобавок
 This variable may be risky if used as a file-local variable.
источник

A ß in Emacs — русскоговорящее сообщество
file local, not buffer local
источник

A ß in Emacs — русскоговорящее сообщество
оно делает переменную локальной в этом буфере, потом можно её крутить через setenv как угодно
источник

a

akater in Emacs — русскоговорящее сообщество
Ну ладно.  По-моему let-то куда лучше.
источник

A ß in Emacs — русскоговорящее сообщество
let закончится и что дальше?
источник

a

akater in Emacs — русскоговорящее сообщество
И setenv хорошо, и let хорошо — всему свое место.
источник

A ß in Emacs — русскоговорящее сообщество
ну так здесь то нам нужно стейт буфера поменять и сохранить его на будущее
источник

A ß in Emacs — русскоговорящее сообщество
или я в глаза долблюсь?
источник

a

akater in Emacs — русскоговорящее сообщество
Выглядит, что да.  Я начало не увидел.

Но предполагаю, что потом просто функции писать захочется все равно.  Мне with-env-vars в этом помогает.
источник