comparison lisp/emacs-lisp/bytecomp.el @ 78631:1150fe1ceae5

(byte-compile-from-buffer): Check old-style backquotes after each `read' rather than once per buffer to get more precise location info.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 23 Aug 2007 18:19:56 +0000
parents bd2ba451e2af
children 4dcdcb6bc544 92ccd83174e6
comparison
equal deleted inserted replaced
78630:0a2e0422ddd5 78631:1150fe1ceae5
1819 (byte-compile-output nil) 1819 (byte-compile-output nil)
1820 ;; This allows us to get the positions of symbols read; it's 1820 ;; This allows us to get the positions of symbols read; it's
1821 ;; new in Emacs 22.1. 1821 ;; new in Emacs 22.1.
1822 (read-with-symbol-positions inbuffer) 1822 (read-with-symbol-positions inbuffer)
1823 (read-symbol-positions-list nil) 1823 (read-symbol-positions-list nil)
1824 (old-style-backquotes nil)
1825 ;; #### This is bound in b-c-close-variables. 1824 ;; #### This is bound in b-c-close-variables.
1826 ;; (byte-compile-warnings (if (eq byte-compile-warnings t) 1825 ;; (byte-compile-warnings (if (eq byte-compile-warnings t)
1827 ;; byte-compile-warning-types 1826 ;; byte-compile-warning-types
1828 ;; byte-compile-warnings)) 1827 ;; byte-compile-warnings))
1829 ) 1828 )
1857 (looking-at ";")) 1856 (looking-at ";"))
1858 (forward-line 1)) 1857 (forward-line 1))
1859 (not (eobp))) 1858 (not (eobp)))
1860 (setq byte-compile-read-position (point) 1859 (setq byte-compile-read-position (point)
1861 byte-compile-last-position byte-compile-read-position) 1860 byte-compile-last-position byte-compile-read-position)
1862 (let ((form (read inbuffer))) 1861 (let* ((old-style-backquotes nil)
1862 (form (read inbuffer)))
1863 ;; Warn about the use of old-style backquotes.
1864 (when old-style-backquotes
1865 (byte-compile-warn "!! The file uses old-style backquotes !!
1866 This functionality has been obsolete for more than 10 years already
1867 and will be removed soon. See (elisp)Backquote in the manual."))
1863 (byte-compile-file-form form))) 1868 (byte-compile-file-form form)))
1864 ;; Compile pending forms at end of file. 1869 ;; Compile pending forms at end of file.
1865 (byte-compile-flush-pending) 1870 (byte-compile-flush-pending)
1866 ;; Make warnings about unresolved functions 1871 ;; Make warnings about unresolved functions
1867 ;; give the end of the file as their position. 1872 ;; give the end of the file as their position.
1868 (setq byte-compile-last-position (point-max)) 1873 (setq byte-compile-last-position (point-max))
1869 (byte-compile-warn-about-unresolved-functions) 1874 (byte-compile-warn-about-unresolved-functions))
1870 ;; Warn about the use of old-style backquotes.
1871 (when old-style-backquotes
1872 (byte-compile-warn "!! The file uses old-style backquotes !!
1873 This functionality has been obsolete for more than 10 years already
1874 and will be removed soon. See (elisp)Backquote in the manual.")))
1875 ;; Fix up the header at the front of the output 1875 ;; Fix up the header at the front of the output
1876 ;; if the buffer contains multibyte characters. 1876 ;; if the buffer contains multibyte characters.
1877 (and filename (byte-compile-fix-header filename inbuffer outbuffer)))) 1877 (and filename (byte-compile-fix-header filename inbuffer outbuffer))))
1878 outbuffer)) 1878 outbuffer))
1879 1879