summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog27
-rw-r--r--lisp/align.el9
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/gnus/html2text.el80
-rw-r--r--lisp/indent.el10
-rw-r--r--lisp/net/tramp-adb.el4
-rw-r--r--lisp/net/tramp-sh.el4
-rw-r--r--lisp/net/tramp-smb.el4
-rw-r--r--lisp/play/landmark.el19
-rw-r--r--lisp/skeleton.el8
10 files changed, 74 insertions, 96 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 3f7896fd1c5..3ed3d16e69f 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,30 @@
+2014-06-24 Leo Liu <sdl.web@gmail.com>
+
+ * align.el (align-adjust-col-for-rule): Unbreak due to defaulting
+ tab-stop-list to nil. (Bug#16381)
+
+ * indent.el (indent-next-tab-stop): Rename from indent--next-tab-stop.
+ (indent-rigidly-left-to-tab-stop)
+ (indent-rigidly-right-to-tab-stop, tab-to-tab-stop)
+ (move-to-tab-stop): Change callers.
+
+2014-06-24 Eli Zaretskii <eliz@gnu.org>
+
+ * skeleton.el (skeleton-insert): Yet another fix of the doc string
+ wrt behavior of \n as the first/last element of a skeleton.
+
+2014-06-24 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-adb.el (tramp-adb-handle-process-file):
+ * net/tramp-sh.el (tramp-sh-handle-process-file):
+ * net/tramp-smb.el (tramp-smb-handle-process-file): Do not raise
+ the output buffer when DISPLAY is non-nil. (Bug#17815)
+
+2014-06-24 Glenn Morris <rgm@gnu.org>
+
+ * play/landmark.el (landmark-move-down, landmark-move-up):
+ Fix 2007-10-20 change - preserve horizontal position.
+
2014-06-23 Sam Steingold <sds@gnu.org>
* simple.el (kill-append): Remove undo boundary depending on ...
diff --git a/lisp/align.el b/lisp/align.el
index 3b54aba264f..0e6b84d11ec 100644
--- a/lisp/align.el
+++ b/lisp/align.el
@@ -1130,13 +1130,8 @@ TAB-STOP specifies whether SPACING refers to tab-stop boundaries."
column
(if (not tab-stop)
(+ column spacing)
- (let ((stops tab-stop-list))
- (while stops
- (if (and (> (car stops) column)
- (= (setq spacing (1- spacing)) 0))
- (setq column (car stops)
- stops nil)
- (setq stops (cdr stops)))))
+ (dotimes (_ spacing)
+ (setq column (indent-next-tab-stop column)))
column)))
(defsubst align-column (pos)
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index a21e899b6e4..68cbe14ecc8 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-24 Andreas Schwab <schwab@linux-m68k.org>
+
+ * html2text.el (html2text-get-attr): Rewrite to handle spaces in quoted
+ attribute values. (Bug#17834)
+
2013-06-22 Dmitry Antipov <dmantipov@yandex.ru>
* gnus-sum.el (gnus-summary-edit-article-done):
diff --git a/lisp/gnus/html2text.el b/lisp/gnus/html2text.el
index 78cecd92356..22ee1c3921e 100644
--- a/lisp/gnus/html2text.el
+++ b/lisp/gnus/html2text.el
@@ -179,72 +179,20 @@ formatting, and then moved afterward.")
(defun html2text-get-attr (p1 p2)
(goto-char p1)
- (re-search-forward " +[^ ]" p2 t)
- (let* ((attr-string (buffer-substring-no-properties (1- (point)) (1- p2)))
- (tmp-list (split-string attr-string))
- (attr-list)
- (counter 0)
- (prev (car tmp-list))
- (this (nth 1 tmp-list))
- (next (nth 2 tmp-list))
- (index 1))
-
- (cond
- ;; size=3
- ((string-match "[^ ]=[^ ]" prev)
- (let ((attr (nth 0 (split-string prev "=")))
- (value (substring prev (1+ (string-match "=" prev)))))
- (setq attr-list (cons (list attr value) attr-list))))
- ;; size= 3
- ((string-match "[^ ]=\\'" prev)
- (setq attr-list (cons (list (substring prev 0 -1) this) attr-list))))
-
- (while (< index (length tmp-list))
- (cond
- ;; size=3
- ((string-match "[^ ]=[^ ]" this)
- (let ((attr (nth 0 (split-string this "=")))
- (value (substring this (1+ (string-match "=" this)))))
- (setq attr-list (cons (list attr value) attr-list))))
- ;; size =3
- ((string-match "\\`=[^ ]" this)
- (setq attr-list (cons (list prev (substring this 1)) attr-list)))
- ;; size= 3
- ((string-match "[^ ]=\\'" this)
- (setq attr-list (cons (list (substring this 0 -1) next) attr-list)))
- ;; size = 3
- ((string= "=" this)
- (setq attr-list (cons (list prev next) attr-list))))
- (setq index (1+ index))
- (setq prev this)
- (setq this next)
- (setq next (nth (1+ index) tmp-list)))
- ;;
- ;; Tags with no accompanying "=" i.e. value=nil
- ;;
- (setq prev (car tmp-list))
- (setq this (nth 1 tmp-list))
- (setq next (nth 2 tmp-list))
- (setq index 1)
-
- (when (and (not (string-match "=" prev))
- (not (string= (substring this 0 1) "=")))
- (setq attr-list (cons (list prev nil) attr-list)))
- (while (< index (1- (length tmp-list)))
- (when (and (not (string-match "=" this))
- (not (or (string= (substring next 0 1) "=")
- (string= (substring prev -1) "="))))
- (setq attr-list (cons (list this nil) attr-list)))
- (setq index (1+ index))
- (setq prev this)
- (setq this next)
- (setq next (nth (1+ index) tmp-list)))
-
- (when (and this
- (not (string-match "=" this))
- (not (string= (substring prev -1) "=")))
- (setq attr-list (cons (list this nil) attr-list)))
- ;; return - value
+ (re-search-forward "\\s-+" p2 t)
+ (let (attr-list)
+ (while (re-search-forward "[-a-z0-9._]+" p2 t)
+ (setq attr-list
+ (cons
+ (list (match-string 0)
+ (when (looking-at "\\s-*=")
+ (goto-char (match-end 0))
+ (skip-chars-forward "[:space:]")
+ (when (or (looking-at "\"[^\"]*\"\\|'[^']*'")
+ (looking-at "[-a-z0-9._:]+"))
+ (goto-char (match-end 0))
+ (match-string 0))))
+ attr-list)))
attr-list))
;;
diff --git a/lisp/indent.el b/lisp/indent.el
index ab38d502966..7df927ff808 100644
--- a/lisp/indent.el
+++ b/lisp/indent.el
@@ -249,7 +249,7 @@ indentation by specifying a large negative ARG."
(indent-rigidly--pop-undo)
(let* ((current (indent-rigidly--current-indentation beg end))
(rtl (eq (current-bidi-paragraph-direction) 'right-to-left))
- (next (indent--next-tab-stop current (if rtl nil 'prev))))
+ (next (indent-next-tab-stop current (if rtl nil 'prev))))
(indent-rigidly beg end (- next current))))
(defun indent-rigidly-right-to-tab-stop (beg end)
@@ -258,7 +258,7 @@ indentation by specifying a large negative ARG."
(indent-rigidly--pop-undo)
(let* ((current (indent-rigidly--current-indentation beg end))
(rtl (eq (current-bidi-paragraph-direction) 'right-to-left))
- (next (indent--next-tab-stop current (if rtl 'prev))))
+ (next (indent-next-tab-stop current (if rtl 'prev))))
(indent-rigidly beg end (- next current))))
(defun indent-line-to (column)
@@ -654,7 +654,7 @@ You can add or remove colons and then do \\<edit-tab-stops-map>\\[edit-tab-stops
(setq tab-stop-list tabs))
(message "Tab stops installed"))
-(defun indent--next-tab-stop (column &optional prev)
+(defun indent-next-tab-stop (column &optional prev)
"Return the next tab stop after COLUMN.
If PREV is non-nil, return the previous one instead."
(let ((tabs tab-stop-list))
@@ -684,7 +684,7 @@ Use \\[edit-tab-stops] to edit them interactively."
(interactive)
(and abbrev-mode (= (char-syntax (preceding-char)) ?w)
(expand-abbrev))
- (let ((nexttab (indent--next-tab-stop (current-column))))
+ (let ((nexttab (indent-next-tab-stop (current-column))))
(delete-horizontal-space t)
(indent-to nexttab)))
@@ -693,7 +693,7 @@ Use \\[edit-tab-stops] to edit them interactively."
The variable `tab-stop-list' is a list of columns at which there are tab stops.
Use \\[edit-tab-stops] to edit them interactively."
(interactive)
- (let ((nexttab (indent--next-tab-stop (current-column))))
+ (let ((nexttab (indent-next-tab-stop (current-column))))
(let ((before (point)))
(move-to-column nexttab t)
(save-excursion
diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el
index b8128407c01..4f6d5807ba5 100644
--- a/lisp/net/tramp-adb.el
+++ b/lisp/net/tramp-adb.el
@@ -801,11 +801,11 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
v (format "(cd %s; %s)"
(tramp-shell-quote-argument localname) command)
"")
- ;; We should show the output anyway.
+ ;; We should add the output anyway.
(when outbuf
(with-current-buffer outbuf
(insert-buffer-substring (tramp-get-connection-buffer v)))
- (when display (display-buffer outbuf))))
+ (when (and display (get-buffer-window outbuf t)) (redisplay))))
;; When the user did interrupt, we should do it also. We use
;; return code -1 as marker.
(quit
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index a6771cd306f..68f1ef472f1 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -2994,13 +2994,13 @@ the result will be a local, non-Tramp, file name."
command)
t t)
0 1))
- ;; We should show the output anyway.
+ ;; We should add the output anyway.
(when outbuf
(with-current-buffer outbuf
(insert
(with-current-buffer (tramp-get-connection-buffer v)
(buffer-string))))
- (when display (display-buffer outbuf))))
+ (when (and display (get-buffer-window outbuf t)) (redisplay))))
;; When the user did interrupt, we should do it also. We use
;; return code -1 as marker.
(quit
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index aa44b8dbf4b..15ae9ed6fa8 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -1225,8 +1225,8 @@ target of the symlink differ."
(error
(setq ret 1)))
- ;; We should show the output anyway.
- (when (and outbuf display) (display-buffer outbuf))
+ ;; We should redisplay the output.
+ (when (and display outbuf (get-buffer-window outbuf t)) (redisplay))
;; Cleanup. We remove all file cache values for the connection,
;; because the remote process could have changed them.
diff --git a/lisp/play/landmark.el b/lisp/play/landmark.el
index 5c516e70f99..f1bd87ce847 100644
--- a/lisp/play/landmark.el
+++ b/lisp/play/landmark.el
@@ -4,13 +4,7 @@
;; Author: Terrence Brannon (was: <brannon@rana.usc.edu>)
;; Created: December 16, 1996 - first release to usenet
-;; Keywords: games, gomoku, neural network, adaptive search, chemotaxis
-
-;;;_* Usage
-;;; Just type
-;;; M-x eval-buffer
-;;; M-x landmark-test-run
-
+;; Keywords: games, neural network, adaptive search, chemotaxis
;; This file is part of GNU Emacs.
@@ -29,6 +23,9 @@
;;; Commentary:
+
+;; To try this, just type: M-x landmark-test-run
+
;; Landmark is a relatively non-participatory game in which a robot
;; attempts to maneuver towards a tree at the center of the window
;; based on unique olfactory cues from each of the 4 directions. If
@@ -1040,13 +1037,17 @@ mouse-1: get robot moving, mouse-2: play on this square")))
"Move point down one row on the Landmark board."
(interactive)
(if (< (landmark-point-y) landmark-board-height)
- (forward-line 1)));;; landmark-square-height)))
+ (let ((col (current-column)))
+ (forward-line 1) ;;; landmark-square-height
+ (move-to-column col))))
(defun landmark-move-up ()
"Move point up one row on the Landmark board."
(interactive)
(if (> (landmark-point-y) 1)
- (forward-line (- landmark-square-height))))
+ (let ((col (current-column)))
+ (forward-line (- landmark-square-height))
+ (move-to-column col))))
(defun landmark-move-ne ()
"Move point North East on the Landmark board."
diff --git a/lisp/skeleton.el b/lisp/skeleton.el
index 28792ac558e..bb019db502c 100644
--- a/lisp/skeleton.el
+++ b/lisp/skeleton.el
@@ -197,8 +197,9 @@ not needed, a prompt-string or an expression for complex read functions.
If ELEMENT is a string or a character it gets inserted (see also
`skeleton-transformation-function'). Other possibilities are:
- \\n if not the last element of the skeleton, or not at eol,
- go to next line and indent according to mode
+ \\n go to next line and indent according to mode, unless
+ this is the first/last element of a skeleton and point
+ is at bol/eol
_ interesting point, interregion here
- interesting point, no interregion interaction, overrides
interesting point set by _
@@ -215,7 +216,8 @@ or at the first occurrence of _ or at the end of the inserted text.
Note that \\n as the last element of the skeleton only inserts a
newline if not at eol. If you want to unconditionally insert a newline
-at the end of the skeleton, use \"\\n\" instead.
+at the end of the skeleton, use \"\\n\" instead. Likewise with \\n
+as the first element when at bol.
Further elements can be defined via `skeleton-further-elements'.
ELEMENT may itself be a SKELETON with an INTERACTOR. The user is prompted