aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2016-12-07 23:18:36 -0800
committerGlenn Morris2016-12-07 23:18:36 -0800
commite63c489dd496e53b68b942d0b76e13b62117fae9 (patch)
treefc7b7cd01211c8d2c9d25ce50e60e38e1a6caf98
parentaf96803459cb777fa4528e02bd0f60c1d502638f (diff)
downloademacs-e63c489dd496e53b68b942d0b76e13b62117fae9.tar.gz
emacs-e63c489dd496e53b68b942d0b76e13b62117fae9.zip
Minor fix for symbol-file
* lisp/subr.el (symbol-file): Avoid false matches with "require" elements in load-history. (Bug#25109)
-rw-r--r--lisp/subr.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index 5da5bf8388a..7d4409e3167 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -1879,7 +1879,7 @@ definition, variable definition, or face definition only."
1879 (autoloadp (symbol-function symbol))) 1879 (autoloadp (symbol-function symbol)))
1880 (nth 1 (symbol-function symbol)) 1880 (nth 1 (symbol-function symbol))
1881 (let ((files load-history) 1881 (let ((files load-history)
1882 file) 1882 file match)
1883 (while files 1883 (while files
1884 (if (if type 1884 (if (if type
1885 (if (eq type 'defvar) 1885 (if (eq type 'defvar)
@@ -1890,7 +1890,8 @@ definition, variable definition, or face definition only."
1890 ;; We accept all types, so look for variable def 1890 ;; We accept all types, so look for variable def
1891 ;; and then for any other kind. 1891 ;; and then for any other kind.
1892 (or (member symbol (cdr (car files))) 1892 (or (member symbol (cdr (car files)))
1893 (rassq symbol (cdr (car files))))) 1893 (and (setq match (rassq symbol (cdr (car files))))
1894 (not (eq 'require (car match))))))
1894 (setq file (car (car files)) files nil)) 1895 (setq file (car (car files)) files nil))
1895 (setq files (cdr files))) 1896 (setq files (cdr files)))
1896 file))) 1897 file)))