Что означает двойной минус (-) в именах функций в Emacs Lisp - PullRequest
34 голосов
/ 05 июля 2010

Я читал несколько пакетов Emacs Lisp и столкнулся с соглашением о том, что некоторые функции объявляются после префикса библиотеки, например:

(defun eproject--combine-regexps (regexp-list)

Интересно,это соглашение для объявления «частных» функций в библиотеке, но пока я ничего не нашел в рекомендациях по кодированию Emacs.

Ответы [ 2 ]

31 голосов
/ 05 июля 2010

Emacs не поддерживает пространства имен, пакеты, библиотеки или модули. Исходники Emacs поэтому используют foo- в качестве префикса для библиотеки foo, а в некоторых случаях foo-- используется для привязок, которые должны быть внутренними.

7 голосов
/ 21 августа 2011

В Emacs действительно нет такой вещи, как "внутренняя". Но да, некоторые программисты приняли это соглашение, чтобы указать на вещи, которые являются более внутренними - это означает, что разработчики будут меньше (или не будут) колебаться, чтобы изменить их. Это способ информирования пользователей кода об этой возможной волатильности.

...