(executable-make-buffer-file-executable-if-script-p): Renamed and

simplified.
This commit is contained in:
Dave Love 2000-06-09 09:59:41 +00:00
parent d18f678bf0
commit cc7e1d188e
2 changed files with 7 additions and 10 deletions

View file

@ -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 <handa@etl.go.jp>

View file

@ -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)