This makes startup a little crisper for me. The list of interpreted
functions generated with
(let (res)
(mapatoms
#'(lambda (sym) (if (and (fboundp sym)
(consp (symbol-function sym))
(eq 'lambda (car (symbol-function sym))))
(push sym res))))
res)
which misses uncompiled macros and custom.el getters and setters, among
others.
lisp/ChangeLog addition:
2007-07-25 Aidan Kehoe <kehoea(a)parhasard.net>
* dumped-lisp.el (preloaded-file-list):
No longer explicitly load version.el; if the constant
initialisation happens at compile time, not dump time, something
is seriously wrong, and byte-compiling emacs
* paths.el (initialize-xemacs-paths): Removed.
* setup-paths.el:
* setup-paths.el (initialize-xemacs-paths): New.
Moved initialize-xemacs-paths to setup-paths.el, in order that it
be byte-compiled.
* update-elc.el (unbytecompiled-lisp-files):
version.el is to be byte-compiled.
* version.el:
Remove information for what(1) that hasn't worked for years.
XEmacs Trunk source patch:
Diff command: cvs -q diff -u
Files affected: lisp/version.el
===================================================================
RCS lisp/update-elc.el
===================================================================
RCS lisp/setup-paths.el
===================================================================
RCS lisp/paths.el
===================================================================
RCS lisp/dumped-lisp.el
===================================================================
RCS
Index: lisp/dumped-lisp.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/dumped-lisp.el,v
retrieving revision 1.63
diff -u -r1.63 dumped-lisp.el
--- lisp/dumped-lisp.el 2007/07/22 22:03:31 1.63
+++ lisp/dumped-lisp.el 2007/07/25 15:10:35
@@ -32,8 +32,7 @@
"subr" ; load the most basic Lisp functions
"post-gc"
"replace" ; match-string used in version.el.
-
- "version.el" ; Ignore compiled-by-mistake version.elc
+ "version"
"cl"
"cl-extra"
Index: lisp/paths.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/paths.el,v
retrieving revision 1.6
diff -u -r1.6 paths.el
--- lisp/paths.el 2001/04/12 18:21:34 1.6
+++ lisp/paths.el 2007/07/25 15:10:35
@@ -127,137 +127,6 @@
;; at dump time. So we have to do contortions to make sure we don't
;; override values set in site-init.el.
-(defun initialize-xemacs-paths ()
- "Initialize the XEmacs path variables from the environment.
-Called automatically at dump time and run time. Do not call this.
-Will not override settings in site-init.el or site-run.el."
- (let ((l #'(lambda (var value)
- (let ((origsym (intern (concat "paths-el-original-"
- (symbol-name var)))))
- (if (running-temacs-p)
- (progn
- (set var value)
- (set origsym value))
- (and (eq (symbol-value var) (symbol-value origsym))
- (set var value)))))))
- (funcall
- l 'news-inews-program
- (cond ((file-exists-p "/usr/bin/inews") "/usr/bin/inews")
- ((file-exists-p "/usr/local/inews") "/usr/local/inews")
- ((file-exists-p "/usr/local/bin/inews") "/usr/local/bin/inews")
- ((file-exists-p "/usr/lib/news/inews") "/usr/lib/news/inews")
- (t "inews")))
-
- (funcall
- l 'mh-progs
- (cond ((file-directory-p "/usr/bin/mh") "/usr/bin/mh/") ;Ultrix
4.2
- ((file-directory-p "/usr/new/mh") "/usr/new/mh/") ;Ultrix
<4.2
- ((file-directory-p "/usr/local/bin/mh") "/usr/local/bin/mh/")
- ((file-directory-p "/usr/local/mh") "/usr/local/mh/")
- (t "/usr/local/bin/")))
-
- (funcall
- l 'mh-libs
- (cond ((file-directory-p "/usr/lib/mh") "/usr/lib/mh/") ;Ultrix
4.2
- ((file-directory-p "/usr/new/lib/mh")
- "/usr/new/lib/mh/") ;Ultrix <4.2
- ((file-directory-p "/usr/local/lib/mh") "/usr/local/lib/mh/")
- (t "/usr/local/bin/mh/")))
-
- (funcall
- l 'rmail-spool-directory
- (cond ((string-match "^[^-]+-[^-]+-sco3.2v4" system-configuration)
- "/usr/spool/mail/")
- ;; On The Bull DPX/2 /usr/spool/mail is used although
- ;; it is usg-unix-v.
- ((string-match "^m68k-bull-sysv3" system-configuration)
- "/usr/spool/mail/")
- ;; SVR4 and recent BSD are said to use this.
- ;; Rather than trying to know precisely which systems use it,
- ;; let's assume this dir is never used for anything else.
- ((file-exists-p "/var/mail")
- "/var/mail/")
- ((memq system-type '(dgux hpux usg-unix-v unisoft-unix rtu irix))
- "/usr/mail/")
- ((memq system-type '(linux))
- "/var/spool/mail/")
- (t "/usr/spool/mail/")))
-
- (funcall
- l 'sendmail-program
- (cond
- ((file-exists-p "/usr/lib/sendmail") "/usr/lib/sendmail")
- ((file-exists-p "/usr/sbin/sendmail") "/usr/sbin/sendmail")
- ((file-exists-p "/usr/ucblib/sendmail")
"/usr/ucblib/sendmail")
- (t "fakemail"))) ;In ../etc, to interface to /bin/mail.
-
- (funcall
- l 'remote-shell-program
- (cond
- ;; Some systems use rsh for the remote shell; others use that
- ;; name for the restricted shell and use remsh for the remote
- ;; shell. Let's try to guess based on what we actually find
- ;; out there. The restricted shell is almost certainly in
- ;; /bin or /usr/bin, so it's probably safe to assume that an
- ;; rsh found elsewhere is the remote shell program. The
- ;; converse is not true: /usr/bin/rsh could be either one, so
- ;; check that last.
- ((file-exists-p "/usr/ucb/remsh") "/usr/ucb/remsh")
- ((file-exists-p "/usr/bsd/remsh") "/usr/bsd/remsh")
- ((file-exists-p "/bin/remsh") "/bin/remsh")
- ((file-exists-p "/usr/bin/remsh") "/usr/bin/remsh")
- ((file-exists-p "/usr/local/bin/remsh")
"/usr/local/bin/remsh")
- ((file-exists-p "/usr/ucb/rsh") "/usr/ucb/rsh")
- ((file-exists-p "/usr/bsd/rsh") "/usr/bsd/rsh")
- ((file-exists-p "/usr/local/bin/rsh") "/usr/local/bin/rsh")
- ((file-exists-p "/usr/bin/rcmd") "/usr/bin/rcmd")
- ((file-exists-p "/bin/rcmd") "/bin/rcmd")
- ((file-exists-p "/bin/rsh") "/bin/rsh")
- ((file-exists-p "/usr/bin/rsh") "/usr/bin/rsh")
- (t "rsh")))
-
- (funcall
- l 'manual-program
- ;; Solaris 2 has both of these files; prefer /usr/ucb/man
- ;; because the other has nonstandard argument conventions.
- (if (file-exists-p "/usr/ucb/man")
- "/usr/ucb/man" "/usr/bin/man"))
-
- (funcall
- l 'directory-abbrev-alist
- ;; Try to match various conventions for automounter temporary
- ;; mount points. These temporary mount points may go away, so
- ;; it's important that we only try to read files under the
- ;; "advertised" mount point, rather than the temporary one, or it
- ;; will look like files have been deleted on us. Whoever came up
- ;; with this design is clearly a moron of the first order, but
- ;; now we're stuck with it, no doubt until the end of time.
- ;;
- ;; For best results, automounter junk should go near the front of this
- ;; list, and other user translations should come after it.
- ;;
- ;; Our code handles the following empirically observed conventions:
- ;; /net is an actual directory! (some systems are not broken!)
- ;; /net/HOST -> /tmp_mnt/net/HOST (`standard' old Sun automounter)
- ;; /net/HOST -> /tmp_mnt/HOST (BSDI 4.0)
- ;; /net/HOST -> /a/HOST (Freebsd 2.2.x)
- ;; /net/HOST -> /amd/HOST (seen in amd sample config files)
- ;;
- ;; If your system has a different convention, you may have to change this.
- ;; Don't forget to send in a patch!
- (when (file-directory-p "/net")
- (append
- (when (file-directory-p "/tmp_mnt")
- (if (file-directory-p "/tmp_mnt/net")
- '(("\\`/tmp_mnt/net/" . "/net/"))
- '(("\\`/tmp_mnt/" . "/net/"))))
- (when (file-directory-p "/a")
- '(("\\`/a/" . "/net/")))
- (when (file-directory-p "/amd")
- '(("\\`/amd/" . "/net/")))
- )))
-))
-
(if (running-temacs-p)
(initialize-xemacs-paths))
Index: lisp/setup-paths.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/setup-paths.el,v
retrieving revision 1.23
diff -u -r1.23 setup-paths.el
--- lisp/setup-paths.el 2007/02/05 15:19:18 1.23
+++ lisp/setup-paths.el 2007/07/25 15:10:35
@@ -336,4 +336,136 @@
(list data-directory)
(packages-find-package-data-path last-package-hierarchies)))
+;; Called from paths.el; in here so it gets byte-compiled.
+(defun initialize-xemacs-paths ()
+ "Initialize the XEmacs path variables from the environment.
+Called automatically at dump time and run time. Do not call this.
+Will not override settings in site-init.el or site-run.el."
+ (let ((l #'(lambda (var value)
+ (let ((origsym (intern (concat "paths-el-original-"
+ (symbol-name var)))))
+ (if (running-temacs-p)
+ (progn
+ (set var value)
+ (set origsym value))
+ (and (eq (symbol-value var) (symbol-value origsym))
+ (set var value)))))))
+ (funcall
+ l 'news-inews-program
+ (cond ((file-exists-p "/usr/bin/inews") "/usr/bin/inews")
+ ((file-exists-p "/usr/local/inews") "/usr/local/inews")
+ ((file-exists-p "/usr/local/bin/inews") "/usr/local/bin/inews")
+ ((file-exists-p "/usr/lib/news/inews") "/usr/lib/news/inews")
+ (t "inews")))
+
+ (funcall
+ l 'mh-progs
+ (cond ((file-directory-p "/usr/bin/mh") "/usr/bin/mh/") ;Ultrix
4.2
+ ((file-directory-p "/usr/new/mh") "/usr/new/mh/") ;Ultrix
<4.2
+ ((file-directory-p "/usr/local/bin/mh") "/usr/local/bin/mh/")
+ ((file-directory-p "/usr/local/mh") "/usr/local/mh/")
+ (t "/usr/local/bin/")))
+
+ (funcall
+ l 'mh-libs
+ (cond ((file-directory-p "/usr/lib/mh") "/usr/lib/mh/") ;Ultrix
4.2
+ ((file-directory-p "/usr/new/lib/mh")
+ "/usr/new/lib/mh/") ;Ultrix <4.2
+ ((file-directory-p "/usr/local/lib/mh") "/usr/local/lib/mh/")
+ (t "/usr/local/bin/mh/")))
+
+ (funcall
+ l 'rmail-spool-directory
+ (cond ((string-match "^[^-]+-[^-]+-sco3.2v4" system-configuration)
+ "/usr/spool/mail/")
+ ;; On The Bull DPX/2 /usr/spool/mail is used although
+ ;; it is usg-unix-v.
+ ((string-match "^m68k-bull-sysv3" system-configuration)
+ "/usr/spool/mail/")
+ ;; SVR4 and recent BSD are said to use this.
+ ;; Rather than trying to know precisely which systems use it,
+ ;; let's assume this dir is never used for anything else.
+ ((file-exists-p "/var/mail")
+ "/var/mail/")
+ ((memq system-type '(dgux hpux usg-unix-v unisoft-unix rtu irix))
+ "/usr/mail/")
+ ((memq system-type '(linux))
+ "/var/spool/mail/")
+ (t "/usr/spool/mail/")))
+
+ (funcall
+ l 'sendmail-program
+ (cond
+ ((file-exists-p "/usr/lib/sendmail") "/usr/lib/sendmail")
+ ((file-exists-p "/usr/sbin/sendmail") "/usr/sbin/sendmail")
+ ((file-exists-p "/usr/ucblib/sendmail")
"/usr/ucblib/sendmail")
+ (t "fakemail"))) ;In ../etc, to interface to /bin/mail.
+
+ (funcall
+ l 'remote-shell-program
+ (cond
+ ;; Some systems use rsh for the remote shell; others use that
+ ;; name for the restricted shell and use remsh for the remote
+ ;; shell. Let's try to guess based on what we actually find
+ ;; out there. The restricted shell is almost certainly in
+ ;; /bin or /usr/bin, so it's probably safe to assume that an
+ ;; rsh found elsewhere is the remote shell program. The
+ ;; converse is not true: /usr/bin/rsh could be either one, so
+ ;; check that last.
+ ((file-exists-p "/usr/ucb/remsh") "/usr/ucb/remsh")
+ ((file-exists-p "/usr/bsd/remsh") "/usr/bsd/remsh")
+ ((file-exists-p "/bin/remsh") "/bin/remsh")
+ ((file-exists-p "/usr/bin/remsh") "/usr/bin/remsh")
+ ((file-exists-p "/usr/local/bin/remsh")
"/usr/local/bin/remsh")
+ ((file-exists-p "/usr/ucb/rsh") "/usr/ucb/rsh")
+ ((file-exists-p "/usr/bsd/rsh") "/usr/bsd/rsh")
+ ((file-exists-p "/usr/local/bin/rsh") "/usr/local/bin/rsh")
+ ((file-exists-p "/usr/bin/rcmd") "/usr/bin/rcmd")
+ ((file-exists-p "/bin/rcmd") "/bin/rcmd")
+ ((file-exists-p "/bin/rsh") "/bin/rsh")
+ ((file-exists-p "/usr/bin/rsh") "/usr/bin/rsh")
+ (t "rsh")))
+
+ (funcall
+ l 'manual-program
+ ;; Solaris 2 has both of these files; prefer /usr/ucb/man
+ ;; because the other has nonstandard argument conventions.
+ (if (file-exists-p "/usr/ucb/man")
+ "/usr/ucb/man" "/usr/bin/man"))
+
+ (funcall
+ l 'directory-abbrev-alist
+ ;; Try to match various conventions for automounter temporary
+ ;; mount points. These temporary mount points may go away, so
+ ;; it's important that we only try to read files under the
+ ;; "advertised" mount point, rather than the temporary one, or it
+ ;; will look like files have been deleted on us. Whoever came up
+ ;; with this design is clearly a moron of the first order, but
+ ;; now we're stuck with it, no doubt until the end of time.
+ ;;
+ ;; For best results, automounter junk should go near the front of this
+ ;; list, and other user translations should come after it.
+ ;;
+ ;; Our code handles the following empirically observed conventions:
+ ;; /net is an actual directory! (some systems are not broken!)
+ ;; /net/HOST -> /tmp_mnt/net/HOST (`standard' old Sun automounter)
+ ;; /net/HOST -> /tmp_mnt/HOST (BSDI 4.0)
+ ;; /net/HOST -> /a/HOST (Freebsd 2.2.x)
+ ;; /net/HOST -> /amd/HOST (seen in amd sample config files)
+ ;;
+ ;; If your system has a different convention, you may have to change this.
+ ;; Don't forget to send in a patch!
+ (when (file-directory-p "/net")
+ (append
+ (when (file-directory-p "/tmp_mnt")
+ (if (file-directory-p "/tmp_mnt/net")
+ '(("\\`/tmp_mnt/net/" . "/net/"))
+ '(("\\`/tmp_mnt/" . "/net/"))))
+ (when (file-directory-p "/a")
+ '(("\\`/a/" . "/net/")))
+ (when (file-directory-p "/amd")
+ '(("\\`/amd/" . "/net/")))
+ )))
+))
+
;;; setup-paths.el ends here
Index: lisp/update-elc.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/update-elc.el,v
retrieving revision 1.36
diff -u -r1.36 update-elc.el
--- lisp/update-elc.el 2006/07/16 12:23:58 1.36
+++ lisp/update-elc.el 2007/07/25 15:10:35
@@ -117,8 +117,7 @@
'("paths.el"
"dumped-lisp.el"
"dumped-pkg-lisp.el"
- "raw-process.el"
- "version.el")
+ "raw-process.el")
"Lisp files that should not be byte compiled.
Files in `additional-dump-dependencies' do not need to be listed here.")
Index: lisp/version.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/version.el,v
retrieving revision 1.50
diff -u -r1.50 version.el
--- lisp/version.el 2002/08/28 05:36:32 1.50
+++ lisp/version.el 2007/07/25 15:10:35
@@ -129,14 +129,6 @@
;;; We hope that this alias is easier for people to find.
(define-function 'version 'emacs-version)
-;; Put the emacs version number into the `pure[]' array in a form that
-;; `what(1)' can extract from the executable or a core file. We don't
-;; actually need this to be pointed to from lisp; pure objects can't
-;; be GCed.
-(concat "\n@" "(#)" (emacs-version)
- "\n@" "(#)" "Configuration: "
- system-configuration "\n")
-
;;Local variables:
;;version-control: never
;;End:
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches