From: Samer Masterson <samer@samertm.com>
To: emacs-devel <emacs-devel@gnu.org>
Subject: debbug patches requesting review/installation
Date: Mon, 02 Mar 2015 21:21:18 -0800 [thread overview]
Message-ID: <1425360078.8433.1@mail.samertm.com> (raw)
[-- 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)
next reply other threads:[~2015-03-03 5:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-03 5:21 Samer Masterson [this message]
2015-03-03 15:57 ` debbug patches requesting review/installation Eli Zaretskii
2015-03-03 16:38 ` Stefan Monnier
-- strict thread matches above, loose matches on Subject: below --
2015-03-03 19:01 Samer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1425360078.8433.1@mail.samertm.com \
--to=samer@samertm.com \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.