Function: widget-field-end

widget-field-end is a byte-compiled function defined in wid-edit.el.gz.

Signature

(widget-field-end WIDGET)

Documentation

Return the end of WIDGET's editing field.

Source Code

;; Defined in /usr/src/emacs/lisp/wid-edit.el.gz
(defun widget-field-end (widget)
  "Return the end of WIDGET's editing field."
  (let ((overlay (widget-get widget :field-overlay)))
    ;; Don't subtract one if local-map works at the end of the overlay,
    ;; or if a special `boundary' field has been added after the widget
    ;; field.
    (if (overlayp overlay)
        ;; Don't proceed if overlay has been removed from buffer.
        (when (overlay-buffer overlay)
          (if (and (not (eq (with-current-buffer
                                (widget-field-buffer widget)
                              (save-restriction
                                ;; `widget-narrow-to-field' can be
                                ;; active when this function is called
                                ;; from a change-functions hook. So
                                ;; temporarily remove field narrowing
                                ;; before to call `get-char-property'.
                                (widen)
                                (get-char-property (overlay-end overlay)
                                                   'field)))
                            'boundary))
                   (or widget-field-add-space
                       (null (widget-get widget :size))))
              (1- (overlay-end overlay))
            (overlay-end overlay)))
      (cdr overlay))))