From: Dave Love Date: Fri, 9 Jun 2000 09:59:41 +0000 (+0000) Subject: (executable-make-buffer-file-executable-if-script-p): Renamed and X-Git-Tag: emacs-pretest-21.0.90~3427 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cc7e1d188e2c0dec2a6f72c21bd79fdbd43bd10a;p=emacs.git (executable-make-buffer-file-executable-if-script-p): Renamed and simplified. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 33c5f78f5d1..abf1255da5a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -3,11 +3,11 @@ * executable.el: Byte compile dynamic. (executable-insert): Change custom type. (executable-find): Add autoload cookie. - (make-buffer-file-executable-if-script-p): New function. From - Noah Friedman. + (executable-make-buffer-file-executable-if-script-p): New + function. After Noah Friedman. * files.el (after-save-hook): Customize, with - make-buffer-file-executable-if-script-p as an option. + executable-make-buffer-file-executable-if-script-p as an option. 2000-06-09 Kenichi Handa diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el index 433ec730416..df373ba67fd 100644 --- a/lisp/progmodes/executable.el +++ b/lisp/progmodes/executable.el @@ -267,16 +267,13 @@ The magic number of such a command displays all lines but itself." (executable-set-magic executable-self-display "+2")) ;;;###autoload -(defun make-buffer-file-executable-if-script-p () +(defun executable-make-buffer-file-executable-if-script-p () "Make file executable according to umask if not already executable. If file already has any execute bits set at all, do not change existing file modes." - (and (save-excursion - (save-restriction - (widen) - (goto-char (point-min)) - (save-match-data - (looking-at "^#!")))) + (and (save-restriction + (widen) + (string= "#!" (buffer-substring 1 3))) (let* ((current-mode (file-modes (buffer-file-name))) (add-mode (logand ?\111 (default-file-modes)))) (or (/= (logand ?\111 current-mode) 0)