(product-version (product-version product))
(product-code-name (product-code-name product))
(product-version-string (product-version-string product)))
(product-version (product-version product))
(product-code-name (product-code-name product))
(product-version-string (product-version-string product)))
- (` (progn
- (, product-def)
- (put (, feature) 'product
- (let ((product (product-find-by-name (, product-name))))
- (product-run-checkers product '(, product-version))
- (and (, product-family)
- (product-add-to-family (, product-family)
- (, product-name)))
- (product-add-feature product (, feature))
- (if (equal '(, product-version) (product-version product))
- product
- (vector (, product-name) (, product-family)
- '(, product-version) (, product-code-name)
- nil nil nil (, product-version-string)))))
- (, feature-def)))))
+ (` (progn
+ (, product-def)
+ (put (, feature) 'product
+ (let ((product (product-find-by-name (, product-name))))
+ (product-run-checkers product '(, product-version))
+ (and (, product-family)
+ (product-add-to-family (, product-family)
+ (, product-name)))
+ (product-add-feature product (, feature))
+ (if (equal '(, product-version) (product-version product))
+ product
+ (vector (, product-name) (, product-family)
+ '(, product-version) (, product-code-name)
+ nil nil nil (, product-version-string)))))
+ (, feature-def)))))
(defun product-string-1 (product &optional verbose)
"Return information of PRODUCT as a string of \"NAME/VERSION\".
(defun product-string-1 (product &optional verbose)
"Return information of PRODUCT as a string of \"NAME/VERSION\".
;;; @ End.
;;;
(provide 'product) ; beware of circular dependency.
(require 'apel-ver) ; these two files depend on each other.
(product-provide 'product 'apel-ver)
;;; @ End.
;;;
(provide 'product) ; beware of circular dependency.
(require 'apel-ver) ; these two files depend on each other.
(product-provide 'product 'apel-ver)
+;;;
+
+(require 'pym)
+
+(defconst-maybe emacs-major-version
+ (progn (string-match "^[0-9]+" emacs-version)
+ (string-to-int (substring emacs-version
+ (match-beginning 0)(match-end 0))))
+ "Major version number of this version of Emacs.")
+(defconst-maybe emacs-minor-version
+ (progn (string-match "^[0-9]+\\.\\([0-9]+\\)" emacs-version)
+ (string-to-int (substring emacs-version
+ (match-beginning 1)(match-end 1))))
+ "Minor version number of this version of Emacs.")