aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2015-03-03 14:35:41 -0800
committerPaul Eggert2015-03-03 14:35:41 -0800
commit2c82deee7fbb951a90ed3246350fbf9390af038a (patch)
tree465aaf0fdaefea778317ab1ed5c48400f223b596
parent6eab3936c71951e304f13b69ad2e835ddaf9f2f4 (diff)
parentc0ba5908b117170995df36e839a087af7c5f79db (diff)
downloademacs-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/ChangeLog5
-rw-r--r--admin/MAINTAINERS5
-rw-r--r--doc/misc/ChangeLog7
-rw-r--r--doc/misc/erc.texi10
-rw-r--r--lisp/ChangeLog28
-rw-r--r--lisp/calendar/todo-mode.el7
-rw-r--r--lisp/comint.el24
-rw-r--r--lisp/textmodes/artist.el2
-rw-r--r--src/ChangeLog8
-rw-r--r--src/xdisp.c32
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 @@
12015-03-03 Kelvin White <kwhite@gnu.org>
2
3 * MAINTAINERS: Add myself to section 2
4
52015-03-03 Glenn Morris <rgm@gnu.org>
12015-03-03 Glenn Morris <rgm@gnu.org> 62015-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
782. 782.
79============================================================================== 79==============================================================================
80 80
81Kelvin White
82 ERC
83 lisp/erc/*
84 doc/misc/erc.texi
85
81Eli Zaretskii 86Eli 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 @@
12015-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
72015-03-03 Michael Albinus <michael.albinus@gmx.de>
12015-03-02 Daniel Colascione <dancol@dancol.org> 82015-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 @@
12015-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
162015-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
222015-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
282015-03-03 Nicolas Petton <nicolas@petton.fr>
12015-03-03 Nicolas Petton <nicolas@petton.fr> 292015-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 @@
12015-03-03 Eli Zaretskii <eliz@gnu.org> 12015-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
82015-03-03 Eli Zaretskii <eliz@gnu.org>
92015-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;