unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* bash/readline emacs mode help
@ 2013-06-27  9:14 C K Kashyap
  2013-06-27  9:30 ` Teemu Likonen
  0 siblings, 1 reply; 8+ messages in thread
From: C K Kashyap @ 2013-06-27  9:14 UTC (permalink / raw)
  To: help-gnu-emacs@gnu.org

Hi,

In bash (I presume, this really comes from readline implementation), I can
set the input mode to vi saying set -o vi
One of the things I get with this mode is the ability to open up vi to edit
a command line (using Escape v) - This is particularly useful if I have to
change "slashes" in a path.

I was wondering if there is an equivalent in emacs mode?

Regards,
Kashyap


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

* Re: bash/readline emacs mode help
  2013-06-27  9:14 bash/readline emacs mode help C K Kashyap
@ 2013-06-27  9:30 ` Teemu Likonen
  2013-06-27 13:17   ` J. David Boyd
  0 siblings, 1 reply; 8+ messages in thread
From: Teemu Likonen @ 2013-06-27  9:30 UTC (permalink / raw)
  To: C. K. Kashyap; +Cc: help-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 374 bytes --]

C. K. Kashyap [2013-06-27 14:44:21 +05:30] wrote:

> One of the things I get with this mode is the ability to open up vi to
> edit a command line (using Escape v) [...]
>
> I was wondering if there is an equivalent in emacs mode?

In Emacs editing mode the key "C-x C-e" (edit-and-execute-command) opens
the text editor defined in $VISUAL or $EDITOR variables (or "emacs").

[-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --]

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

* Re: bash/readline emacs mode help
  2013-06-27  9:30 ` Teemu Likonen
@ 2013-06-27 13:17   ` J. David Boyd
  2013-06-27 13:24     ` J. David Boyd
                       ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: J. David Boyd @ 2013-06-27 13:17 UTC (permalink / raw)
  To: help-gnu-emacs

Teemu Likonen <tlikonen@iki.fi> writes:

> C. K. Kashyap [2013-06-27 14:44:21 +05:30] wrote:
>
>> One of the things I get with this mode is the ability to open up vi to
>> edit a command line (using Escape v) [...]
>>
>> I was wondering if there is an equivalent in emacs mode?
>
> In Emacs editing mode the key "C-x C-e" (edit-and-execute-command) opens
> the text editor defined in $VISUAL or $EDITOR variables (or "emacs").

Doesn't seem all that useful though.  I have my $EDITOR set to be
"emacsclient -n", which doesn't work at all in this circumstance.

If I get rid of the '-n' it works fine, but I'm not doing that....




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

* Re: bash/readline emacs mode help
  2013-06-27 13:17   ` J. David Boyd
@ 2013-06-27 13:24     ` J. David Boyd
       [not found]     ` <mailman.2565.1372339817.22516.help-gnu-emacs@gnu.org>
  2013-06-29 16:05     ` C K Kashyap
  2 siblings, 0 replies; 8+ messages in thread
From: J. David Boyd @ 2013-06-27 13:24 UTC (permalink / raw)
  To: help-gnu-emacs

david@adboyd.com (J. David Boyd) writes:

> Teemu Likonen <tlikonen@iki.fi> writes:
>
>> C. K. Kashyap [2013-06-27 14:44:21 +05:30] wrote:
>>
>>> One of the things I get with this mode is the ability to open up vi to
>>> edit a command line (using Escape v) [...]
>>>
>>> I was wondering if there is an equivalent in emacs mode?
>>
>> In Emacs editing mode the key "C-x C-e" (edit-and-execute-command) opens
>> the text editor defined in $VISUAL or $EDITOR variables (or "emacs").
>
> Doesn't seem all that useful though.  I have my $EDITOR set to be
> "emacsclient -n", which doesn't work at all in this circumstance.
>
> If I get rid of the '-n' it works fine, but I'm not doing that....


Hmm, should have clarified.   Yes, emacsclient works perfectly, opening up the
command line in a new emacs buffer.   But the '-n' breaks the connection to
the command line, so even though I can edit it to my heart's content, there is
no way to have it fed back to the waiting command line.

Dave




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

