Mercurial > hg > xemacs-beta
annotate lisp/site-load.el @ 5753:dbd8305e13cb
Warn about non-string non-integer ARG to #'gensym, bytecomp.el.
lisp/ChangeLog addition:
2013-08-21 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el:
* bytecomp.el (gensym):
* bytecomp.el (byte-compile-gensym): New.
Warn that gensym called in a for-effect context is unlikely to be
useful.
Warn about non-string non-integer ARGs, this is incorrect.
Am not changing the function to error with same, most code that
makes the mistake is has no problems, which is why it has survived
so long.
* window-xemacs.el (save-window-excursion/mapping):
* window.el (save-window-excursion):
Call #'gensym with a string, not a symbol.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 21 Aug 2013 19:02:59 +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 |