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

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

[elpa] externals/ebdb 365cf0c: Don't attempt to specialize on &optional


From: Eric Abrahamsen
Subject: [elpa] externals/ebdb 365cf0c: Don't attempt to specialize on &optional arguments
Date: Thu, 26 Aug 2021 15:01:26 -0400 (EDT)

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

    Don't attempt to specialize on &optional arguments
    
    That doesn't work, and in most cases actually breaks the function
    definitions altogether. Bonus: we now have zero compiler warnings.
    
    * ebdb-com.el:
    * ebdb-format.el: Optional args cannot be specialized.
---
 ebdb-com.el    | 13 +++++--------
 ebdb-format.el | 12 ++++--------
 2 files changed, 9 insertions(+), 16 deletions(-)

diff --git a/ebdb-com.el b/ebdb-com.el
index 881c264..734aadb 100644
--- a/ebdb-com.el
+++ b/ebdb-com.el
@@ -541,32 +541,29 @@ choice: that formatter should be selected explicitly."
 (cl-defmethod ebdb-fmt-field-label :around ((_fmt ebdb-formatter-ebdb)
                                            _field
                                            _style
-                                           &optional
-                                           (_record ebdb-record))
+                                           &optional _record)
   (propertize (cl-call-next-method) 'face 'ebdb-label))
 
 (cl-defmethod ebdb-fmt-field-label ((_fmt ebdb-formatter-ebdb)
                                    (field ebdb-field-phone)
                                    (_style (eql oneline))
-                                   &optional
-                                   (_record ebdb-record))
+                                   &optional _record)
   (format "phone (%s)" (ebdb-field-label field)))
 
 (cl-defmethod ebdb-fmt-field-label ((_fmt ebdb-formatter-ebdb)
                                    (field ebdb-field-address)
                                    (_style (eql oneline))
-                                   &optional
-                                   (_record ebdb-record))
+                                   &optional _record)
   (format "address (%s)" (ebdb-field-label field)))
 
 (cl-defmethod ebdb-fmt-field-label ((_fmt ebdb-formatter-ebdb)
                                    (field ebdb-field-relation)
                                    _style
-                                   &optional (record ebdb-record))
+                                   &optional record)
   ;; If FIELD doesn't belong to RECORD, we're showing a reverse
   ;; relationship.
   (let ((rel-id (slot-value field 'rel-uuid)))
-    (if (equal (ebdb-record-uuid record) rel-id)
+    (if (and record (equal (ebdb-record-uuid record) rel-id))
        (slot-value field 'rel-label)
       (ebdb-field-label field))))
 
diff --git a/ebdb-format.el b/ebdb-format.el
index b12c173..ceb02bf 100644
--- a/ebdb-format.el
+++ b/ebdb-format.el
@@ -223,29 +223,25 @@ a symbol indicating a style of some sort, such as 
'compact or
 (cl-defmethod ebdb-fmt-field-label ((_fmt ebdb-formatter)
                                    (cls (subclass ebdb-field))
                                    _style
-                                   &optional
-                                   (_record ebdb-record))
+                                   &optional _record)
   (ebdb-field-readable-name cls))
 
 (cl-defmethod ebdb-fmt-field-label ((_fmt ebdb-formatter)
                                    (field ebdb-field)
                                    _style
-                                   &optional
-                                   (_record ebdb-record))
+                                   &optional _record)
   (ebdb-field-readable-name field))
 
 (cl-defmethod ebdb-fmt-field-label ((_fmt ebdb-formatter)
                                    (field ebdb-field-labeled)
                                    _style
-                                   &optional
-                                   (_record ebdb-record))
+                                   &optional _record)
   (ebdb-field-label field))
 
 (cl-defmethod ebdb-fmt-field-label ((_fmt ebdb-formatter)
                                    (field ebdb-field-labeled)
                                    (_style (eql compact))
-                                   &optional
-                                   (_record ebdb-record))
+                                   &optional _record)
   (ebdb-field-readable-name field))
 
 (cl-defmethod ebdb-fmt-field ((fmt ebdb-formatter)



reply via email to

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