From 89f01da2afd8b41f9af3937a8a1903c57916d19e Mon Sep 17 00:00:00 2001 From: Philipp Stephani Date: Tue, 19 Sep 2017 10:29:42 +0200 Subject: [PATCH] Make FILENAME argument of 'file-name-base' mandatory * lisp/files.el (file-name-base): Make FILENAME argument mandatory. * lisp/autoinsert.el (auto-insert-alist): * lisp/progmodes/cperl-mode.el (cperl-electric-pod): * lisp/progmodes/idlwave.el (idlwave-parse-definition): * lisp/textmodes/reftex-ref.el (reftex-replace-prefix-escapes): Fix all callers. --- doc/lispref/files.texi | 4 +--- etc/NEWS | 3 +++ lisp/autoinsert.el | 10 +++++----- lisp/files.el | 4 ++-- lisp/progmodes/cperl-mode.el | 2 +- lisp/progmodes/idlwave.el | 2 +- lisp/textmodes/reftex-ref.el | 2 +- 7 files changed, 14 insertions(+), 13 deletions(-) diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 6be998f0b2..e4a4bfe598 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -2106,7 +2106,7 @@ File Name Components not an extension. @end defun -@defun file-name-base &optional filename +@defun file-name-base filename This function is the composition of @code{file-name-sans-extension} and @code{file-name-nondirectory}. For example, @@ -2114,8 +2114,6 @@ File Name Components (file-name-base "/my/home/foo.c") @result{} "foo" @end example - -The @var{filename} argument defaults to @code{buffer-file-name}. @end defun @node Relative File Names diff --git a/etc/NEWS b/etc/NEWS index 371cdf686c..de93ae84fa 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -43,6 +43,9 @@ When you add a new item, use the appropriate mark if you are sure it applies, * Incompatible Lisp Changes in Emacs 27.1 +** The FILENAME argument to 'file-name-base' is now mandatory and no +longer defaults to 'buffer-file-name'. + * Lisp Changes in Emacs 27.1 diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el index 2820c8a9af..a43e068a4d 100644 --- a/lisp/autoinsert.el +++ b/lisp/autoinsert.el @@ -141,14 +141,14 @@ auto-insert-alist " .\\\" You may distribute this file under the terms of the GNU Free .\\\" Documentation License. -.TH " (file-name-base) +.TH " (file-name-base (buffer-file-name)) " " (file-name-extension (buffer-file-name)) " " (format-time-string "%Y-%m-%d ") "\n.SH NAME\n" - (file-name-base) + (file-name-base (buffer-file-name)) " \\- " str "\n.SH SYNOPSIS -.B " (file-name-base) +.B " (file-name-base (buffer-file-name)) "\n" _ " @@ -211,7 +211,7 @@ auto-insert-alist \(provide '" - (file-name-base) + (file-name-base (buffer-file-name)) ") \;;; " (file-name-nondirectory (buffer-file-name)) " ends here\n") (("\\.texi\\(nfo\\)?\\'" . "Texinfo file skeleton") @@ -219,7 +219,7 @@ auto-insert-alist "\\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename " - (file-name-base) ".info\n" + (file-name-base (buffer-file-name)) ".info\n" "@settitle " str " @c %**end of header @copying\n" diff --git a/lisp/files.el b/lisp/files.el index c55c8097c1..fe7cb1a8a9 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -4479,8 +4479,8 @@ file-name-extension ""))))) (defun file-name-base (&optional filename) - "Return the base name of the FILENAME: no directory, no extension. -FILENAME defaults to `buffer-file-name'." + "Return the base name of the FILENAME: no directory, no extension." + (declare (advertised-calling-convention (filename) "27.1")) (file-name-sans-extension (file-name-nondirectory (or filename (buffer-file-name))))) diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index abd77bd973..e956637572 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el @@ -2314,7 +2314,7 @@ cperl-electric-pod nil t)))) ; Only one (progn (forward-word-strictly 1) - (setq name (file-name-base) + (setq name (file-name-base (buffer-file-name)) p (point)) (insert " NAME\n\n" name " - \n\n=head1 SYNOPSIS\n\n\n\n" diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el index 9231e11890..92a42b1cb9 100644 --- a/lisp/progmodes/idlwave.el +++ b/lisp/progmodes/idlwave.el @@ -5240,7 +5240,7 @@ idlwave-parse-definition class (cond ((not (boundp 'idlwave-scanning-lib)) (list 'buffer (buffer-file-name))) -; ((string= (downcase (file-name-base)) +; ((string= (downcase (file-name-base (buffer-file-name)) ; (downcase name)) ; (list 'lib)) ; (t (cons 'lib (file-name-nondirectory (buffer-file-name)))) diff --git a/lisp/textmodes/reftex-ref.el b/lisp/textmodes/reftex-ref.el index c2c5ca3de0..f9f23201b4 100644 --- a/lisp/textmodes/reftex-ref.el +++ b/lisp/textmodes/reftex-ref.el @@ -314,7 +314,7 @@ reftex-replace-prefix-escapes (save-match-data (cond ((equal letter "f") - (file-name-base)) + (file-name-base (buffer-file-name))) ((equal letter "F") (let ((masterdir (file-name-directory (reftex-TeX-master-file))) (file (file-name-sans-extension (buffer-file-name)))) -- 2.14.1