Commit graph

159 commits

Author SHA1 Message Date
Sean Whitton
c31f6adc31 ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
Stefan Kangas
49e019fbbc ; * lisp/follow.el (follow-mode-prefix-key): Improve. 2025-03-18 00:16:29 +01:00
Stefan Kangas
b51fb2e107 Fix loading follow.el
* lisp/follow.el (follow-mode-prefix-key): Avoid changing
follow-mode-map before it is defined.  (Bug#76977)
* test/lisp/follow-tests.el: New file.
2025-03-13 08:14:36 +01:00
Stefan Kangas
77b7e2d37b Automatically document when setopt is needed
* lisp/help-fns.el (help--recommend-setopt): New function to
automatically document the need to use `setopt` to set the values of
any defcustoms with a `:set` property.
(help-fns-describe-variable-functions): Add above new function to
hook.

* lisp/follow.el (follow-mode-prefix-key):
* lisp/minibuffer.el (minibuffer-regexp-prompts):
* lisp/register.el (register-use-preview):
* lisp/savehist.el (savehist-autosave-interval):
* lisp/saveplace.el (save-place-autosave-interval):
* lisp/tab-bar.el (tab-bar-define-keys):
* lisp/textmodes/text-mode.el (text-mode-ispell-word-completion):
Delete now redundant text from docstrings.
2025-03-12 00:40:17 +01:00
Stefan Kangas
57f7d5f44a Delete XEmacs compatibility kludge from follow.el
* lisp/follow.el (follow-select-if-end-visible): Remove XEmacs
compatibility kludge.
2025-03-11 23:36:19 +01:00
Stefan Kangas
27b31ebeaf New user option follow-mode-prefix-key
* lisp/follow.el (Commentary): Document modern keymap functions.
(follow-mode-prefix): Make obsolete in favor of...
(follow-mode-prefix-key): ...this new user option.  Allow changing the
prefix using `setopt`.
(follow-mode-submap): New variable.
(follow-mode-map): Define using defvar-keymap.
2025-03-11 23:36:16 +01:00
Paul Eggert
4da38c6321 Update copyright year to 2025
Run "TZ=UTC0 admin/update-copyright".
2025-01-01 07:39:17 +00:00
Juri Linkov
8aabd83574 * lisp/follow.el: Put property 'isearch-scroll' on 'follow-recenter'. 2024-03-07 09:56:02 +02:00
Stefan Kangas
5c12e988ab doc: Delete extraneous quotes around keys
* lisp/allout.el (allout-outlinify-sticky):
* lisp/auth-source.el (auth-sources):
* lisp/buff-menu.el (Buffer-menu-delete)
(Buffer-menu-delete-backwards, Buffer-menu-save)
(Buffer-menu-execute, Buffer-menu-select):
* lisp/calendar/todo-mode.el (todo-show)
(todo-show-categories-table, todo-top-priorities-overrides):
* lisp/desktop.el (desktop-save-mode):
* lisp/dired-aux.el (dired-do-kill-lines, dired-do-copy):
* lisp/edmacro.el (edit-kbd-macro):
* lisp/emulation/viper-cmd.el (viper-ask-level):
* lisp/emulation/viper-init.el (viper-expert-level):
* lisp/filesets.el (filesets-add-buffer):
* lisp/follow.el (follow-mode):
* lisp/gnus/gnus-group.el (gnus-group-mode):
* lisp/gnus/gnus-sum.el (gnus-summary-mode):
* lisp/ibuffer.el (ibuffer-mode):
* lisp/international/ogonek.el (ogonek-informacja)
(ogonek-information):
* lisp/isearch.el (search-default-mode):
* lisp/macros.el (apply-macro-to-region-lines):
* lisp/mail/supercite.el (sc-mail-field-query)
(sc-insert-reference, sc-insert-citation):
* lisp/play/decipher.el (decipher-make-checkpoint):
(decipher-restore-checkpoint):
* lisp/progmodes/idlw-shell.el (idlwave-shell-mode):
* lisp/progmodes/idlwave.el (idlwave-store-inquired-class):
* lisp/progmodes/prolog.el (prolog-mode, prolog-inferior-mode):
* lisp/progmodes/sh-script.el (sh-set-shell):
* lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist)
(vhdl-modify-date-prefix-string)
(vhdl-modify-date-on-saving, vhdl-mode):
* lisp/server.el (server-start):
* lisp/subr.el (locate-library):
* lisp/tempo.el (tempo-marks, tempo-use-tag-list):
* lisp/time.el (world-clock):
* lisp/vc/vc-hooks.el (vc-mode):
* lisp/whitespace.el (whitespace-report-region):
* lisp/windmove.el (windmove-delete-in-direction): Doc fix: Delete
extraneous quotes around keys.
2024-01-21 14:09:34 +01:00
Po Lu
8e1c56ae46 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
Eli Zaretskii
cae528457c ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
Stefan Kangas
db2ed9f333 ; Fix several symbol name typos 2022-10-26 23:04:23 +02:00
Eli Zaretskii
640e52d8fa ; Fix mistakes in 'declare function' forms
* lisp/progmodes/gdb-mi.el (tooltip-show):
* lisp/vc/vc-git.el (grep-expand-template):
* lisp/cedet/semantic/imenu.el (pulse-momentary-highlight-one-line):
* lisp/mail/feedmail.el (smtpmail-via-smtp):
* lisp/mail/rmail.el (rmail-mime-entity-truncated):
* lisp/mail/rmailsum.el (rmail-cease-edit):
* lisp/progmodes/gud.el (speedbar-toggle-line-expansion)
(speedbar-edit-line):
* lisp/autoinsert.el (sgml-tag):
* lisp/comint.el (url-host, url-type, url-filename):
* lisp/progmodes/elisp-mode.el (xref-make, xref-item-location):
* lisp/vc/vc-hooks.el (vc-responsible-backend):
* lisp/cedet/semantic/complete.el (tooltip-show):
* lisp/doc-view.el (tooltip-show):
* lisp/follow.el (mwheel-scroll):
* lisp/term/pgtk-win.el (pgtk-set-resource):
* lisp/progmodes/cperl-mode.el (Info-find-node):
* lisp/lpr.el (print-region-function):
* lisp/w32-fns.el (w32-version, w32-read-registry):
* lisp/emacs-lisp/checkdoc.el (ispell-correct-p, checkdoc-dired):
* lisp/progmodes/xref.el (apropos-parse-pattern):
* lisp/cus-edit.el (apropos-parse-pattern):
* lisp/obsolete/gs.el (x-change-window-property):
* lisp/x-dnd.el (x-change-window-property):
* lisp/xwidget.el (make-xwidget):
* lisp/transient.el (info, Man-find-section, Man-next-section)
(Man-getpage-in-background):
* lisp/frame.el (x-device-class, pgtk-device-class):
* lisp/textmodes/texinfo.el (flymake--log-1):
* lisp/term/x-win.el (x-internal-focus-input-context): Fix
'declare function' errors uncovered by 'check-declare'.
2022-05-14 16:19:12 +03:00
Eli Zaretskii
19dcb237b5 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
Alan Mackenzie
d4536ff257 Fix follow-scroll-down in a small buffer which starts slightly scrolled
This fixes bug #51814.

