# HG changeset patch # User Stefan Monnier # Date 1031613198 0 # Node ID 9e3ee43b52626a0caaf0ee706bbe09b099df6f15 # Parent 27533450eb3b56907ae170e37dc650959c563249 (symbol-file): Also work for autoloaded funcs. (syntax-after): New fun moved from syntax.el. diff -r 27533450eb3b -r 9e3ee43b5262 lisp/subr.el --- 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