diff --git a/admin/ChangeLog b/admin/ChangeLog index 9a160446b35..bcc43c52af2 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,8 @@ +2015-03-03 Kelvin White + + * MAINTAINERS: Add myself to section 2 + +2015-03-03 Glenn Morris 2015-03-03 Glenn Morris * 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 2. ============================================================================== +Kelvin White + ERC + lisp/erc/* + doc/misc/erc.texi + Eli Zaretskii doc/* 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 @@ +2015-03-03 Kelvin White + + * erc.texi (Advanced Usage, Options): Add descriptions and examples + for erc-format-nick-function and erc-rename-buffers options. + (Connecting): fix typo + +2015-03-03 Michael Albinus 2015-03-02 Daniel Colascione * 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 @lisp ;;; Sample ERC configuration -;; Add the ERC directory to load path -- you don't need this if you are -;; using the version of ERC that comes with Emacs -(add-to-list 'load-path "~/elisp/erc") - -;; Load ERC -- again, you don't need this if you are using the version -;; of ERC that comes with Emacs -(require 'erc) - ;; Load authentication info from an external source. Put sensitive ;; passwords and the like in here. (load "~/.emacs.d/.erc-auth") @@ -724,7 +716,7 @@ stuff, to the current ERC buffer." (setq erc-autojoin-channels-alist '(("freenode.net" "#emacs" "#erc"))) ;; Rename server buffers to reflect the current network name instead -;; of IP:PORT. (e.g. "freenode" instead of "84.240.3.129:6667"). This +;; of SERVER:PORT. (e.g. "freenode" instead of "irc.freenode.net:6667"). This ;; is useful when using a bouncer like ZNC where you have multiple ;; connections to the same server. (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 @@ +2015-03-03 Juri Linkov + + Revert the previous change of comint-line-beginning-position callers, + and modify comint-line-beginning-position instead. + + * comint.el (comint-history-isearch-search) + (comint-history-isearch-message, comint-history-isearch-wrap): + Use comint-line-beginning-position instead of field-beginning. + (comint-send-input): Use either end-of-line or field-end + depending on comint-use-prompt-regexp. + (comint-line-beginning-position): Search backward + for comint-prompt-regexp if comint-use-prompt-regexp is non-nil. + Use field-beginning instead of line-beginning-position + if comint-use-prompt-regexp is nil. (Bug#19710) + +2015-03-03 Robert Pluim (tiny change) + + * calendar/todo-mode.el (todo-item-done): When done items are + hidden, restore point to its location prior to invoking this + command. (Bug#19727) + +2015-03-03 Eli Zaretskii + + * textmodes/artist.el (artist-ellipse-compute-fill-info): Use + mapcar, not mapc, to create the other half of fill-info. + (Bug#19763) + +2015-03-03 Nicolas Petton 2015-03-03 Nicolas Petton * 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." (goto-char (point-min)) (re-search-forward todo-done-string-start nil t))) (buffer-read-only nil) - item done-item opoint) + item done-item + (opoint (point))) ;; Don't add empty comment to done item. (setq comment (unless (zerop (length comment)) (concat " [" todo-comment-string ": " comment "]"))) @@ -2854,7 +2855,9 @@ visible." (todo-update-categories-sexp) (let ((todo-show-with-done show-done)) (todo-category-select) - ;; When done items are shown, put cursor on first just done item. + ;; When done items are visible, put point at the top of the + ;; done items section. When done items are hidden, restore + ;; point to its location prior to invoking this command. (when opoint (goto-char opoint))))))) (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'." (or ;; 1. First try searching in the initial comint text (funcall search-fun string - (if isearch-forward bound (field-beginning)) + (if isearch-forward bound (comint-line-beginning-position)) noerror) ;; 2. If the above search fails, start putting next/prev history ;; elements in the comint successively, and search the string @@ -1492,7 +1492,7 @@ Intended to be added to `isearch-mode-hook' in `comint-mode'." (when (null comint-input-ring-index) (error "End of history; no next item")) (comint-next-input 1) - (goto-char (field-beginning))) + (goto-char (comint-line-beginning-position))) (t ;; Signal an error here explicitly, because ;; `comint-previous-input' doesn't signal an error. @@ -1510,7 +1510,7 @@ Intended to be added to `isearch-mode-hook' in `comint-mode'." (unless isearch-forward ;; For backward search, don't search ;; in the comint prompt - (field-beginning)) + (comint-line-beginning-position)) noerror))) ;; Return point of the new search result (point)) @@ -1534,16 +1534,16 @@ the function `isearch-message'." (if (overlayp comint-history-isearch-message-overlay) (move-overlay comint-history-isearch-message-overlay (save-excursion - (goto-char (field-beginning)) + (goto-char (comint-line-beginning-position)) (forward-line 0) (point)) - (field-beginning)) + (comint-line-beginning-position)) (setq comint-history-isearch-message-overlay (make-overlay (save-excursion - (goto-char (field-beginning)) + (goto-char (comint-line-beginning-position)) (forward-line 0) (point)) - (field-beginning))) + (comint-line-beginning-position))) (overlay-put comint-history-isearch-message-overlay 'evaporate t)) (overlay-put comint-history-isearch-message-overlay 'display (isearch-message-prefix ellipsis isearch-nonincremental)) @@ -1564,7 +1564,7 @@ or to the last history element for a backward search." (comint-goto-input (1- (ring-length comint-input-ring))) (comint-goto-input nil)) (setq isearch-success t) - (goto-char (if isearch-forward (field-beginning) (point-max)))) + (goto-char (if isearch-forward (comint-line-beginning-position) (point-max)))) (defun comint-history-isearch-push-state () "Save a function restoring the state of input history search. @@ -1788,7 +1788,10 @@ Similarly for Soar, Scheme, etc." (widen) (let* ((pmark (process-mark proc)) (intxt (if (>= (point) (marker-position pmark)) - (progn (if comint-eol-on-send (goto-char (field-end))) + (progn (if comint-eol-on-send + (if comint-use-prompt-regexp + (end-of-line) + (goto-char (field-end)))) (buffer-substring pmark (point))) (let ((copy (funcall comint-get-old-input))) (goto-char pmark) @@ -2267,6 +2270,7 @@ a buffer local variable." (if comint-use-prompt-regexp ;; Use comint-prompt-regexp (save-excursion + (re-search-backward comint-prompt-regexp nil t) (beginning-of-line) (comint-skip-prompt) (point)) @@ -2277,7 +2281,7 @@ a buffer local variable." ;; if there are two fields on a line, then the first one is the ;; prompt, and the second one is an input field, and is front-sticky ;; (as input fields should be). - (constrain-to-field (line-beginning-position) (line-end-position)))) + (constrain-to-field (field-beginning) (line-end-position)))) (defun comint-bol (&optional arg) "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." ;; Create the other half by mirroring the first half. (setq both-halves (append first-half - (mapc + (mapcar (lambda (i) (artist-new-fill-item (artist-fill-item-get-x i) (- (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,3 +1,11 @@ +2015-03-03 Eli Zaretskii + + * xdisp.c (move_it_in_display_line_to): Handle the case where the + last character of a screen line is whitespace, and we are under + word-wrap with overflow-newline-into-fringe turned on. + (Bug#19769) + +2015-03-03 Eli Zaretskii 2015-03-03 Eli Zaretskii * xdisp.c (handle_stop, handle_single_display_spec) 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, if (BUFFER_POS_REACHED_P ()) { if (it->line_wrap != WORD_WRAP - || wrap_it.sp < 0) + || wrap_it.sp < 0 + /* If we've just found whitespace to + wrap, effectively ignore the + previous wrap point -- it is no + longer relevant, but we won't + have an opportunity to update it, + since we've reached the edge of + this screen line. */ + || (may_wrap + && IT_OVERFLOW_NEWLINE_INTO_FRINGE (it))) { it->hpos = hpos_before_this_char; it->current_x = x_before_this_char; @@ -8668,7 +8677,26 @@ move_it_in_display_line_to (struct it *it, else IT_RESET_X_ASCENT_DESCENT (it); - if (wrap_it.sp >= 0) + /* If the screen line ends with whitespace, and we + are under word-wrap, don't use wrap_it: it is no + longer relevant, but we won't have an opportunity + to update it, since we are done with this screen + line. */ + if (may_wrap && IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) + { + /* If we've found TO_X, go back there, as we now + know the last word fits on this screen line. */ + if ((op & MOVE_TO_X) && new_x == it->last_visible_x + && atx_it.sp >= 0) + { + RESTORE_IT (it, &atx_it, atx_data); + atpos_it.sp = -1; + atx_it.sp = -1; + result = MOVE_X_REACHED; + break; + } + } + else if (wrap_it.sp >= 0) { RESTORE_IT (it, &wrap_it, wrap_data); atpos_it.sp = -1;