* next-line + recenter (- redraw frame)?
@ 2006-03-03 16:54 Peter Tury
2006-03-03 17:36 ` Ralf Angeli
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Peter Tury @ 2006-03-03 16:54 UTC (permalink / raw)
Hi,
I've created a tiny function for ease reading:
(defun down-center ()
"Moves point down by one line and then moves the line to the
center of the screen.
Keeps columns as next-line does.
Created for ease reading (of program source codes) (since this
way the user always can see the most lines around)."
(interactive)
(if (eq last-command 'down-center)
(setq last-command 'next-line))
(next-line)
(recenter))
(define-key global-map [M-down] 'down-center)
Please comment it!
I am especially interested in these:
- do you know some builtin function what does the same (=so this function
is totally unnecessary) in emacs 22?
- how could I get rid of setting last-command (it seems to be a quite ugly
solution for me...) (it is necessary if you go through e.g. an empty or too
short line: then, without this last-command setting, the original column is
lost (since next-line (more exactly: line-move-1) uses last-command :-((
- how could I get rid of redrawing the frame? recenter's doc writes: "Just
C-u as prefix means put point in the center of the window
and redisplay normally--don't erase and redraw the frame." -- I would like
to use this. But how to call recenter from elisp "just uing C-u as prefix"?
It seems for me that if I put "(universal-argument)" (what is bound to C-u)
before "(recenter)" it doesn't help.
Thanks,
P
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: next-line + recenter (- redraw frame)?
2006-03-03 16:54 next-line + recenter (- redraw frame)? Peter Tury
@ 2006-03-03 17:36 ` Ralf Angeli
2006-03-06 8:17 ` Peter Tury
2006-03-03 22:20 ` Peter Dyballa
[not found] ` <mailman.1.1141424503.26251.help-gnu-emacs@gnu.org>
2 siblings, 1 reply; 10+ messages in thread
From: Ralf Angeli @ 2006-03-03 17:36 UTC (permalink / raw)
* Peter Tury (2006-03-03) writes:
> I've created a tiny function for ease reading:
>
> (defun down-center ()
> "Moves point down by one line and then moves the line to the
> center of the screen.
> Keeps columns as next-line does.
> Created for ease reading (of program source codes) (since this
> way the user always can see the most lines around)."
[...]
> I am especially interested in these:
>
> - do you know some builtin function what does the same (=so this function
> is totally unnecessary) in emacs 22?
You can get a similar functionality with `C-l' followed by `M-x
scroll-lock-mode RET' and using `C-p' and `C-n' for moving around.
--
Ralf
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: next-line + recenter (- redraw frame)?
2006-03-03 16:54 next-line + recenter (- redraw frame)? Peter Tury
2006-03-03 17:36 ` Ralf Angeli
@ 2006-03-03 22:20 ` Peter Dyballa
[not found] ` <mailman.1.1141424503.26251.help-gnu-emacs@gnu.org>
2 siblings, 0 replies; 10+ messages in thread
From: Peter Dyballa @ 2006-03-03 22:20 UTC (permalink / raw)
Cc: help-gnu-emacs
Am 03.03.2006 um 16:54 schrieb Peter Tury:
> Please comment it!
Please compare it to scroll-down-in-place in lisp/term/sun.el by Jeff
Peck!
(defun scroll-down-in-place (n)
(interactive "p")
(previous-line n)
(scroll-down n))
(defun scroll-up-in-place (n)
(interactive "p")
(next-line n)
(scroll-up n))
--
Greetings
Pete
From error to error, one discovers the entire truth.
-Sigmund
Freud
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: next-line + recenter (- redraw frame)?
2006-03-03 17:36 ` Ralf Angeli
@ 2006-03-06 8:17 ` Peter Tury
2006-03-06 8:43 ` Ralf Angeli
0 siblings, 1 reply; 10+ messages in thread
From: Peter Tury @ 2006-03-06 8:17 UTC (permalink / raw)
On Fri, 03 Mar 2006 18:36:30 +0100, Ralf Angeli wrote:
> You can get a similar functionality with `C-l' followed by `M-x
> scroll-lock-mode RET' and using `C-p' and `C-n' for moving around.
Hi,
thanks for the info! I checked this mode now and learned from it. But I
don't plan to use it instead of my code, because you reimplemented some
functionality and thus (e.g.) <down> doesn't work exactly as normally. I
mean e.g. if I go to end of line and then down, then the column is keeped
instead of the end of line (as normally). This solution is equivalently
good also for me but I would like to have only one method... (Moreover:
your minor mode sometimes skips two lines, I don't know why.)
Anyway: thanks a lot,
P
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: next-line + recenter (- redraw frame)?
[not found] ` <mailman.1.1141424503.26251.help-gnu-emacs@gnu.org>
@ 2006-03-06 8:36 ` Peter Tury
2006-03-26 2:38 ` David Combs
0 siblings, 1 reply; 10+ messages in thread
From: Peter Tury @ 2006-03-06 8:36 UTC (permalink / raw)
On Fri, 3 Mar 2006 23:20:55 +0100, Peter Dyballa wrote:
> Please compare it to scroll-down-in-place in lisp/term/sun.el by Jeff
> Peck!
>
> (defun scroll-down-in-place (n)
> (interactive "p")
> (previous-line n)
> (scroll-down n))
>
> (defun scroll-up-in-place (n)
> (interactive "p")
> (next-line n)
> (scroll-up n))
Hi,
thanks for the info! This is again really almost the same as I wanted.
(Recenter is not so important, maybe scroll- is better.) However this has a
"big" disadvantage: it forgets the correct column always. The problem is in
next-line (more exactly: line-move-1) as I mentioned earlier, I know...
What do you think: is it realistic to modify simple.el "officially" to
eliminate this "bug"? I think we would have a variable
column-keeping-line-moves-list or something similar what would tell what
commands should be treated as now next-line and previous-line. Its default
could be '(next-line previous-line), so we would have backword
compatibility.
After this, if the user adds e.g. scroll-up-in-place to this list, then
scroll-up-in-place would work "correctly" in the above form. (I can imagine
this is not the required functionality for scroll-up-in-place, but it is
just an example here).
What should I do if I want to propose this "officially"? I see that
simple.el's maintainer is FSF...
Br,
P
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: next-line + recenter (- redraw frame)?
2006-03-06 8:17 ` Peter Tury
@ 2006-03-06 8:43 ` Ralf Angeli
2006-03-06 9:34 ` Peter Tury
0 siblings, 1 reply; 10+ messages in thread
From: Ralf Angeli @ 2006-03-06 8:43 UTC (permalink / raw)
* Peter Tury (2006-03-06) writes:
> On Fri, 03 Mar 2006 18:36:30 +0100, Ralf Angeli wrote:
>
>> You can get a similar functionality with `C-l' followed by `M-x
>> scroll-lock-mode RET' and using `C-p' and `C-n' for moving around.
>
> thanks for the info! I checked this mode now and learned from it. But I
> don't plan to use it instead of my code, because you reimplemented some
> functionality and thus (e.g.) <down> doesn't work exactly as normally. I
> mean e.g. if I go to end of line and then down, then the column is keeped
> instead of the end of line (as normally).
I don't understand what you mean.
If there are the lines
1: a
2: ab
in a buffer and point is at the end of the first line, calling either
`next-line' without Scroll Lock mode or `scroll-lock-next-line' will
have the same result, namely that point will be between "a" and "b" in
the second line. `next-line' does not move point to the end of the
second line as you seem to describe. But maybe I misunderstood that.
> This solution is equivalently
> good also for me but I would like to have only one method... (Moreover:
> your minor mode sometimes skips two lines, I don't know why.)
If you send a bug report with a minimal example by means of `M-x
emacs-report-bug RET' people would have a chance to debug the problem
and eventually fix it.
--
Ralf
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: next-line + recenter (- redraw frame)?
2006-03-06 8:43 ` Ralf Angeli
@ 2006-03-06 9:34 ` Peter Tury
0 siblings, 0 replies; 10+ messages in thread
From: Peter Tury @ 2006-03-06 9:34 UTC (permalink / raw)
On Mon, 06 Mar 2006 09:43:32 +0100, Ralf Angeli wrote:
> * Peter Tury (2006-03-06) writes:
>> On Fri, 03 Mar 2006 18:36:30 +0100, Ralf Angeli wrote:
>>
>> (e.g.) <down> doesn't work exactly as normally. I
>> mean e.g. if I go to end of line and then down, then the column is keeped
>> instead of the end of line (as normally).
>
> I don't understand what you mean.
>
> If there are the lines
>
> 1: a
> 2: ab
>
> in a buffer and point is at the end of the first line, calling either
> `next-line' without Scroll Lock mode or `scroll-lock-next-line' will
> have the same result, namely that point will be between "a" and "b" in
> the second line. `next-line' does not move point to the end of the
> second line as you seem to describe. But maybe I misunderstood that.
Sorry, my mistake: it works this way only if I set track-eol to t. (And in
this case the difference is what I described.)
>> your minor mode sometimes skips two lines, I don't know why.)
>
> If you send a bug report with a minimal example by means of `M-x
> emacs-report-bug RET' people would have a chance to debug the problem
> and eventually fix it.
Thanks for the info! I may do this. Currently I don't see any rule when
this minor mode does this. If I will see the rule, then I will be able to
send a detailed bug report. Maybe the bug is in my (cvs: emacsW32) emacs?
It seems so if you cannot achieve this functionality since I see it many
times...
Br,
P
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: next-line + recenter (- redraw frame)?
2006-03-06 8:36 ` Peter Tury
@ 2006-03-26 2:38 ` David Combs
2006-03-26 10:10 ` Peter Dyballa
2006-03-27 15:51 ` Kevin Rodgers
0 siblings, 2 replies; 10+ messages in thread
From: David Combs @ 2006-03-26 2:38 UTC (permalink / raw)
In article <19aniuq151di2$.1qyujo75j1w3b$.dlg@40tude.net>,
Peter Tury <tury.peter@gmail.com> wrote:
>On Fri, 3 Mar 2006 23:20:55 +0100, Peter Dyballa wrote:
>
>> Please compare it to scroll-down-in-place in lisp/term/sun.el by Jeff
>> Peck!
>>
>> (defun scroll-down-in-place (n)
>> (interactive "p")
>> (previous-line n)
>> (scroll-down n))
>>
>> (defun scroll-up-in-place (n)
>> (interactive "p")
>> (next-line n)
>> (scroll-up n))
>
Never even knew it was there, sun.el.
Questions:
. What makes sun.el relevant to (only?) Sun computers, or Solaris?
. Is this sun.el so well liked that just about *anyone* running
emacs on a Sun should put a load-file of it in their .emacs?
Thanks,
David
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: next-line + recenter (- redraw frame)?
2006-03-26 2:38 ` David Combs
@ 2006-03-26 10:10 ` Peter Dyballa
2006-03-27 15:51 ` Kevin Rodgers
1 sibling, 0 replies; 10+ messages in thread
From: Peter Dyballa @ 2006-03-26 10:10 UTC (permalink / raw)
Cc: help-gnu-emacs
Am 26.03.2006 um 04:38 schrieb David Combs:
> . What makes sun.el relevant to (only?) Sun computers, or Solaris?
It has keyboard bindings for old Sun Type 4 (and 3?) keyboards, those
with extra Left and Right function keys. For recent keyboards and
environments it's probably neither needed nor useful.
>
> . Is this sun.el so well liked that just about *anyone* running
> emacs on a Sun should put a load-file of it in their .emacs?
I think it's outdated (Emacstool is the Carbon Emacs for Sunview --
ever heard of this pre-X11 GUI?). Modern Suns have poor PC like
keyboards, but some functions are worth being saved -- when still
working in small windows.
--
Greetings
Pete
“One cannot live by television, video games, top ten CDs, and dumb
movies alone”
(Amiri Baraka 1999)
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: next-line + recenter (- redraw frame)?
2006-03-26 2:38 ` David Combs
2006-03-26 10:10 ` Peter Dyballa
@ 2006-03-27 15:51 ` Kevin Rodgers
1 sibling, 0 replies; 10+ messages in thread
From: Kevin Rodgers @ 2006-03-27 15:51 UTC (permalink / raw)
David Combs wrote:
> Never even knew it was there, sun.el.
>
> Questions:
>
> . What makes sun.el relevant to (only?) Sun computers, or Solaris?
It is relevant to Sun keyboards.
> . Is this sun.el so well liked that just about *anyone* running
> emacs on a Sun should put a load-file of it in their .emacs?
It should be loaded automatically:
,----[ C-h v term-file-prefix RET ]
| term-file-prefix's value is "term/"
|
| Documentation:
| If non-nil, Emacs startup does (load (concat term-file-prefix (getenv
"TERM")))
| You may set this variable to nil in your `.emacs' file if you do not wish
| the terminal-initialization file to be loaded.
|
| Defined in `paths.el'.
`----
And from the Emacs manual:
,----
|
| Terminal-specific Initialization
--------------------------------|
|
| Each terminal type can have a Lisp library to be loaded into Emacs
| when it is run on that type of terminal. For a terminal type named
| TERMTYPE, the library is called `term/TERMTYPE' and it is found by
| searching the directories `load-path' as usual and trying the suffixes
| `.elc' and `.el'. Normally it appears in the subdirectory `term' of
| the directory where most Emacs libraries are kept.
|
| The usual purpose of the terminal-specific library is to map the
| escape sequences used by the terminal's function keys onto more
| meaningful names, using `function-key-map'. See the file
| `term/lk201.el' for an example of how this is done. Many function keys
| are mapped automatically according to the information in the Termcap
| data base; the terminal-specific library needs to map only the function
| keys that Termcap does not specify.
|
| When the terminal type contains a hyphen, only the part of the name
| before the first hyphen is significant in choosing the library name.
| Thus, terminal types `aaa-48' and `aaa-30-rv' both use the library
| `term/aaa'. The code in the library can use `(getenv "TERM")' to find
| the full terminal type name.
|
| The library's name is constructed by concatenating the value of the
| variable `term-file-prefix' and the terminal type. Your `.emacs' file
| can prevent the loading of the terminal-specific library by setting
| `term-file-prefix' to `nil'.
|
| Emacs runs the hook `term-setup-hook' at the end of initialization,
| after both your `.emacs' file and any terminal-specific library have
| been read in. Add hook functions to this hook if you wish to override
| part of any of the terminal-specific libraries and to define
| initializations for terminals that do not have a library. *Note
| Hooks::.
|
`----
--
Kevin Rodgers
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2006-03-27 15:51 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-03 16:54 next-line + recenter (- redraw frame)? Peter Tury
2006-03-03 17:36 ` Ralf Angeli
2006-03-06 8:17 ` Peter Tury
2006-03-06 8:43 ` Ralf Angeli
2006-03-06 9:34 ` Peter Tury
2006-03-03 22:20 ` Peter Dyballa
[not found] ` <mailman.1.1141424503.26251.help-gnu-emacs@gnu.org>
2006-03-06 8:36 ` Peter Tury
2006-03-26 2:38 ` David Combs
2006-03-26 10:10 ` Peter Dyballa
2006-03-27 15:51 ` Kevin Rodgers
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).