From: Stefan Monnier Date: Tue, 13 Aug 2013 13:47:54 +0000 (-0400) Subject: * lisp/frameset.el (frameset--make): Rename constructor from make-frameset. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~1686^2~282 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1f585e652964d260e93ee8007a2128c2846365af;p=emacs.git * lisp/frameset.el (frameset--make): Rename constructor from make-frameset. (frameset-p, frameset-valid-p): Don't autoload. (frameset-valid-p): Use normal accessors. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 274ca3a3730..ff9f4ff8707 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2013-08-13 Stefan Monnier + + * frameset.el (frameset--make): Rename constructor from make-frameset. + (frameset-p, frameset-valid-p): Don't autoload. + (frameset-valid-p): Use normal accessors. + 2013-08-13 Glenn Morris * progmodes/compile.el (compile-command): Tweak example in doc. diff --git a/lisp/frameset.el b/lisp/frameset.el index a347599bb51..e334b4cb1fd 100644 --- a/lisp/frameset.el +++ b/lisp/frameset.el @@ -42,6 +42,7 @@ (cl-defstruct (frameset (:type vector) :named + (:constructor frameset--make) ;; Copier is defined below. (:copier nil)) @@ -129,36 +130,33 @@ root window of the frame.\n IMPORTANT: Modifying this slot may cause frameset functions to fail, unless the type constraints defined above are respected.\n\n(fn FRAMESET)") -;;;###autoload (autoload 'frameset-p "frameset" -;;;###autoload "Return non-nil if OBJECT is a frameset, nil otherwise." nil) +;; We autoloaded this for use in register.el, but now that we use registerv +;; objects, this autoload is not useful any more. +;; ;;;###autoload (autoload 'frameset-p "frameset" +;; ;;;###autoload "Return non-nil if OBJECT is a frameset, nil otherwise." nil) (defun frameset-copy (frameset) "Return a deep copy of FRAMESET. FRAMESET is copied with `copy-tree'." (copy-tree frameset t)) -;;;###autoload (defun frameset-valid-p (object) - "Return non-nil if OBJECT is a valid frameset, nil otherwise. - -The return value is nil if OBJECT is not a frameset, or not -a valid one, and the frameset version if it is valid." - (and (vectorp object) ; a vector - (>= (length object) 8) ; of the right length (future-proof) - (eq (aref object 0) 'frameset) ; tagged as `frameset' - (integerp (aref object 1)) ; VERSION is an int - (consp (aref object 2)) ; TIMESTAMP is a non-null list - (let ((app (aref object 3))) + "Return non-nil if OBJECT is a valid frameset, nil otherwise." + (and (frameset-p object) + (integerp (frameset-version object)) + (consp (frameset-timestamp object)) + (let ((app (frameset-app object))) (or (null app) ; APP is nil (symbolp app) ; or a symbol (and (consp app) ; or a list (symbolp (car app))))) ; starting with a symbol - (stringp (or (aref object 4) "")) ; NAME is a string or nil - (stringp (or (aref object 5) "")) ; DESCRIPTION is a string or nil - (listp (aref object 6)) ; PROPERTIES is a list - (listp (aref object 7)) ; and STATES is, too - (cl-every #'consp (aref object 7)) ; and an alist - (aref object 1))) ; return VERSION + (stringp (or (frameset-name object) "")) + (stringp (or (frameset-description object) "")) + (listp (frameset-properties object)) + (let ((states (frameset-states object))) + (and (listp states) + (cl-every #'consp (frameset-states object)))) + (frameset-version object))) ; And VERSION is non-nil. ;; A setf'able accessor to the frameset's properties (defun frameset-prop (frameset property) @@ -755,7 +753,7 @@ PROPERTIES is a user-defined property list to add to the frameset." list))) fs) (frameset--record-minibuffer-relationships frames) - (setq fs (make-frameset + (setq fs (frameset--make :app app :name name :description description