1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-20 11:33:09 -08:00
Commit graph

85588 commits

Author SHA1 Message Date
Gregory Heytings
1792cbaddc Actually fix the long lines display bug (bug#56393).
* src/dispextern.h (struct it): New 'narrowed_begv' field.

* src/dispextern.h (WITH_NARROWED_BEGV): New macro.

* src/xdisp.c (get_narrowed_begv): New function.
(init_iterator): Initilize the 'narrowed_begv' field.
(back_to_previous_line_start, get_visually_first_element,
move_it_vertically_backward): Use the new macro.

* src/dispextern.h: Prototype of 'get_narrowed_begv'.

* src/window.c (window_body_height): Make it externally visible.

* src/window.h: Prototype of 'window_body_height'.

* src/composite.c (find_automatic_composition): Optimize display in buffers
with very long lines with 'get_narrowed_begv'.

* lisp/obsolete/longlines.el: Reobsolete longlines-mode.

* etc/NEWS: Announce the new minor mode, and remove the unobsoletion
indication for 'longlines-mode'.

* doc/emacs/trouble.texi (Long Lines): Remove the section.
(Lossage): Remove the entry for the Long Lines section.

* doc/emacs/emacs.texi (Top): Remove the entry for the Long Lines section.
2022-07-08 23:36:58 +02:00
Gregory Heytings
60e51595c8 Revert commit 38b3780f6e. 2022-07-08 23:36:18 +02:00
Gregory Heytings
e31cffb5ab Revert commits 9ea9533f17, c0c4600ece, 7b19ce51fc, 051d2a1e36 and eb6d2fb58d. 2022-07-08 23:31:56 +02:00
Gregory Heytings
7b19ce51fc Fix improvement of isearch in auto-narrow-mode.
* lisp/files.el (auto-narrow--reset-isearch-lazy-highlight): New internal
function.
(auto-narrow-pre-command-function, auto-narrow-post-command-function): Use the
new internal function.
2022-07-06 18:05:48 +02:00
Gregory Heytings
051d2a1e36 Improve isearch in auto-narrow-mode.
* lisp/isearch.el (isearch-search): Set isearch-lazy-highlight to nil before
widening in auto-narrow-mode.

* lisp/files.el (auto-narrow--isearch-lazy-highlight): New internal variable.
(auto-narrow-pre-command-function, auto-narrow-post-command-function): Use it.
2022-07-06 14:41:58 +02:00
Gregory Heytings
eb6d2fb58d Various improvements to auto-narrow mode.
* lisp/files.el (auto-narrow-display-length): Improve docstring.
(auto-narrow-widen-automatically): Add 'undo' to the command list.
(auto-narrow-hook): New defcustom.
(auto-narrow-pre-command-function, auto-narrow-post-command-function):
Move initialization code.
(auto-narrow-mode): Do not make the 'auto-narrow-mode' permanent local
anymore.

* lisp/font-lock.el (turn-off-font-lock-mode): New convenience function.

* src/xdisp.c (set_vertical_scroll_bar): Fix typo.
(redisplay_window): Use the new convenience function.

* src/buffer.h (BUFFER_NEEDS_AUTO_NARROWING_P,
BUFFER_AUTO_NARROWED_NON_NARROWED_P): Two new convenience functions.

* src/window.c (Frecenter): Do not recenter auto-narrowed buffers that
are not actually narrowed.

* etc/NEWS: Improvement.

* doc/emacs/display.texi (Auto-Narrowing): Improvement.
2022-07-06 12:06:53 +02:00
Gregory Heytings
38b3780f6e Actually fix the long lines display bug (bug#56393).
* lisp/files.el (auto-narrow-mode): New minor mode.
(auto-narrow-pre-command-function, auto-narrow-post-command-function):
New auxiliary functions for the minor mode.
(auto-narrow-display-length, auto-narrow-widen-automatically): New
defcustoms for the minor mode.
(auto-narrow--widen-automatically, auto-narrow--isearch-widen-automatically,
auto-narrow--initialized): New internal variables for the minor mode.

* src/buffer.h (struct buffer): New internal variable for the minor mode.
(bset_auto_narrow__narrowing_state, BUFFER_AUTO_NARROWED_P): New
auxiliary functions.

* src/buffer.c (init_buffer_once, syms_of_buffer): New internal variable
for the minor mode. Update the docstring of mode-line-format.

* src/fileio.c (Finsert_file_contents): Detect whether the minor mode should
be entered when the buffer is displayed.
(syms_of_fileio): New defcustom for the minor mode.

* src/keyboard.c (syms_of_keyboard): New hook functions for the minor mode.
(command_loop_1): Execute the hook functions.

* src/xdisp.c (redisplay_window): Enter the minor mode when the buffer is
displayed.
(decode_mode_spec): Indicate when the minor mode is active
in the modeline.  Indicate the buffer position relative to the whole buffer.
(set_vertical_scroll_bar): Indicate the buffer position relative to the
whole buffer.
(syms_of_xdisp): Two new symbols.

* lisp/isearch.el (isearch-widen-automatically): New defcustom.
(isearch-search): Use the new defcustom.

* lisp/bindings.el (mode-line-modes): Do not propertize the indication
in the modeline when the new minor mode is active.

* etc/NEWS: Announce the new minor mode, and remove the unobsoletion
indication for 'longlines-mode'.

* lisp/longlines.el: Reobsolete longlines-mode.

* doc/emacs/display.texi (Auto-Narrowing): New section, describing the new
minor mode.
(Display): Entry for the new section.

* doc/emacs/trouble.texi (Long Lines): Remove the section.
(Lossage): Remove the entry for the Long Lines section.

* doc/emacs/emacs.texi (Top): Remove the entry for the Long Lines section.
2022-07-06 00:43:56 +02:00
Lars Ingebrigtsen
1fe269d59d Fix custom-initialize-reset bootstrap error
* lisp/custom.el (custom-initialize-reset): Fix bootstrap problem
by avoiding when-let.
2022-07-05 22:42:25 +02:00
Lars Ingebrigtsen
7f298bab52 Fix rcirc buffer name collisions
* lisp/net/rcirc.el (rcirc-handler-NICK): Avoid naming collisions
when renaming buffers (bug#45872).
2022-07-05 22:40:19 +02:00
Stefan Kangas
fe82c0743b Rename new option to remote-file-name-inhibit-auto-save-visited
* lisp/files.el (remote-file-name-inhibit-auto-save-visited):
Rename from 'auto-save-visited-remote-files' and invert logic.
(auto-save-visited-mode): Adjust accordingly.  (Bug#41333)
Suggested by Michael Albinus <michael.albinus@gmx.de>.
2022-07-05 19:48:54 +02:00
Lars Ingebrigtsen
89c589bae4 Regenerate ldefs-boot.el 2022-07-05 19:37:52 +02:00
Lars Ingebrigtsen
6d8638e5e4 Give a warning if setopt has been used with an invalid value
* lisp/cus-edit.el (setopt--set): Mark the variable for checking.

* lisp/custom.el (custom-initialize-reset): Give a warning if the
type is wrong (bug#56400).

* lisp/wid-edit.el (widget-convert): Autoload.
2022-07-05 19:33:24 +02:00
Eli Zaretskii
99872bedf0 ; * lisp/emacs-lisp/subr-x.el (string-limit): Clarify doc string. 2022-07-05 19:45:35 +03:00
Stefan Kangas
bc8e256543 Re-fix narrowing problem in tramp-debug-buffer-command-completion-p
* lisp/net/tramp.el (tramp-debug-buffer-command-completion-p):
Respect narrowing also for end of substring.  (Bug#56225)
2022-07-05 18:33:29 +02:00
Stefan Kangas
9d866a1f8d Make some defcustom types more restrictive
* lisp/abbrev.el (abbrev-suggest-hint-threshold):
* lisp/bookmark.el (bookmark-bmenu-file-column)
(bookmark-menu-length):
* lisp/buff-menu.el (Buffer-menu-size-width)
(Buffer-menu-mode-width):
* lisp/calendar/calendar.el (calendar-week-start-day)
(calendar-intermonth-spacing, calendar-column-width)
(calendar-day-digit-width):
* lisp/calc/calc.el (calc-undo-length):
* lisp/calendar/timeclock.el (timeclock-workday):
* lisp/comint.el (comint-buffer-maximum-size)
(comint-input-ring-size):
* lisp/doc-view.el (doc-view-resolution, doc-view-image-width):
* lisp/emacs-lisp/bytecomp.el (byte-compile-docstring-max-column):
* lisp/emacs-lisp/comp.el (native-comp-debug)
(native-comp-verbose, native-comp-async-jobs-number):
* lisp/emacs-lisp/package.el (package-name-column-width)
(package-version-column-width, package-status-column-width)
(package-archive-column-width):
* lisp/eshell/esh-mode.el (eshell-buffer-maximum-lines):
* lisp/frame.el (blink-cursor-blinks):
* lisp/info.el (Info-breadcrumbs-depth):
* lisp/jit-lock.el (jit-lock-chunk-size):
* lisp/kmacro.el (kmacro-ring-max):
* lisp/menu-bar.el (yank-menu-length, yank-menu-max-items):
* lisp/midnight.el (clean-buffer-list-delay-general)
(clean-buffer-list-delay-special):
* lisp/net/dictionary.el (dictionary-port)
(dictionary-proxy-port):
* lisp/net/ldap.el (ldap-default-port):
* lisp/net/pop3.el (pop3-port, pop3-stream-length):
* lisp/net/rcirc.el (rcirc-default-port):
* lisp/net/sieve-manage.el (sieve-manage-default-port):
* lisp/play/spook.el (spook-phrase-default-count):
* lisp/play/tetris.el (tetris-buffer-width)
(tetris-buffer-height, tetris-width, tetris-height)
(tetris-top-left-x, tetris-top-left-y):
* lisp/profiler.el (profiler-sampling-interval):
* lisp/progmodes/sql.el (sql-port):
* lisp/recentf.el (recentf-max-menu-items):
* lisp/strokes.el (strokes-grid-resolution):
* lisp/tab-bar.el (tab-bar-tab-name-truncated-max):
* lisp/term/xterm.el (xterm-max-cut-length):
* lisp/time.el (display-time-interval, world-clock-timer-second):
* lisp/url/url-cache.el (url-cache-expire-time):
* lisp/url/url-cookie.el (url-cookie-save-interval):
* lisp/url/url-history.el (url-history-save-interval):
* lisp/url/url-queue.el (url-queue-parallel-processes)
(url-queue-timeout):
* lisp/url/url-vars.el (url-max-password-attempts)
(url-max-redirections):
* lisp/vc/emerge.el (emerge-min-visible-lines):
* lisp/vc/vc.el (vc-log-show-limit):
* lisp/window.el (window-min-height, window-min-width):
* lisp/winner.el (winner-ring-size): Use :type natnum.

* lisp/savehist.el (savehist-file-modes): Fix setting to nil value and
use :type natnum.
2022-07-05 18:33:29 +02:00
Lars Ingebrigtsen
3868c3aa3e Don't hard-code M-c' in read-regexp'
* lisp/replace.el (read-regexp-map): New map.
(read-regexp--case-fold, read-regexp-toggle-case-folding)
(read-regexp): Factor out to avoid hard-coding `M-c'.
2022-07-05 18:27:42 +02:00
Lars Ingebrigtsen
8681bf1e85 Mention byte order marks in string-limit doc string
* lisp/emacs-lisp/subr-x.el (string-limit): Mention byte order
marks (bug#48324).
2022-07-05 18:27:42 +02:00
Eli Zaretskii
59276ff81d ; * lisp/files.el (auto-save-visited-predicate): Doc fix. 2022-07-05 16:12:13 +03:00
Eli Zaretskii
207101e169 ; Fix documentation of 'auto-save-visited-remote-files'
* etc/NEWS:
* lisp/files.el (auto-save-visited-remote-files): Doc fix.
2022-07-05 16:07:03 +03:00
Stefan Kangas
3631355dcb New user option auto-save-visited-remote-files
* lisp/files.el (auto-save-visited-remote-files): New user option.
(auto-save-visited-mode): Use above new variable to decide whether
or not to save remote files.  (Bug#41333)
2022-07-05 14:51:21 +02:00
Stefan Kangas
ac7f76528f New user option auto-save-visited-mode-predicate
* lisp/files.el (auto-save-visited-mode-predicate): New defcustom.
(auto-save-visited-mode): Use above new variable as a predicate to
decide whether or not to save a buffer.
2022-07-05 14:05:43 +02:00
Stefan Kangas
74bca06469 Shorten name of recently added command to emacs-news-open-line
* lisp/textmodes/emacs-news-mode.el (emacs-news-open-line): Rename
from 'emacs-news-mode-open-line'.
2022-07-05 13:38:06 +02:00
Lars Ingebrigtsen
678453ebc6 Remove the interactive prefix from emoji-insert
* lisp/international/emoji.el (emoji-insert): Remove the prefix
action from this command, since the same is already available on
`C-x 8 e s', and we're considering using the prefix to copy to the
kill ring.
2022-07-05 13:03:36 +02:00
Po Lu
6dfe332971 Allow immediately saving XDS drops
This fixes things with programs that have a very timeout, such
as Chromium, within which it isn't practical for the user to
confirm the default file name.

* lisp/x-dnd.el (x-dnd-direct-save-function): Add new choices to
defcustom.
(x-dnd-init-frame): Use fast protocol requests.
(x-dnd-save-direct-immediately): New function.
(x-dnd-handle-xds-drop): Fix nil values of selected file name.
2022-07-05 14:56:17 +08:00
Stefan Kangas
77d90ce79a Merge from origin/emacs-28
d5e1424174 Expand docstrings related to auto-saving
2022-07-05 06:30:40 +02:00
Stefan Kangas
3534426b28 New command emacs-news-mode-open-line
* lisp/textmodes/emacs-news-mode.el
(emacs-news-mode-open-line): New command.
(emacs-news-mode-map): Remap 'open-line' to above new command.
2022-07-05 04:57:51 +02:00
Po Lu
83f059793a Improve support for remote files in XDS
* lisp/x-dnd.el (x-dnd-direct-save-function): Remove "local file
name" from documentation.
(x-dnd-save-direct): Handle remote file names normally.
(x-dnd-handle-xds-drop): Handle remote file names in URI.
2022-07-05 10:40:32 +08:00
Alexander Adolf
f1ae277e0b Add reverse mapping for EUDC attribute names
* lisp/net/eudc.el (eudc-translate-query): new optional parameter to
reverse the mapping direction
(eudc-translate-attribute-list): new optional parameter to
reverse the mapping direction
2022-07-04 22:05:04 -04:00
Stefan Monnier
edaa7780fd (gnus-inverse-list-range-intersection): Update alias
* lisp/gnus/gnus-range.el (gnus-inverse-list-range-intersection):
Don't alias to an obsolete alias.
2022-07-04 18:44:03 -04:00
Stefan Kangas
d5e1424174 Expand docstrings related to auto-saving
* lisp/files.el (auto-save-visited-mode):
* lisp/simple.el (auto-save-mode): Expand docstring.
2022-07-05 00:30:09 +02:00
Stefan Kangas
7540f98c5a Add quit-window entry to list-timers menu
* lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Add
quit-window entry to menu.
2022-07-04 22:15:51 +02:00
Stefan Kangas
162c6c12f9 Prefer defvar-keymap in emacs-lisp/*.el
* lisp/emacs-lisp/backtrace.el (backtrace-mode-map):
* lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-mode-map):
* lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode-map):
* lisp/emacs-lisp/crm.el (crm-local-completion-map)
(crm-local-must-match-map):
* lisp/emacs-lisp/debug.el (debugger-mode-map):
* lisp/emacs-lisp/edebug.el (edebug-mode-map, edebug-global-map)
(edebug-eval-mode-map):
* lisp/emacs-lisp/eieio-custom.el (eieio-custom-mode-map):
* lisp/emacs-lisp/elp.el (elp-results-symname-map):
* lisp/emacs-lisp/lisp-mode.el (lisp-mode-shared-map):
* lisp/emacs-lisp/re-builder.el (reb-mode-map)
(reb-lisp-mode-map, reb-subexp-mode-map):
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map)
(tabulated-list-sort-button-map):
* lisp/emacs-lisp/timer-list.el (timer-list-mode-map):
2022-07-04 22:15:51 +02:00
Stefan Kangas
616d3c24e2 Document using make-composed-keymap with defvar-keymap
* doc/lispref/keymaps.texi (Inheritance and Keymaps): Document
using 'make-composed-keymap' with 'defvar-keymap'.

* lisp/help-mode.el (help-mode-map): Use defvar-keymap to make this
code match the above documentation change.
2022-07-04 18:19:53 +02:00
Stefan Kangas
6d3adedcf1 ; Fix warning in mwheel.el
* lisp/mwheel.el (global-text-scale-adjust): Declare function.
2022-07-04 17:01:53 +02:00
Stefan Kangas
7882c77a1e Doc fix; quote keys in face-remap.el
* lisp/face-remap.el (text-scale-adjust, global-text-scale-adjust):
Doc fix; quote keys.
2022-07-04 17:01:53 +02:00
Stefan Kangas
0b5301fceb Inherit instead of copying keymap in bookmark.el
* lisp/bookmark.el (bookmark-rename): Inherit instead of copying
keymap.
2022-07-04 17:01:53 +02:00
Mattias Engdegård
cfc754a67c ; remove regexp ambiguity 2022-07-04 15:55:35 +02:00
Stefan Kangas
0e5d790c6b Use substitute-command-keys in Helper-help
* lisp/emacs-lisp/helper.el (Helper-help-scroller)
(Helper-help-options, Helper-help): Use substitute-command-keys.
(Helper-help-map): Prefer defvar-keymap.
2022-07-04 15:50:18 +02:00
Stefan Kangas
c933f98825 Fix scrolling backwards in Helper-help
* lisp/emacs-lisp/helper.el (Helper-help-scroller): Fix scrolling
backwards.
2022-07-04 15:09:22 +02:00
Mattias Engdegård
1268902db1 Remove some useless eval-when-compile
* lisp/cedet/semantic/java.el (semantic-java-number-regexp):
* lisp/cedet/semantic/lex.el (semantic-lex-number-expression):
* lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function-1):
* lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
(lisp--el-match-keyword, lisp-string-in-doc-position-p):
* lisp/emacs-lisp/shorthands.el (shorthands-font-lock-shorthands):
* lisp/net/socks.el (socks-send-command):
* lisp/progmodes/meta-mode.el (meta-font-lock-keywords):
* lisp/shell.el (shell--parse-pcomplete-arguments):
* lisp/textmodes/sgml-mode.el (sgml-mode):
* lisp/textmodes/tex-mode.el (tex--guess-mode)
(tex-common-initialization, tex-input-files-re):
* lisp/textmodes/tildify.el (tildify-mode):
* lisp/xdg.el (xdg-line-regexp):
Eliminate `eval-when-compile` when the argument would be evaluated by
the compiler anyway.
2022-07-04 14:56:11 +02:00
Mattias Engdegård
544361d37f Replace lisp-mode-symbol-regexp with (rx lisp-mode-symbol)
This is shorter, simplifies use inside rx expressions, and removes
need for eval-when-compile elsewhere (for later exploitation).

* lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol): New rx-define.
(lisp-mode-symbol-regexp): Redefine using lisp-mode-symbol.
(lisp-imenu-generic-expression, lisp--el-match-keyword)
(lisp-fdefs, lisp-string-in-doc-position-p):
* lisp/emacs-lisp/checkdoc.el (checkdoc--error-bad-format-p):
* lisp/emacs-lisp/shorthands.el (shorthands-font-lock-shorthands):
Use lisp-mode-symbol instead of lisp-mode-symbol-regexp.
2022-07-04 14:56:11 +02:00
Stefan Kangas
65df97f361 * lisp/progmodes/ebrowse.el (ebrowse-tree-mode): Fix typo. 2022-07-04 14:53:16 +02:00
Stefan Kangas
a5f5f6c0ab Remove remaining Helper-help support from view-mode
* lisp/view.el (view-old-Helper-return-blurb): Make obsolete.
(view--enable, view--disable): Delete remaining Helper-help support
code; view-mode stopped using it in 1995.
2022-07-04 14:30:21 +02:00
Eli Zaretskii
a525c9f5c9 ; Fix doc strings in help-fns.el
* lisp/help-fns.el (help-fns-edit-mode-done)
(help-fns-edit-mode-cancel): Doc fixes.
2022-07-04 15:13:12 +03:00
Eli Zaretskii
603de9a38e ; Fix documentation of 'file-parent-directory'
* doc/lispref/files.texi (Directory Names):
* lisp/files.el (file-parent-directory): Improve wording of the
documentation of 'file-parent-directory'.  (Bug#56355)
2022-07-04 14:59:58 +03:00
Daanturo
1ac383bcb6 Add file-parent-directory function
* doc/lispref/files.texi: Document the function.
* etc/NEWS: Add its entry.
* lisp/emacs-lisp/shortdoc.el: Add it to 'file-name' group.
* lisp/files.el: implementation (bug#56355).
2022-07-04 13:07:51 +02:00
Benjamin Riefenstahl
2a0740b95a lisp/thumbs.el: Fix calling the "convert" command
* lisp/thumbs.el (thumbs-call-convert): Pass 'action-prefix' and
'action' as a combined parameter.  Do not pass 'arg' if it is nil.
(thumbs-modify-image): Do not pass "" as 'arg' to
'thumbs-call-convert' (bug#56375).

Some time in the past this was converted from using the shell to
passing the parameters directly, but the fallout was not handled
correctly.
2022-07-04 12:57:34 +02:00
Visuwesh
f133336a1a Exclude radio buttons when suggesting URI in eww
* lisp/net/eww.el (eww-links-at-point): Exclude radio links.
(bug#56366).
2022-07-04 12:14:57 +02:00
Stefan Kangas
906b97edb9 New command help-fns-edit-mode-cancel
* lisp/help-fns.el (help-fns-edit-mode-cancel): New command.
(help-fns--edit-value-mode-map): Bind it to 'C-c C-k'.
(help-fns-edit-variable): Advertise it in help text.
2022-07-04 12:12:45 +02:00
Stefan Kangas
ae3416d694 Simplify lisp-el-font-lock-keywords-2 definition slightly
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
Simplify slightly.
2022-07-03 23:31:32 +02:00