* Re: bash/readline emacs mode help
       [not found]     ` <mailman.2565.1372339817.22516.help-gnu-emacs@gnu.org>
@ 2013-06-27 15:27       ` Barry Margolin
  2013-06-27 17:49         ` J. David Boyd
  0 siblings, 1 reply; 8+ messages in thread
From: Barry Margolin @ 2013-06-27 15:27 UTC (permalink / raw)
  To: help-gnu-emacs

In article <mailman.2565.1372339817.22516.help-gnu-emacs@gnu.org>,
 david@adboyd.com (J. David Boyd) wrote:

> david@adboyd.com (J. David Boyd) writes:
> 
> > Teemu Likonen <tlikonen@iki.fi> writes:
> >
> >> C. K. Kashyap [2013-06-27 14:44:21 +05:30] wrote:
> >>
> >>> One of the things I get with this mode is the ability to open up vi to
> >>> edit a command line (using Escape v) [...]
> >>>
> >>> I was wondering if there is an equivalent in emacs mode?
> >>
> >> In Emacs editing mode the key "C-x C-e" (edit-and-execute-command) opens
> >> the text editor defined in $VISUAL or $EDITOR variables (or "emacs").
> >
> > Doesn't seem all that useful though.  I have my $EDITOR set to be
> > "emacsclient -n", which doesn't work at all in this circumstance.
> >
> > If I get rid of the '-n' it works fine, but I'm not doing that....
> 
> 
> Hmm, should have clarified.   Yes, emacsclient works perfectly, opening up the
> command line in a new emacs buffer.   But the '-n' breaks the connection to
> the command line, so even though I can edit it to my heart's content, there is
> no way to have it fed back to the waiting command line.
> 
> Dave

Why would you put -n in $EDITOR? This is mostly used by programs that 
want to invoke an editor on a temp file and then do something when 
you're done editing it, such as "crontab -e", "vipw", or readline's C-x 
C-e.  So it should always be set to a command that waits.

Maybe you're trying to deal with Emacs deadlocking if you use one of 
these commands from M-! inside Emacs? The solution in this case is to 
background the command with &.

-- 
Barry Margolin, barmar@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***


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

* Re: bash/readline emacs mode help
  2013-06-27 15:27       ` Barry Margolin
@ 2013-06-27 17:49         ` J. David Boyd
  2013-06-28 10:30           ` Thien-Thi Nguyen
  0 siblings, 1 reply; 8+ messages in thread
From: J. David Boyd @ 2013-06-27 17:49 UTC (permalink / raw)
  To: help-gnu-emacs

Barry Margolin <barmar@alum.mit.edu> writes:

> In article <mailman.2565.1372339817.22516.help-gnu-emacs@gnu.org>,
>  david@adboyd.com (J. David Boyd) wrote:
>
>> david@adboyd.com (J. David Boyd) writes:
>> 
>> > Teemu Likonen <tlikonen@iki.fi> writes:
>> >
>> >> C. K. Kashyap [2013-06-27 14:44:21 +05:30] wrote:
>> >>
>> >>> One of the things I get with this mode is the ability to open up vi to
>> >>> edit a command line (using Escape v) [...]
>> >>>
>> >>> I was wondering if there is an equivalent in emacs mode?
>> >>
>> >> In Emacs editing mode the key "C-x C-e" (edit-and-execute-command) opens
>> >> the text editor defined in $VISUAL or $EDITOR variables (or "emacs").
>> >
>> > Doesn't seem all that useful though.  I have my $EDITOR set to be
>> > "emacsclient -n", which doesn't work at all in this circumstance.
>> >
>> > If I get rid of the '-n' it works fine, but I'm not doing that....
>> 
>> 
>> Hmm, should have clarified.   Yes, emacsclient works perfectly, opening up the
>> command line in a new emacs buffer.   But the '-n' breaks the connection to
>> the command line, so even though I can edit it to my heart's content, there is
>> no way to have it fed back to the waiting command line.
>> 
>> Dave
>
> Why would you put -n in $EDITOR? This is mostly used by programs that 
> want to invoke an editor on a temp file and then do something when 
> you're done editing it, such as "crontab -e", "vipw", or readline's C-x 
> C-e.  So it should always be set to a command that waits.
>
> Maybe you're trying to deal with Emacs deadlocking if you use one of 
> these commands from M-! inside Emacs? The solution in this case is to 
> background the command with &.

Because I always have emacs running.  And I didn't want to have to C-x # to
get a command shell prompt back.

Guess I'll have to change my process.   I can leave $EDITOR=emacsclient, and
have an alias for 'emacsclient -n' when I want to call it directly.

Yeah, that will work.

Thanks for this thread, I think my workflow just got better.

Dave




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

* Re: bash/readline emacs mode help
  2013-06-27 17:49         ` J. David Boyd
@ 2013-06-28 10:30           ` Thien-Thi Nguyen
  0 siblings, 0 replies; 8+ messages in thread
From: Thien-Thi Nguyen @ 2013-06-28 10:30 UTC (permalink / raw)
  To: J. David Boyd; +Cc: help-gnu-emacs


