Re: [O] Bug: :session doesn't honor :verbatim [8.2.10 (release_8.2.10 @ /usr/local/share/emacs/26.0.50/lisp/org/)]

2017-04-17 Thread Michael Albinus
"Charles C. Berry"  writes:

>> However, I don't want to change this globally. Is there an org mean to
>> change this locally just for the session?
>>
>> Maybe the shell prompt could be customizable for a session in ob-sh.el?
>
> That happens in the shell. You can do this to start your session:
>
> #+BEGIN_SRC shell :session mysess
>PS1="MyPrompt-$ "
> #+END_SRC
>
> #+RESULTS:
>
> and then tell emacs to locally set `comint-prompt-regexp' to a value
> other than what was copied from `shell-prompt-pattern'
>
> #+BEGIN_SRC emacs-lisp
>(save-excursion
>  (pop-to-buffer "mysess")
>  (setq-local comint-prompt-regexp "MyPrompt-$ "))
> #+END_SRC
>
> #+RESULTS:
> : MyPrompt-$
>
> and then it should work.
>
> #+BEGIN_SRC shell :session mysess
>echo "a%b"
> #+END_SRC
>
> #+RESULTS:
> : a%b
>
> ---
>
> You might skip the second step and instead set `shell-prompt-pattern'
> to "MyPrompt-$ ". If `comint-use-prompt-regexp' is nil, then the
> `comint-prompt-regexp' is only consulted by ob-shell.el funs per the 
> docstring of comint-use-prompt-regexp.

Thanks for the examples. Anything goes, of course, but I'm hoping for a
tighter integration. Maybe a :prompt param to sh source blocks, which
sets the prompt in a session, and which also manipulates
`comint-prompt-regexp' or `shell-prompt-pattern' local in the session buffer.

Or a mechanism like in Tramp, where the shell prompt is set to a random
string not expected in the shell (see `tramp-end-of-output'), and
`comint-prompt-regexp' or `shell-prompt-pattern' are adapted
automatically local in the session buffer.

> Chuck

Best regards, Michael.



Re: [O] Bug: :session doesn't honor :verbatim [8.2.10 (release_8.2.10 @ /usr/local/share/emacs/26.0.50/lisp/org/)]

2017-04-16 Thread Charles C. Berry

On Sun, 16 Apr 2017, Michael Albinus wrote:


"Charles C. Berry"  writes:


Michael might get some relief by altering `shell-prompt-pattern' whose
default value is

"^[^#$%>\n]*[#$%>] *"

is tricked by the embedded `%' in the output lines

If you know the prompt will not contain `%', you could delete that.

Changing the asterisk to a plus might work (untested) or maybe adding
a blank in the first (negated) char class (also untested). Or if you
know what the prompt will be literally, use that: "^My-prompt-[$] *"


I've eval'ed (setq shell-prompt-pattern "^[^#$>\n]*[#$>] *") , this
helps. Thanks for the tip.

However, I don't want to change this globally. Is there an org mean to
change this locally just for the session?

Maybe the shell prompt could be customizable for a session in ob-sh.el?



That happens in the shell. You can do this to start your session:

#+BEGIN_SRC shell :session mysess
  PS1="MyPrompt-$ "
#+END_SRC

#+RESULTS:

and then tell emacs to locally set `comint-prompt-regexp' to a value
other than what was copied from `shell-prompt-pattern'

#+BEGIN_SRC emacs-lisp
  (save-excursion
(pop-to-buffer "mysess")
(setq-local comint-prompt-regexp "MyPrompt-$ "))
#+END_SRC

#+RESULTS:
: MyPrompt-$

and then it should work.

#+BEGIN_SRC shell :session mysess
  echo "a%b"
#+END_SRC

#+RESULTS:
: a%b

---

You might skip the second step and instead set `shell-prompt-pattern'
to "MyPrompt-$ ". If `comint-use-prompt-regexp' is nil, then the
`comint-prompt-regexp' is only consulted by ob-shell.el funs per the 
docstring of comint-use-prompt-regexp.




Chuck



Re: [O] Bug: :session doesn't honor :verbatim [8.2.10 (release_8.2.10 @ /usr/local/share/emacs/26.0.50/lisp/org/)]

2017-04-16 Thread Michael Albinus
"Charles C. Berry"  writes:

> Michael might get some relief by altering `shell-prompt-pattern' whose
> default value is
>
> "^[^#$%>\n]*[#$%>] *"
>
> is tricked by the embedded `%' in the output lines
>
> If you know the prompt will not contain `%', you could delete that.
>
> Changing the asterisk to a plus might work (untested) or maybe adding
> a blank in the first (negated) char class (also untested). Or if you
> know what the prompt will be literally, use that: "^My-prompt-[$] *"

I've eval'ed (setq shell-prompt-pattern "^[^#$>\n]*[#$>] *") , this
helps. Thanks for the tip.

However, I don't want to change this globally. Is there an org mean to
change this locally just for the session?

Maybe the shell prompt could be customizable for a session in ob-sh.el?

> HTH,
>
> Chuck

Best regards, Michael.



Re: [O] Bug: :session doesn't honor :verbatim [8.2.10 (release_8.2.10 @ /usr/local/share/emacs/26.0.50/lisp/org/)]

2017-04-16 Thread Charles C. Berry

On Sun, 16 Apr 2017, Tilmann Singer wrote:


Let me add that when not specifying ":results verbatim", the presence of
the % sign in the output also triggers table formatting:

#+BEGIN_SRC sh :session *session*
echo "a%b"
#+END_SRC

#+RESULTS:
|   |
| b |



The extra line looks like a bug in babel. The session will show:

echo "a%b"
bash-3.2$ a%b

as the first two lines in the buffer.

--

Michael might get some relief by altering `shell-prompt-pattern' whose 
default value is


"^[^#$%>\n]*[#$%>] *"

is tricked by the embedded `%' in the output lines

If you know the prompt will not contain `%', you could delete that.

Changing the asterisk to a plus might work (untested) or maybe adding a 
blank in the first (negated) char class (also untested). Or if you know 
what the prompt will be literally, use that: "^My-prompt-[$] *"


[snip]

HTH,

Chuck



Re: [O] Bug: :session doesn't honor :verbatim [8.2.10 (release_8.2.10 @ /usr/local/share/emacs/26.0.50/lisp/org/)]

2017-04-16 Thread Tilmann Singer
Let me add that when not specifying ":results verbatim", the presence of
the % sign in the output also triggers table formatting:

#+BEGIN_SRC sh :session *session*
echo "a%b"
#+END_SRC

#+RESULTS:
|   |
| b |


Whereas without session, the output is formatted like this

#+BEGIN_SRC sh
echo "a%b"
#+END_SRC

#+RESULTS:
: a%b


And if the session has not been opened already, then the first time
evaluation does not cut off the results:

#+BEGIN_SRC sh :session *session2*
echo "a%b"
#+END_SRC

#+RESULTS:
| |
| a%b |


greetings, Til

Emacs : GNU Emacs 25.1.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.22.7) of 
2017-02-07
Package : Org mode version 9.0 (9.0-elpa @ 
/home/tils/.emacs.d/elpa/org-20161102/)


