unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* debbug patches requesting review/installation
@ 2015-03-03  5:21 Samer Masterson
  2015-03-03 15:57 ` Eli Zaretskii
  2015-03-03 16:38 ` Stefan Monnier
  0 siblings, 2 replies; 4+ messages in thread
From: Samer Masterson @ 2015-03-03  5:21 UTC (permalink / raw)
  To: emacs-devel


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

Hi,

I have a couple of patches sitting in debbugs that I'd like installed 
into master. What is the process for getting them reviewed & installed?

19391 - https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19391
12689 - https://debbugs.gnu.org/cgi/bugreport.cgi?bug=12689
18108 - https://debbugs.gnu.org/cgi/bugreport.cgi?bug=18108
8531 - https://debbugs.gnu.org/cgi/bugreport.cgi?bug=8531

I've also attached the patches to this email.

Thanks,
Samer

[-- Attachment #1.2: Type: text/html, Size: 863 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2.1: 18108.patch --]
[-- Type: text/x-patch, Size: 2894 bytes --]

Changes in 3e0d44a..b9f2247
2 files changed, 14 insertions(+), 37 deletions(-)
 ChangeLog              |    6 ++++++
 lisp/eshell/em-term.el |   45 
++++++++-------------------------------------

	Modified   ChangeLog
diff --git a/ChangeLog b/ChangeLog
index 36edfe6..d09380a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-01-19  Samer Masterson  <samer <at> samertm.com>
+
+	* eshell/em-term.el (eshell-exec-visual, eshell-term-sentinel):
+	Remove eshell-term-sentinel, show term-mode buffer regardless of
+	whether the process has died (bug#18108).
+
 2015-01-04  Paul Eggert  <eggert <at> cs.ucla.edu>

 	* INSTALL: Mention 'make WERROR_CFLAGS='.
	Modified   lisp/eshell/em-term.el
diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el
index 4a6ac23..6870a6d 100644
--- a/lisp/eshell/em-term.el
+++ b/lisp/eshell/em-term.el
@@ -132,10 +132,6 @@ character to the invoked process."
   :type 'boolean
   :group 'eshell-term)

-;;; Internal Variables:
-
-(defvar eshell-parent-buffer)
-
 ;;; Functions:

 (defun eshell-term-initialize ()
@@ -171,39 +167,14 @@ allowed."
 					       (cdr args)))))
 	 (term-buf
 	  (generate-new-buffer
-	   (concat "*" (file-name-nondirectory program) "*")))
-	 (eshell-buf (current-buffer)))
-    (save-current-buffer
-      (switch-to-buffer term-buf)
-      (term-mode)
-      (set (make-local-variable 'term-term-name) eshell-term-name)
-      (make-local-variable 'eshell-parent-buffer)
-      (setq eshell-parent-buffer eshell-buf)
-      (term-exec term-buf program program nil args)
-      (let ((proc (get-buffer-process term-buf)))
-	(if (and proc (eq 'run (process-status proc)))
-	    (set-process-sentinel proc 'eshell-term-sentinel)
-	  (error "Failed to invoke visual command")))
-      (term-char-mode)
-      (if eshell-escape-control-x
-	  (term-set-escape-char ?\C-x))))
-  nil)
-
-;; Process sentinels receive two arguments.
-(defun eshell-term-sentinel (proc _string)
-  "Destroy the buffer visiting PROC."
-  (let ((proc-buf (process-buffer proc)))
-    (when (and proc-buf (buffer-live-p proc-buf)
-	       (not (eq 'run (process-status proc)))
-	       (= (process-exit-status proc) 0))
-      (if (eq (current-buffer) proc-buf)
-	  (let ((buf (and (boundp 'eshell-parent-buffer)
-			  eshell-parent-buffer
-			  (buffer-live-p eshell-parent-buffer)
-			  eshell-parent-buffer)))
-	    (if buf
-		(switch-to-buffer buf))))
-      (kill-buffer proc-buf))))
+	   (concat "*" (file-name-nondirectory program) "*"))))
+    (switch-to-buffer term-buf)
+    (term-mode)
+    (set (make-local-variable 'term-term-name) eshell-term-name)
+    (term-exec term-buf program program nil args)
+    (term-char-mode)
+    (if eshell-escape-control-x
+        (term-set-escape-char ?\C-x))))

 ;; jww (1999-09-17): The code below will allow Eshell to send input
 ;; characters directly to the currently running interactive process.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2.2: 8531.patch --]
[-- Type: text/x-patch, Size: 4536 bytes --]

Changes from master to working tree
4 files changed, 26 insertions(+), 22 deletions(-)
 etc/ChangeLog          |  4 ++++
 etc/NEWS               |  6 ++++++
 lisp/ChangeLog         |  7 +++++++
 lisp/eshell/esh-arg.el | 31 +++++++++----------------------

	Modified   etc/ChangeLog
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 309c01f..3e76256 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,7 @@
+2014-12-08  Samer Masterson  <samer@dark-horse>
+
+	* NEWS: Mention change in backslash expand behavior for eshell.
+
 2014-12-08  Lars Magne Ingebrigtsen  <larsi@gnus.org>

 	* NEWS: Mention the new eww `S' command.
	Modified   etc/NEWS
diff --git a/etc/NEWS b/etc/NEWS
index 56036f8..e6d9aab 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -192,6 +192,12 @@ result of the calculation into the current buffer.
 *** New minor mode global-eldoc-mode
 *** eldoc-documentation-function now defaults to nil

+** eshell
+
+*** Backslash (\) expands to the character literal after it if that
+character is non-special (e.g. 'b\in' expands to 'bin', because 'i' is
+not a special character). This behavior conforms with bash.
+
 ** eww

 +++
	Modified   lisp/ChangeLog
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2669e07..0ec9b35 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
+2014-12-08  Samer Masterson  <samer@samertm.com>
+
+	* eshell/esh-arg.el (eshell-parse-backslash): Return the literal
+	character after the backslash if the character is non-special
+	(bug#8531).
+	(eshell-looking-at-backslash-return): Unused, remove.
+
 2014-12-08  Lars Magne Ingebrigtsen  <larsi@gnus.org>

 	* net/nsm.el (nsm-check-protocol): Test for RC4 on `high'.
	Modified   lisp/eshell/esh-arg.el
diff --git a/lisp/eshell/esh-arg.el b/lisp/eshell/esh-arg.el
index 704de57..33ff384 100644
--- a/lisp/eshell/esh-arg.el
+++ b/lisp/eshell/esh-arg.el
@@ -89,7 +89,8 @@ yield the values intended."
 	  (goto-char (match-end 0))
 	  (eshell-finish-arg)))))

