;; (t nil)
;; ))
-(defun est-eval-value-as-journal-volume (value)
+(defun est-eval-value-as-journal-volume (value &optional short)
(let ((journal (car (or (concord-object-get value '<-journal/volume)
(concord-object-get value '<-volume))))
(vol-name (concord-object-get value '<-journal/volume*name))
(concord-object-get value '<-volume*number))
year 'cjk))))
)
- (if (setq ret (est-eval-value-as-object journal))
- (setq dest
- (list* ret " " dest)))
+ (unless short
+ (if (setq ret (est-eval-value-as-object journal))
+ (setq dest
+ (list* ret " " dest))))
(list* 'list '(:subtype sequence :separator "") dest)
)
((setq title (concord-object-get value 'title))
(defun est-eval-value-as-object-list (value &optional separator subtype)
(if (and (listp value)
(listp (cdr value)))
- (condition-case err
+ (condition-case nil
(let (props)
(if separator
(setq props (list :separator separator)))
(setq props (list* :subtype subtype props)))
(list* 'list props
(mapcar #'est-eval-value-as-object value)))
- (error err (format "%s" value)))
+ (error (format "%s" value)))
(format "%s" value)))
(defun est-eval-value-as-ids (value)
value))
(est-eval-value-default value)))
+(defun est-eval-value-as-journal-volumes (value &optional subtype)
+ (if (listp value)
+ (list* 'journal-volumes
+ (if subtype
+ '(:subtype unordered-list)
+ '(:separator " "))
+ (mapcar (lambda (volume)
+ (if (concord-object-p volume)
+ (est-eval-value-as-journal-volume volume 'short)
+ volume))
+ value))
+ (est-eval-value-default value)))
+
;;; @ format evaluator
;;;
(est-eval-value-as-created-works value))
((eq format 'unordered-created-work-list)
(est-eval-value-as-created-works value 'unordered-list))
+ ((eq format 'journal-volume-list)
+ (est-eval-value-as-journal-volumes value))
(t
(est-eval-value-default value)
))
(setq format (www-feature-value-format feature-name)))
(if (consp value)
(let ((ret (condition-case nil
- (nthcdr 127 value)
+ (nthcdr 255 value)
(error nil nil))))
(when ret
(setcdr ret