From 400e8286029ef08d2e8a6ab1b2a970c816c4662d Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 12 May 2014 09:25:53 -0400 Subject: [PATCH] * lisp/mpc.el (mpc-format): Trim Date to the year. (mpc-songs-hashcons): Shorten the Date field. --- lisp/ChangeLog | 3 +++ lisp/mpc.el | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0de3533c6c..4f5d0734ae 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2014-05-12 Stefan Monnier + * mpc.el (mpc-format): Trim Date to the year. + (mpc-songs-hashcons): Shorten the Date field. + * emacs-lisp/nadvice.el (advice--interactive-form): Don't get fooled into autoloading just because of a silly indirection. diff --git a/lisp/mpc.el b/lisp/mpc.el index d569610a61..d03edf86bb 100644 --- a/lisp/mpc.el +++ b/lisp/mpc.el @@ -1024,7 +1024,12 @@ If PLAYLIST is t or nil or missing, use the main playlist." (when (and (null val) (eq tag 'Title)) (setq val (cdr (assq 'file info)))) (push `(equal ',val (cdr (assq ',tag info))) pred) - val))))) + (cond + ((not (and (eq tag 'Date) (stringp val))) val) + ;; For "date", only keep the year! + ((string-match "[0-9]\\{4\\}" val) + (match-string 0 val)) + (t val))))))) (space (when size (setq size (string-to-number size)) (propertize " " 'display @@ -1866,7 +1871,7 @@ This is used so that they can be compared with `eq', which is needed for `text-property-any'.") (defun mpc-songs-hashcons (name) (or (gethash name mpc-songs-hashcons) (puthash name name mpc-songs-hashcons))) -(defcustom mpc-songs-format "%2{Disc--}%3{Track} %-5{Time} %25{Title} %20{Album} %20{Artist} %10{Date}" +(defcustom mpc-songs-format "%2{Disc--}%3{Track} %-5{Time} %25{Title} %20{Album} %20{Artist} %5{Date}" "Format used to display each song in the list of songs." :type 'string) -- 2.20.1