-   ;; backslash before a special character means escape it
+   ;; backslash before a character escapes it if the character is
+   ;; special, and returns the character literal if it is non-special
    'eshell-parse-backslash

    ;; text beginning with ' is a literally quoted
@@ -282,13 +283,6 @@ Point is left at the end of the arguments."
   "A stub function that generates an error if a floating operator is found."
   (error "Unhandled operator in input text"))

-(defsubst eshell-looking-at-backslash-return (pos)
-  "Test whether a backslash-return sequence occurs at POS."
-  (and (eq (char-after pos) ?\\)
-       (or (= (1+ pos) (point-max))
-	   (and (eq (char-after (1+ pos)) ?\n)
-		(= (+ pos 2) (point-max))))))
-
 (defun eshell-quote-backslash (string &optional index)
   "Intelligently backslash the character occurring in STRING at INDEX.
 If the character is itself a backslash, it needs no escaping."
@@ -305,9 +299,11 @@ If the character is itself a backslash, it needs no escaping."
 	  (string ?\\ char)))))

 (defun eshell-parse-backslash ()
-  "Parse a single backslash (\) character, which might mean escape.
-It only means escape if the character immediately following is a
-special character that is not itself a backslash."
+  "Parse a single backslash (\) character to escape the character after.
+If the character immediately following the backslash is a special
+character, it returns the escaped version of that character.
+Else, the character has no meaning and is returned as the literal
+character. This conforms with the behavior of bash."
   (when (eq (char-after) ?\\)
     (if (eshell-looking-at-backslash-return (point))
 	(throw 'eshell-incomplete ?\\)
@@ -321,18 +317,9 @@ special character that is not itself a backslash."
 	    (forward-char 2)
 	    (list 'eshell-escape-arg
 		  (char-to-string (char-before))))
-	;; allow \\<RET> to mean a literal "\" character followed by a
-	;; normal return, rather than a backslash followed by a line
-	;; continuation (i.e., "\\ + \n" rather than "\ + \\n").  This
-	;; is necessary because backslashes in Eshell are not special
-	;; unless they either precede something special, or precede a
-	;; backslash that precedes something special.  (Mainly this is
-	;; done to make using backslash on Windows systems more
-	;; natural-feeling).
-	(if (eshell-looking-at-backslash-return (1+ (point)))
-	    (forward-char))
 	(forward-char)
-	"\\"))))
+	(forward-char)
+	(char-before)))))

 (defun eshell-parse-literal-quote ()
   "Parse a literally quoted string.  Nothing has special meaning!"

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2.3: 12689.patch --]
[-- Type: text/x-patch, Size: 1209 bytes --]