* lisp/follow.el (follow-scroll-down): Do away with the optimization of doing
vertical-motion over only one window.  Instead move over all windows, to
checck for being close to point-min, and setting point accordingly.
2021-11-13 18:33:17 +00:00
Alan Mackenzie
0c51db6bb1 Amend Follow Mode to handle header lines and tab lines correctly
This fixes bug #51590.

list/follow.el (follow-scroll-down): Incorporate the height of the tab line
into the calculation of the window height.
(follow-calc-win-end): Incorporate the pixel heights of the header line and
the tab line the calculation of the buffer position of the bottom screen line.
2021-11-07 20:44:46 +00:00
Noah Evans
8567ec8bcf Fix recentering issue in `follow-mode'
* lisp/follow.el (follow-recenter): Make `C-c . C-l' work in
windows before the middle one, too (bug#50220).

Copyright-paperwork-exempt: yes
2021-08-27 03:43:19 +02:00
Stefan Kangas
4ed75f9fcb Use lexical-binding in follow.el
* lisp/follow.el: Use lexical-binding.
(follow-mode-map, follow-debug-message): Quote function symbols as
such.
(follow-pos-visible-in-window-p): Remove unused variable 'last'.
(follow-move-to-window-line): Remove unused variable 'middle-window'.
2021-03-30 15:16:28 +02:00
Stefan Kangas
67ef8c36bd Doc fixes in follow.el
* lisp/follow.el:
(follow-pos-visible-in-window-p, follow-adjust-window)
(follow-prev-buffer, follow-internal-force-redisplay):
Minor doc fixes.
2021-03-29 11:31:05 +02:00
Stefan Kangas
b34d39170b Minor fixes after preloading easymenu
* lisp/cedet/ede/dired.el:
* lisp/dired-x.el:
* lisp/filesets.el:
* lisp/follow.el:
* lisp/gnus/gnus-registry.el:
* lisp/net/eudc.el:
* lisp/printing.el:
* lisp/recentf.el:
* lisp/speedbar.el: Remove redundant require of easymenu; it is now
preloaded.
* lisp/org/org.el:
* lisp/progmodes/antlr-mode.el:
* lisp/progmodes/vhdl-mode.el:
* lisp/textmodes/reftex.el: Don't require easymenu in Emacs 28 or
later.

* etc/NEWS: Announce that 'easymenu' is now preloaded.
2021-02-27 20:04:41 +01:00
Stefan Kangas
e0fc879c0c Prefer defvar-local in remaining libraries
* lisp/align.el (align-mode-rules-list)
(align-mode-exclude-rules-list):
* lisp/bookmark.el (bookmark-current-bookmark)
(bookmark-annotation-name)
(bookmark--annotation-from-bookmark-list):
* lisp/calc/calc-embed.el (calc-embedded-all-active)
(calc-embedded-some-active):
* lisp/comint.el (comint-password-function):
* lisp/completion.el (completion-syntax-table):
* lisp/dframe.el (dframe-track-mouse-function)
(dframe-help-echo-function, dframe-mouse-click-function)
(dframe-mouse-position-function, dframe-timer)
(dframe-attached-frame, dframe-controlled):
* lisp/ehelp.el (electric-help-orig-major-mode):
* lisp/eshell/esh-util.el (eshell-path-env):
* lisp/expand.el (expand-pos, expand-index, expand-point):
* lisp/face-remap.el (text-scale-mode-remapping)
(text-scale-mode-lighter, text-scale-mode-amount)
(text-scale-remap-header-line, buffer-face-mode-remapping):
* lisp/ffap.el (ffap-menu-alist):
* lisp/files-x.el (connection-local-variables-alist):
* lisp/foldout.el (foldout-fold-list, foldout-mode-line-string):
* lisp/follow.el (follow-start-end-invalid):
* lisp/forms.el (forms--mode-setup):
* lisp/gnus/message.el (message-cross-post-old-target)
(message-options):
* lisp/help-mode.el (help-xref-stack, help-xref-forward-stack)
(help-xref-stack-item, help-xref-stack-forward-item):
* lisp/hexl.el (hexl-mode--old-var-vals, hexl-ascii-overlay):
* lisp/hilit-chg.el (hilit-chg-string):
* lisp/ido.el (ido-eoinput):
* lisp/imenu.el (imenu-generic-expression)
(imenu-create-index-function, imenu-default-goto-function)
(imenu-prev-index-position-function)
(imenu-extract-index-name-function, imenu-name-lookup-function)
(imenu-syntax-alist, imenu-case-fold-search):
* lisp/jka-compr.el (jka-compr-really-do-compress):
* lisp/language/ethio-util.el (ethio-prefer-ascii-space):
* lisp/leim/quail/hangul.el (hangul-input-method-help-text):
* lisp/leim/quail/japanese.el (quail-japanese-package-saved):
* lisp/linum.el (linum-overlays, linum-available):
* lisp/man.el (Man-original-frame, Man-arguments, Man--sections)
(Man--refpages, Man-page-list, Man-current-page)
(Man-page-mode-string):
* lisp/pcomplete.el (pcomplete-current-completions)
(pcomplete-last-completion-length)
(pcomplete-last-completion-stub, pcomplete-last-completion-raw)
(pcomplete-last-window-config, pcomplete-window-restore-timer):
* lisp/reveal.el (reveal-open-spots, reveal-last-tick):
* lisp/ruler-mode.el (ruler-mode):
* lisp/scroll-lock.el (scroll-lock-preserve-screen-pos-save):
* lisp/server.el (server-buffer-clients, server-existing-buffer):
* lisp/tab-line.el (tab-line-exclude):
* lisp/tar-mode.el (tar-data-buffer, tar-data-swapped):
* lisp/thumbs.el (thumbs-current-tmp-filename)
(thumbs-current-image-filename, thumbs-extra-images)
(thumbs-image-num, thumbs-buffer, thumbs-marked-list):
* lisp/tutorial.el (tutorial--point-before-chkeys)
(tutorial--point-after-chkeys, tutorial--lang):
* lisp/url/url-vars.el (url-current-object)
(url-current-mime-headers, url-current-lastloc):
* lisp/view.el (view-mode, view-old-buffer-read-only)
(view-old-Helper-return-blurb, view-page-size)
(view-half-page-size, view-last-regexp, view-return-to-alist)
(view-exit-action, view-overlay):
* lisp/wid-edit.el (widget-global-map, widget-field-new)
(widget-field-list, widget-field-last, widget-field-was):
* lisp/woman.el (woman-imenu-done): Prefer defvar-local.
2021-02-02 09:57:07 +01:00
Paul Eggert
ba05d005e5 Update copyright year to 2021
Run "TZ=UTC0 admin/update-copyright".
2021-01-01 01:13:56 -08:00
Stefan Kangas
78eacf31e8 ; Fix many typos in symbols in docs and comments 2020-10-02 13:29:45 +02:00
Paul Eggert
365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Stefan Kangas
c515d4eeb2 Remove obsolete doc references to XEmacs (Bug#37899)
* doc/misc/edt.texi (Changes, Goals):
* doc/misc/emacs-mime.texi (Charset Translation):
* doc/misc/gnus-faq.texi (FAQ 4-15):
* doc/misc/pcl-cvs.texi (Bugs):
* doc/misc/srecode.texi (SRecode Minor Mode):
* lisp/cedet/srecode/insert.el (srecode-insert-ask-variable-method):
* lisp/follow.el:
* lisp/leim/quail/ipa.el (ipa-x-sampa, ipa-kirshenbaum):
* lisp/net/newsticker.el:
* lisp/obsolete/iswitchb.el:
* lisp/progmodes/hideshow.el:
* lisp/savehist.el (savehist-file):
* lisp/vc/ediff.el: Remove obsolete references to XEmacs in doc
strings and comments.
2019-10-28 15:55:10 +01:00
Juri Linkov
8d09cb21f8 Handle scroll-error-top-bottom in follow.el and view.el (bug#21893)
* lisp/follow.el (follow-scroll-up-arg, follow-scroll-up-window):
Use scroll-up-command instead of scroll-up.
(follow-scroll-down-arg, follow-scroll-down-window):
Use scroll-down-command instead of scroll-down.
(follow-scroll-up, follow-scroll-down): Handle scroll-error-top-bottom.

* lisp/view.el (view-scroll-lines): Use scroll-down-command
instead of scroll-down and scroll-up-command instead of scroll-up.
(view-really-at-end): Handle scroll-error-top-bottom.
2019-07-08 01:35:35 +03:00
Stefan Monnier
0b4e003766 Revert "* lisp/calc/calc-ext.el (math-scalarp): Fix typo"
This reverts commit 698ff554ac.
2019-06-26 10:24:59 -04:00
Stefan Monnier
698ff554ac * lisp/calc/calc-ext.el (math-scalarp): Fix typo 2019-06-26 10:03:48 -04:00
Paul Eggert
f744797af1 Go back to "Maintainer: emacs-devel@gnu.org"
Restore lines saying "Maintainer: emacs-devel@gnu.org" when there is
no special maintainer for a file.  Although this wasn't documented
it was common practice and removing the lines didn't have consensus.
2019-05-25 14:25:18 -07:00
Paul Eggert
bef1be8730 Fixes for "Maintainer:" and related lines
Mostly, this just removes "Maintainer: emacs-devel@gnu.org" lines,
which are not that useful.  It also cleans up and regularizes a
few similar lines.
2019-05-19 21:34:27 -07:00
Paul Eggert
ba809612c0 Merge from origin/emacs-26
2fcf2df Fix copyright years by hand
26bed8b Update copyright year to 2019
2814292 Fix value of default frame height.  (Bug#33921)
2018-12-31 17:57:29 -08:00
Paul Eggert
26bed8ba10 Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2019-01-01 01:01:13 +00:00
Alan Mackenzie
487931cd06 In follow mode windows in a GUI, don't display inactive cursors
This is done by setting cursor-in-non-selected-windows buffer locally.

* lisp/follow.el (follow-hide-ghost-cursors): New customizable option.
(follow-mode): Create and set, or kill buffer-local copy of
cursor-in-non-selected-windows when the mode gets enabled or disabled.
(follow-prev-buffer): New variable.
(follow-adjust-window): Manipulate cursor-in-non-selected-windows when the
current buffer changes, to ensure that cursors stay visible in non-selected
follow window groups.

* etc/NEWS: Add an entry for this change.
2018-10-19 09:54:31 +00:00
Alan Mackenzie
1439d89f4d In follow mode, prevent the cursor resting on a partially displayed line
This fixes bug #32848

* lisp/follow.el (follow-adjust-window): If point ends up in a partially
displayed line in a left hand or middle window, move it one line forward, to
prevent unwanted scrolling should make-cursor-line-fully-visible be non-nil.
2018-10-15 19:48:25 +00:00
Alan Mackenzie
99f45ee42c In follow mode, prevent the cursor resting on a partially displayed line
Don't merge to master.  This fixes bug #32848

* lisp/follow.el (follow-adjust-window): If point ends up in a partially
displayed line in a left hand or middle window, move it one line
forward, to
prevent unwanted scrolling should make-cursor-line-fully-visible be
non-nil.
2018-10-03 15:57:15 +00:00
Alan Mackenzie
ea77c6594e Revert "Temporary workaround for bug #32848 for branch emacs-26"
This reverts commit 6650751ce7.
2018-10-03 15:20:34 +00:00
Alan Mackenzie
51f0cccdde Put follow-mode's engine on pre-redisplay-hook instead of post-command-hook
This fixes bug #32874.

* lisp/follow.el (follow-mode): Put follow-pre-redisplay-function onto
pre-redisplay-function instead of putting follow-post-command-hook onto
post-command-hook.  Amend the removal operation analogously.
(follow-pre-redisplay-function): New function.
2018-10-03 10:45:59 +00:00
Alan Mackenzie
6650751ce7 Temporary workaround for bug #32848 for branch emacs-26
Do not merge with master.

* lisp/follow.el (follow-mode): Set make-cursor-line-fully-visible to nil
buffer locally whilst follow-mode is active.
2018-09-30 10:46:26 +00:00
John Shahid
ee3e432300 Optionally add argument description in minor mode DOC (bug#10754)
Add a paragraph to minor mode's docstring documenting the mode's ARG
usage if the supplied docstring doesn't already contain the word "ARG".

* easy-mmode.el (easy-mmode--arg-docstring): New const.
(easy-mmode--arg-docstring): New function.
(define-minor-mode): Use them.

Remove argument documentation from all minor modes.
2018-07-01 23:34:53 -04:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Glenn Morris
17fc74d1b9 * lisp/follow.el (follow-mode): Restore mode line lighter. (Bug#28495) 2017-11-21 19:23:52 -05:00
Glenn Morris
50f711e7fa Fix some duplicate words typos
* lisp/erc/erc.el (erc-hide-current-message-p):
* lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
* doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
* doc/lispref/functions.texi (Defining Functions):
* doc/lispref/os.texi (Terminal-Specific):
* doc/misc/sem-user.texi (Analyzer Debug):
* doc/misc/srecode.texi (Special Variables): Fix typos.
2017-10-27 20:45:23 -04:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
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.
2017-09-13 15:54:37 -07:00
Noam Postavsky
abd098200b Don't end non-hook variable with "-hook" (Bug#26623)
* lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
follow-inside-post-command-hook, update uses.
2017-05-20 19:13:57 -04:00
Juri Linkov
c5e66afa88 * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
(isearch-lazy-highlight-update): Check it to decide whether to apply
overlays only on the selected window.

* lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
(Bug#17453, bug#21092)
2017-02-22 02:10:36 +02:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Alan Mackenzie
c6077bfd29 Restore follow-scroll-up/down to scrolling by the combined size of all windows
Also rename the current follow-scroll-up/down functions to
follow-scroll-up-window and follow-scroll-down-window.  These scroll by the
height of the current window.

This fixes bug #23347.

* lisp/follow.el (follow-mode): Tweak the doc string.
(follow-scroll-up-arg, follow-scroll-down-arg): new functions, extracted from
follow-scroll-up/down.
(follow-scroll-up-window, follow-scroll-down-window): Functions renamed from
follow-scroll-up/down.
(follow-scroll-up, follow-scroll-down): Restore the historic functionality.
2016-04-29 14:58:21 +00:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Alan Mackenzie
a72a9fbbbc Rename recenter-group' to recenter-window-group'
* doc/lispref/windows.texi (Textual Scrolling)
* lisp/window.el (top level, recenter-group)
* lisp/follow.el (follow-mode)
* lisp/isearch.el (isearch-back-into-window): Rename `recenter-group' to
`recenter-window-group' and `recenter-group-function' to
`recenter-window-group-function'.
2015-12-18 10:40:49 +00:00
Alan Mackenzie
f3f0d12caf * lisp/follow.el (follow-sit-for): Remove (it's redundant). 2015-12-17 21:06:39 +00:00