emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 2c82dee 06/14: Merge from origin/emacs-24


From: Paul Eggert
Subject: [Emacs-diffs] master 2c82dee 06/14: Merge from origin/emacs-24
Date: Tue, 03 Mar 2015 22:56:43 +0000

branch: master
commit 2c82deee7fbb951a90ed3246350fbf9390af038a
Merge: 6eab393 c0ba590
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    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
---
 admin/ChangeLog            |    5 +++++
 admin/MAINTAINERS          |    5 +++++
 doc/misc/ChangeLog         |    7 +++++++
 doc/misc/erc.texi          |   10 +---------
 lisp/ChangeLog             |   28 ++++++++++++++++++++++++++++
 lisp/calendar/todo-mode.el |    7 +++++--
 lisp/comint.el             |   24 ++++++++++++++----------
 lisp/textmodes/artist.el   |    2 +-
 src/ChangeLog              |    8 ++++++++
 src/xdisp.c                |   32 ++++++++++++++++++++++++++++++--
 10 files changed, 104 insertions(+), 24 deletions(-)

diff --git a/admin/ChangeLog b/admin/ChangeLog
index 9a16044..bcc43c5 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-03  Kelvin White  <address@hidden>
+
+       * MAINTAINERS: Add myself to section 2
+
+2015-03-03  Glenn Morris  <address@hidden>
 2015-03-03  Glenn Morris  <address@hidden>
 
        * admin.el (manual-meta-string): Use address@hidden email address
diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS
index 57f199b..61c70c1 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 4e9c119..c00cb2f 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,10 @@
+2015-03-03  Kelvin White  <address@hidden>
+
+       * 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  <address@hidden>
 2015-03-02  Daniel Colascione  <address@hidden>
 
        * cl.texi (Iteration Clauses): Mention iterator support.
diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi
index aaa88ce..2f4ffae 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 8083fb8..cd042da 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,31 @@
+2015-03-03  Juri Linkov  <address@hidden>
+
+       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  <address@hidden>  (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  <address@hidden>
+
+       * 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  <address@hidden>
 2015-03-03  Nicolas Petton  <address@hidden>
 
        * emacs-lisp/authors.el (authors-ignored-files)
diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el
index 7ca57a4..dcc960f 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 2c41684..b14ab5b 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 85d9410..930c39c 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 0a05b54..5bfb180 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,13 @@
 2015-03-03  Eli Zaretskii  <address@hidden>
 
+       * 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  <address@hidden>
+2015-03-03  Eli Zaretskii  <address@hidden>
+
        * xdisp.c (handle_stop, handle_single_display_spec)
        (next-element_from_image): Don't reset the
        ignore_overlay_strings_at_pos_p flag here.
diff --git a/src/xdisp.c b/src/xdisp.c
index 5ef839e..ce685fd 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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]