From: Mattias EngdegÄrd Date: Sun, 2 Mar 2025 14:21:21 +0000 (+0100) Subject: * lisp/wid-edit.el (widget-get): Make faster. X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4e893b81266ccc228cfb427b4d27e5d143884591;p=emacs.git * lisp/wid-edit.el (widget-get): Make faster. (cherry picked from commit 7b504f898d36b24d3ec4a55b9814edb27f379f6b) --- diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 9300c5018fb..eaaa9f89bad 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -633,12 +633,16 @@ The value can later be retrieved with `widget-get'." "In WIDGET, get the value of PROPERTY. The value could either be specified when the widget was created, or later with `widget-put'." - (let (value found) - (while (and widget (not found)) - (if (setq found (plist-member (cdr widget) property)) - (setq value (cadr found)) - (setq widget (get (widget-type widget) 'widget-type)))) - value)) + (let (value) + (while (and widget + (let ((found (plist-member (cdr widget) property))) + (cond (found + (setq value (cadr found)) + nil) + (t + (setq widget (get (widget-type widget) 'widget-type)) + t))))) + value)) (defun widget-get-indirect (widget property) "In WIDGET, get the value of PROPERTY.