emacs-devel
[Top][All Lists]
Advanced

[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 ----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]