summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/cursor-sensor.el
Commit message (Collapse)AuthorAgeFilesLines
* * lisp/emacs-lisp/cursor-sensor.el: Fix sensor behavior with overlaysStefan Monnier2019-03-081-2/+2
| | | | | | (cursor-sensor--detect): Also consult overlay properties when checking to see if we just moved inside the same "element" as opposed to changing from one to another of the same type.
* Update copyright year to 2019Paul Eggert2019-01-011-1/+1
| | | | Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
* * lisp/emacs-lisp/cursor-sensor.el: Add motivationStefan Monnier2018-12-091-0/+21
|
* Improve documentation of cursor-sensor.el (bug#33664)Stefan Monnier2018-12-091-7/+19
| | | | | | * doc/lispref/text.texi (Special Properties): Mention cursor-sensor-inhibit. * lisp/emacs-lisp/cursor-sensor.el (Commentary): Add cursor-sensor-mode. (cursor-sensor-inhibit): Add docstring.
* Update copyright year to 2018Paul Eggert2018-01-011-1/+1
| | | | Run admin/update-copyright.
* Prefer HTTPS to FTP and HTTP in documentationPaul Eggert2017-09-131-1/+1
| | | | | | | | | | | | | Most of this change is to boilerplate commentary such as license URLs. This change was prompted by ftp://ftp.gnu.org's going-away party, planned for November. Change these FTP URLs to https://ftp.gnu.org instead. Make similar changes for URLs to other organizations moving away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and fsf.org when this works, as this will further help defend against man-in-the-middle attacks (for this part I omitted the MS-DOS and MS-Windows sources and the test tarballs to keep the workload down). HTTPS is not fully working to lists.gnu.org so I left those URLs alone for now.
* Update copyright year to 2017Paul Eggert2016-12-311-1/+1
| | | | Run admin/update-copyright.
* Don't assume window-point and point are the sameNoam Postavsky2016-12-061-1/+1
| | | | | | | | | | | The function `cursor-sensor--detect' calls `bobp' to decide whether to check properties at (1- (window-point)). However, (window-point) may be at beginning of buffer, even if (point) is not. In this case an `args-out-of-range' error will be signaled (Bug#25104). * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the value of (window-point) against (point-min), rather than (bobp) to decide if (1- (window-point)) is accessible.
* Autoload cursor-sensor-inhibit (bug#23406)Leo Liu2016-04-301-0/+1
| | | | | * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor-inhibit): Autoload. * lisp/isearch.el (isearch-update): Remove boundp check.
* Fix (args-out-of-range 1) error in cursor-sensor--detectLeo Liu2016-03-211-1/+1
| | | | | * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't hard-code (point-min) as 1 which fails in narrowed buffers.
* Document obsoletion of 'intangible' and 'point-entered/left'Eli Zaretskii2016-01-131-2/+2
| | | | | | | | | | | * doc/lispref/text.texi (Special Properties): Document the new properties 'cursor-intangible' and 'cursor-sensor-functions'. Document the obsolete status of 'intangible', 'pointer-left', and 'point-entered' properties, and of 'inhibit-point-motion-hooks'. * doc/lispref/display.texi (Overlay Properties): Document that 'intangible' overlay property is obsolete. * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor-mode): Doc fix.
* Update copyright year to 2016Paul Eggert2016-01-011-1/+1
| | | | Run admin/update-copyright.
* Avoid errors in redisplay--pre-redisplay-functionsEli Zaretskii2015-10-311-1/+1
| | | | | * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't use 'bobp', instead compare window-point with 1. (Bug#21730)
* Deprecate `intangible' and `point-entered' propertiesStefan Monnier2015-04-131-0/+180
* 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.