comparison lisp/emacs-lisp/bytecomp.el @ 97142:c3512b2085a0

* bitmaps/README: * xfns.c: * termcap.c: * term.c: * syswait.h: * systty.h: * systime.h: * syssignal.h: * sysdep.c: * process.h: * process.c: * print.c: * ndir.h: * lread.c: * keyboard.c: * getpagesize.h: * floatfns.c: * fileio.c: * emacs.c: * doc.c: * dispnew.c: * dired.c: * data.c: * callproc.c: * buffer.c: * README: * Makefile.in: * s/template.h: * s/msdos.h: * m/vax.h: Remove VMS support. * s/vms.h: * vlimit.h: * uaf.h: * temacs.opt: * param.h: * ioctl.h: Remove file. * descrip.mms: * compile.com: Remove file. * Create.c: Remove VMS support. * message.el (Module): * gnus-start.el (Module): * gnus-registry.el (Module): * textmodes/texinfmt.el: * nxml/nxml-enc.el: * mail/feedmail.el: * international/mule.el: * international/latexenc.el: * emulation/viper-util.el: * emulation/viper-init.el: * emulation/viper-ex.el: * emacs-lisp/bytecomp.el: * version.el: * subr.el: * startup.el: * sort.el: * shadowfile.el: * recentf.el: * printing.el: * paths.el: * minibuffer.el: * ls-lisp.el: * loadup.el: * hippie-exp.el: * finder.el: * files.el: * ediff-util.el: * ediff-ptch.el: * ediff-init.el: * ediff-diff.el: * dired.el: * dired-aux.el: * cus-edit.el: * bindings.el: * arc-mode.el: * add-log.el: Remove VMS support. * obsolete/vmsproc.el: * obsolete/vms-pmail.el: * obsolete/vms-patch.el: Remove file. * etags.c: * emacsclient.c: Remove VMS support. * termcap.src: Remove file. * README: * PROBLEMS: * MACHINES: Remove VMS info. * ediff.texi: Remove VMS support. * os.texi: * intro.texi: * files.texi: Remove VMS support. * emacs.texi: Remove VMS support. * make-dist: * README: Remove VMS support. * vms: Remove directory.
author Dan Nicolaescu <dann@ics.uci.edu>
date Thu, 31 Jul 2008 05:33:56 +0000
parents 2169bb17fe3d
children d0522fd272de
comparison
equal deleted inserted replaced
97141:840bd675fd85 97142:c3512b2085a0
195 195
196 (defgroup bytecomp nil 196 (defgroup bytecomp nil
197 "Emacs Lisp byte-compiler." 197 "Emacs Lisp byte-compiler."
198 :group 'lisp) 198 :group 'lisp)
199 199
200 (defcustom emacs-lisp-file-regexp (if (eq system-type 'vax-vms) 200 (defcustom emacs-lisp-file-regexp "\\.el$"
201 "\\.EL\\(;[0-9]+\\)?$"
202 "\\.el$")
203 "*Regexp which matches Emacs Lisp source files. 201 "*Regexp which matches Emacs Lisp source files.
204 You may want to redefine the function `byte-compile-dest-file' 202 You may want to redefine the function `byte-compile-dest-file'
205 if you change this variable." 203 if you change this variable."
206 :group 'bytecomp 204 :group 'bytecomp
207 :type 'regexp) 205 :type 'regexp)
223 "Convert an Emacs Lisp source file name to a compiled file name. 221 "Convert an Emacs Lisp source file name to a compiled file name.
224 If FILENAME matches `emacs-lisp-file-regexp' (by default, files 222 If FILENAME matches `emacs-lisp-file-regexp' (by default, files
225 with the extension `.el'), add `c' to it; otherwise add `.elc'." 223 with the extension `.el'), add `c' to it; otherwise add `.elc'."
226 (setq filename (byte-compiler-base-file-name filename)) 224 (setq filename (byte-compiler-base-file-name filename))
227 (setq filename (file-name-sans-versions filename)) 225 (setq filename (file-name-sans-versions filename))
228 (cond ((eq system-type 'vax-vms) 226 (cond ((string-match emacs-lisp-file-regexp filename)
229 (concat (substring filename 0 (string-match ";" filename)) "c"))
230 ((string-match emacs-lisp-file-regexp filename)
231 (concat (substring filename 0 (match-beginning 0)) ".elc")) 227 (concat (substring filename 0 (match-beginning 0)) ".elc"))
232 (t (concat filename ".elc"))))) 228 (t (concat filename ".elc")))))
233 229
234 ;; This can be the 'byte-compile property of any symbol. 230 ;; This can be the 'byte-compile property of any symbol.
235 (autoload 'byte-compile-inline-expand "byte-opt") 231 (autoload 'byte-compile-inline-expand "byte-opt")
1786 (message "Compiling %s...done" bytecomp-filename)) 1782 (message "Compiling %s...done" bytecomp-filename))
1787 (kill-buffer input-buffer) 1783 (kill-buffer input-buffer)
1788 (with-current-buffer output-buffer 1784 (with-current-buffer output-buffer
1789 (goto-char (point-max)) 1785 (goto-char (point-max))
1790 (insert "\n") ; aaah, unix. 1786 (insert "\n") ; aaah, unix.
1791 (let ((vms-stmlf-recfm t))
1792 (if (file-writable-p target-file) 1787 (if (file-writable-p target-file)
1793 ;; We must disable any code conversion here. 1788 ;; We must disable any code conversion here.
1794 (let ((coding-system-for-write 'no-conversion)) 1789 (let ((coding-system-for-write 'no-conversion))
1795 (if (memq system-type '(ms-dos 'windows-nt)) 1790 (if (memq system-type '(ms-dos 'windows-nt))
1796 (setq buffer-file-type t)) 1791 (setq buffer-file-type t))
1806 (signal 'file-error 1801 (signal 'file-error
1807 (list "Opening output file" 1802 (list "Opening output file"
1808 (if (file-exists-p target-file) 1803 (if (file-exists-p target-file)
1809 "cannot overwrite file" 1804 "cannot overwrite file"
1810 "directory not writable or nonexistent") 1805 "directory not writable or nonexistent")
1811 target-file)))) 1806 target-file)))
1812 (kill-buffer (current-buffer))) 1807 (kill-buffer (current-buffer)))
1813 (if (and byte-compile-generate-call-tree 1808 (if (and byte-compile-generate-call-tree
1814 (or (eq t byte-compile-generate-call-tree) 1809 (or (eq t byte-compile-generate-call-tree)
1815 (y-or-n-p (format "Report call tree for %s? " 1810 (y-or-n-p (format "Report call tree for %s? "
1816 bytecomp-filename)))) 1811 bytecomp-filename))))