diff options
| author | Glenn Morris | 2014-06-24 00:15:26 -0700 |
|---|---|---|
| committer | Glenn Morris | 2014-06-24 00:15:26 -0700 |
| commit | 131a3a12c4b0171c71c122c3330f85fc19e9bb8f (patch) | |
| tree | 83776ccda3b3d170c956b33afc7293c02213153c | |
| parent | 2fde356acb722a54aa0a4f18cbe2b56c216dbb1e (diff) | |
| parent | b950752961eb3d9207e4b4bd61a57071cdbe31eb (diff) | |
| download | emacs-131a3a12c4b0171c71c122c3330f85fc19e9bb8f.tar.gz emacs-131a3a12c4b0171c71c122c3330f85fc19e9bb8f.zip | |
Merge from emacs-24; up to 2014-06-08T18:27:22Z!eggert@cs.ucla.edu
| -rw-r--r-- | doc/misc/ChangeLog | 9 | ||||
| -rw-r--r-- | doc/misc/autotype.texi | 7 | ||||
| -rw-r--r-- | doc/misc/dired-x.texi | 10 | ||||
| -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 |
13 files changed, 92 insertions, 104 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index a6b87020733..d7b030fb1aa 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2014-06-24 Leo Liu <sdl.web@gmail.com> | ||
| 2 | |||
| 3 | * dired-x.texi (Omitting Files in Dired, Omitting Variables): | ||
| 4 | Fix key binding to dired-omit-mode. (Bug#16354) | ||
| 5 | |||
| 6 | 2014-06-24 Eli Zaretskii <eliz@gnu.org> | ||
| 7 | |||
| 8 | * autotype.texi (Skeleton Language): Document the \n feature better. | ||
| 9 | |||
| 1 | 2014-06-23 Glenn Morris <rgm@gnu.org> | 10 | 2014-06-23 Glenn Morris <rgm@gnu.org> |
| 2 | 11 | ||
| 3 | * Makefile.in (%.texi): Disable implicit rules. | 12 | * Makefile.in (%.texi): Disable implicit rules. |
diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index e0fce74bd3f..a2988795fc5 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi | |||
| @@ -234,9 +234,10 @@ Insert string or character. Literal strings and characters are passed through | |||
| 234 | @c ??? something seems very wrong here. | 234 | @c ??? something seems very wrong here. |
| 235 | Insert a newline and align under current line, but not if this is the | 235 | Insert a newline and align under current line, but not if this is the |
| 236 | last element of a skeleton and the newline would be inserted at end of | 236 | last element of a skeleton and the newline would be inserted at end of |
| 237 | line. Use newline character @code{?\n} to prevent alignment. Use | 237 | line, or this is the first element and the newline would be inserted |
| 238 | @code{"\n"} as the last string element of a skeleton to insert a | 238 | at beginning of line. Use newline character @code{?\n} to prevent |
| 239 | newline after the skeleton unconditionally. | 239 | alignment. Use @code{"\n"} as the first or last string element of a |
| 240 | skeleton to insert a newline unconditionally. | ||
| 240 | @item @code{_} | 241 | @item @code{_} |
| 241 | Interesting point. When wrapping skeletons around successive regions, they are | 242 | Interesting point. When wrapping skeletons around successive regions, they are |
| 242 | put at these places. Point is left at first @code{_} where nothing is wrapped. | 243 | put at these places. Point is left at first @code{_} where nothing is wrapped. |
diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index a69d72c7d43..1eb512b7372 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi | |||
| @@ -283,8 +283,8 @@ Marked files are never omitted. | |||
| 283 | @end itemize | 283 | @end itemize |
| 284 | 284 | ||
| 285 | @table @kbd | 285 | @table @kbd |
| 286 | @item M-o | 286 | @item C-x M-o |
| 287 | @kindex M-o | 287 | @kindex C-x M-o |
| 288 | @findex dired-omit-mode | 288 | @findex dired-omit-mode |
| 289 | (@code{dired-omit-mode}) Toggle between displaying and omitting | 289 | (@code{dired-omit-mode}) Toggle between displaying and omitting |
| 290 | ``uninteresting'' files. | 290 | ``uninteresting'' files. |
| @@ -324,7 +324,7 @@ Default: @code{nil} | |||
| 324 | If non-@code{nil}, ``uninteresting'' files are not listed. | 324 | If non-@code{nil}, ``uninteresting'' files are not listed. |
| 325 | Uninteresting files are those whose files whose names match regexp | 325 | Uninteresting files are those whose files whose names match regexp |
| 326 | @code{dired-omit-files}, plus those ending with extensions in | 326 | @code{dired-omit-files}, plus those ending with extensions in |
| 327 | @code{dired-omit-extensions}. @kbd{M-o} (@code{dired-omit-mode}) | 327 | @code{dired-omit-extensions}. @kbd{C-x M-o} (@code{dired-omit-mode}) |
| 328 | toggles its value, which is buffer-local. Put | 328 | toggles its value, which is buffer-local. Put |
| 329 | 329 | ||
| 330 | @example | 330 | @example |
| @@ -333,8 +333,8 @@ toggles its value, which is buffer-local. Put | |||
| 333 | 333 | ||
| 334 | @noindent | 334 | @noindent |
| 335 | inside your @code{dired-mode-hook} to have omitting initially turned on in | 335 | inside your @code{dired-mode-hook} to have omitting initially turned on in |
| 336 | @emph{every} Dired buffer (@pxref{Installation}). You can then use @kbd{M-o} to | 336 | @emph{every} Dired buffer (@pxref{Installation}). You can then use |
| 337 | unomit in that buffer. | 337 | @kbd{C-x M-o} to unomit in that buffer. |
| 338 | 338 | ||
| 339 | To enable omitting automatically only in certain directories you can add | 339 | To enable omitting automatically only in certain directories you can add |
| 340 | a directory local setting | 340 | a directory local setting |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3f7896fd1c5..3ed3d16e69f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,30 @@ | |||
| 1 | 2014-06-24 Leo Liu <sdl.web@gmail.com> | ||
| 2 | |||
| 3 | * align.el (align-adjust-col-for-rule): Unbreak due to defaulting | ||
| 4 | tab-stop-list to nil. (Bug#16381) | ||
| 5 | |||
| 6 | * indent.el (indent-next-tab-stop): Rename from indent--next-tab-stop. | ||
| 7 | (indent-rigidly-left-to-tab-stop) | ||
| 8 | (indent-rigidly-right-to-tab-stop, tab-to-tab-stop) | ||
| 9 | (move-to-tab-stop): Change callers. | ||
| 10 | |||
| 11 | 2014-06-24 Eli Zaretskii <eliz@gnu.org> | ||
| 12 | |||
| 13 | * skeleton.el (skeleton-insert): Yet another fix of the doc string | ||
| 14 | wrt behavior of \n as the first/last element of a skeleton. | ||
| 15 | |||
| 16 | 2014-06-24 Michael Albinus <michael.albinus@gmx.de> | ||
| 17 | |||
| 18 | * net/tramp-adb.el (tramp-adb-handle-process-file): | ||
| 19 | * net/tramp-sh.el (tramp-sh-handle-process-file): | ||
| 20 | * net/tramp-smb.el (tramp-smb-handle-process-file): Do not raise | ||
| 21 | the output buffer when DISPLAY is non-nil. (Bug#17815) | ||
| 22 | |||
| 23 | 2014-06-24 Glenn Morris <rgm@gnu.org> | ||
| 24 | |||
| 25 | * play/landmark.el (landmark-move-down, landmark-move-up): | ||
| 26 | Fix 2007-10-20 change - preserve horizontal position. | ||
| 27 | |||
| 1 | 2014-06-23 Sam Steingold <sds@gnu.org> | 28 | 2014-06-23 Sam Steingold <sds@gnu.org> |
| 2 | 29 | ||
| 3 | * simple.el (kill-append): Remove undo boundary depending on ... | 30 | * 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." | |||
| 1130 | column | 1130 | column |
| 1131 | (if (not tab-stop) | 1131 | (if (not tab-stop) |
| 1132 | (+ column spacing) | 1132 | (+ column spacing) |
| 1133 | (let ((stops tab-stop-list)) | 1133 | (dotimes (_ spacing) |
| 1134 | (while stops | 1134 | (setq column (indent-next-tab-stop column))) |
| 1135 | (if (and (> (car stops) column) | ||
| 1136 | (= (setq spacing (1- spacing)) 0)) | ||
| 1137 | (setq column (car stops) | ||
| 1138 | stops nil) | ||
| 1139 | (setq stops (cdr stops))))) | ||
| 1140 | column))) | 1135 | column))) |
| 1141 | 1136 | ||
| 1142 | (defsubst align-column (pos) | 1137 | (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 @@ | |||
| 1 | 2014-06-24 Andreas Schwab <schwab@linux-m68k.org> | ||
| 2 | |||
| 3 | * html2text.el (html2text-get-attr): Rewrite to handle spaces in quoted | ||
| 4 | attribute values. (Bug#17834) | ||
| 5 | |||
| 1 | 2013-06-22 Dmitry Antipov <dmantipov@yandex.ru> | 6 | 2013-06-22 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 7 | ||
| 3 | * gnus-sum.el (gnus-summary-edit-article-done): | 8 | * 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.") | |||
| 179 | 179 | ||
| 180 | (defun html2text-get-attr (p1 p2) | 180 | (defun html2text-get-attr (p1 p2) |
| 181 | (goto-char p1) | 181 | (goto-char p1) |
| 182 | (re-search-forward " +[^ ]" p2 t) | 182 | (re-search-forward "\\s-+" p2 t) |
| 183 | (let* ((attr-string (buffer-substring-no-properties (1- (point)) (1- p2))) | 183 | (let (attr-list) |
| 184 | (tmp-list (split-string attr-string)) | 184 | (while (re-search-forward "[-a-z0-9._]+" p2 t) |
| 185 | (attr-list) | 185 | (setq attr-list |
| 186 | (counter 0) | 186 | (cons |
| 187 | (prev (car tmp-list)) | 187 | (list (match-string 0) |
| 188 | (this (nth 1 tmp-list)) | 188 | (when (looking-at "\\s-*=") |
| 189 | (next (nth 2 tmp-list)) | 189 | (goto-char (match-end 0)) |
| 190 | (index 1)) | 190 | (skip-chars-forward "[:space:]") |
| 191 | 191 | (when (or (looking-at "\"[^\"]*\"\\|'[^']*'") | |
| 192 | (cond | 192 | (looking-at "[-a-z0-9._:]+")) |
| 193 | ;; size=3 | 193 | (goto-char (match-end 0)) |
| 194 | ((string-match "[^ ]=[^ ]" prev) | 194 | (match-string 0)))) |
| 195 | (let ((attr (nth 0 (split-string prev "="))) | 195 | attr-list))) |
| 196 | (value (substring prev (1+ (string-match "=" prev))))) | ||
| 197 | (setq attr-list (cons (list attr value) attr-list)))) | ||
| 198 | ;; size= 3 | ||
| 199 | ((string-match "[^ ]=\\'" prev) | ||
| 200 | (setq attr-list (cons (list (substring prev 0 -1) this) attr-list)))) | ||
| 201 | |||
| 202 | (while (< index (length tmp-list)) | ||
| 203 | (cond | ||
| 204 | ;; size=3 | ||
| 205 | ((string-match "[^ ]=[^ ]" this) | ||
| 206 | (let ((attr (nth 0 (split-string this "="))) | ||
| 207 | (value (substring this (1+ (string-match "=" this))))) | ||
| 208 | (setq attr-list (cons (list attr value) attr-list)))) | ||
| 209 | ;; size =3 | ||
| 210 | ((string-match "\\`=[^ ]" this) | ||
| 211 | (setq attr-list (cons (list prev (substring this 1)) attr-list))) | ||
| 212 | ;; size= 3 | ||
| 213 | ((string-match "[^ ]=\\'" this) | ||
| 214 | (setq attr-list (cons (list (substring this 0 -1) next) attr-list))) | ||
| 215 | ;; size = 3 | ||
| 216 | ((string= "=" this) | ||
| 217 | (setq attr-list (cons (list prev next) attr-list)))) | ||
| 218 | (setq index (1+ index)) | ||
| 219 | (setq prev this) | ||
| 220 | (setq this next) | ||
| 221 | (setq next (nth (1+ index) tmp-list))) | ||
| 222 | ;; | ||
| 223 | ;; Tags with no accompanying "=" i.e. value=nil | ||
| 224 | ;; | ||
| 225 | (setq prev (car tmp-list)) | ||
| 226 | (setq this (nth 1 tmp-list)) | ||
| 227 | (setq next (nth 2 tmp-list)) | ||
| 228 | (setq index 1) | ||
| 229 | |||
| 230 | (when (and (not (string-match "=" prev)) | ||
| 231 | (not (string= (substring this 0 1) "="))) | ||
| 232 | (setq attr-list (cons (list prev nil) attr-list))) | ||
| 233 | (while (< index (1- (length tmp-list))) | ||
| 234 | (when (and (not (string-match "=" this)) | ||
| 235 | (not (or (string= (substring next 0 1) "=") | ||
| 236 | (string= (substring prev -1) "=")))) | ||
| 237 | (setq attr-list (cons (list this nil) attr-list))) | ||
| 238 | (setq index (1+ index)) | ||
| 239 | (setq prev this) | ||
| 240 | (setq this next) | ||
| 241 | (setq next (nth (1+ index) tmp-list))) | ||
| 242 | |||
| 243 | (when (and this | ||
| 244 | (not (string-match "=" this)) | ||
| 245 | (not (string= (substring prev -1) "="))) | ||
| 246 | (setq attr-list (cons (list this nil) attr-list))) | ||
| 247 | ;; return - value | ||
| 248 | attr-list)) | 196 | attr-list)) |
| 249 | 197 | ||
| 250 | ;; | 198 | ;; |
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." | |||
| 249 | (indent-rigidly--pop-undo) | 249 | (indent-rigidly--pop-undo) |
| 250 | (let* ((current (indent-rigidly--current-indentation beg end)) | 250 | (let* ((current (indent-rigidly--current-indentation beg end)) |
| 251 | (rtl (eq (current-bidi-paragraph-direction) 'right-to-left)) | 251 | (rtl (eq (current-bidi-paragraph-direction) 'right-to-left)) |
| 252 | (next (indent--next-tab-stop current (if rtl nil 'prev)))) | 252 | (next (indent-next-tab-stop current (if rtl nil 'prev)))) |
| 253 | (indent-rigidly beg end (- next current)))) | 253 | (indent-rigidly beg end (- next current)))) |
| 254 | 254 | ||
| 255 | (defun indent-rigidly-right-to-tab-stop (beg end) | 255 | (defun indent-rigidly-right-to-tab-stop (beg end) |
| @@ -258,7 +258,7 @@ indentation by specifying a large negative ARG." | |||
| 258 | (indent-rigidly--pop-undo) | 258 | (indent-rigidly--pop-undo) |
| 259 | (let* ((current (indent-rigidly--current-indentation beg end)) | 259 | (let* ((current (indent-rigidly--current-indentation beg end)) |
| 260 | (rtl (eq (current-bidi-paragraph-direction) 'right-to-left)) | 260 | (rtl (eq (current-bidi-paragraph-direction) 'right-to-left)) |
| 261 | (next (indent--next-tab-stop current (if rtl 'prev)))) | 261 | (next (indent-next-tab-stop current (if rtl 'prev)))) |
| 262 | (indent-rigidly beg end (- next current)))) | 262 | (indent-rigidly beg end (- next current)))) |
| 263 | 263 | ||
| 264 | (defun indent-line-to (column) | 264 | (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 | |||
| 654 | (setq tab-stop-list tabs)) | 654 | (setq tab-stop-list tabs)) |
| 655 | (message "Tab stops installed")) | 655 | (message "Tab stops installed")) |
| 656 | 656 | ||
| 657 | (defun indent--next-tab-stop (column &optional prev) | 657 | (defun indent-next-tab-stop (column &optional prev) |
| 658 | "Return the next tab stop after COLUMN. | 658 | "Return the next tab stop after COLUMN. |
| 659 | If PREV is non-nil, return the previous one instead." | 659 | If PREV is non-nil, return the previous one instead." |
| 660 | (let ((tabs tab-stop-list)) | 660 | (let ((tabs tab-stop-list)) |
| @@ -684,7 +684,7 @@ Use \\[edit-tab-stops] to edit them interactively." | |||
| 684 | (interactive) | 684 | (interactive) |
| 685 | (and abbrev-mode (= (char-syntax (preceding-char)) ?w) | 685 | (and abbrev-mode (= (char-syntax (preceding-char)) ?w) |
| 686 | (expand-abbrev)) | 686 | (expand-abbrev)) |
| 687 | (let ((nexttab (indent--next-tab-stop (current-column)))) | 687 | (let ((nexttab (indent-next-tab-stop (current-column)))) |
| 688 | (delete-horizontal-space t) | 688 | (delete-horizontal-space t) |
| 689 | (indent-to nexttab))) | 689 | (indent-to nexttab))) |
| 690 | 690 | ||
| @@ -693,7 +693,7 @@ Use \\[edit-tab-stops] to edit them interactively." | |||
| 693 | The variable `tab-stop-list' is a list of columns at which there are tab stops. | 693 | The variable `tab-stop-list' is a list of columns at which there are tab stops. |
| 694 | Use \\[edit-tab-stops] to edit them interactively." | 694 | Use \\[edit-tab-stops] to edit them interactively." |
| 695 | (interactive) | 695 | (interactive) |
| 696 | (let ((nexttab (indent--next-tab-stop (current-column)))) | 696 | (let ((nexttab (indent-next-tab-stop (current-column)))) |
| 697 | (let ((before (point))) | 697 | (let ((before (point))) |
| 698 | (move-to-column nexttab t) | 698 | (move-to-column nexttab t) |
| 699 | (save-excursion | 699 | (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." | |||
| 801 | v (format "(cd %s; %s)" | 801 | v (format "(cd %s; %s)" |
| 802 | (tramp-shell-quote-argument localname) command) | 802 | (tramp-shell-quote-argument localname) command) |
| 803 | "") | 803 | "") |
| 804 | ;; We should show the output anyway. | 804 | ;; We should add the output anyway. |
| 805 | (when outbuf | 805 | (when outbuf |
| 806 | (with-current-buffer outbuf | 806 | (with-current-buffer outbuf |
| 807 | (insert-buffer-substring (tramp-get-connection-buffer v))) | 807 | (insert-buffer-substring (tramp-get-connection-buffer v))) |
| 808 | (when display (display-buffer outbuf)))) | 808 | (when (and display (get-buffer-window outbuf t)) (redisplay)))) |
| 809 | ;; When the user did interrupt, we should do it also. We use | 809 | ;; When the user did interrupt, we should do it also. We use |
| 810 | ;; return code -1 as marker. | 810 | ;; return code -1 as marker. |
| 811 | (quit | 811 | (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." | |||
| 2994 | command) | 2994 | command) |
| 2995 | t t) | 2995 | t t) |
| 2996 | 0 1)) | 2996 | 0 1)) |
| 2997 | ;; We should show the output anyway. | 2997 | ;; We should add the output anyway. |
| 2998 | (when outbuf | 2998 | (when outbuf |
| 2999 | (with-current-buffer outbuf | 2999 | (with-current-buffer outbuf |
| 3000 | (insert | 3000 | (insert |
| 3001 | (with-current-buffer (tramp-get-connection-buffer v) | 3001 | (with-current-buffer (tramp-get-connection-buffer v) |
| 3002 | (buffer-string)))) | 3002 | (buffer-string)))) |
| 3003 | (when display (display-buffer outbuf)))) | 3003 | (when (and display (get-buffer-window outbuf t)) (redisplay)))) |
| 3004 | ;; When the user did interrupt, we should do it also. We use | 3004 | ;; When the user did interrupt, we should do it also. We use |
| 3005 | ;; return code -1 as marker. | 3005 | ;; return code -1 as marker. |
| 3006 | (quit | 3006 | (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." | |||
| 1225 | (error | 1225 | (error |
| 1226 | (setq ret 1))) | 1226 | (setq ret 1))) |
| 1227 | 1227 | ||
| 1228 | ;; We should show the output anyway. | 1228 | ;; We should redisplay the output. |
| 1229 | (when (and outbuf display) (display-buffer outbuf)) | 1229 | (when (and display outbuf (get-buffer-window outbuf t)) (redisplay)) |
| 1230 | 1230 | ||
| 1231 | ;; Cleanup. We remove all file cache values for the connection, | 1231 | ;; Cleanup. We remove all file cache values for the connection, |
| 1232 | ;; because the remote process could have changed them. | 1232 | ;; 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 @@ | |||
| 4 | 4 | ||
| 5 | ;; Author: Terrence Brannon (was: <brannon@rana.usc.edu>) | 5 | ;; Author: Terrence Brannon (was: <brannon@rana.usc.edu>) |
| 6 | ;; Created: December 16, 1996 - first release to usenet | 6 | ;; Created: December 16, 1996 - first release to usenet |
| 7 | ;; Keywords: games, gomoku, neural network, adaptive search, chemotaxis | 7 | ;; Keywords: games, neural network, adaptive search, chemotaxis |
| 8 | |||
| 9 | ;;;_* Usage | ||
| 10 | ;;; Just type | ||
| 11 | ;;; M-x eval-buffer | ||
| 12 | ;;; M-x landmark-test-run | ||
| 13 | |||
| 14 | 8 | ||
| 15 | ;; This file is part of GNU Emacs. | 9 | ;; This file is part of GNU Emacs. |
| 16 | 10 | ||
| @@ -29,6 +23,9 @@ | |||
| 29 | 23 | ||
| 30 | 24 | ||
| 31 | ;;; Commentary: | 25 | ;;; Commentary: |
| 26 | |||
| 27 | ;; To try this, just type: M-x landmark-test-run | ||
| 28 | |||
| 32 | ;; Landmark is a relatively non-participatory game in which a robot | 29 | ;; Landmark is a relatively non-participatory game in which a robot |
| 33 | ;; attempts to maneuver towards a tree at the center of the window | 30 | ;; attempts to maneuver towards a tree at the center of the window |
| 34 | ;; based on unique olfactory cues from each of the 4 directions. If | 31 | ;; 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"))) | |||
| 1040 | "Move point down one row on the Landmark board." | 1037 | "Move point down one row on the Landmark board." |
| 1041 | (interactive) | 1038 | (interactive) |
| 1042 | (if (< (landmark-point-y) landmark-board-height) | 1039 | (if (< (landmark-point-y) landmark-board-height) |
| 1043 | (forward-line 1)));;; landmark-square-height))) | 1040 | (let ((col (current-column))) |
| 1041 | (forward-line 1) ;;; landmark-square-height | ||
| 1042 | (move-to-column col)))) | ||
| 1044 | 1043 | ||
| 1045 | (defun landmark-move-up () | 1044 | (defun landmark-move-up () |
| 1046 | "Move point up one row on the Landmark board." | 1045 | "Move point up one row on the Landmark board." |
| 1047 | (interactive) | 1046 | (interactive) |
| 1048 | (if (> (landmark-point-y) 1) | 1047 | (if (> (landmark-point-y) 1) |
| 1049 | (forward-line (- landmark-square-height)))) | 1048 | (let ((col (current-column))) |
| 1049 | (forward-line (- landmark-square-height)) | ||
| 1050 | (move-to-column col)))) | ||
| 1050 | 1051 | ||
| 1051 | (defun landmark-move-ne () | 1052 | (defun landmark-move-ne () |
| 1052 | "Move point North East on the Landmark board." | 1053 | "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. | |||
| 197 | If ELEMENT is a string or a character it gets inserted (see also | 197 | If ELEMENT is a string or a character it gets inserted (see also |
| 198 | `skeleton-transformation-function'). Other possibilities are: | 198 | `skeleton-transformation-function'). Other possibilities are: |
| 199 | 199 | ||
| 200 | \\n if not the last element of the skeleton, or not at eol, | 200 | \\n go to next line and indent according to mode, unless |
| 201 | go to next line and indent according to mode | 201 | this is the first/last element of a skeleton and point |
| 202 | is at bol/eol | ||
| 202 | _ interesting point, interregion here | 203 | _ interesting point, interregion here |
| 203 | - interesting point, no interregion interaction, overrides | 204 | - interesting point, no interregion interaction, overrides |
| 204 | interesting point set by _ | 205 | interesting point set by _ |
| @@ -215,7 +216,8 @@ or at the first occurrence of _ or at the end of the inserted text. | |||
| 215 | 216 | ||
| 216 | Note that \\n as the last element of the skeleton only inserts a | 217 | Note that \\n as the last element of the skeleton only inserts a |
| 217 | newline if not at eol. If you want to unconditionally insert a newline | 218 | newline if not at eol. If you want to unconditionally insert a newline |
| 218 | at the end of the skeleton, use \"\\n\" instead. | 219 | at the end of the skeleton, use \"\\n\" instead. Likewise with \\n |
| 220 | as the first element when at bol. | ||
| 219 | 221 | ||
| 220 | Further elements can be defined via `skeleton-further-elements'. | 222 | Further elements can be defined via `skeleton-further-elements'. |
| 221 | ELEMENT may itself be a SKELETON with an INTERACTOR. The user is prompted | 223 | ELEMENT may itself be a SKELETON with an INTERACTOR. The user is prompted |