Function: vtable--drag-resize-column
vtable--drag-resize-column is an interactive and byte-compiled
function defined in vtable.el.gz.
Signature
(vtable--drag-resize-column E &optional NEXT)
Documentation
Resize the column by dragging.
If NEXT, do the next column.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/vtable.el.gz
(defun vtable--drag-resize-column (e &optional next)
"Resize the column by dragging.
If NEXT, do the next column."
(interactive "e")
(let* ((pos-start (event-start e))
(obj (posn-object pos-start)))
(with-current-buffer (window-buffer (posn-window pos-start))
(let ((column
;; In the header line we have a text property on the
;; divider.
(or (get-text-property (if obj (cdr obj)
(posn-point pos-start))
'vtable-column
(car obj))
;; For reasons of efficiency, we don't have that in
;; the buffer itself, so find the column.
(save-excursion
(goto-char (posn-point pos-start))
(1+
(get-text-property
(prop-match-beginning
(text-property-search-backward 'vtable-column))
'vtable-column)))))
(start-x (car (posn-x-y pos-start)))
(end-x (car (posn-x-y (event-end e)))))
(when (or (> column 0) next)
(vtable--alter-column-width (vtable-current-table)
(if next
column
(1- column))
(- end-x start-x)))))))