Mercurial > hg > xemacs-beta
annotate lisp/site-load.el @ 5767:4e69b24a2301
Disable ASLR on Mavericks.
| author | Marcus Crestani <crestani@informatik.uni-tuebingen.de> |
|---|---|
| date | Mon, 28 Oct 2013 16:03:53 +0100 |
| parents | b9167d522a9a |
| children |
| rev | line source |
|---|---|
| 428 | 1 ;;; site-load.el --- Template file for site-wide XEmacs customization |
| 2 ;; Copyright (C) 1997 Free Software Foundation, Inc. | |
| 3 | |
| 4 ;; Author: Steven L. Baur <steve@xemacs.org> | |
| 5 ;; Keywords: internal | |
| 6 | |
| 7 ;; This file is part of XEmacs. | |
| 8 | |
|
5404
91b3aa59f49b
Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
428
diff
changeset
|
9 ;; XEmacs is free software: you can redistribute it and/or modify it |
|
91b3aa59f49b
Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
428
diff
changeset
|
10 ;; under the terms of the GNU General Public License as published by the |
|
91b3aa59f49b
Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
428
diff
changeset
|
11 ;; Free Software Foundation, either version 3 of the License, or (at your |
|
91b3aa59f49b
Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
428
diff
changeset
|
12 ;; option) any later version. |
|
5290
e6508b64ee08
More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
428
diff
changeset
|
13 |
|
5404
91b3aa59f49b
Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
428
diff
changeset
|
14 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT |
|
91b3aa59f49b
Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
428
diff
changeset
|
15 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
91b3aa59f49b
Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
428
diff
changeset
|
16 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
91b3aa59f49b
Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
428
diff
changeset
|
17 ;; for more details. |
|
5290
e6508b64ee08
More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
428
diff
changeset
|
18 |
|
e6508b64ee08
More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
428
diff
changeset
|
19 ;; You should have received a copy of the GNU General Public License |
|
5404
91b3aa59f49b
Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
428
diff
changeset
|
20 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
|
5290
e6508b64ee08
More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
428
diff
changeset
|
21 |
| 428 | 22 ;;; Commentary: |
| 23 | |
| 24 ;; This is a prototype site-load.el file. | |
| 25 ;; The site-load.el mechanism is provided so XEmacs installers can easily | |
| 26 ;; dump lisp packages with XEmacs that do not get dumped standardly. | |
| 27 | |
| 28 ;; The file `site-packages' if it exists should look something like: | |
| 29 ;; (setq site-load-packages '( | |
| 30 ;; "../lisp/modes/cc-mode.elc" | |
| 31 ;; "../lisp/utils/redo.elc" | |
| 32 ;; "../lisp/packages/scroll-in-place.elc" | |
| 33 ;; ) | |
| 34 ;; ) | |
| 35 | |
| 36 ;; The first line and the last line must be exact. Each of the packages | |
| 37 ;; listed must be double quoted, have either an absolute path, or a relative | |
| 38 ;; to the build src directory path *and* be bytecompiled prior to the attempt | |
| 39 ;; to dump. They also must explicitly have the .elc extension. | |
| 40 | |
| 41 ;; Because this is a trial implementation and the file is shared with | |
| 42 ;; make-docfiles, syntax is strict and unforgiving. So sue me. It | |
| 43 ;; is still better than the way it used to be. | |
| 44 | |
| 45 ;; Also note that site-packages belongs in the top level directory not the | |
| 46 ;; lisp directory for use with --srcdir configurations. | |
| 47 | |
| 48 ;;; Code: | |
| 49 (defvar site-load-package-file "../site-packages" | |
| 50 "File name containing the list of extra packages to dump with XEmacs.") | |
| 51 (defvar site-load-packages nil | |
| 52 "A list of .elc files that should be dumped with XEmacs. | |
| 53 This variable should be set by `site-load-package-file'.") | |
| 54 | |
| 55 ;; Load site specific packages for dumping with the XEmacs binary. | |
| 56 (when (file-exists-p site-load-package-file) | |
| 57 (let ((file)) | |
| 58 (load site-load-package-file t t t) | |
| 59 ;; The `pureload' macro is provided as a clue that a package is | |
| 60 ;; being loaded in preparation of being dumped into XEmacs. | |
| 61 (defmacro pureload (file) | |
| 62 (list 'prog1 (list 'load file) '(garbage-collect))) | |
| 63 (message "Loading site-wide packages for dumping...") | |
| 64 (while site-load-packages | |
| 65 (setq file (car site-load-packages)) | |
| 66 (pureload file) | |
| 67 (setq site-load-packages (cdr site-load-packages))) | |
| 68 (message "Loading site-wide packages for dumping...done") | |
| 69 (fmakunbound 'pureload))) | |
| 70 | |
| 71 ;; This file is intended for end user additions. | |
| 72 ;; Put other initialization here, like setting of language-environment, etc. | |
| 73 ;; Perhaps this should really be in the site-init.el. | |
| 74 | |
| 75 ;;; site-load.el ends here |
