unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#3249: 23.0.93; doc of transpose-subr and transpose-regions
@ 2009-05-09 15:56 Drew Adams
  2009-05-09 20:25 ` Andreas Röhler
  2012-01-28  3:56 ` Chong Yidong
  0 siblings, 2 replies; 3+ messages in thread
From: Drew Adams @ 2009-05-09 15:56 UTC (permalink / raw)
  To: emacs-pretest-bug

It seems that all transpose functions in Emacs are defined using
`transpose-subr'.  If you want to define your own transpose function,
then you will presumably use `transpose-subr' too.
 
But `transpose-subr' is not even documented, making it that much
harder to try to use it to define your own transpose function.  Please
add a helpful doc string.
 
It's apparently not as simple as providing a `forward-*' function and
a numeric arg N to `transpose-subr'.  That's what `transpose-chars',
`transpose-words', `transpose-paragraphs', and `transpose-sentences do
(using `forward-char' etc.), but that apparently is not adequate for
`transpose-lines' or `transpose-sexps'.
 
So it would, in particular, be helpful to know just what is needed as
the MOVER arg of `transpose-subr'.
 
Also, the Elisp manual, node Transposition, mentions only
`transpose-regions', saying that it is used by the transposition
commands.  But it is not - the transposition commands all use
`transpose-subr', and that doesn't even call `transpose-regions'
indirectly.
 
`transpose-regions' is used in the Elisp source code in only 4 places,
in deuglify.el, mule-diag.el, and hanoi.el - never to define a
transpose command.  And `transpose-subr' is used in just as many
files, not counting simple.el.
 
So what is the correct advice to give Elisp programmers who want to
define transpose functions?  Shouldn't `transpose-subr' be documented
in the Elisp manual, in addition to getting a doc string?
 
Also, why is `transpose-regions' still defined in C code? Is that
necessary for performance?
 

In GNU Emacs 23.0.93.1 (i386-mingw-nt5.1.2600)
 of 2009-05-02 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'
 







^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#3249: 23.0.93; doc of transpose-subr and transpose-regions
  2009-05-09 15:56 bug#3249: 23.0.93; doc of transpose-subr and transpose-regions Drew Adams
@ 2009-05-09 20:25 ` Andreas Röhler
  2012-01-28  3:56 ` Chong Yidong
  1 sibling, 0 replies; 3+ messages in thread
From: Andreas Röhler @ 2009-05-09 20:25 UTC (permalink / raw)
  To: Drew Adams, 3249

Drew Adams wrote:
> It seems that all transpose functions in Emacs are defined using
> `transpose-subr'.  If you want to define your own transpose function,
> then you will presumably use `transpose-subr' too.
>  
> But `transpose-subr' is not even documented, making it that much
> harder to try to use it to define your own transpose function.  Please
> add a helpful doc string.
>  
> It's apparently not as simple as providing a `forward-*' function and
> a numeric arg N to `transpose-subr'.  That's what `transpose-chars',
> `transpose-words', `transpose-paragraphs', and `transpose-sentences do
> (using `forward-char' etc.), but that apparently is not adequate for
> `transpose-lines' or `transpose-sexps'.
>  
> So it would, in particular, be helpful to know just what is needed as
> the MOVER arg of `transpose-subr'.
>  
> Also, the Elisp manual, node Transposition, mentions only
> `transpose-regions', saying that it is used by the transposition
> commands.  But it is not - the transposition commands all use
> `transpose-subr', and that doesn't even call `transpose-regions'
> indirectly.
>  
> `transpose-regions' is used in the Elisp source code in only 4 places,
> in deuglify.el, mule-diag.el, and hanoi.el - never to define a
> transpose command.  And `transpose-subr' is used in just as many
> files, not counting simple.el.
>  
> So what is the correct advice to give Elisp programmers who want to
> define transpose functions?  Shouldn't `transpose-subr' be documented
> in the Elisp manual, in addition to getting a doc string?
>  
> Also, why is `transpose-regions' still defined in C code? Is that
> necessary for performance?
>  
>
> In GNU Emacs 23.0.93.1 (i386-mingw-nt5.1.2600)
>  of 2009-05-02 on SOFT-MJASON
> Windowing system distributor `Microsoft Corp.', version 5.1.2600
> configured using `configure --with-gcc (3.4)'
>  
>
>
>
>
>
>
>   

Would assume sorting faster with transpose-regions' than with present
`sort-subr'.

Thanks pointing at it.
Employed it for the stuff at

https://code.launchpad.net/s-x-emacs-werkstatt/

Andreas Röhler










^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#3249: 23.0.93; doc of transpose-subr and transpose-regions
  2009-05-09 15:56 bug#3249: 23.0.93; doc of transpose-subr and transpose-regions Drew Adams
  2009-05-09 20:25 ` Andreas Röhler
@ 2012-01-28  3:56 ` Chong Yidong
  1 sibling, 0 replies; 3+ messages in thread
From: Chong Yidong @ 2012-01-28  3:56 UTC (permalink / raw)
  To: 3249-done

> `transpose-subr' is not even documented, making it that much harder to
> try to use it to define your own transpose function.  Please add a
> helpful doc string.

Glenn wrote a docstring for transpose-subr several months ago.  Closing.





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-01-28  3:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-09 15:56 bug#3249: 23.0.93; doc of transpose-subr and transpose-regions Drew Adams
2009-05-09 20:25 ` Andreas Röhler
2012-01-28  3:56 ` Chong Yidong

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).