Changes from HEAD to working tree
2 files changed, 6 insertions(+), 1 deletion(-)
 lisp/ChangeLog         |    5 +++++
 lisp/eshell/esh-cmd.el |    2 +-

	Modified   lisp/ChangeLog
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 45ba279..aa00661 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2014-12-14  Samer Masterson  <samer <at> samertm.com>
+
+	* eshell/esh-cmd.el (eshell-plain-command): Wait for subprocess to
+	finish before evaluating command (bug#12680).
+
 2014-11-28  Martin Rudalics  <rudalics <at> gmx.at>

 	Fix two issues around help-window-select.  (Bug#11039) (Bug#19012)
	Modified   lisp/eshell/esh-cmd.el
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el
index d20b66a..f17aa41 100644
--- a/lisp/eshell/esh-cmd.el
+++ b/lisp/eshell/esh-cmd.el
@@ -1241,7 +1241,7 @@ or an external command."
 	     (or esym eshell-prefer-lisp-functions
 		 (not (eshell-search-path command))))
 	(eshell-lisp-command sym args)
-      (eshell-external-command command args))))
+      (eshell-wait-for-process (eshell-external-command command args)))))

 (defun eshell-exec-lisp (printer errprint func-or-form args form-p)
   "Execute a lisp FUNC-OR-FORM, maybe passing ARGS.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2.4: 19391.patch --]
[-- Type: text/x-patch, Size: 2281 bytes --]

2 files changed, 17 insertions(+), 28 deletions(-)
 lisp/ChangeLog        |   10 ++++++++++
 lisp/eshell/esh-io.el |   35 +++++++----------------------------

	Modified   lisp/ChangeLog
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 45ba279..9aec808 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,13 @@
+2014-12-19  Samer Masterson  <samer <at> samertm.com>
+
+	* eshell/esh-io.el (eshell-get-target, eshell-buffer-shorthand):
+	Remove eshell-buffer-shorthand (bug#19391).
+
 2014-11-28  Martin Rudalics  <rudalics <at> gmx.at>

 	Fix two issues around help-window-select.  (Bug#11039) (Bug#19012)
	Modified   lisp/eshell/esh-io.el
diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el
index ebbca58..3f70f48 100644
--- a/lisp/eshell/esh-io.el
+++ b/lisp/eshell/esh-io.el
@@ -98,19 +98,6 @@ other buffers) ."
   :type 'integer
   :group 'eshell-io)

-(defcustom eshell-buffer-shorthand nil
-  "If non-nil, a symbol name can be used for a buffer in redirection.
-If nil, redirecting to a buffer requires buffer name syntax.  If this
-variable is set, redirection directly to Lisp symbols will be
-impossible.
-
-Example:
-
-  echo hello > '*scratch*  ; works if `eshell-buffer-shorthand' is t
-  echo hello > #<buffer *scratch*>  ; always works"
-  :type 'boolean
-  :group 'eshell-io)
-
 (defcustom eshell-print-queue-size 5
   "The size of the print queue, for doing buffered printing.
 This is basically a speed enhancement, to avoid blocking the Lisp code
@@ -355,21 +342,13 @@ it defaults to `insert'."
 		   (goto-char (point-max))))
 	    (point-marker))))))

-   ((or (bufferp target)
-	(and (boundp 'eshell-buffer-shorthand)
-	     (symbol-value 'eshell-buffer-shorthand)
-	     (symbolp target)
-	     (not (memq target '(t nil)))))
-    (let ((buf (if (bufferp target)
-		   target
-		 (get-buffer-create
-		  (symbol-name target)))))
-      (with-current-buffer buf
-	(cond ((eq mode 'overwrite)
-	       (erase-buffer))
-	      ((eq mode 'append)
-	       (goto-char (point-max))))
-	(point-marker))))
+   ((bufferp target)
+    (with-current-buffer target
+      (cond ((eq mode 'overwrite)
+             (erase-buffer))
+            ((eq mode 'append)
+             (goto-char (point-max))))
+      (point-marker)))

    ((functionp target) nil)

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

* Re: debbug patches requesting review/installation
  2015-03-03  5:21 debbug patches requesting review/installation Samer Masterson
@ 2015-03-03 15:57 ` Eli Zaretskii
  2015-03-03 16:38 ` Stefan Monnier
  1 sibling, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2015-03-03 15:57 UTC (permalink / raw)
  To: Samer Masterson; +Cc: emacs-devel

> Date: Mon, 02 Mar 2015 21:21:18 -0800
> From: Samer Masterson <samer@samertm.com>
> 
> I have a couple of patches sitting in debbugs that I'd like installed into
> master. What is the process for getting them reviewed & installed?

Post a ping to each bug report that remained without a response.

(I replied to some of them now.)

Thanks.



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

* Re: debbug patches requesting review/installation
  2015-03-03  5:21 debbug patches requesting review/installation Samer Masterson
  2015-03-03 15:57 ` Eli Zaretskii
@ 2015-03-03 16:38 ` Stefan Monnier
  1 sibling, 0 replies; 4+ messages in thread
From: Stefan Monnier @ 2015-03-03 16:38 UTC (permalink / raw)
  To: Samer Masterson; +Cc: emacs-devel

> I have a couple of patches sitting in debbugs that I'd like installed into
> master.

I've seen those and kept them in my (sadly write-mostly read-rarely)
todo, but I'm traveling and busy with plenty of other things, so my
side is going slowly.
Hopefully some other people can take care of them.

> What is the process for getting them reviewed & installed?

You're doing it right.


        Stefan



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

* Re: debbug patches requesting review/installation
@ 2015-03-03 19:01 Samer
  0 siblings, 0 replies; 4+ messages in thread
From: Samer @ 2015-03-03 19:01 UTC (permalink / raw)
  To: Stefan Monnier, Eli Zaretskii; +Cc: emacs-devel


On Mar 3, 2015 7:57 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
> Post a ping to each bug report that remained without a response.

Thanks for the replies, and I'll do that in the future.

On Mar 3, 2015 8:38 AM, Stefan Monnier <monnier@IRO.UMontreal.CA> wrote:
>
> I've seen those and kept them in my (sadly write-mostly read-rarely) 
> todo, but I'm traveling and busy with plenty of other things, so my 
> side is going slowly. 
> Hopefully some other people can take care of them.

I know you're busy, thanks for taking care of my other patches!

> You're doing it right.

Cool, just making sure. Thanks for the help.

-Samer

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

end of thread, other threads:[~2015-03-03 19:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-03  5:21 debbug patches requesting review/installation Samer Masterson
2015-03-03 15:57 ` Eli Zaretskii
2015-03-03 16:38 ` Stefan Monnier
  -- strict thread matches above, loose matches on Subject: below --
2015-03-03 19:01 Samer

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