signature.asc
Description: PGP signature


[O] Bug: :session doesn't honor :verbatim [8.2.10 (release_8.2.10 @ /usr/local/share/emacs/26.0.50/lisp/org/)]

2017-04-16 Thread Michael Albinus
Hi,

when I eval the following source block, everything is fine:

#+BEGIN_SRC sh :results verbatim
df -h /
#+END_SRC

#+RESULTS:
: Filesystem  Size  Used Avail Use% Mounted on
: /dev/sda6   137G   55G   76G  43% /

However, using a :session shortens the output unexpectedly:

#+BEGIN_SRC sh :results verbatim :session *session*
df -h /
#+END_SRC

#+RESULTS:
: 
: Mounted on
: /

I suppose it is due to the "%" character in the output, because the
following works fine:

#+BEGIN_SRC sh :results verbatim :session *session*
df --output=source,size,used,avail,target -h /
#+END_SRC

#+RESULTS:
: Filesystem  Size  Used Avail Mounted on
: /dev/sda6   137G   55G   76G /


Emacs  : GNU Emacs 26.0.50 (build 44, x86_64-pc-linux-gnu, GTK+ Version 2.24.30)
 of 2017-03-31
Package: Org-mode version 8.2.10 (release_8.2.10 @ 
/usr/local/share/emacs/26.0.50/lisp/org/)

current state:
==
(setq
 org-src-mode-hook '(org-src-babel-configure-edit-buffer
 org-src-mode-configure-edit-buffer)
 org-after-todo-state-change-hook '(org-clock-out-if-current)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 org-mode-hook '(#[nil "\300\301\302\303\304$\207"
   [org-add-hook change-major-mode-hook org-show-block-all
append local]
   5]
 #[nil "\300\301\302\303\304$\207"
   [org-add-hook change-major-mode-hook
org-babel-show-result-all append local]
   5]
 org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-babel-pre-tangle-hook '(save-buffer)
 org-tab-first-hook '(org-hide-block-toggle-maybe
  org-src-native-tab-command-maybe
  org-babel-hide-result-toggle-maybe
  org-babel-header-arg-expand)
 org-occur-hook '(org-first-headline-recenter)
 org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point
  org-babel-execute-safely-maybe)
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
  org-cycle-hide-inline-tasks org-cycle-show-empty-lines
  org-optimize-window-after-visibility-change)
 org-speed-command-hook '(org-speed-command-default-hook
  org-babel-speed-command-hook)
 org-confirm-shell-link-function 'yes-or-no-p
 )