Mercurial > emacs
changeset 6575:9aba6be8e460
(hack-local-variables-prop-line): Search two lines if "#!".
Ignore keyword `mode', since it's already been handled.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 29 Mar 1994 07:08:23 +0000 |
parents | f0e1ed0e82a7 |
children | 851ee89bae86 |
files | lisp/files.el |
diffstat | 1 files changed, 7 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/files.el Tue Mar 29 06:59:50 1994 +0000 +++ b/lisp/files.el Tue Mar 29 07:08:23 1994 +0000 @@ -974,20 +974,15 @@ ;; set-auto-mode should already have handled that. (save-excursion (goto-char (point-min)) - (skip-chars-forward " \t\n\r") - (let ((result '()) - (end (save-excursion (end-of-line) (point)))) + (let ((result nil) + (end (save-excursion (end-of-line (and (looking-at "^#!") 2)) (point)))) ;; Parse the -*- line into the `result' alist. (cond ((not (search-forward "-*-" end t)) ;; doesn't have one. nil) ((looking-at "[ \t]*\\([^ \t\n\r:;]+\\)\\([ \t]*-\\*-\\)") - ;; Simple form: "-*- MODENAME -*-". - (setq result - (list (cons 'mode - (intern (buffer-substring - (match-beginning 1) - (match-end 1))))))) + ;; Simple form: "-*- MODENAME -*-". Already handled. + nil) (t ;; Hairy form: '-*-' [ <variable> ':' <value> ';' ]* '-*-' ;; (last ";" is optional). @@ -1005,7 +1000,8 @@ (val (save-restriction (narrow-to-region (point) end) (read (current-buffer))))) - (setq result (cons (cons key val) result)) + (or (eq key 'mode) + (setq result (cons (cons key val) result))) (skip-chars-forward " \t;"))) (setq result (nreverse result)))) @@ -1026,10 +1022,7 @@ (y-or-n-p (format "Set local variables as specified in -*- line of %s? " (file-name-nondirectory buffer-file-name))))))) (while result - (let ((key (car (car result))) - (val (cdr (car result)))) - (or (eq key 'mode) - (hack-one-local-variable key val))) + (hack-one-local-variable (car (car result)) (cdr (car result))) (setq result (cdr result))))))) (defun hack-local-variables ()