mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 18:40:39 -08:00
Deprecate intangible' and point-entered' properties
* lisp/emacs-lisp/cursor-sensor.el: New file. * lisp/simple.el (pre-redisplay-functions): New hook. (redisplay--pre-redisplay-functions): New function. (pre-redisplay-function): Use it. (minibuffer-avoid-prompt): Mark obsolete. (redisplay--update-region-highlight): Adapt it to work as a function on pre-redisplay-functions. * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun. (minibuffer-prompt-properties): Use it. Use cursor-intangible rather than point-entered to make the prompt intangible. * lisp/forms.el: Move `provide' calls to the end. (forms-mode): Don't use `run-hooks' on a local var. (forms--make-format, forms--make-format-elt-using-text-properties): Use cursor-intangible rather than `intangible'. (forms-mode): Enable cursor-intangible-mode. * lisp/isearch.el (isearch-mode): Use defvar-local. (cursor-sensor-inhibit): Declare. (isearch-mode): Set cursor-sensor-inhibit. (isearch-done): Set it back. (isearch-open-overlay-temporary, isearch-open-necessary-overlays) (isearch-close-unnecessary-overlays): Don't bother with `intangible' any more. * lisp/ses.el (ses-localvars): Remove `mode-line-process'. (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer): Add Edebug spec. (ses-goto-print, ses-print-cell, ses-adjust-print-width) (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind inhibit-point-motion-hooks any more. (ses--cell-at-pos, ses--curcell): New functions, extracted from ses-set-curcell. (ses-set-curcell): Use them. (ses-print-cell, ses-setup): Use cursor-intangible instead of `intangible'. Make sure cursor-intangible isn't sticky at BOB. (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all): Use ses--cell-at-pos. (ses--mode-line-process, ses--cursor-sensor-highlight): New functions, extracted from ses-command-hook. Make them work with multiple windows displaying the same buffer. (ses-mode): Use them via mode-line-process and pre-redisplay-functions. Enable cursor-intangible-mode. (ses-command-hook): Remove cell highlight and mode-line update code. (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column): Update for new name of text-property holding the cell name. (ses-rename-cell): Don't mess with mode-line-process. * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new cursor-sensor-functions property instead of point-entered. (erc-insert-timestamp-right, erc-format-timestamp): Use cursor-intangible rather than `intangible'. (erc-munge-invisibility-spec): Use add-to-invisibility-spec and remove-from-invisibility-spec. Enable cursor-intangible-mode and cursor-sensor-mode if needed. (erc-echo-timestamp): Adapt to calling convention of cursor-sensor-functions. (erc-insert-timestamp-right): Remove unused vars `current-window' and `indent'. * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare. (gnus-update-group-mark-positions): Remove unused `topic' var. (gnus-group-insert-group-line): Remove unused var `header'. (gnus-group--setup-tool-bar-update): New function. (gnus-group-insert-group-line): Use it. (gnus-group-update-eval-form): Declare local dynamically-bound variables. (gnus-group-unsubscribe-group): Use \` and \' to match string bounds. * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic) (gnus-group-prepare-topics, gnus-topic-update-topic) (gnus-topic-change-level, gnus-topic-catchup-articles) (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent): Use inhibit-read-only. (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update. (gnus-topic-mode): Use define-minor-mode and derived-mode-p. * lisp/textmodes/reftex-index.el (reftex-display-index): Use cursor-intangible-mode if available. (reftex-index-post-command-hook): Check cursor-intangible. * lisp/textmodes/reftex-toc.el (reftex-toc): Use cursor-intangible-mode if available. (reftex-toc-recenter, reftex-toc-post-command-hook): Check cursor-intangible. * lisp/textmodes/sgml-mode.el: Use lexical-binding. (sgml-tag): Use cursor-sensor-functions instead of point-entered. (sgml-tags-invisible): Use with-silent-modifications and inhibit-read-only. Enable cursor-sensor-mode. (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to calling convention of cursor-sensor-functions. * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook) (table-point-entered-cell-hook, table-point-left-cell-hook): Don't autoload. (table-cell-entered-state): Remove var. (table--put-cell-point-entered/left-property) (table--remove-cell-properties): Use cursor-sensor-functions rather than point-entered/left. (table--point-entered/left-cell-function): Merge table--point-entered-cell-function and table--point-left-cell-function and adjust to calling convention of cursor-sensor-functions.
This commit is contained in:
parent
b430d2a836
commit
84e0b7dad6
14 changed files with 603 additions and 340 deletions
|
|
@ -478,6 +478,26 @@ simple manner.")
|
|||
|
||||
(defvar gnus-group-edit-buffer nil)
|
||||
|
||||
(defvar gnus-tmp-news-method)
|
||||
(defvar gnus-tmp-colon)
|
||||
(defvar gnus-tmp-news-server)
|
||||
(defvar gnus-tmp-decoded-group)
|
||||
(defvar gnus-tmp-header)
|
||||
(defvar gnus-tmp-process-marked)
|
||||
(defvar gnus-tmp-summary-live)
|
||||
(defvar gnus-tmp-news-method-string)
|
||||
(defvar gnus-tmp-group-icon)
|
||||
(defvar gnus-tmp-moderated-string)
|
||||
(defvar gnus-tmp-newsgroup-description)
|
||||
(defvar gnus-tmp-comment)
|
||||
(defvar gnus-tmp-qualified-group)
|
||||
(defvar gnus-tmp-subscribed)
|
||||
(defvar gnus-tmp-number-of-read)
|
||||
(defvar gnus-inhibit-demon)
|
||||
(defvar gnus-pick-mode)
|
||||
(defvar gnus-tmp-marked-mark)
|
||||
(defvar gnus-tmp-number-of-unread)
|
||||
|
||||
(defvar gnus-group-line-format-alist
|
||||
`((?M gnus-tmp-marked-mark ?c)
|
||||
(?S gnus-tmp-subscribed ?c)
|
||||
|
|
@ -1140,8 +1160,7 @@ The following commands are available:
|
|||
(let ((gnus-process-mark ?\200)
|
||||
(gnus-group-update-hook nil)
|
||||
(gnus-group-marked '("dummy.group"))
|
||||
(gnus-active-hashtb (make-vector 10 0))
|
||||
(topic ""))
|
||||
(gnus-active-hashtb (make-vector 10 0)))
|
||||
(gnus-set-active "dummy.group" '(0 . 0))
|
||||
(gnus-set-work-buffer)
|
||||
(gnus-group-insert-group-line "dummy.group" 0 nil 0 nil)
|
||||
|
|
@ -1574,7 +1593,7 @@ if it is a string, only list groups matching REGEXP."
|
|||
gnus-process-mark ? ))
|
||||
(buffer-read-only nil)
|
||||
beg end
|
||||
header gnus-tmp-header) ; passed as parameter to user-funcs.
|
||||
gnus-tmp-header) ; passed as parameter to user-funcs.
|
||||
(beginning-of-line)
|
||||
(setq beg (point))
|
||||
(gnus-add-text-properties
|
||||
|
|
@ -1592,20 +1611,31 @@ if it is a string, only list groups matching REGEXP."
|
|||
gnus-indentation ,gnus-group-indentation
|
||||
gnus-level ,gnus-tmp-level))
|
||||
(setq end (point))
|
||||
(when gnus-group-update-tool-bar
|
||||
(gnus-put-text-property beg end 'point-entered
|
||||
'gnus-tool-bar-update)
|
||||
(gnus-put-text-property beg end 'point-left
|
||||
'gnus-tool-bar-update))
|
||||
(gnus-group--setup-tool-bar-update beg end)
|
||||
(forward-line -1)
|
||||
(when (inline (gnus-visual-p 'group-highlight 'highlight))
|
||||
(gnus-group-highlight-line gnus-tmp-group beg end))
|
||||
(gnus-run-hooks 'gnus-group-update-hook)
|
||||
(forward-line)))
|
||||
|
||||
(defun gnus-group--setup-tool-bar-update (beg end)
|
||||
(when gnus-group-update-tool-bar
|
||||
(if (fboundp 'cursor-sensor-mode)
|
||||
(progn
|
||||
(unless (bound-and-true-p cursor-sensor-mode)
|
||||
(cursor-sensor-mode 1))
|
||||
(gnus-put-text-property beg end 'cursor-sensor-functions
|
||||
#'gnus-tool-bar-update))
|
||||
(gnus-put-text-property beg end 'point-entered
|
||||
#'gnus-tool-bar-update)
|
||||
(gnus-put-text-property beg end 'point-left
|
||||
#'gnus-tool-bar-update))))
|
||||
|
||||
(defun gnus-group-update-eval-form (group list)
|
||||
"Eval `car' of each element of LIST, and return the first that return t.
|
||||
Some value are bound so the form can use them."
|
||||
(defvar group-age) (defvar ticked) (defvar score) (defvar level)
|
||||
(defvar mailp) (defvar total) (defvar unread)
|
||||
(when list
|
||||
(let* ((entry (gnus-group-entry group))
|
||||
(unread (if (numberp (car entry)) (car entry) 0))
|
||||
|
|
@ -3107,8 +3137,8 @@ If SOLID (the prefix), create a solid group."
|
|||
|
||||
(defvar nnrss-group-alist)
|
||||
(eval-when-compile
|
||||
(defun nnrss-discover-feed (arg))
|
||||
(defun nnrss-save-server-data (arg)))
|
||||
(defun nnrss-discover-feed (_arg))
|
||||
(defun nnrss-save-server-data (_arg)))
|
||||
(defun gnus-group-make-rss-group (&optional url)
|
||||
"Given a URL, discover if there is an RSS feed.
|
||||
If there is, use Gnus to create an nnrss group"
|
||||
|
|
@ -3757,7 +3787,7 @@ group line."
|
|||
nil nil (gnus-read-active-file-p))))
|
||||
(let ((newsrc (gnus-group-entry group)))
|
||||
(cond
|
||||
((string-match "^[ \t]*$" group)
|
||||
((string-match "\\`[ \t]*\\'" group)
|
||||
(error "Empty group name"))
|
||||
(newsrc
|
||||
;; Toggle subscription flag.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue