[devel] Re: [mdk-re] /etc/emacs/site-start.d
Alexander Bokovoy
=?iso-8859-1?q?ab_=CE=C1_altlinux=2Eru?=
Сб Май 5 20:57:00 MSD 2001
On Sat, May 05, 2001 at 05:16:47PM +0400, Sergey Vlasov wrote:
> > установленные после появления этих пользователей - в соответствии с
> > содержимым /etc/emacs/site-start.d. Правда, судя по названию каталога,
> > прописывать такую команду предполагалось все-таки в общесистемный
> > /usr/share/emacs/site-lisp/site-start.el, но в этом случае у
> > пользователя
> > нет простого способа отменить загрузку этих файлов.
>
> Вот еще один вариант реализации. В /usr/share/emacs/site-lisp кладем файл
> package-autoload.el:
>
> ;;; package-autoload.el --- run package autoload files
>
> ;; Copyright (C) 2001 by Free Software Foundation, Inc.
>
> ;; Author: Sergey Vlasov <vsu на altlinux.ru>
> ;; Keywords: extensions
>
> ;; This file is free software; you can redistribute it and/or modify
> ;; it under the terms of the GNU General Public License as published by
> ;; the Free Software Foundation; either version 2, or (at your option)
> ;; any later version.
>
> ;; This file is distributed in the hope that it will be useful,
> ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
> ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> ;; GNU General Public License for more details.
>
> ;; You should have received a copy of the GNU General Public License
> ;; along with GNU Emacs; see the file COPYING. If not, write to
> ;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
> ;; Boston, MA 02111-1307, USA.
>
> ;;; Commentary:
>
> ;; This file loads .el files from /etc/emacs/site-start.d. Files in
> ;; this directory are supposed to be autoload files for Emacs add-on
> ;; packages.
>
> ;;; Code:
>
> (mapcar 'load-file
> (directory-files "/etc/emacs/site-start.d" t "\\.el$"))
>
> (provide 'package-autoload)
>
> ;;; package-autoload.el ends here
>
> В этом же каталоге в файле default.el пишем:
>
> (require 'package-autoload)
>
> В /etc/skel*/.emacs в начало добавляем:
>
> (require 'package-autoload nil t)
>
> В результате получаем следующее:
>
> 1. У новых пользователей с ~/.emacs из нового etcskel в начале обработки
> ~/.emacs загрузятся все файлы автозагрузки из /etc/emacs/site-start.d. При
> этом require в default.el молча проигнорируется.
>
> 2. У пользователей со старым ~/.emacs файлы автозагрузки будут грузиться
> из default.el, т.е. после обработки ~/.emacs. Из-за этого в ~/.emacs
> нельзя будет настраивать эти пакеты, если не добавить предварительно
> строку (require 'package-autoload). Если дополнительно не настраивать, все
> будет работать и так.
>
> 3. Пользователи, которым по каким-то причинам не нравится автозагрузка
> файлов из /etc/emacs/site-start.d, могут выбросить из ~/.emacs
> соответствующую команду и отменить загрузку default.el, установив
> inhibit-default-init.
>
> 4. Наконец, если в системе установлен новый пакет etcskel, но старый
> emacs, в котором нет файла package-autoload.el, проблем при запуске Emacs
> тоже не возникнет (за исключением незагрузки файлов из
> /etc/emacs/site-start.d), поскольку (require 'package-autoload nil t)
> игнорирует отсутствие запрошенного файла.
>
> Ваши замечания?
Выглядит красиво. Олег, что Вы скажете?
--
С уважением,
Александр Боковой.
ALT Linux Team // www.altlinux.ru
-- You won't skid if you stay in a rut.
-- Frank Hubbard
_______________________________________________
Devel mailing list
Devel на linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
Подробная информация о списке рассылки Devel