[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 9a223da: Simplify expand_and_dir_to_file
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master 9a223da: Simplify expand_and_dir_to_file |
Date: |
Fri, 25 Aug 2017 12:32:14 -0400 (EDT) |
branch: master
commit 9a223dab9036ff72b16e7a9878af090c041fd0c6
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Simplify expand_and_dir_to_file
* src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
argument, since in practice it always has the default value. All
callers changed. Prefer C99 style decls in nearby code.
---
src/callproc.c | 2 +-
src/fileio.c | 85 +++++++++++++++++++---------------------------------------
src/lisp.h | 2 +-
3 files changed, 30 insertions(+), 59 deletions(-)
diff --git a/src/callproc.c b/src/callproc.c
index 4cec02b..b93d361 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -120,7 +120,7 @@ encode_current_directory (void)
if (NILP (dir))
dir = build_string ("~");
- dir = expand_and_dir_to_file (dir, Qnil);
+ dir = expand_and_dir_to_file (dir);
if (NILP (Ffile_accessible_directory_p (dir)))
report_file_error ("Setting current directory",
diff --git a/src/fileio.c b/src/fileio.c
index ca1bc50..76ea7da 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -1758,11 +1758,9 @@ those `/' is discarded. */)
(directory-file-name (expand-file-name FOO)). */
Lisp_Object
-expand_and_dir_to_file (Lisp_Object filename, Lisp_Object defdir)
+expand_and_dir_to_file (Lisp_Object filename)
{
- register Lisp_Object absname;
-
- absname = Fexpand_file_name (filename, defdir);
+ Lisp_Object absname = Fexpand_file_name (filename, Qnil);
/* Remove final slash, if any (unless this is the root dir).
stat behaves differently depending! */
@@ -2676,14 +2674,11 @@ Symbolic links to directories count as directories.
See `file-symlink-p' to distinguish symlinks. */)
(Lisp_Object filename)
{
- Lisp_Object absname;
- Lisp_Object handler;
-
- absname = expand_and_dir_to_file (filename, BVAR (current_buffer,
directory));
+ Lisp_Object absname = expand_and_dir_to_file (filename);
/* If the file name has special constructs in it,
call the corresponding file handler. */
- handler = Ffind_file_name_handler (absname, Qfile_directory_p);
+ Lisp_Object handler = Ffind_file_name_handler (absname, Qfile_directory_p);
if (!NILP (handler))
return call2 (handler, Qfile_directory_p, absname);
@@ -2807,15 +2802,12 @@ Symbolic links to regular files count as regular files.
See `file-symlink-p' to distinguish symlinks. */)
(Lisp_Object filename)
{
- register Lisp_Object absname;
struct stat st;
- Lisp_Object handler;
-
- absname = expand_and_dir_to_file (filename, BVAR (current_buffer,
directory));
+ Lisp_Object absname = expand_and_dir_to_file (filename);
/* If the file name has special constructs in it,
call the corresponding file handler. */
- handler = Ffind_file_name_handler (absname, Qfile_regular_p);
+ Lisp_Object handler = Ffind_file_name_handler (absname, Qfile_regular_p);
if (!NILP (handler))
return call2 (handler, Qfile_regular_p, absname);
@@ -2853,21 +2845,13 @@ Return (nil nil nil nil) if the file is nonexistent or
inaccessible,
or if SELinux is disabled, or if Emacs lacks SELinux support. */)
(Lisp_Object filename)
{
- Lisp_Object absname;
Lisp_Object user = Qnil, role = Qnil, type = Qnil, range = Qnil;
-
- Lisp_Object handler;
-#if HAVE_LIBSELINUX
- security_context_t con;
- int conlength;
- context_t context;
-#endif
-
- absname = expand_and_dir_to_file (filename, BVAR (current_buffer,
directory));
+ Lisp_Object absname = expand_and_dir_to_file (filename);
/* If the file name has special constructs in it,
call the corresponding file handler. */
- handler = Ffind_file_name_handler (absname, Qfile_selinux_context);
+ Lisp_Object handler = Ffind_file_name_handler (absname,
+ Qfile_selinux_context);
if (!NILP (handler))
return call2 (handler, Qfile_selinux_context, absname);
@@ -2876,10 +2860,11 @@ or if SELinux is disabled, or if Emacs lacks SELinux
support. */)
#if HAVE_LIBSELINUX
if (is_selinux_enabled ())
{
- conlength = lgetfilecon (SSDATA (absname), &con);
+ security_context_t con;
+ int conlength = lgetfilecon (SSDATA (absname), &con);
if (conlength > 0)
{
- context = context_new (con);
+ context_t context = context_new (con);
if (context_user_get (context))
user = build_string (context_user_get (context));
if (context_role_get (context))
@@ -2990,35 +2975,28 @@ Return nil if file does not exist or is not accessible,
or if Emacs
was unable to determine the ACL entries. */)
(Lisp_Object filename)
{
-#if USE_ACL
- Lisp_Object absname;
- Lisp_Object handler;
-# ifdef HAVE_ACL_SET_FILE
- acl_t acl;
- Lisp_Object acl_string;
- char *str;
-# ifndef HAVE_ACL_TYPE_EXTENDED
- acl_type_t ACL_TYPE_EXTENDED = ACL_TYPE_ACCESS;
-# endif
-# endif
+ Lisp_Object acl_string = Qnil;
- absname = expand_and_dir_to_file (filename,
- BVAR (current_buffer, directory));
+#if USE_ACL
+ Lisp_Object absname = expand_and_dir_to_file (filename);
/* If the file name has special constructs in it,
call the corresponding file handler. */
- handler = Ffind_file_name_handler (absname, Qfile_acl);
+ Lisp_Object handler = Ffind_file_name_handler (absname, Qfile_acl);
if (!NILP (handler))
return call2 (handler, Qfile_acl, absname);
# ifdef HAVE_ACL_SET_FILE
absname = ENCODE_FILE (absname);
- acl = acl_get_file (SSDATA (absname), ACL_TYPE_EXTENDED);
+# ifndef HAVE_ACL_TYPE_EXTENDED
+ acl_type_t ACL_TYPE_EXTENDED = ACL_TYPE_ACCESS;
+# endif
+ acl_t acl = acl_get_file (SSDATA (absname), ACL_TYPE_EXTENDED);
if (acl == NULL)
return Qnil;
- str = acl_to_text (acl, NULL);
+ char *str = acl_to_text (acl, NULL);
if (str == NULL)
{
acl_free (acl);
@@ -3028,12 +3006,10 @@ was unable to determine the ACL entries. */)
acl_string = build_string (str);
acl_free (str);
acl_free (acl);
-
- return acl_string;
# endif
#endif
- return Qnil;
+ return acl_string;
}
DEFUN ("set-file-acl", Fset_file_acl, Sset_file_acl,
@@ -3097,15 +3073,12 @@ DEFUN ("file-modes", Ffile_modes, Sfile_modes, 1, 1, 0,
Return nil, if file does not exist or is not accessible. */)
(Lisp_Object filename)
{
- Lisp_Object absname;
struct stat st;
- Lisp_Object handler;
-
- absname = expand_and_dir_to_file (filename, BVAR (current_buffer,
directory));
+ Lisp_Object absname = expand_and_dir_to_file (filename);
/* If the file name has special constructs in it,
call the corresponding file handler. */
- handler = Ffind_file_name_handler (absname, Qfile_modes);
+ Lisp_Object handler = Ffind_file_name_handler (absname, Qfile_modes);
if (!NILP (handler))
return call2 (handler, Qfile_modes, absname);
@@ -3232,20 +3205,18 @@ If FILE1 does not exist, the answer is nil;
otherwise, if FILE2 does not exist, the answer is t. */)
(Lisp_Object file1, Lisp_Object file2)
{
- Lisp_Object absname1, absname2;
struct stat st1, st2;
- Lisp_Object handler;
CHECK_STRING (file1);
CHECK_STRING (file2);
- absname1 = Qnil;
- absname1 = expand_and_dir_to_file (file1, BVAR (current_buffer, directory));
- absname2 = expand_and_dir_to_file (file2, BVAR (current_buffer, directory));
+ Lisp_Object absname1 = expand_and_dir_to_file (file1);
+ Lisp_Object absname2 = expand_and_dir_to_file (file2);
/* If the file name has special constructs in it,
call the corresponding file handler. */
- handler = Ffind_file_name_handler (absname1, Qfile_newer_than_file_p);
+ Lisp_Object handler = Ffind_file_name_handler (absname1,
+ Qfile_newer_than_file_p);
if (NILP (handler))
handler = Ffind_file_name_handler (absname2, Qfile_newer_than_file_p);
if (!NILP (handler))
diff --git a/src/lisp.h b/src/lisp.h
index 48cf3b3..81f8d6a 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -3998,7 +3998,7 @@ extern void syms_of_marker (void);
/* Defined in fileio.c. */
-extern Lisp_Object expand_and_dir_to_file (Lisp_Object, Lisp_Object);
+extern Lisp_Object expand_and_dir_to_file (Lisp_Object);
extern Lisp_Object write_region (Lisp_Object, Lisp_Object, Lisp_Object,
Lisp_Object, Lisp_Object, Lisp_Object,
Lisp_Object, int);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 9a223da: Simplify expand_and_dir_to_file,
Paul Eggert <=