Чому дефгруп корисна?


9

Я читаю idoджерело і бачу:

(defgroup ido nil
 "Switch between files using substrings."
 :group 'extensions
 :group 'convenience
 :version "22.1"
 :link '(emacs-commentary-link :tag "Commentary" "ido.el")
 :link '(emacs-library-link :tag "Lisp File" "ido.el")
 :link '(custom-manual "(ido) Top")
 :link '(info-link "(ido) Customization"))

defgroupз'являється у верхній частині багатьох великих пакетів. Я бачу, це робить так:

Заявіть SYMBOL як групу налаштування, що містить ЧЛЕНІВ. SYMBOL не потрібно цитувати.

І сторінка груп з налаштування насправді не відповідає, коли і як ними користуватися. Коли або як ви їх використовуєте?

Відповіді:


8

Коли і для чого ви використовуєте будь-яке групування? Вміти діяти на групу в цілому або на окремих її членів - лише її членів. Ось і тут відповідь.

  • Існують команди та інші функції, які діють на певну групу або набір груп. customize-groupце той, що діє на дану групу. customize-apropos-groupsце той, який діє на безліч груп.

  • Під час використання customize-groupви бачите посилання, які дозволяють налаштувати підгрупи (якщо такі є) та окремі члени (параметри та обличчя) цієї групи.

Крім того, група, як правило, має префікс, і ви можете використовувати її для узгодження зразків щодо імен функцій, обличчя тощо для взаємодії з Emacs. Це ще один спосіб обмеження дій певним набором (групою налаштування) речей.

Група також може забезпечити швидкий доступ до онлайн-документа, вихідного коду, повідомлення про помилки тощо. Ось, наприклад, визначення групи Icicles-Key-Completion(з деяким кодом пропущено).

(defgroup Icicles-Key-Completion nil
  "Icicles preferences related to key completion (`icicle-complete-keys')."
  :prefix "icicle-" :group 'Icicles
  :link `(url-link :tag "Send Bug Report" ...)
  :link '(url-link :tag "Other Libraries by Drew" ...)
  :link '(url-link :tag "Download" ...)
  :link '(url-link :tag "Description" ...)
  :link '(emacs-commentary-link :tag "Doc-Part2" "icicles-doc2")
  :link '(emacs-commentary-link :tag "Doc-Part1" "icicles-doc1"))

Ця група сама по собі є підгрупою групи Icicles(див. :group). Він надає посилання в буфері «Налаштувати» для надсилання звіту про помилки, завантаження та доступу до документа у вихідному коді чи в Інтернеті.

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