diff options
| author | Paul Eggert | 2015-03-03 14:35:41 -0800 |
|---|---|---|
| committer | Paul Eggert | 2015-03-03 14:35:41 -0800 |
| commit | 2c82deee7fbb951a90ed3246350fbf9390af038a (patch) | |
| tree | 465aaf0fdaefea778317ab1ed5c48400f223b596 | |
| parent | 6eab3936c71951e304f13b69ad2e835ddaf9f2f4 (diff) | |
| parent | c0ba5908b117170995df36e839a087af7c5f79db (diff) | |
| download | emacs-2c82deee7fbb951a90ed3246350fbf9390af038a.tar.gz emacs-2c82deee7fbb951a90ed3246350fbf9390af038a.zip | |
Merge from origin/emacs-24
c0ba590 Fix vertical-motion and posn-at-point when word-wrap is
a323b93 Better multi-line input support in comint.el
008a04a todo-mode.el: Restore point on setting item done (Bug#19727)
9615c0d doc/misc/erc.texi: fix typo
c648717 Update ERC docs and update MAINTANERS to include myself
d825f66 Fix filling circle/ellipse in Artist Mode (Bug#19763)
Conflicts:
admin/ChangeLog
doc/misc/ChangeLog
doc/misc/erc.texi
lisp/ChangeLog
src/ChangeLog
| -rw-r--r-- | admin/ChangeLog | 5 | ||||
| -rw-r--r-- | admin/MAINTAINERS | 5 | ||||
| -rw-r--r-- | doc/misc/ChangeLog | 7 | ||||
| -rw-r--r-- | doc/misc/erc.texi | 10 | ||||
| -rw-r--r-- | lisp/ChangeLog | 28 | ||||
| -rw-r--r-- | lisp/calendar/todo-mode.el | 7 | ||||
| -rw-r--r-- | lisp/comint.el | 24 | ||||
| -rw-r--r-- | lisp/textmodes/artist.el | 2 | ||||
| -rw-r--r-- | src/ChangeLog | 8 | ||||
| -rw-r--r-- | src/xdisp.c | 32 |
10 files changed, 104 insertions, 24 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog index 9a160446b35..bcc43c52af2 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2015-03-03 Kelvin White <kwhite@gnu.org> | ||
| 2 | |||
| 3 | * MAINTAINERS: Add myself to section 2 | ||
| 4 | |||
| 5 | 2015-03-03 Glenn Morris <rgm@gnu.org> | ||
| 1 | 2015-03-03 Glenn Morris <rgm@gnu.org> | 6 | 2015-03-03 Glenn Morris <rgm@gnu.org> |
| 2 | 7 | ||
| 3 | * admin.el (manual-meta-string): Use bug-gnu-emacs@gnu email address | 8 | * admin.el (manual-meta-string): Use bug-gnu-emacs@gnu email address |
diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS index 57f199b27c2..61c70c1e82c 100644 --- a/admin/MAINTAINERS +++ b/admin/MAINTAINERS | |||
| @@ -78,6 +78,11 @@ Bastien Guerry | |||
| 78 | 2. | 78 | 2. |
| 79 | ============================================================================== | 79 | ============================================================================== |
| 80 | 80 | ||
| 81 | Kelvin White | ||
| 82 | ERC | ||
| 83 | lisp/erc/* | ||
| 84 | doc/misc/erc.texi | ||
| 85 | |||
| 81 | Eli Zaretskii | 86 | Eli Zaretskii |
| 82 | doc/* | 87 | doc/* |
| 83 | lispref/* | 88 | lispref/* |
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 4e9c119379d..c00cb2f722a 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2015-03-03 Kelvin White <kwhite@gnu.org> | ||
| 2 | |||
| 3 | * erc.texi (Advanced Usage, Options): Add descriptions and examples | ||
| 4 | for erc-format-nick-function and erc-rename-buffers options. | ||
| 5 | (Connecting): fix typo | ||
| 6 | |||
| 7 | 2015-03-03 Michael Albinus <michael.albinus@gmx.de> | ||
| 1 | 2015-03-02 Daniel Colascione <dancol@dancol.org> | 8 | 2015-03-02 Daniel Colascione <dancol@dancol.org> |
| 2 | 9 | ||
| 3 | * cl.texi (Iteration Clauses): Mention iterator support. | 10 | * cl.texi (Iteration Clauses): Mention iterator support. |
diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi index aaa88ce803b..2f4ffae87c1 100644 --- a/doc/misc/erc.texi +++ b/doc/misc/erc.texi | |||
| @@ -667,14 +667,6 @@ your Emacs configuration file. Everything after the @code{(require | |||
| 667 | @lisp | 667 | @lisp |
| 668 | ;;; Sample ERC configuration | 668 | ;;; Sample ERC configuration |
| 669 | 669 | ||
| 670 | ;; Add the ERC directory to load path -- you don't need this if you are | ||
| 671 | ;; using the version of ERC that comes with Emacs | ||
| 672 | (add-to-list 'load-path "~/elisp/erc") | ||
| 673 | |||
| 674 | ;; Load ERC -- again, you don't need this if you are using the version | ||
| 675 | ;; of ERC that comes with Emacs | ||
| 676 | (require 'erc) | ||
| 677 | |||
| 678 | ;; Load authentication info from an external source. Put sensitive | 670 | ;; Load authentication info from an external source. Put sensitive |
| 679 | ;; passwords and the like in here. | 671 | ;; passwords and the like in here. |
| 680 | (load "~/.emacs.d/.erc-auth") | 672 | (load "~/.emacs.d/.erc-auth") |
| @@ -724,7 +716,7 @@ stuff, to the current ERC buffer." | |||
| 724 | (setq erc-autojoin-channels-alist '(("freenode.net" "#emacs" "#erc"))) | 716 | (setq erc-autojoin-channels-alist '(("freenode.net" "#emacs" "#erc"))) |
| 725 | 717 | ||
| 726 | ;; Rename server buffers to reflect the current network name instead | 718 | ;; Rename server buffers to reflect the current network name instead |
| 727 | ;; of IP:PORT. (e.g. "freenode" instead of "84.240.3.129:6667"). This | 719 | ;; of SERVER:PORT. (e.g. "freenode" instead of "irc.freenode.net:6667"). This |
| 728 | ;; is useful when using a bouncer like ZNC where you have multiple | 720 | ;; is useful when using a bouncer like ZNC where you have multiple |
| 729 | ;; connections to the same server. | 721 | ;; connections to the same server. |
| 730 | (setq erc-rename-buffers t) | 722 | (setq erc-rename-buffers t) |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8083fb85cea..cd042da8e92 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,31 @@ | |||
| 1 | 2015-03-03 Juri Linkov <juri@linkov.net> | ||
| 2 | |||
| 3 | Revert the previous change of comint-line-beginning-position callers, | ||
| 4 | and modify comint-line-beginning-position instead. | ||
| 5 | |||
| 6 | * comint.el (comint-history-isearch-search) | ||
| 7 | (comint-history-isearch-message, comint-history-isearch-wrap): | ||
| 8 | Use comint-line-beginning-position instead of field-beginning. | ||
| 9 | (comint-send-input): Use either end-of-line or field-end | ||
| 10 | depending on comint-use-prompt-regexp. | ||
| 11 | (comint-line-beginning-position): Search backward | ||
| 12 | for comint-prompt-regexp if comint-use-prompt-regexp is non-nil. | ||
| 13 | Use field-beginning instead of line-beginning-position | ||
| 14 | if comint-use-prompt-regexp is nil. (Bug#19710) | ||
| 15 | |||
| 16 | 2015-03-03 Robert Pluim <rpluim@gmail.com> (tiny change) | ||
| 17 | |||
| 18 | * calendar/todo-mode.el (todo-item-done): When done items are | ||
| 19 | hidden, restore point to its location prior to invoking this | ||
| 20 | command. (Bug#19727) | ||
| 21 | |||
| 22 | 2015-03-03 Eli Zaretskii <eliz@gnu.org> | ||
| 23 | |||
| 24 | * textmodes/artist.el (artist-ellipse-compute-fill-info): Use | ||
| 25 | mapcar, not mapc, to create the other half of fill-info. | ||
| 26 | (Bug#19763) | ||
| 27 | |||
| 28 | 2015-03-03 Nicolas Petton <nicolas@petton.fr> | ||
| 1 | 2015-03-03 Nicolas Petton <nicolas@petton.fr> | 29 | 2015-03-03 Nicolas Petton <nicolas@petton.fr> |
| 2 | 30 | ||
| 3 | * emacs-lisp/authors.el (authors-ignored-files) | 31 | * emacs-lisp/authors.el (authors-ignored-files) |
diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el index 7ca57a42b76..dcc960fb9bf 100644 --- a/lisp/calendar/todo-mode.el +++ b/lisp/calendar/todo-mode.el | |||
| @@ -2816,7 +2816,8 @@ visible." | |||
| 2816 | (goto-char (point-min)) | 2816 | (goto-char (point-min)) |
| 2817 | (re-search-forward todo-done-string-start nil t))) | 2817 | (re-search-forward todo-done-string-start nil t))) |
| 2818 | (buffer-read-only nil) | 2818 | (buffer-read-only nil) |
| 2819 | item done-item opoint) | 2819 | item done-item |
| 2820 | (opoint (point))) | ||
| 2820 | ;; Don't add empty comment to done item. | 2821 | ;; Don't add empty comment to done item. |
| 2821 | (setq comment (unless (zerop (length comment)) | 2822 | (setq comment (unless (zerop (length comment)) |
| 2822 | (concat " [" todo-comment-string ": " comment "]"))) | 2823 | (concat " [" todo-comment-string ": " comment "]"))) |
| @@ -2854,7 +2855,9 @@ visible." | |||
| 2854 | (todo-update-categories-sexp) | 2855 | (todo-update-categories-sexp) |
| 2855 | (let ((todo-show-with-done show-done)) | 2856 | (let ((todo-show-with-done show-done)) |
| 2856 | (todo-category-select) | 2857 | (todo-category-select) |
| 2857 | ;; When done items are shown, put cursor on first just done item. | 2858 | ;; When done items are visible, put point at the top of the |
| 2859 | ;; done items section. When done items are hidden, restore | ||
| 2860 | ;; point to its location prior to invoking this command. | ||
| 2858 | (when opoint (goto-char opoint))))))) | 2861 | (when opoint (goto-char opoint))))))) |
| 2859 | 2862 | ||
| 2860 | (defun todo-item-undone () | 2863 | (defun todo-item-undone () |
diff --git a/lisp/comint.el b/lisp/comint.el index 2c4168474ab..b14ab5bdf9f 100644 --- a/lisp/comint.el +++ b/lisp/comint.el | |||
| @@ -1476,7 +1476,7 @@ Intended to be added to `isearch-mode-hook' in `comint-mode'." | |||
| 1476 | (or | 1476 | (or |
| 1477 | ;; 1. First try searching in the initial comint text | 1477 | ;; 1. First try searching in the initial comint text |
| 1478 | (funcall search-fun string | 1478 | (funcall search-fun string |
| 1479 | (if isearch-forward bound (field-beginning)) | 1479 | (if isearch-forward bound (comint-line-beginning-position)) |
| 1480 | noerror) | 1480 | noerror) |
| 1481 | ;; 2. If the above search fails, start putting next/prev history | 1481 | ;; 2. If the above search fails, start putting next/prev history |
| 1482 | ;; elements in the comint successively, and search the string | 1482 | ;; elements in the comint successively, and search the string |
| @@ -1492,7 +1492,7 @@ Intended to be added to `isearch-mode-hook' in `comint-mode'." | |||
| 1492 | (when (null comint-input-ring-index) | 1492 | (when (null comint-input-ring-index) |
| 1493 | (error "End of history; no next item")) | 1493 | (error "End of history; no next item")) |
| 1494 | (comint-next-input 1) | 1494 | (comint-next-input 1) |
| 1495 | (goto-char (field-beginning))) | 1495 | (goto-char (comint-line-beginning-position))) |
| 1496 | (t | 1496 | (t |
| 1497 | ;; Signal an error here explicitly, because | 1497 | ;; Signal an error here explicitly, because |
| 1498 | ;; `comint-previous-input' doesn't signal an error. | 1498 | ;; `comint-previous-input' doesn't signal an error. |
| @@ -1510,7 +1510,7 @@ Intended to be added to `isearch-mode-hook' in `comint-mode'." | |||
| 1510 | (unless isearch-forward | 1510 | (unless isearch-forward |
| 1511 | ;; For backward search, don't search | 1511 | ;; For backward search, don't search |
| 1512 | ;; in the comint prompt | 1512 | ;; in the comint prompt |
| 1513 | (field-beginning)) | 1513 | (comint-line-beginning-position)) |
| 1514 | noerror))) | 1514 | noerror))) |
| 1515 | ;; Return point of the new search result | 1515 | ;; Return point of the new search result |
| 1516 | (point)) | 1516 | (point)) |
| @@ -1534,16 +1534,16 @@ the function `isearch-message'." | |||
| 1534 | (if (overlayp comint-history-isearch-message-overlay) | 1534 | (if (overlayp comint-history-isearch-message-overlay) |
| 1535 | (move-overlay comint-history-isearch-message-overlay | 1535 | (move-overlay comint-history-isearch-message-overlay |
| 1536 | (save-excursion | 1536 | (save-excursion |
| 1537 | (goto-char (field-beginning)) | 1537 | (goto-char (comint-line-beginning-position)) |
| 1538 | (forward-line 0) | 1538 | (forward-line 0) |
| 1539 | (point)) | 1539 | (point)) |
| 1540 | (field-beginning)) | 1540 | (comint-line-beginning-position)) |
| 1541 | (setq comint-history-isearch-message-overlay | 1541 | (setq comint-history-isearch-message-overlay |
| 1542 | (make-overlay (save-excursion | 1542 | (make-overlay (save-excursion |
| 1543 | (goto-char (field-beginning)) | 1543 | (goto-char (comint-line-beginning-position)) |
| 1544 | (forward-line 0) | 1544 | (forward-line 0) |
| 1545 | (point)) | 1545 | (point)) |
| 1546 | (field-beginning))) | 1546 | (comint-line-beginning-position))) |
| 1547 | (overlay-put comint-history-isearch-message-overlay 'evaporate t)) | 1547 | (overlay-put comint-history-isearch-message-overlay 'evaporate t)) |
| 1548 | (overlay-put comint-history-isearch-message-overlay | 1548 | (overlay-put comint-history-isearch-message-overlay |
| 1549 | 'display (isearch-message-prefix ellipsis isearch-nonincremental)) | 1549 | 'display (isearch-message-prefix ellipsis isearch-nonincremental)) |
| @@ -1564,7 +1564,7 @@ or to the last history element for a backward search." | |||
| 1564 | (comint-goto-input (1- (ring-length comint-input-ring))) | 1564 | (comint-goto-input (1- (ring-length comint-input-ring))) |
| 1565 | (comint-goto-input nil)) | 1565 | (comint-goto-input nil)) |
| 1566 | (setq isearch-success t) | 1566 | (setq isearch-success t) |
| 1567 | (goto-char (if isearch-forward (field-beginning) (point-max)))) | 1567 | (goto-char (if isearch-forward (comint-line-beginning-position) (point-max)))) |
| 1568 | 1568 | ||
| 1569 | (defun comint-history-isearch-push-state () | 1569 | (defun comint-history-isearch-push-state () |
| 1570 | "Save a function restoring the state of input history search. | 1570 | "Save a function restoring the state of input history search. |
| @@ -1788,7 +1788,10 @@ Similarly for Soar, Scheme, etc." | |||
| 1788 | (widen) | 1788 | (widen) |
| 1789 | (let* ((pmark (process-mark proc)) | 1789 | (let* ((pmark (process-mark proc)) |
| 1790 | (intxt (if (>= (point) (marker-position pmark)) | 1790 | (intxt (if (>= (point) (marker-position pmark)) |
| 1791 | (progn (if comint-eol-on-send (goto-char (field-end))) | 1791 | (progn (if comint-eol-on-send |
| 1792 | (if comint-use-prompt-regexp | ||
| 1793 | (end-of-line) | ||
| 1794 | (goto-char (field-end)))) | ||
| 1792 | (buffer-substring pmark (point))) | 1795 | (buffer-substring pmark (point))) |
| 1793 | (let ((copy (funcall comint-get-old-input))) | 1796 | (let ((copy (funcall comint-get-old-input))) |
| 1794 | (goto-char pmark) | 1797 | (goto-char pmark) |
| @@ -2267,6 +2270,7 @@ a buffer local variable." | |||
| 2267 | (if comint-use-prompt-regexp | 2270 | (if comint-use-prompt-regexp |
| 2268 | ;; Use comint-prompt-regexp | 2271 | ;; Use comint-prompt-regexp |
| 2269 | (save-excursion | 2272 | (save-excursion |
| 2273 | (re-search-backward comint-prompt-regexp nil t) | ||
| 2270 | (beginning-of-line) | 2274 | (beginning-of-line) |
| 2271 | (comint-skip-prompt) | 2275 | (comint-skip-prompt) |
| 2272 | (point)) | 2276 | (point)) |
| @@ -2277,7 +2281,7 @@ a buffer local variable." | |||
| 2277 | ;; if there are two fields on a line, then the first one is the | 2281 | ;; if there are two fields on a line, then the first one is the |
| 2278 | ;; prompt, and the second one is an input field, and is front-sticky | 2282 | ;; prompt, and the second one is an input field, and is front-sticky |
| 2279 | ;; (as input fields should be). | 2283 | ;; (as input fields should be). |
| 2280 | (constrain-to-field (line-beginning-position) (line-end-position)))) | 2284 | (constrain-to-field (field-beginning) (line-end-position)))) |
| 2281 | 2285 | ||
| 2282 | (defun comint-bol (&optional arg) | 2286 | (defun comint-bol (&optional arg) |
| 2283 | "Go to the beginning of line, then skip past the prompt, if any. | 2287 | "Go to the beginning of line, then skip past the prompt, if any. |
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el index 85d9410868a..930c39c82cc 100644 --- a/lisp/textmodes/artist.el +++ b/lisp/textmodes/artist.el | |||
| @@ -3372,7 +3372,7 @@ The POINT-LIST is expected to cover the first quadrant." | |||
| 3372 | ;; Create the other half by mirroring the first half. | 3372 | ;; Create the other half by mirroring the first half. |
| 3373 | (setq both-halves | 3373 | (setq both-halves |
| 3374 | (append first-half | 3374 | (append first-half |
| 3375 | (mapc | 3375 | (mapcar |
| 3376 | (lambda (i) | 3376 | (lambda (i) |
| 3377 | (artist-new-fill-item (artist-fill-item-get-x i) | 3377 | (artist-new-fill-item (artist-fill-item-get-x i) |
| 3378 | (- (artist-fill-item-get-y i)) | 3378 | (- (artist-fill-item-get-y i)) |
diff --git a/src/ChangeLog b/src/ChangeLog index 0a05b544d98..5bfb1809139 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,13 @@ | |||
| 1 | 2015-03-03 Eli Zaretskii <eliz@gnu.org> | 1 | 2015-03-03 Eli Zaretskii <eliz@gnu.org> |
| 2 | 2 | ||
| 3 | * xdisp.c (move_it_in_display_line_to): Handle the case where the | ||
| 4 | last character of a screen line is whitespace, and we are under | ||
| 5 | word-wrap with overflow-newline-into-fringe turned on. | ||
| 6 | (Bug#19769) | ||
| 7 | |||
| 8 | 2015-03-03 Eli Zaretskii <eliz@gnu.org> | ||
| 9 | 2015-03-03 Eli Zaretskii <eliz@gnu.org> | ||
| 10 | |||
| 3 | * xdisp.c (handle_stop, handle_single_display_spec) | 11 | * xdisp.c (handle_stop, handle_single_display_spec) |
| 4 | (next-element_from_image): Don't reset the | 12 | (next-element_from_image): Don't reset the |
| 5 | ignore_overlay_strings_at_pos_p flag here. | 13 | ignore_overlay_strings_at_pos_p flag here. |
diff --git a/src/xdisp.c b/src/xdisp.c index 5ef839eb865..ce685fd6e22 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -8604,7 +8604,16 @@ move_it_in_display_line_to (struct it *it, | |||
| 8604 | if (BUFFER_POS_REACHED_P ()) | 8604 | if (BUFFER_POS_REACHED_P ()) |
| 8605 | { | 8605 | { |
| 8606 | if (it->line_wrap != WORD_WRAP | 8606 | if (it->line_wrap != WORD_WRAP |
| 8607 | || wrap_it.sp < 0) | 8607 | || wrap_it.sp < 0 |
| 8608 | /* If we've just found whitespace to | ||
| 8609 | wrap, effectively ignore the | ||
| 8610 | previous wrap point -- it is no | ||
| 8611 | longer relevant, but we won't | ||
| 8612 | have an opportunity to update it, | ||
| 8613 | since we've reached the edge of | ||
| 8614 | this screen line. */ | ||
| 8615 | || (may_wrap | ||
| 8616 | && IT_OVERFLOW_NEWLINE_INTO_FRINGE (it))) | ||
| 8608 | { | 8617 | { |
| 8609 | it->hpos = hpos_before_this_char; | 8618 | it->hpos = hpos_before_this_char; |
| 8610 | it->current_x = x_before_this_char; | 8619 | it->current_x = x_before_this_char; |
| @@ -8668,7 +8677,26 @@ move_it_in_display_line_to (struct it *it, | |||
| 8668 | else | 8677 | else |
| 8669 | IT_RESET_X_ASCENT_DESCENT (it); | 8678 | IT_RESET_X_ASCENT_DESCENT (it); |
| 8670 | 8679 | ||
| 8671 | if (wrap_it.sp >= 0) | 8680 | /* If the screen line ends with whitespace, and we |
| 8681 | are under word-wrap, don't use wrap_it: it is no | ||
| 8682 | longer relevant, but we won't have an opportunity | ||
| 8683 | to update it, since we are done with this screen | ||
| 8684 | line. */ | ||
| 8685 | if (may_wrap && IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) | ||
| 8686 | { | ||
| 8687 | /* If we've found TO_X, go back there, as we now | ||
| 8688 | know the last word fits on this screen line. */ | ||
| 8689 | if ((op & MOVE_TO_X) && new_x == it->last_visible_x | ||
| 8690 | && atx_it.sp >= 0) | ||
| 8691 | { | ||
| 8692 | RESTORE_IT (it, &atx_it, atx_data); | ||
| 8693 | atpos_it.sp = -1; | ||
| 8694 | atx_it.sp = -1; | ||
| 8695 | result = MOVE_X_REACHED; | ||
| 8696 | break; | ||
| 8697 | } | ||
| 8698 | } | ||
| 8699 | else if (wrap_it.sp >= 0) | ||
| 8672 | { | 8700 | { |
| 8673 | RESTORE_IT (it, &wrap_it, wrap_data); | 8701 | RESTORE_IT (it, &wrap_it, wrap_data); |
| 8674 | atpos_it.sp = -1; | 8702 | atpos_it.sp = -1; |