Commit graph

571 commits

Author SHA1 Message Date
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Martin Rudalics
184ed36136 Strengthen conditions for resizing sibling windows (Bug#25169)
* lisp/window.el (window-resize, delete-window): Resize other siblings
only if `window-combination-resize' equals t (Bug#25169).
2016-12-12 10:16:23 +01:00
Tino Calancha
5ffdbe0a5e Update parameter :version to 26.1 in several defcustom
Following defcustom where added or modified for 25.2 release.
In fact all these changes belong to 26.1 release.
* lisp/battery.el (battery-linux-sysfs-regexp)
* lisp/comint.el (comint-password-prompt-regexp)
* lisp/dired.el (dired-always-read-filesystem)
* lisp/image.el (image-scaling-factor)
* lisp/ibuf-ext.el (ibuffer-never-search-content-name)
(ibuffer-never-search-content-mode)
* lisp/mouse.el (mouse-select-region-move-to-beginning)
* lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
(netstat-program, route-program, route-program-options)
* lisp/net/sieve-manage.el (sieve-manage-default-stream)
* lisp/progmodes/grep.el (grep-save-buffers)
* lisp/vc/add-log.el (change-log-directory-files)
* lisp/url/url-vars.el (url-user-agent)
* lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
(vc-hg-use-file-version-for-mode-line-version)
(vc-hg-parse-hg-data-structures)
* lisp/wdired.el (wdired-create-parent-directories)
* lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
* lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
(gnus-button-url-regexp)
* lisp/window.el (switch-to-buffer-preserve-window-point)
* lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
(ibuffer-locked-buffer)
* lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
* lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
* lisp/gnus/message.el (message-user-fqdn)
* lisp/simple.el (shell-command-dont-erase-buffer)
(extended-command-suggest-shorter)
* lisp/net/shr.el (shr-use-fonts)
* lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
2016-11-17 00:39:43 +09:00
Martin Rudalics
665ee0a565 Document atomic windows in Elisp manual (Bug#18170)
* lisp/window.el (display-buffer-in-atom-window): If no `side'
alist entry was specified, use `below' as the doc tells.
* doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
* doc/lispref/windows.texi (Atomic Windows): New section.
(Window Parameters): Update reference.
2016-10-17 08:57:24 +02:00
Martin Rudalics
9adfb021df Document return value of `display-buffer-in-side-window'
* doc/lispref/windows.texi (Displaying Buffers in Side Windows):
* lisp/window.el (display-buffer-in-side-window): Describe
return value of `display-buffer-in-side-window'.
2016-10-05 16:12:19 +02:00
Martin Rudalics
b8fd71d570 Document and fix some bugs with side windows
Add a documentation for side windows and fix some bugs
found when testing their behavior.  Also add a new window
parameter `no-delete-other-window', a new `display-buffer'
alist member called `window-parameters', and functions to
toggle and reverse side windows on a frame.  Add new function
`window-swap-states' to exchange states of two live windows.

* lisp/window.el (display-buffer-in-atom-window): Use
`split-window-no-error'.
(window-sides-vertical): Maybe change layouts when setting this
variable.
(window-sides-reversed): New option.
(window-sides-slots): Rewrite doc-string and help echoes.
(window-sides-shown): New buffer-local variable set when showing
a buffer in a side window.
(window--sides-inhibit-check): New variable.
(window--sides-reverse-on-frame-p, window-toggle-side-windows)
(window--sides-reverse-all, window--sides-reverse-frame)
(window--sides-reverse-side, window--sides-reverse)
(window--sides-verticalize-frame, window--sides-verticalize)
(window--sides-check-failed): New functions.
(window--side-window-p): Remove function.
(window--major-non-side-window): Rename to `window-main-window',
adjust callers, rewrite doc-string.
(window--major-side-window): Rename to
`window--make-major-side-window-next-to', adjust caller, fix
doc-string.
(display-buffer-in-major-side-window): Rename to
`window--make-major-side-window', adjust
caller, rewrite doc-string.  Make `window-side' and
`window-slot' parameters persistent (Bug#23858).  Don't set
`delete-window' parameter.  Add `preserve-size' entry to ALIST.
(delete-side-window): Remove function.
(display-buffer-in-side-window): Fix doc-string.  Don't set
`delete-window' parameter.  Add `preserve-size' entry to ALIST.
(window--side-check): Rename to window--sides-check.  Rewrite
completely.  Adjust caller.
(window-resize-no-error): Don't describe PIXELWISE argument.
(adjust-window-trailing-edge): Fix bug that disallowed
re-enlarging windows that were too small.
(window-deletable-p): Don't tell that a minibuffer window on a
non-minibuffer-only frame can be deleted.  Fix doc-string.
(delete-window): Handle deleting a side window here (the
`delete-window' parameter is no more set for side windows).
(delete-other-windows): Handle ‘no-delete-other-window'
parameter. Don't treat side windows separately (see discussion
of Bug#24368) but keep optimization that makes the main window
the root window of its frame.
(switch-to-prev-buffer, switch-to-next-buffer): Handle side
windows and buffers shown in side windows separately.
(split-window-no-error): New function.
(window--state-get-1): Use right buffer when storing window
point and start positions and WRITABLE is nil (Bug#24368).
(window--state-put-1): Fix handling of `window-combination-limit'.
Use `split-window-no-error'.
(window--state-put-2): Try to restore windows with preserved
size to their original size.  Fix bug where a fixed window's width
was not preserved.
(window-state-put): When reducing an internal window to a live
one, don't choose a side window.
(window-swap-states): New function.
(window-splittable-p): Don't call `window--side-window-p'.
(window--display-buffer): Handle `window-parameters' ALIST entry.
Minor rewrite.
(display-buffer): Mention `window-parameters' entry in
doc-string.
(display-buffer-at-bottom): Call `split-window-no-error'.

* doc/lispref/elisp.texi (Top): New section "Side Windows".
* doc/lispref/windows.texi (Deleting Windows): Fix descriptions
of `delete-window' and `delete-other-windows' wrt window
parameters and side windows.
(Display Action Functions): Mention `window-parameters' ALIST
entry.
(Side Windows): New section (Bug#18170).
(Window Configurations): Describe new function `window-swap-states'.
(Window Parameters): Say that functions may behave specially when
their homonymous window parameter has been set.  Mention new
parameter `no-delete-other-window'.  Add cross reference for
`window-side' and `window-slot' parameters.
2016-10-05 10:28:36 +02:00
Martin Rudalics
4961cc3f36 In pop-to-buffer' handle case where display-buffer' fails (Bug#24332)
* lisp/window.el (pop-to-buffer): Don't assume that
`display-buffer' has supplied a window (Bug#24332).
Rename BUFFER argument to BUFFER-OR-NAME.
* doc/lispref/windows.texi (Switching Buffers): Fix
`pop-to-buffer' documentation.
2016-08-30 12:30:29 +02:00
Paul Eggert
590dab5a68 Merge from origin/emacs-25
8c2946e In NEWS describe new handling of window margins (Bug#24193)
0cee66c Facultatively ignore margins when splitting and resizing wind...
8d68147 Document CATEGORY arg to modify-category-entry
8342e74 Document char-script-table's effect on word motion
e9ff485 Further fix for 'url-http-create-request' and multibyte strings
0695235 Fix docstring of eval-expression
98b01dd Clarify when 'cursor' property is in effect
75f1882 Convert the remaining strings to unibyte before concatenating
d2db5dd Fix bug with handling the bidi cache
ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
f785ff4 Clarify documentation of before/after-change-functions
3c9cb57 Document use of vectors in keymaps

# Conflicts:
#	src/xdisp.c
2016-08-22 14:38:49 -07:00
Andreas Politz
413cd292f6 Don't let window start override window point in `window-state-put' (Bug#24240)
* lisp/window.el (window--state-put-2): Set 'noforce argument
when restoring a window's start position.  This avoids that the
effect of `set-window-point' gets overidden by that of
`set-window-start' (Bug#24240).
2016-08-18 10:27:05 +02:00
Martin Rudalics
0cee66c3f1 Facultatively ignore margins when splitting and resizing windows (Bug#24193)
Provide a new window parameter 'min-margins' which allows to
ignore the actual widths of a window's margins when splitting or
resizing that window horizontally.  This should serve as a
workaround for handling the problems raised by Bug#24193.

* lisp/window.el (window--min-size-1): Handle new window
parameter 'min-margins'.
(split-window): Fix text of error messages.
* doc/lispref/windows.texi (Window Parameters): Describe new
parameter 'min-margins'.
2016-08-16 09:19:18 +02:00
Martin Rudalics
6bb55a25fa Fix docs on `display-buffer-below-selected' (Bug#24213)
* lisp/window.el (display-buffer-below-selected): Fix
doc-string (Bug#24213).
* doc/lispref/windows.texi (Display Action Functions): Fix
documentation of `display-buffer-below-selected'.
2016-08-13 09:59:14 +02:00
Paul Eggert
92e5b41c7c Spelling and minor grammar fixes
* test/file-organization.org: Rename from test/file-organisation.org.
2016-08-05 13:35:13 -07:00
Stefan Monnier
9d5cd45056 * lisp/window.el: Use lexical-binding
(window--min-size-ignore-p): Remove unused arg `horizontal'.
(window--sanitize-window-sizes): Remove unused arg `frame'.
(window-edges): Remove unused vars left-off and right-off.
(display-buffer-reuse-mode-window): Remove unused var `frame?'.
Avoid extraneous setq and do a bit of CSE.
(fit-frame-to-buffer): Remove unused vars `window', `fit-width',
and `toolbar-extra-height'.
(window-adjust-process-window-size): Remove unused arg `process'.
2016-08-02 15:17:01 -04:00
Mark Oteiza
574cd99692 * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version. 2016-06-16 19:57:39 -04:00
Mark Oteiza
ee297210cf Preserve buffer point in windows by default (Bug#4041).
* doc/lispref/windows.texi: Mention new default.
* etc/NEWS: Mention new default.
* lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
2016-05-27 07:04:58 -04:00
Paul Eggert
c3ed7cea0a Merge from origin/emacs-25
16e5e8e Fix last change to isearch-update (bug#23406)
b755d98 Autoload cursor-sensor-inhibit (bug#23406)
b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
86aa409 Followup for last commit in the user manual
7004459 Improve doc string of 'set-goal-column'
ccdaf04 Fix the MSDOS build
ffe701c Remove \= from format string (bug#18190)
1c58fa1 Fix variable-pitch font on MS-Windows
c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
b671e21 Revert unneeded change which harms syntactic parsing.  This f...
48b24c9 Correct indentation of ids in a C++ enum after a protection k...
5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
734fb3a Port dumping to NetBSD with PaX
0255a70 Don't mistake `for' inside a function for a part of array com...

# Conflicts:
#	src/Makefile.in
2016-05-01 18:09:29 -07:00
Eli Zaretskii
ccdaf04cfd Fix the MSDOS build
* config.bat:
* msdos/sedlisp.inp:
* msdos/sedlibmk.inp:
* msdos/sedleim.inp:
* msdos/sedadmin.inp:
* msdos/sed6.inp:
* msdos/sed3v2.inp:
* msdos/sed2v2.inp:
* msdos/sed1v2.inp: Adapt to Emacs 25.

* src/process.c (remove_slash_colon): Move out of "#ifdef
subprocesses" block, as it its called unconditionally.  Move
ADD_SUBFEATURE calls into "#ifdef subprocesses" block, as they
reference variables only defined in that block.
* src/msdos.h: Provide prototypes for IT_set_frame_parameters,
faccessat, msdos_fatal_signal, syms_of_msdos, pthread_sigmask,
dos_keysns, dos_keyread, run_msdos_command, and
syms_of_win16select, to avoid compiler warnings.
* src/msdos.c (SYS_ENVIRON): Define to either '_environ' or
'environ', depending on the DJGPP version.
Remove declarations of externally-visible Lisp objects, like
Qbackground_color and Qreverse.
(run_msdos_command): First argument is not signed, not unsigned.
Use SYS_ENVIRON.
(sys_select): Use 'timespec_cmp' instead of 'timespec_sign', as
the latter doesn't work when 'time_t' is an unsigned data type.
This caused idle timers to behave incorrectly: they only fired
after a keyboard input event.
* src/frame.c (adjust_frame_size) [MSDOS]: Account for
FRAME_TOP_MARGIN that isn't counted in the frame's number of
lines, but dos_set_window_size needs it to be added.
* src/lread.c (INFINITY, NAN) [DJGPP < 2.05]: Provide definitions.
* src/fns.c (sort_vector_copy) [__GNUC__ < 4]: Provide a prototype
that works around compilation errors with older GCC versions.
* src/w16select.c: Don't declare QCLIPBOARD and QPRIMARY as Lisp
Objects.
* src/filelock.c [MSDOS]: Ifdef away most of the code.  Provide
no-op implementations for 'lock_file' and 'unlock_file'.
(Ffile_locked_p) [MSDOS]: Always return nil.  This avoids multiple
ifdefs in all users of filelock.c functionality.
* src/conf_post.h (EOVERFLOW, SIZE_MAX) [DJGPP < 2.04]: Define.
* src/emacs.c [MSDOS]: Include dosfns.h, to avoid compiler
warnings.
* src/dosfns.h: Provide prototypes for dos_cleanup,
syms_of_dosfns, and init_dosfns.
* src/deps.mk (atimer.o): Depend on msdos.h.
(emacs.o): Depend on dosfns.h.
* src/atimer.c [MSDOS]: Include msdos.h, to avoid compiler
warnings.

* lisp/window.el (window--adjust-process-windows): Skip the body
if 'process-list' is not available.  This avoids failure to start
up on MS-DOS.
* lisp/vc/diff.el (diff-no-select): Test 'make-process', not
'start-process', as the latter is now available on all platforms.
* lisp/textmodes/ispell.el (ispell-async-processp): Replace
'start-process' with 'make-process' in a comment.
* lisp/term/internal.el (IT-unicode-translations): Modify and add
a few translations to display Info files with Unicode markup.  Fix
an ancient off-by-one mismatch error with Unicode codepoints.
* lisp/progmodes/compile.el (compilation-start): Test
'make-process', not 'start-process', as the latter is now
available on all platforms.
* lisp/man.el (Man-build-man-command, Man-getpage-in-background):
Test 'make-process', not 'start-process', as the latter is now
available on all platforms.
* lisp/international/mule-cmds.el (set-coding-system-map): Test
'make-process', not 'start-process', as the latter is now
available on all platforms.
* lisp/eshell/esh-cmd.el (eshell-do-pipelines-synchronously): Doc
fix.
(eshell-execute-pipeline): Test 'make-process', not
'start-process', as the latter is now available on all platforms.
2016-04-30 13:45:33 +03:00
Glenn Morris
5c3534ffdc * lisp/window.el (window--process-window-list): No-op if no processes.
This avoids an issue with save-selected-window (from walk-windows)
failing if frame.el is not loaded, eg if the terminal is resized
during startup of a -nw CANNOT_DUMP build.  (Bug#23369).
2016-04-27 19:21:41 -04:00
Anders Lindgren
ff7e201ed8 Fix bug#22891: wrong terminal width when a fringe width is zero.
When either fringe width is zero, Emacs reserved one column for a
continuation glyph. Terminal windows does not take this into
account when the frame is resized.

* lisp/window.el (window-adjust-process-window-size): Use
`window-max-chars-per-line' instead of `window-body-width'.
* lisp/term.el (term-window-width): Remove function. (It does the
same as `window-max-chars-per-line' but without recent bug fixes.)
(term-mode): Use `window-max-chars-per-line' instead of
`term-window-width'.

Backport

(cherry picked from commit 5b54032898)
2016-04-27 23:28:07 +02:00
Anders Lindgren
5b54032898 Fix bug#22891: wrong terminal width when a fringe width is zero.
When either fringe width is zero, Emacs reserved one column for a
continuation glyph. Terminal windows does not take this into
account when the frame is resized.

* lisp/window.el (window-adjust-process-window-size): Use
`window-max-chars-per-line' instead of `window-body-width'.
* lisp/term.el (term-window-width): Remove function. (It does the
same as `window-max-chars-per-line' but without recent bug fixes.)
(term-mode): Use `window-max-chars-per-line' instead of
`term-window-width'.
2016-04-26 20:58:52 +02:00
Paul Eggert
0808f2a1a3 Merge from origin/emacs-25
ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
3287f48 ; Add entry to MAINTAINERS
b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
0f33284 Make use of rectangle-preview custom variable.
aa0d83a Make use of rectangle-preview face.
33bef6e Use 'grep-find-program' in check-declare.el
a8560e5 Improve "C-h S" for cl-lib symbols
52e798b Fix minor issues with removing left or right fringes
d6ffd64 Speed up redisplay in ansi-term mode
4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
ab849b7 Fix w32 memory-management problem when extending buffer text
2016-04-18 14:05:31 -07:00
Eli Zaretskii
52e798b7cd Fix minor issues with removing left or right fringes
* lisp/window.el (window-max-chars-per-line): Account for
'left-fringe-width' and 'right-fringe-width' variables.

* doc/lispref/windows.texi (Window Sizes): Document the effect on
window text width when setting the width of one or both fringes to
zero.
* doc/emacs/display.texi (Fringes): Document the effect on window
text width when setting the width of one or both fringes to zero.
(Bug#22891)
2016-04-16 13:53:17 +03:00
John Wiegley
a934bf445f Merge from origin/emacs-25
620951f Fix previous fix of enlarge-/shrink-window
2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
66d2717 Complete temperature units in calc-convert-temperature
dbb02bf Make sure to use case-sensitive search
8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
100346a Add the missing test case for the previous patch
5aba61e Use the correct dabbrev expansion
2016-03-11 13:32:13 -08:00
Nicolas Richard
2d382515bf Add new function display-buffer-reuse-mode-window
* lisp/window.el (display-buffer-reuse-mode-window): New function.
* doc/lispref/windows.texi (Display Action Functions): Document it.
2016-03-10 10:44:08 +01:00
Martin Rudalics
620951fe22 Fix previous fix of enlarge-/shrink-window
* lisp/window.el (enlarge-window, shrink-window): Consistently
signal user-error instead of error.  Resize minibuffer window by
delta lines instead of pixels.  When a window cannot be resized,
signal an error only when this function was invoked by a command
in the enlarge-/shrink-window group (this restores the behavior
before the fix of bug#22723 for the non-interactive case).
2016-03-04 08:37:53 +01:00
Martin Rudalics
3722a694fa Fix bugs in window resizing code
* lisp/window.el (adjust-window-trailing-edge): Fix mismatched
parenthesis.
(shrink-window, enlarge-window): Fix bug#22723 where windows
with preserved size would not get resized.  Also now signal an
error when the window cannot be shrunk or enlarged as requested.
2016-02-18 11:25:07 +01:00
Martin Rudalics
c32cc606df c:/emacs-git/next/ChangeLog 2016-01-29 11:14:13 +01:00
Alan Mackenzie
fbce4757a8 Expunge "allow" + infinitive without direct object from source and doc.
Do the same for "permit", "enable", and "prevent".

* doc/emacs/mule.texi:
* doc/lispref/control.texi:
* doc/lispref/display.texi:
* doc/lispref/frames.texi:
* doc/lispref/functions.texi:
* doc/lispref/nonascii.texi:
* doc/lispref/streams.texi:
* doc/lispref/windows.texi:
* doc/misc/dbus.texi:
* doc/misc/eww.texi:
* doc/misc/flymake.texi:
* doc/misc/octave-mode.texi:
* doc/misc/org.texi:
* doc/misc/reftex.texi:
* doc/misc/tramp.texi:
* doc/misc/wisent.texi:
* etc/NEWS:
* lisp/autorevert.el:
* lisp/cedet/mode-local.el:
* lisp/cedet/semantic/senator.el:
* lisp/cedet/semantic/wisent.el:
* lisp/dos-fns.el:
* lisp/frameset.el:
* lisp/gnus/gnus-agent.el:
* lisp/gnus/mm-util.el:
* lisp/international/characters.el:
* lisp/ldefs-boot.el:
* lisp/mail/mailclient.el:
* lisp/man.el:
* lisp/mh-e/mh-search.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-gvfs.el:
* lisp/org/org-crypt.el:
* lisp/org/org-element.el:
* lisp/org/org-feed.el:
* lisp/org/org.el:
* lisp/org/ox-ascii.el:
* lisp/org/ox-icalendar.el:
* lisp/org/ox-publish.el:
* lisp/org/ox.el:
* lisp/play/gamegrid.el:
* lisp/play/gomoku.el:
* lisp/progmodes/antlr-mode.el:
* lisp/progmodes/python.el:
* lisp/progmodes/vhdl-mode.el:
* lisp/strokes.el:
* lisp/textmodes/ispell.el:
* lisp/tree-widget.el:
* lisp/vc/pcvs.el:
* lisp/window.el:
* src/lisp.h:
* src/w32.c:
* src/w32heap.c:
* src/w32term.c:
* src/window.c:
* src/xfaces.c:

Replace solecisms like "This allow to do something" with a correct
alternative, such as "This allow you to do something", "This allows
something to be done" or "This allows the doing of something".
2016-01-24 20:30:39 +00:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Paul Eggert
6cd051b31c Spelling fix: prefer "cooperate" to "co-operate" 2015-12-20 17:32:35 -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
e8937de554 Replace GROUP argument in six window primitives by new functions.
* doc/lispref/windows.texi (Window Start and End, Textual Scrolling)
* doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument
from description of six window functions.  Add in description of new functions
window-group-start, window-group-end, set-window-group-start,
pos-visible-in-window-group-p, recenter-group and move-to-window-group-line,
together with the six variables indirecting to the pertinent group
functions.

* src/window.c
* src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it
applies to these two files, which added the GROUP argument to six window
primitives.

* lisp/follow.el (follow-mode): Use updated variable names for the indirected
functions.

* lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window)
(isearch-back-into-window, isearch-lazy-highlight-new-loop)
(isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls
to window primitives (e.g. window-start) with a GROUP argument by calls to
new functions (e.g. window-group-start).

* lisp/ispell.el (ispell-command-loop): Replace call to
pos-visible-in-window-p with pos-visible-in-window-group-p.

* lisp/window.el (window-group-start, window-group-end)
(set-window-group-start, recenter-group, pos-visible-in-window-group-p)
(selected-window-group, move-to-window-group-line): New functions.
(window-group-start-function, window-group-end-function)
(set-window-group-start-function, recenter-group-function)
(pos-visible-in-window-group-p-function, selected-window-group-function)
(move-to-window-group-line-function): New variables.
2015-12-14 16:38:07 +00:00
Alan Mackenzie
64c5730365 First commit to scratch/follow. Make Isearch work with Follow Mode, etc.
doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
Windows" and new @defun selected-window-group.
(Window Start and End): Describe new &optional parameter GROUP and
...-group-function for window-start, window-end, set-window-start, and
pos-visible-in-window-p.
(Textual Scrolling) Describe the same for recenter.
doc/lispref/positions.texi (Screen Lines): Describe the same for
move-to-window-line.

src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
(Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
new optional parameter "group".  At the beginning of each, check whether the
corresponding ...-group-function is set to a function, and if so execute this
function in place of the normal processing.
(syms_of_window): Define symbols for the six new variables below.
(window-start-group-function, window-end-group-function)
(set-window-start-group-function, recenter-group-function)
(pos-visible-in-window-p-group-function, move-to-window-line-group-function):
New permanent local buffer local variables.
src/keyboard.c (Fposn_at_point): Add extra parameter in call to
Fpos_visible_in_window_p.

lisp/window.el (selected-window-group-function): New permanent local buffer
local variable.
(selected-window-group): New function.

lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
enable, kill them at mode disable.  Add/remove follow-after-change to/from
after-change-functions.
(follow-start-end-invalid): New variable.
(follow-redisplay): Manipulate follow-start-end-invalid.
(follow-after-change, follow-window-start, follow-window-end)
(follow-set-window-start, follow-pos-visible-in-window-p)
(follow-move-to-window-line, follow-sit-for): New functions.

lisp/isearch.el (isearch-call-message): New macro.
(isearch-update, with-isearch-suspended, isearch-del-char)
(isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
(with-isearch-suspended): Rearrange code such that isearch-call-message is
invoked before point is moved.
(isearch-message): Add comment about where point must be at function call.
(isearch-search): Remove call to isearch-message.
(isearch-lazy-highlight-window-group): New variable.
(isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
the battery of tests to ...
(isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
Note: (sit-for 0) is still called.
(isearch-lazy-highlight-update): Check membership of
isearch-lazy-highlight-window-group.  Don't set the `window' overlay
property.
(isearch-update, isearch-done, isearch-string-out-of-window)
(isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
(isearch-lazy-highlight-search, isearch-lazy-highlight-update)
(isearch-lazy-highlight-update): Call the six amended primitives (see
src/window.c above) with the new `group' argument set to t, to cooperate
with Follow Mode.
2015-12-04 18:15:27 +00:00
Martin Rudalics
ca6edca242 * lisp/window.el (split-window): Don't sanitize sizes when SIZE is non-nil. 2015-11-29 10:14:00 +01:00
Paul Eggert
ac16149ba4 Fix docstring quoting problems with ‘ '’
Problem reported by Artur Malabarba in:
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
Most of these fixes are to documentation; many involve fixing
longstanding quoting glitches that are independent of the
recent substitute-command-keys changes.  The changes to code are:
* lisp/cedet/mode-local.el (mode-local-augment-function-help)
(describe-mode-local-overload):
Substitute docstrings before displaying them.
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
Quote the generated docstring for later substitution.
2015-11-17 15:29:35 -08:00
Juanma Barranquero
1cdddc1db6 ; lisp/window.el (display-buffer-at-bottom): Fix indentation 2015-11-17 02:02:07 +01:00
Paul Eggert
26bd978d87 Fix some more docstring etc. quoting problems
Mostly these fixes prevent the transliteration of apostrophes
that should stay apostrophes.  Also, prefer curved quotes in
Bahá’í proper names, as that’s the preferred Bahá’í style and
these names are chock-full of non-ASCII characters anyway.
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
(eieio-defclass-internal):
* lisp/emacs-lisp/eieio.el (defclass):
* lisp/hi-lock.el (hi-lock-mode):
Don’t transliterate Lisp apostrophes when generating a
doc string or diagnostic.
* lisp/international/mule-diag.el (list-coding-systems-1):
* lisp/international/ogonek.el (ogonek-jak, ogonek-how):
* lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
* lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
Substitute quotes before putting them in the help buffer.
2015-09-03 15:32:54 -07:00
Paul Eggert
7f67cdb652 Spelling fixes 2015-08-25 00:43:01 -07:00
Martin Rudalics
a3f3cd7c4a In ‘adjust-window-trailing-edge’ fix bug with size-preserved windows.
* lisp/window.el (adjust-window-trailing-edge): Fix bug where this
function refused to resize a size-preserved window.
2015-08-22 10:22:26 +02:00
Eli Zaretskii
2f5e809082 Clarify documentation of 'get-buffer-window-list'
* doc/lispref/windows.texi (Buffers and Windows): Mention that the
current window, if relevant, will be the first in the list
returned by 'get-buffer-window-list'.

* lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
2015-08-21 15:55:05 +03:00
Paul Eggert
760701ebe1 Don't quote symbols 'like-this' in docstrings etc.
* admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
* lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
* lisp/allout.el (allout-add-resumptions, allout-mode):
* lisp/calculator.el (calculator-operators):
* lisp/cedet/data-debug.el (dd-propertize):
* lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
* lisp/cedet/semantic/analyze/debug.el:
(semantic-analyzer-debug-global-miss-text):
* lisp/cedet/semantic/lex-spp.el:
(semantic-lex-spp-replace-or-symbol-or-keyword):
* lisp/cedet/semantic/symref.el:
(semantic-symref-cleanup-recent-buffers-fcn):
* lisp/cedet/semantic/tag.el (semantic-tag-class):
* lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
* lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
* lisp/gnus/pop3.el (pop3-authentication-scheme):
* lisp/help-fns.el (describe-function-orig-buffer):
* lisp/imenu.el (imenu--history-list):
* lisp/mail/feedmail.el (feedmail-confirm-outgoing)
(feedmail-display-full-frame, feedmail-deduce-bcc-where)
(feedmail-queue-default-file-slug)
(feedmail-queue-buffer-file-name):
* lisp/net/mairix.el (mairix-searches-mode-map):
* lisp/net/newst-backend.el (newsticker-retrieval-method)
(newsticker-auto-mark-filter-list):
* lisp/obsolete/vi.el (vi-mode):
* lisp/progmodes/cc-engine.el (c-literal-type):
* lisp/progmodes/cpp.el (cpp-face):
* lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
* lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
* lisp/progmodes/pascal.el (pascal-auto-lineup):
* lisp/progmodes/prog-mode.el (prog-widen):
* lisp/progmodes/verilog-mode.el (verilog-regexp-words)
(verilog-auto-lineup, verilog-auto-reset-widths)
(verilog-auto-arg-format, verilog-auto-inst-template-numbers):
* lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
(flyspell-maybe-correct-doubling):
* lisp/textmodes/table.el (table-justify, table-justify-cell)
(table-justify-row, table-justify-column, table-insert-sequence)
(table--justify-cell-contents):
* lisp/url/url-auth.el (url-get-authentication):
* lisp/window.el (display-buffer-record-window):
* lisp/xml.el (xml-parse-file, xml-parse-region):
* src/gfilenotify.c (Fgfile_add_watch):
Don't quote symbols with apostrophes in doc strings.
Use asymmetric quotes instead.
* lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
Likewise for symbol in diagnostic.
* lisp/image.el (image-extension-data):
* lisp/register.el (frame-configuration-to-register):
* src/buffer.c (syms_of_buffer):
Remove bogus apostrophes after symbols.
* lisp/thumbs.el (thumbs-conversion-program):
Quote Lisp string values using double-quotes, not apostrophes.
2015-08-20 17:34:57 -07:00
Martin Rudalics
f5a14da109 Move window edge functions to Elisp.
* src/window.c (Fwindow_edges, Fwindow_pixel_edges)
(Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
(Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
Move to window.el.
(calc_absolute_offset): Remove.
* lisp/frame.el (frame-edges): New function.
* lisp/window.el (window-edges, window-pixel-edges)
(window-absolute-pixel-edges): Move here from window.c.
(window-body-edges, window-body-pixel-edges)
(window-absolute-body-pixel-edges): Move here from window.c and
rename "inside" to "body".  Keep old names as aliases.
(window-absolute-pixel-position): New function.
2015-08-19 11:20:44 +02:00
Stephen Leake
19154876b9 lisp/window.el: fix typo, more `display-buffer-use-some-frame'
* lisp/window.el: fix typo that broke build
(display-buffer--action-function-custom-type): add
`display-buffer-use-some-frame'
(display-buffer): add `display-buffer-use-some-frame' to doc string
2015-08-07 10:32:05 -05:00
Stephen Leake
4daa09e499 Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
* lisp/window.el (display-buffer-use-some-frame): Add support for
'inhibit-same-window in alist.

* doc/windows.texi (display-buffer-use-some-frame): Doc support for
'inhibit-same-window in alist.
2015-08-07 10:03:59 -05:00
Stephen Leake
3b9d689c2a Add docs for display-buffer action display-buffer-use-some-frame
* lisp/window.el (display-buffer-use-some-frame): improve doc string

* doc/lispref/windows.texi (Display Action Functions): add
  display-buffer-use-some-frame

* etc/NEWS: mention display-buffer-use-some-frame
2015-07-29 19:23:19 -05:00
Stephen Leake
72fea2fac5 Add display-buffer action display-buffer-use-some-frame
* lisp/window.el (display-buffer-use-some-frame): new
2015-07-29 18:30:36 -05:00
Martin Rudalics
fa1463896d Fix customization type of `even-window-sizes'.
* lisp/window.el (even-window-sizes): Fix customization type.
2015-07-22 12:34:41 +02:00
Martin Rudalics
59526c325e 2015-07-22 Martin Rudalics <rudalics@gmx.at>
Optionally even widths of `display-buffer' windows.  (Bug#21100)

* lisp/window.el (quit-restore-window): Restore width if
requested.
(display-buffer-record-window): Record width when window is
reused and horizontally combined.
(even-window-sizes): New option to allow evening window widths.
(even-window-heights): Defalias to `even-window-sizes'.
(window--even-window-heights): Rename to
`window--even-window-sizes'.  Handle side-by-side windows.
(display-buffer-use-some-window): Call `window--even-window-sizes'
instead of `window--even-window-heights'.
* lisp/help.el (resize-temp-buffer-window): Fix indentation.

* doc/lispref/windows.texi (Choosing Window Options): Describe
`even-window-sizes'.
(Coordinates and Windows): Fix typo.
2015-07-22 12:20:13 +02:00
Jürgen Hartmann
abe07ef01c Respect ‘switch-to-visible-buffer’ more rigidly. (Bug#20861)
* lisp/window.el (switch-to-visible-buffer): Doc adjustment.
(switch-to-prev-buffer, switch-to-next-buffer): Respect
switch-to-visible-buffer independent of the windows history.

Copyright-paperwork-exempt: yes
2015-06-23 17:43:58 +02:00