[-- Attachment #1.1: Type: text/plain, Size: 206 bytes --]

Tangentially, i find using Emacs for scripting (i.e., invoked with
‘--script’) is nicer if it has the ability to display stuff to stdout.
FWIW, here is a patch that adds ‘emacs-exit-messages’:


[-- Attachment #1.2: emacs-exit-messages.diff --]
[-- Type: text/x-diff, Size: 2265 bytes --]

commit da997204ccac1513452e801e974cf56895f15486
Author: Thien-Thi Nguyen <ttn@gnuvola.org>
Date:   2012-07-31 22:18:28 +0200

    Add var ‘emacs-exit-messages’ and handle it during shutdown.

    * emacs.c (shut_down_emacs): After resetting the tty, display
    any strings specified by ‘emacs-exit-messages’ to stderr/stdout.
    (syms_of_emacs Vemacs_exit_messages): New DEFVAR_LISP.
---
 src/emacs.c |   32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/src/emacs.c b/src/emacs.c
index 13f6d11..6df4f12 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -1920,6 +1920,30 @@ shut_down_emacs (int sig, Lisp_Object stuff)
   reset_all_sys_modes ();
 #endif

+  /* If there are any messages, display them now.
+     Silently ignore ill-formed data, which is a latent bug.  */
+  while (CONSP (Vemacs_exit_messages))
+    {
+      Lisp_Object msg = Fcar (Vemacs_exit_messages);
+      FILE *to = stderr;
+
+      if (CONSP (msg) && INTEGERP (Fcar (msg)))
+        {
+          if (1 == XINT (Fcar (msg)))
+            to = stdout;
+          msg = Fcdr (msg);
+        }
+      if (STRINGP (msg))
+        {
+          size_t expected = SBYTES (msg);
+          size_t actually = fwrite (SDATA (msg), 1, expected, to);
+
+          if (expected > actually)
+            abort ();
+        }
+      Vemacs_exit_messages = Fcdr (Vemacs_exit_messages);
+    }
+
   stuff_buffered_input (stuff);

   inhibit_sentinels = 1;
@@ -2314,6 +2338,14 @@ Before Emacs 24.1, the hook was not run in batch mode, i.e., if
 `noninteractive' was non-nil.  */);
   Vkill_emacs_hook = Qnil;

+  DEFVAR_LISP ("emacs-exit-messages", Vemacs_exit_messages,
+               doc: /* List of strings to display to stderr at exit.
+These are output as-is, so you need to include a newline.
+Each element may also have form (FD . STRING), where FD is
+a small integer: 1 for standard output, 2 for standard error.
+All other FD values are taken as 2.  */);
+  Vemacs_exit_messages = Qnil;
+
   DEFVAR_LISP ("path-separator", Vpath_separator,
 	       doc: /* String containing the character that separates directories in
 search paths, such as PATH and other similar environment variables.  */);

[-- Attachment #1.3: Type: text/plain, Size: 172 bytes --]


It was written a while back, so i'd love to learn that is is obsoleted
since then by some workalike feature.  But if not...

-- 
Thien-Thi Nguyen
GPG key: 4C807502

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: bash/readline emacs mode help
  2013-06-27 13:17   ` J. David Boyd
  2013-06-27 13:24     ` J. David Boyd
       [not found]     ` <mailman.2565.1372339817.22516.help-gnu-emacs@gnu.org>
@ 2013-06-29 16:05     ` C K Kashyap
  2 siblings, 0 replies; 8+ messages in thread
From: C K Kashyap @ 2013-06-29 16:05 UTC (permalink / raw)
  To: J. David Boyd; +Cc: help-gnu-emacs@gnu.org

Thanks David -- I should've tried EDITOR first :)

Regards,
Kashyap


On Thu, Jun 27, 2013 at 6:47 PM, J. David Boyd <david@adboyd.com> wrote:

> Teemu Likonen <tlikonen@iki.fi> writes:
>
> > C. K. Kashyap [2013-06-27 14:44:21 +05:30] wrote:
> >
> >> One of the things I get with this mode is the ability to open up vi to
> >> edit a command line (using Escape v) [...]
> >>
> >> I was wondering if there is an equivalent in emacs mode?
> >
> > In Emacs editing mode the key "C-x C-e" (edit-and-execute-command) opens
> > the text editor defined in $VISUAL or $EDITOR variables (or "emacs").
>
> Doesn't seem all that useful though.  I have my $EDITOR set to be
> "emacsclient -n", which doesn't work at all in this circumstance.
>
> If I get rid of the '-n' it works fine, but I'm not doing that....
>
>
>


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

end of thread, other threads:[~2013-06-29 16:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-27  9:14 bash/readline emacs mode help C K Kashyap
2013-06-27  9:30 ` Teemu Likonen
2013-06-27 13:17   ` J. David Boyd
2013-06-27 13:24     ` J. David Boyd
     [not found]     ` <mailman.2565.1372339817.22516.help-gnu-emacs@gnu.org>
2013-06-27 15:27       ` Barry Margolin
2013-06-27 17:49         ` J. David Boyd
2013-06-28 10:30           ` Thien-Thi Nguyen
2013-06-29 16:05     ` C K Kashyap

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).