quilt-patches-directory is a copy-paste of
quilt-pc-directory. Refactor the common code into a separate
function.

Signed-off-by: Ondřej Lysoněk <[email protected]>
---
 lib/quilt.el | 29 +++++++++++------------------
 1 file changed, 11 insertions(+), 18 deletions(-)

diff --git a/lib/quilt.el b/lib/quilt.el
index ae73f3d..66fb41a 100644
--- a/lib/quilt.el
+++ b/lib/quilt.el
@@ -29,12 +29,12 @@
   "Return t if there is on the bottom of patch stack, return nil if otherwise."
   (if (> (call-process "quilt" nil nil nil "applied") 0) 1))
 
-(defun quilt-patches-directory ()
-  "Return the location of patch files."
+(defun quilt--get-config-variable (var)
+  "Return the value of a configuration variable. Return nil if it is unset."
   (or (with-current-buffer (generate-new-buffer " *cmd")
         (shell-command
          (concat "test -f ~/.quiltrc && . ~/.quiltrc ;"
-                 "echo -n $QUILT_PATCHES")
+                 "echo -n $" var)
          t)
         (unwind-protect
             (let ((v (buffer-string)))
@@ -42,24 +42,17 @@
                   nil
                 v))
           (kill-buffer (current-buffer))))
-      (or (getenv "QUILT_PATCHES")
-          "patches")))
+      (getenv var)))
+
+(defun quilt-patches-directory ()
+  "Return the location of patch files."
+  (or (quilt--get-config-variable "QUILT_PATCHES")
+      "patches"))
 
 (defun quilt-pc-directory ()
   "Return the location of patch files."
-  (or (with-current-buffer (generate-new-buffer " *cmd")
-        (shell-command
-         (concat "test -f ~/.quiltrc && . ~/.quiltrc ;"
-                 "echo -n $QUILT_PC")
-         t)
-        (unwind-protect
-            (let ((v (buffer-string)))
-              (if (string= "" (buffer-string))
-                  nil
-                v))
-          (kill-buffer (current-buffer))))
-      (or (getenv "QUILT_PC")
-          ".pc")))
+  (or (quilt--get-config-variable "QUILT_PC")
+      ".pc"))
 
 (defun quilt-find-dir (fn &optional prefn)
   "Return the top level dir of quilt from FN."
-- 
2.25.4


_______________________________________________
Quilt-dev mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/quilt-dev

Reply via email to