diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 27 | ||||
-rw-r--r-- | lisp/align.el | 9 | ||||
-rw-r--r-- | lisp/gnus/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/gnus/html2text.el | 80 | ||||
-rw-r--r-- | lisp/indent.el | 10 | ||||
-rw-r--r-- | lisp/net/tramp-adb.el | 4 | ||||
-rw-r--r-- | lisp/net/tramp-sh.el | 4 | ||||
-rw-r--r-- | lisp/net/tramp-smb.el | 4 | ||||
-rw-r--r-- | lisp/play/landmark.el | 19 | ||||
-rw-r--r-- | lisp/skeleton.el | 8 |
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 |