Mercurial > emacs
changeset 47355:9e3ee43b5262
(symbol-file): Also work for autoloaded funcs.
(syntax-after): New fun moved from syntax.el.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Mon, 09 Sep 2002 23:13:18 +0000 |
parents | 27533450eb3b |
children | c4da69acaa79 |
files | lisp/subr.el |
diffstat | 1 files changed, 19 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/subr.el Mon Sep 09 22:45:09 2002 +0000 +++ b/lisp/subr.el Mon Sep 09 23:13:18 2002 +0000 @@ -919,14 +919,16 @@ either an absolute file name, or a library name \(with no directory name and no `.el' or `.elc' at the end). It can also be nil, if the definition is not associated with any file." -;;; (load-symbol-file-load-history) - (let ((files load-history) - file functions) - (while files - (if (memq function (cdr (car files))) - (setq file (car (car files)) files nil)) - (setq files (cdr files))) - file)) + (if (and (symbolp function) (fboundp function) + (eq 'autoload (car-safe (symbol-function function)))) + (nth 1 (symbol-function function)) + (let ((files load-history) + file functions) + (while files + (if (memq function (cdr (car files))) + (setq file (car (car files)) files nil)) + (setq files (cdr files))) + file))) ;;;; Specifying things to do after certain files are loaded. @@ -952,7 +954,7 @@ (featurep file) ;; Make sure `load-history' contains the files dumped with ;; Emacs for the case that FILE is one of them. - ;;; (load-symbol-file-load-history) + ;; (load-symbol-file-load-history) (assoc file load-history)) (eval form)))) form) @@ -1862,6 +1864,14 @@ (set-char-table-parent table (or oldtable (standard-syntax-table))) table)) +(defun syntax-after (pos) + "Return the syntax of the char after POS." + (unless (or (< pos (point-min)) (>= pos (point-max))) + (let ((st (if parse-sexp-lookup-properties + (get-char-property pos 'syntax-table)))) + (if (consp st) st + (aref (or st (syntax-table)) (char-after pos)))))) + (defun add-to-invisibility-spec (arg) "Add elements to `buffer-invisibility-spec'. See documentation for `buffer-invisibility-spec' for the kind of elements