(MAKEIT.BAT): Modify for apel-ja@lists.chise.org.
[elisp/apel.git] / alist.el
index 4b656de..d8d8d18 100644 (file)
--- a/alist.el
+++ b/alist.el
@@ -19,8 +19,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Code:
 
@@ -40,19 +40,10 @@ return a new alist whose car is the new pair and cdr is ALIST."
 (defun del-alist (key alist)
   "Delete an element whose car equals KEY from ALIST.
 Return the modified ALIST."
-  (if (equal key (car (car alist)))
-      (cdr alist)
-    (let ((pr alist)
-         (r (cdr alist)))
-      (catch 'tag
-       (while (not (null r))
-         (if (equal key (car (car r)))
-             (progn
-               (rplacd pr (cdr r))
-               (throw 'tag alist)))
-         (setq pr r)
-         (setq r (cdr r)))
-       alist))))
+  (let ((pair (assoc key alist)))
+    (if pair
+       (delq pair alist)
+      alist)))
 
 ;;;###autoload
 (defun set-alist (symbol key value)