aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/progmodes/executable.el11
2 files changed, 7 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 33c5f78f5d..abf1255da5 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 <[email protected]>
diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el
index 433ec73041..df373ba67f 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)