From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Samer Masterson Newsgroups: gmane.emacs.devel Subject: debbug patches requesting review/installation Date: Mon, 02 Mar 2015 21:21:18 -0800 Message-ID: <1425360078.8433.1@mail.samertm.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-vvh1rSCd/LkeQHOOOjuz" X-Trace: ger.gmane.org 1425360113 19606 80.91.229.3 (3 Mar 2015 05:21:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 3 Mar 2015 05:21:53 +0000 (UTC) To: emacs-devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Mar 03 06:21:41 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YSfH2-0000zg-MQ for ged-emacs-devel@m.gmane.org; Tue, 03 Mar 2015 06:21:40 +0100 Original-Received: from localhost ([::1]:33398 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YSfH1-0002sx-T8 for ged-emacs-devel@m.gmane.org; Tue, 03 Mar 2015 00:21:39 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48219) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YSfGv-0002nm-AX for emacs-devel@gnu.org; Tue, 03 Mar 2015 00:21:36 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YSfGq-0003JJ-LE for emacs-devel@gnu.org; Tue, 03 Mar 2015 00:21:33 -0500 Original-Received: from ec2-52-0-7-12.compute-1.amazonaws.com ([52.0.7.12]:49291 helo=samertm.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YSfGq-0003J6-Cw for emacs-devel@gnu.org; Tue, 03 Mar 2015 00:21:28 -0500 Original-Received: from [10.1.10.16] (c-98-210-154-226.hsd1.ca.comcast.net [98.210.154.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by samertm.com (Postfix) with ESMTPSA id 23A6642D22 for ; Tue, 3 Mar 2015 05:21:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samertm.com; s=mail; t=1425360074; bh=PqRws7ggYfRERgcVppkIepNez6gjsuRSFslLJLizKvQ=; h=Date:From:Subject:To:From; b=oD1pnv9NIlUNX7p3Vu/D1Ant+OUFxLWb8qPZtNPW73o2HQMTL2+TFcCmBZi4FMKqF F1RmRe6a1GotYvLLG54ordo8h6MbbSJYnhaoUJeYsYqgYmDysmE8+JXKsUkMNVUszS LyME3TQVVjqvJkLfk73VxkIsJF0CGNWrV6/5y9Xs= X-Mailer: geary/0.9.1 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 52.0.7.12 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:183590 Archived-At: --=-vvh1rSCd/LkeQHOOOjuz Content-Type: multipart/alternative; boundary="=-33k4R/nqA1bdSsbSGgk5" --=-33k4R/nqA1bdSsbSGgk5 Content-Type: text/plain; charset=utf-8; format=flowed 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 --=-33k4R/nqA1bdSsbSGgk5 Content-Type: text/html; charset=utf-8 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?

I've also attached the patches to this email.

Thanks,
Samer
--=-33k4R/nqA1bdSsbSGgk5-- --=-vvh1rSCd/LkeQHOOOjuz Content-Type: multipart/mixed; boundary="=-6G9CUrAf5FLhygBGokr5" --=-6G9CUrAf5FLhygBGokr5 Content-Type: text/x-patch Content-Disposition: attachment; filename=18108.patch 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 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 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. --=-6G9CUrAf5FLhygBGokr5 Content-Type: text/x-patch Content-Disposition: attachment; filename=8531.patch 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 + + * NEWS: Mention change in backslash expand behavior for eshell. + 2014-12-08 Lars Magne Ingebrigtsen * 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 + + * 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 * 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 \\ 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!" --=-6G9CUrAf5FLhygBGokr5 Content-Type: text/x-patch Content-Disposition: attachment; filename=12689.patch 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 samertm.com> + + * eshell/esh-cmd.el (eshell-plain-command): Wait for subprocess to + finish before evaluating command (bug#12680). + 2014-11-28 Martin Rudalics 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. --=-6G9CUrAf5FLhygBGokr5 Content-Type: text/x-patch Content-Disposition: attachment; filename=19391.patch 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 samertm.com> + + * eshell/esh-io.el (eshell-get-target, eshell-buffer-shorthand): + Remove eshell-buffer-shorthand (bug#19391). + 2014-11-28 Martin Rudalics 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 > # ; 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) --=-6G9CUrAf5FLhygBGokr5-- --=-vvh1rSCd/LkeQHOOOjuz--