Subject: Re: uniquify -> uniquify, for more-consistent function names

From: Paul Eggert <[email-masked]>
Date: Sun, 4 Mar 2018 18:03:49 -0800

I installed the attached and am closing this old bug report.
>From 2ce98e571762c2277781f6e795721915eb383a1c Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email-masked]>
Date: Sun, 4 Mar 2018 17:53:07 -0800
Subject: [PATCH] uniqify -> uniquify

The latter spelling is more common both within Emacs and in
English-language sources in general (Bug#10048).
* lisp/eshell/esh-util.el (eshell-uniquify-list):
Rename from eshell-uniqify-list.  All callers changed.
* lisp/pcomplete.el (pcomplete-uniquify-list):
Rename from pcomplete-uniqify-list.  All callers changed.
---
 etc/NEWS                  |  7 +++++++
 lisp/eshell/em-cmpl.el    |  2 +-
 lisp/eshell/em-dirs.el    |  4 ++--
 lisp/eshell/em-pred.el    |  2 +-
 lisp/eshell/esh-util.el   |  5 ++++-
 lisp/org/org-pcomplete.el | 20 ++++++++++----------
 lisp/pcmpl-cvs.el         |  8 ++++----
 lisp/pcmpl-gnu.el         |  2 +-
 lisp/pcmpl-linux.el       |  6 +++---
 lisp/pcmpl-rpm.el         |  2 +-
 lisp/pcmpl-unix.el        |  2 +-
 lisp/pcomplete.el         |  7 +++++--
 12 files changed, 40 insertions(+), 27 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index c998ad6..07f6d04 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -259,6 +259,13 @@ To restore the old behavior, use
     (add-hook 'eshell-expand-input-functions
               #'eshell-expand-history-references)
 
+*** The function 'shell-uniquify-list' has been renamed from
+'eshell-uniqify-list'.
+
+** Pcomplete
+*** The function 'pcomplete-uniquify-list' has been renamed from
+'pcomplete-uniqify-list'.
+
 ** Tramp
 
 +++
diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el
index 1f44007..667bdeb 100644
--- a/lisp/eshell/em-cmpl.el
+++ b/lisp/eshell/em-cmpl.el
@@ -434,7 +434,7 @@ eshell-complete-commands-list
 	    (setq comps-in-path (cdr comps-in-path)))
 	  (setq paths (cdr paths)))
 	;; Add aliases which are currently visible, and Lisp functions.
