emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/ebdb c9faa7c 2/3: Fix US version of phone parsing


From: Eric Abrahamsen
Subject: [elpa] externals/ebdb c9faa7c 2/3: Fix US version of phone parsing
Date: Wed, 18 Aug 2021 13:05:35 -0400 (EDT)

branch: externals/ebdb
commit c9faa7ced1b58fb8b60af30785ec9323e217e39c
Author: Eric Abrahamsen <eric@ericabrahamsen.net>
Commit: Eric Abrahamsen <eric@ericabrahamsen.net>

    Fix US version of phone parsing
    
    * ebdb-i18n-basic.el (ebdb-parse-i18n): This worked for new phone
    numbers, but failed when editing existing phone numbers.
---
 ebdb-i18n-basic.el | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/ebdb-i18n-basic.el b/ebdb-i18n-basic.el
index d566a83..65843ee 100644
--- a/ebdb-i18n-basic.el
+++ b/ebdb-i18n-basic.el
@@ -100,21 +100,20 @@
   "Parse a US phone number.
 Uses first three digits as the area code, next seven as the
 number, and any remaining as an extension."
-  (let ((numstr (replace-regexp-in-string "[^[:digit:]]+" "" str))
-       ext)
-    (setq slots
-         (plist-put
-          (plist-put
-           slots :area-code
-           (string-to-number (substring numstr 0 3)))
-          :number (substring numstr 3 10)))
+  (let ((numstr (replace-regexp-in-string "[^[:digit:]]+" "" str)))
+    (unless (plist-get slots :area-code)
+      (setq slots
+           (plist-put slots :area-code
+                      (string-to-number (substring numstr 0 3)))
+           numstr (substring numstr 3)))
+    (setq slots (plist-put slots :number (substring numstr 0 7))
+         numstr (substring numstr 7))
     (condition-case nil
        (setq slots (plist-put
                     slots
                     :extension
-                    (when (and (setq ext (substring numstr 10))
-                               (null (string-empty-p ext)))
-                      (string-to-number ext))))
+                    (when (and (null (string-empty-p numstr))
+                               (string-to-number numstr)))))
       (args-out-of-range nil))
     slots))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]