branch: externals/ebdb commit 365cf0c2cbca5e60aee745f32b728304abc8840f Author: Eric Abrahamsen <e...@ericabrahamsen.net> Commit: Eric Abrahamsen <e...@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)