-	(pcomplete-uniqify-list
+	(pcomplete-uniquify-list
 	 (if glob-name
 	     completions
 	   (setq completions
diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el
index 34bf821..ec380e6 100644
--- a/lisp/eshell/em-dirs.el
+++ b/lisp/eshell/em-dirs.el
@@ -282,7 +282,7 @@ eshell-parse-drive-letter
 (defvar pcomplete-stub)
 (defvar pcomplete-last-completion-raw)
 (declare-function pcomplete-actual-arg "pcomplete")
-(declare-function pcomplete-uniqify-list "pcomplete")
+(declare-function pcomplete-uniquify-list "pcomplete")
 
 (defun eshell-complete-user-reference ()
   "If there is a user reference, complete it."
@@ -293,7 +293,7 @@ eshell-complete-user-reference
       (throw 'pcomplete-completions
 	     (progn
 	       (eshell-read-user-names)
-	       (pcomplete-uniqify-list
+	       (pcomplete-uniquify-list
 		(mapcar
 		 (function
 		  (lambda (user)
diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el
index 61af404..b3b16d9 100644
--- a/lisp/eshell/em-pred.el
+++ b/lisp/eshell/em-pred.el
@@ -131,7 +131,7 @@ eshell-modifier-alist
     (?e . #'(lambda (lst) (mapcar 'file-name-extension lst)))
     (?t . #'(lambda (lst) (mapcar 'file-name-nondirectory lst)))
     (?q . #'(lambda (lst) (mapcar 'eshell-escape-arg lst)))
-    (?u . #'(lambda (lst) (eshell-uniqify-list lst)))
+    (?u . #'(lambda (lst) (eshell-uniquify-list lst)))
     (?o . #'(lambda (lst) (sort lst 'string-lessp)))
     (?O . #'(lambda (lst) (nreverse (sort lst 'string-lessp))))
     (?j . (eshell-join-members))
diff --git a/lisp/eshell/esh-util.el b/lisp/eshell/esh-util.el
index 5d38c27..5ef1ae4 100644
--- a/lisp/eshell/esh-util.el
+++ b/lisp/eshell/esh-util.el
@@ -295,7 +295,7 @@ eshell-flatten-list
 	(nconc new-list (list a))))
     (cdr new-list)))
 
-(defun eshell-uniqify-list (l)
+(defun eshell-uniquify-list (l)
   "Remove occurring multiples in L.  You probably want to sort first."
   (let ((m l))
     (while m
@@ -305,6 +305,9 @@ eshell-uniqify-list
 	(setcdr m (cddr m)))
       (setq m (cdr m))))
   l)
+(define-obsolete-function-alias
+  'eshell-uniqify-list
+  'eshell-uniquify-list "27.1")
 
 (defun eshell-stringify (object)
   "Convert OBJECT into a string value."
diff --git a/lisp/org/org-pcomplete.el b/lisp/org/org-pcomplete.el
index a7cc09d..1acb615 100644
--- a/lisp/org/org-pcomplete.el
+++ b/lisp/org/org-pcomplete.el
@@ -194,7 +194,7 @@ pcomplete/org-mode/file-option/language
   "Complete arguments for the #+LANGUAGE file option."
   (require 'ox)
   (pcomplete-here
-   (pcomplete-uniqify-list
+   (pcomplete-uniquify-list
     (list org-export-default-language "en"))))
 
 (defvar org-default-priority)
@@ -219,7 +219,7 @@ org-startup-options
 (defun pcomplete/org-mode/file-option/startup ()
   "Complete arguments for the #+STARTUP file option."
   (while (pcomplete-here
-	  (let ((opts (pcomplete-uniqify-list
+	  (let ((opts (pcomplete-uniquify-list
 		       (mapcar 'car org-startup-options))))
 	    ;; Some options are mutually exclusive, and shouldn't be completed
 	    ;; against if certain other options have already been seen.
@@ -248,7 +248,7 @@ pcomplete/org-mode/file-option/title
 (defun pcomplete/org-mode/file-option/options ()
   "Complete arguments for the #+OPTIONS file option."
   (while (pcomplete-here
-	  (pcomplete-uniqify-list
+	  (pcomplete-uniquify-list
 	   (append
 	    ;; Hard-coded OPTION items always available.
 	    '("H:" "\\n:" "num:" "timestamp:" "arch:" "author:" "c:"
@@ -267,7 +267,7 @@ pcomplete/org-mode/file-option/options
 (defun pcomplete/org-mode/file-option/infojs_opt ()
   "Complete arguments for the #+INFOJS_OPT file option."
   (while (pcomplete-here
-	  (pcomplete-uniqify-list
+	  (pcomplete-uniquify-list
 	   (mapcar (lambda (item) (format "%s:" (car item)))
 		   (bound-and-true-p org-html-infojs-opts-table))))))
 
@@ -283,7 +283,7 @@ org-link-abbrev-alist
 (defun pcomplete/org-mode/link ()
   "Complete against defined #+LINK patterns."
   (pcomplete-here
-   (pcomplete-uniqify-list
+   (pcomplete-uniquify-list
     (copy-sequence
      (append (mapcar 'car org-link-abbrev-alist-local)
 	     (mapcar 'car org-link-abbrev-alist))))))
@@ -293,13 +293,13 @@ pcomplete/org-mode/tex
   "Complete against TeX-style HTML entity names."
   (require 'org-entities)
   (while (pcomplete-here
-	  (pcomplete-uniqify-list (remove nil (mapcar 'car-safe org-entities)))
+	  (pcomplete-uniquify-list (remove nil (mapcar 'car-safe org-entities)))
 	  (substring pcomplete-stub 1))))
 
 (defvar org-todo-keywords-1)
 (defun pcomplete/org-mode/todo ()
   "Complete against known TODO keywords."
-  (pcomplete-here (pcomplete-uniqify-list (copy-sequence org-todo-keywords-1))))
+  (pcomplete-here (pcomplete-uniquify-list (copy-sequence org-todo-keywords-1))))
 
 (defvar org-todo-line-regexp)
 (defun pcomplete/org-mode/searchhead ()
@@ -315,14 +315,14 @@ pcomplete/org-mode/searchhead
 	       (push (org-make-org-heading-search-string
 		      (match-string-no-properties 3))
 		     tbl)))
-	   (pcomplete-uniqify-list tbl)))
+	   (pcomplete-uniquify-list tbl)))
        (substring pcomplete-stub 1))))
 
 (defun pcomplete/org-mode/tag ()
   "Complete a tag name.  Omit tags already set."
   (while (pcomplete-here
 	  (mapcar (lambda (x) (concat x ":"))
-		  (let ((lst (pcomplete-uniqify-list
+		  (let ((lst (pcomplete-uniquify-list
 			      (or (remq
 				   nil
 				   (mapcar (lambda (x) (org-string-nw-p (car x)))
@@ -339,7 +339,7 @@ pcomplete/org-mode/prop
   (pcomplete-here
    (mapcar (lambda (x)
 	     (concat x ": "))
-	   (let ((lst (pcomplete-uniqify-list
+	   (let ((lst (pcomplete-uniquify-list
 		       (copy-sequence
 			(org-buffer-property-keys nil t t t)))))
 	     (dolist (prop (org-entry-properties))
diff --git a/lisp/pcmpl-cvs.el b/lisp/pcmpl-cvs.el
index a3e2b2f..dedc007 100644
--- a/lisp/pcmpl-cvs.el
+++ b/lisp/pcmpl-cvs.el
@@ -122,7 +122,7 @@ pcmpl-cvs-commands
     (let (cmds)
       (while (re-search-forward "^\\s-+\\([a-z]+\\)" nil t)
 	(setq cmds (cons (match-string 1) cmds)))
-      (pcomplete-uniqify-list cmds))))
+      (pcomplete-uniquify-list cmds))))
 
 (defun pcmpl-cvs-modules ()
   "Return a list of available modules under CVS."
@@ -132,7 +132,7 @@ pcmpl-cvs-modules
     (let (entries)
       (while (re-search-forward "\\(\\S-+\\)$" nil t)
 	(setq entries (cons (match-string 1) entries)))
-      (pcomplete-uniqify-list entries))))
+      (pcomplete-uniquify-list entries))))
 
 (defun pcmpl-cvs-tags (&optional opers)
   "Return all the tags which could apply to the files related to OPERS."
@@ -149,7 +149,7 @@ pcmpl-cvs-tags
 	    (error "Error in output from `cvs status -v'"))
 	  (setq tags (cons (match-string 1) tags))
 	  (forward-line))))
-    (pcomplete-uniqify-list tags)))
+    (pcomplete-uniquify-list tags)))
 
 (defun pcmpl-cvs-entries (&optional opers)
   "Return the Entries for the current directory.
@@ -187,6 +187,6 @@ pcmpl-cvs-entries
                 (setq entries (cons text entries))))
             (forward-line)))))
     (setq pcomplete-stub nondir)
-    (pcomplete-uniqify-list entries)))
+    (pcomplete-uniquify-list entries)))
 
 ;;; pcmpl-cvs.el ends here
diff --git a/lisp/pcmpl-gnu.el b/lisp/pcmpl-gnu.el
index 505d10c..16c9926 100644
--- a/lisp/pcmpl-gnu.el
+++ b/lisp/pcmpl-gnu.el
@@ -125,7 +125,7 @@ pcmpl-gnu-make-rule-names
 	(while (re-search-forward
 		(concat "^\\s-*\\([^\n#%.$][^:=\n]*\\)\\s-*:[^=]") nil t)
 	  (setq rules (append (split-string (match-string 1)) rules))))
-      (pcomplete-uniqify-list rules))))
+      (pcomplete-uniquify-list rules))))
 
 (defcustom pcmpl-gnu-tarfile-regexp
   "\\.t\\(ar\\(\\.\\(gz\\|bz2\\|Z\\|xz\\)\\)?\\|gz\\|a[zZ]\\|z2\\)\\'"
diff --git a/lisp/pcmpl-linux.el b/lisp/pcmpl-linux.el
index ce42486..18cc647 100644
--- a/lisp/pcmpl-linux.el
+++ b/lisp/pcmpl-linux.el
@@ -43,7 +43,7 @@ pcomplete/kill
   "Completion for GNU/Linux `kill', using /proc filesystem."
   (if (pcomplete-match "^-\\(.*\\)" 0)
       (pcomplete-here
-       (pcomplete-uniqify-list
+       (pcomplete-uniquify-list
 	(split-string
 	 (pcomplete-process-result "kill" "-l")))
        (pcomplete-match-string 1 0)))
@@ -82,7 +82,7 @@ pcmpl-linux-mounted-directories
 		 (args (split-string line " ")))
 	    (setq points (cons (nth 1 args) points)))
 	  (forward-line)))
-      (pcomplete-uniqify-list points))))
+      (pcomplete-uniquify-list points))))
 
 (defun pcomplete-pare-list (l r)
   "Destructively remove from list L all elements matching any in list R.
@@ -109,7 +109,7 @@ pcmpl-linux-mountable-directories
 	    (setq points (cons (nth 1 args) points)))
 	  (forward-line)))
       (pcomplete-pare-list
-       (pcomplete-uniqify-list points)
+       (pcomplete-uniquify-list points)
        (cons "swap" (pcmpl-linux-mounted-directories))))))
 
 ;;; pcmpl-linux.el ends here
diff --git a/lisp/pcmpl-rpm.el b/lisp/pcmpl-rpm.el
index d3250ba..624547e 100644
--- a/lisp/pcmpl-rpm.el
+++ b/lisp/pcmpl-rpm.el
@@ -96,7 +96,7 @@ pcmpl-rpm-all-query
 		    (pcomplete-process-result
 		     "rpm" "-q" (car pkgs) flag)))
       (setq pkgs (cdr pkgs)))
-    (pcomplete-uniqify-list (cdr provs))))
+    (pcomplete-uniquifyxo-list (cdr provs))))
 
 (defsubst pcmpl-rpm-files ()
   (pcomplete-dirs-or-entries "\\.rpm\\'"))
diff --git a/lisp/pcmpl-unix.el b/lisp/pcmpl-unix.el
index 90dde26..1b11afd 100644
--- a/lisp/pcmpl-unix.el
+++ b/lisp/pcmpl-unix.el
@@ -111,7 +111,7 @@ pcmpl-unix-read-passwd-file
 						(point))) ":")))
 	    (setq names (cons (nth 0 fields) names)))
 	  (forward-line))))
-    (pcomplete-uniqify-list names)))
+    (pcomplete-uniquify-list names)))
 
 (defsubst pcmpl-unix-group-names ()
   "Read the contents of /etc/group for group names."
diff --git a/lisp/pcomplete.el b/lisp/pcomplete.el
index 6078dfd..e7d12c6 100644
--- a/lisp/pcomplete.el
+++ b/lisp/pcomplete.el
@@ -950,7 +950,7 @@ pcomplete-opt
 		(function
 		 (lambda (opt)
 		   (concat "-" opt)))
-		(pcomplete-uniqify-list choices))))
+		(pcomplete-uniquify-list choices))))
     (let ((arg (pcomplete-arg)))
       (when (and (> (length arg) 1)
 		 (stringp arg)
@@ -1269,7 +1269,7 @@ pcomplete--help
 
 ;; general utilities
 
-(defun pcomplete-uniqify-list (l)
+(defun pcomplete-uniquify-list (l)
   "Sort and remove multiples in L."
   (setq l (sort l 'string-lessp))
   (let ((m l))
@@ -1280,6 +1280,9 @@ pcomplete-uniqify-list
 	(setcdr m (cddr m)))
       (setq m (cdr m))))
   l)
+(define-obsolete-function-alias
+  'pcomplete-uniqify-list
+  'pcomplete-uniquify-list "27.1")
 
 (defun pcomplete-process-result (cmd &rest args)
   "Call CMD using `call-process' and return the simplest result."
-- 
2.7.4