[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: split-window as a command
From: |
Stephen Berman |
Subject: |
Re: split-window as a command |
Date: |
Fri, 12 Apr 2013 13:37:24 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
On Fri, 12 Apr 2013 11:29:12 +0200 martin rudalics <address@hidden> wrote:
>> The doc string of split-window says "Interactively, SIZE is the prefix
>> argument." But in fact, invoking split-window with a prefix argument
>> has no effect, because its interactive spec is "i". Maybe this is just
>> a doc bug, since, when split-window was still a C function, its doc
>> string said "Interactively, all arguments are nil." But I don't see why
>> it is a command at all any more: invoked interactively, it has exactly
>> the same effect as invoking split-window-below without a prefix
>> argument, and since the latter does not ignore a prefix argument passed
>> to it, it does more than interactively called split-window. So it
>> appears to be superfluous for split-window to be a command. Or am I
>> overlooking something?
>
> Everything you say here is correct. Can you please fix it?
>
> Thanks, martin
Here's a patch; I can't commit it to the Savannah repository, since I
don't have write access to it.
2013-04-12 Stephen Berman <address@hidden>
* NEWS: Mention fixing `split-window' to be non-interactive.
=== modified file 'etc/NEWS'
*** etc/NEWS 2013-04-09 17:54:50 +0000
--- etc/NEWS 2013-04-12 10:34:13 +0000
***************
*** 76,81 ****
--- 76,86 ----
* Editing Changes in Emacs 24.4
+ ** `split-window' is no longer a command, just a non-interactive function.
+ As a command it was a special case of `split-window-below', and as such
+ superfluous. After being reimplemented in Lisp, its interactive form
+ was mistakenly retained.
+
** New commands `toggle-frame-fullscreen' and `toggle-frame-maximized',
bound to <f11> and M-<f10>, respectively.
2013-04-12 Stephen Berman <address@hidden>
* windows.texi (Splitting Windows): Change category of
split-window from a command to a function.
=== modified file 'doc/lispref/windows.texi'
*** doc/lispref/windows.texi 2013-01-06 20:34:54 +0000
--- doc/lispref/windows.texi 2013-04-12 10:14:33 +0000
***************
*** 717,723 ****
This section describes functions for creating a new window by
@dfn{splitting} an existing one.
! @deffn Command split-window &optional window size side
This function creates a new live window next to the window
@var{window}. If @var{window} is omitted or @code{nil}, it defaults
to the selected window. That window is ``split'', and reduced in
--- 717,723 ----
This section describes functions for creating a new window by
@dfn{splitting} an existing one.
! @defun split-window &optional window size side
This function creates a new live window next to the window
@var{window}. If @var{window} is omitted or @code{nil}, it defaults
to the selected window. That window is ``split'', and reduced in
***************
*** 767,773 ****
lieu of the usual action of @code{split-window}. Otherwise, this
function obeys the @code{window-atom} or @code{window-side} window
parameter, if any. @xref{Window Parameters}.
! @end deffn
As an example, here is a sequence of @code{split-window} calls that
yields the window configuration discussed in @ref{Windows and Frames}.
--- 767,773 ----
lieu of the usual action of @code{split-window}. Otherwise, this
function obeys the @code{window-atom} or @code{window-side} window
parameter, if any. @xref{Window Parameters}.
! @end defun
As an example, here is a sequence of @code{split-window} calls that
yields the window configuration discussed in @ref{Windows and Frames}.
2013-04-12 Stephen Berman <address@hidden>
* window.el (split-window): Remove interactive form, since as a
command this function is a special case of split-window-below.
=== modified file 'lisp/window.el'
*** lisp/window.el 2013-01-02 16:13:04 +0000
--- lisp/window.el 2013-04-12 09:43:13 +0000
***************
*** 3686,3692 ****
absolute value can be less than `window-min-height' or
`window-min-width'; so this command can make a new window as
small as one line or two columns. SIZE defaults to half of
! WINDOW's size. Interactively, SIZE is the prefix argument.
Optional third argument SIDE nil (or `below') specifies that the
new window shall be located below WINDOW. SIDE `above' means the
--- 3686,3692 ----
absolute value can be less than `window-min-height' or
`window-min-width'; so this command can make a new window as
small as one line or two columns. SIZE defaults to half of
! WINDOW's size.
Optional third argument SIDE nil (or `below') specifies that the
new window shall be located below WINDOW. SIDE `above' means the
***************
*** 3718,3724 ****
window, these properties as well as the buffer displayed in the
new window are inherited from the window selected on WINDOW's
frame. The selected window is not changed by this function."
- (interactive "i")
(setq window (window-normalize-window window))
(let* ((side (cond
((not side) 'below)
--- 3718,3723 ----
- split-window as a command, Stephen Berman, 2013/04/12
- Re: split-window as a command, martin rudalics, 2013/04/12
- Re: split-window as a command,
Stephen Berman <=
- Re: split-window as a command, martin rudalics, 2013/04/12
- Re: split-window as a command, Rand, 2013/04/12
- Re: split-window as a command, Xue Fuqiao, 2013/04/12
- Re: split-window as a command, Stephen Berman, 2013/04/12
- Re: split-window as a command, Xue Fuqiao, 2013/04/12
- Re: split-window as a command, Rand User, 2013/04/12
- Re: split-window as a command, Xue Fuqiao, 2013/04/12
- Re: split-window as a command, Rand User, 2013/04/13
- Re: split-window as a command, Xue Fuqiao, 2013/04/13
- Re: split-window as a command, Rand User, 2013/04/12