emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r111658: Merge from emacs-24; up to r


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111658: Merge from emacs-24; up to r111217
Date: Fri, 01 Feb 2013 19:38:21 -0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111658 [merge]
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Fri 2013-02-01 19:38:21 -0800
message:
  Merge from emacs-24; up to r111217
modified:
  lisp/ChangeLog
  lisp/cedet/cedet.el
  lisp/cedet/ede.el
  lisp/cedet/semantic.el
  lisp/cedet/srecode.el
  lisp/emacs-lisp/eieio.el
  lisp/isearch.el
  lisp/mouse.el
  lisp/net/tramp.el
  lisp/progmodes/make-mode.el
  lisp/replace.el
  lisp/textmodes/remember.el
  src/ChangeLog
  src/callproc.c
  src/w32proc.c
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-02-02 00:35:38 +0000
+++ b/lisp/ChangeLog    2013-02-02 03:38:21 +0000
@@ -1,3 +1,36 @@
+2013-02-02  Stefan Monnier  <address@hidden>
+
+       * mouse.el (mouse-drag-track): Always deactivate the mark before
+       running the final event's command since that command is in charge of
+       activating the mark if needed (bug#13523).
+
+2013-02-02  Juri Linkov  <address@hidden>
+
+       * replace.el (perform-replace): Move let-bindings of isearch-*
+       variables deeper to the loop that searches for the next match.
+       Add bindings for `isearch-nonincremental' and `isearch-adjusted'.
+       Use `isearch-search-fun-default' instead of `isearch-search-fun'.
+       (Bug#13579)
+
+       * isearch.el (isearch-search-fun-default): Check for null
+       first element of isearch-cmds as a precaution when it's used
+       with inactive isearch.
+
+2013-02-02  Andrew W. Nosenko  <address@hidden>  (tiny change)
+
+       * net/tramp.el (tramp-check-for-regexp): Avoid "Args out of range"
+       error when buffer in question is narrowed so position 1 is out of
+       visible part.
+
+2013-02-02  Glenn Morris  <address@hidden>
+
+       * textmodes/remember.el (remember-clipboard): Doc fix.
+
+2013-02-02  Stefan Monnier  <address@hidden>
+
+       * progmodes/make-mode.el (makefile-fill-paragraph): Reset syntax-table
+       properties (bug#13179).
+
 2013-02-02  Juri Linkov  <address@hidden>
 
        * progmodes/grep.el (grep-regexp-alist): Use variable grep-match-face

=== modified file 'lisp/cedet/cedet.el'
--- a/lisp/cedet/cedet.el       2013-01-28 00:34:22 +0000
+++ b/lisp/cedet/cedet.el       2013-01-31 19:58:56 +0000
@@ -4,7 +4,7 @@
 
 ;; Author: David Ponce <address@hidden>
 ;; Maintainer: Eric M. Ludlam  <address@hidden>
-;; Version: 1.1
+;; Version: 2.0
 ;; Keywords: OO, lisp
 
 ;; This file is part of GNU Emacs.
@@ -35,7 +35,7 @@
 
 (declare-function inversion-find-version "inversion")
 
-(defconst cedet-version "1.1"
+(defconst cedet-version "2.0"
   "Current version of CEDET.")
 
 (defconst cedet-packages
@@ -43,12 +43,12 @@
     ;;PACKAGE   MIN-VERSION      INSTALLDIR  DOCDIR
     (cedet         ,cedet-version "common"   "common"          )
     (eieio         "1.4"           nil       "eieio"       )
-    (semantic      "2.1"           nil       "semantic/doc")
-    (srecode       "1.1"           nil       "srecode"     )
-    (ede           "1.1"           nil       "ede"         )
+    (semantic      "2.2"           nil       "semantic/doc")
+    (srecode       "1.2"           nil       "srecode"     )
+    (ede           "1.2"           nil       "ede"         )
     (speedbar      "1.0.4"         nil       "speedbar"    )
-    (cogre         "1.1"           nil       "cogre"       )
-    (cedet-contrib "1.1"           "contrib" nil           )
+    (cogre         "1.2"           nil       "cogre"       )
+    (cedet-contrib "1.2"           "contrib" nil           )
     )
   "Table of CEDET packages to install.")
 

=== modified file 'lisp/cedet/ede.el'
--- a/lisp/cedet/ede.el 2013-01-01 09:11:05 +0000
+++ b/lisp/cedet/ede.el 2013-01-31 19:58:56 +0000
@@ -4,7 +4,7 @@
 
 ;; Author: Eric M. Ludlam <address@hidden>
 ;; Keywords: project, make
-;; Version: 1.0
+;; Version: 1.2
 
 ;; This file is part of GNU Emacs.
 
@@ -60,7 +60,7 @@
 (declare-function ede-up-directory "ede/files")
 (declare-function semantic-lex-make-spp-table "semantic/lex-spp")
 
-(defconst ede-version "1.0"
+(defconst ede-version "1.2"
   "Current version of the Emacs EDE.")
 
 ;;; Code:

=== modified file 'lisp/cedet/semantic.el'
--- a/lisp/cedet/semantic.el    2013-01-28 00:34:22 +0000
+++ b/lisp/cedet/semantic.el    2013-01-31 19:58:56 +0000
@@ -4,7 +4,7 @@
 
 ;; Author: Eric M. Ludlam <address@hidden>
 ;; Keywords: syntax tools
-;; Version: 2.1beta
+;; Version: 2.2
 
 ;; This file is part of GNU Emacs.
 
@@ -38,7 +38,7 @@
 (require 'semantic/tag)
 (require 'semantic/lex)
 
-(defvar semantic-version "2.1beta"
+(defvar semantic-version "2.2"
   "Current version of Semantic.")
 
 (declare-function inversion-test "inversion")

=== modified file 'lisp/cedet/srecode.el'
--- a/lisp/cedet/srecode.el     2013-01-01 09:11:05 +0000
+++ b/lisp/cedet/srecode.el     2013-01-31 19:58:56 +0000
@@ -4,7 +4,7 @@
 
 ;; Author: Eric M. Ludlam <address@hidden>
 ;; Keywords: codegeneration
-;; Version: 1.0
+;; Version: 1.2
 
 ;; This file is part of GNU Emacs.
 
@@ -41,7 +41,7 @@
 (require 'mode-local)
 (load "srecode/loaddefs" nil 'nomessage)
 
-(defvar srecode-version "1.0"
+(defvar srecode-version "1.2"
   "Current version of the Semantic Recoder.")
 
 ;;; Code:

=== modified file 'lisp/emacs-lisp/eieio.el'
--- a/lisp/emacs-lisp/eieio.el  2013-01-02 16:13:04 +0000
+++ b/lisp/emacs-lisp/eieio.el  2013-02-02 03:38:21 +0000
@@ -4,7 +4,7 @@
 ;; Copyright (C) 1995-1996, 1998-2013 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <address@hidden>
-;; Version: 1.3
+;; Version: 1.4
 ;; Keywords: OO, lisp
 
 ;; This file is part of GNU Emacs.
@@ -46,7 +46,7 @@
 
 (eval-when-compile (require 'cl))       ;FIXME: Use cl-lib!
 
-(defvar eieio-version "1.3"
+(defvar eieio-version "1.4"
   "Current version of EIEIO.")
 
 (defun eieio-version ()

=== modified file 'lisp/isearch.el'
--- a/lisp/isearch.el   2013-01-11 23:08:55 +0000
+++ b/lisp/isearch.el   2013-02-02 03:38:21 +0000
@@ -2520,6 +2520,7 @@
       ;; the user adds and removes characters in the search string
       ;; (or when using nonincremental word isearch)
       (let ((lax (not (or isearch-nonincremental
+                         (null (car isearch-cmds))
                          (eq (length isearch-string)
                              (length (isearch--state-string
                                        (car isearch-cmds))))))))

=== modified file 'lisp/mouse.el'
--- a/lisp/mouse.el     2013-01-30 17:14:24 +0000
+++ b/lisp/mouse.el     2013-02-01 23:40:55 +0000
@@ -880,9 +880,9 @@
                     (copy-region-as-kill (mark) (point)))))
 
          ;; Otherwise, run binding of terminating up-event.
+          (deactivate-mark)
          (if do-multi-click
              (goto-char start-point)
-           (deactivate-mark)
            (unless moved-off-start
              (pop-mark)))
 

=== modified file 'lisp/net/tramp.el'
--- a/lisp/net/tramp.el 2013-01-31 08:33:03 +0000
+++ b/lisp/net/tramp.el 2013-02-02 03:38:21 +0000
@@ -3413,7 +3413,9 @@
                     0 (min tramp-echo-mark-marker-length (1- (point-max))))
                    (tramp-compat-funcall
                     'buffer-substring-no-properties
-                    1 (min (1+ tramp-echo-mark-marker-length) (point-max))))))
+                    (point-min)
+                    (min (+ (point-min) tramp-echo-mark-marker-length)
+                         (point-max))))))
       ;; No echo to be handled, now we can look for the regexp.
       ;; Sometimes, lines are much to long, and we run into a "Stack
       ;; overflow in regexp matcher".  For example, //DIRED// lines of

=== modified file 'lisp/progmodes/make-mode.el'
--- a/lisp/progmodes/make-mode.el       2013-01-30 20:46:10 +0000
+++ b/lisp/progmodes/make-mode.el       2013-02-02 03:38:21 +0000
@@ -1304,6 +1304,12 @@
        (save-restriction
          (narrow-to-region beginning end)
          (makefile-backslash-region (point-min) (point-max) t)
+         ;; Backslashed newlines are marked as puncutations, so when
+         ;; fill-delete-newlines turns the LF into SPC, we end up with spaces
+         ;; which back-to-indentation (called via fill-newline ->
+         ;; fill-indent-to-left-margin -> indent-line-to) thinks are real code
+         ;; (bug#13179).
+         (remove-text-properties (point-min) (point-max) '(syntax-table))
          (let ((fill-paragraph-function nil)
                 ;; Adjust fill-column to allow space for the backslash.
                 (fill-column (- fill-column 1)))

=== modified file 'lisp/replace.el'
--- a/lisp/replace.el   2013-01-01 09:11:05 +0000
+++ b/lisp/replace.el   2013-02-01 23:38:41 +0000
@@ -1819,19 +1819,6 @@
            case-fold-search))
          (nocasify (not (and case-replace case-fold-search)))
          (literal (or (not regexp-flag) (eq regexp-flag 'literal)))
-         (search-function
-         (or (if regexp-flag
-                 replace-re-search-function
-               replace-search-function)
-             (let ((isearch-regexp regexp-flag)
-                   (isearch-word delimited-flag)
-                   (isearch-lax-whitespace
-                    replace-lax-whitespace)
-                   (isearch-regexp-lax-whitespace
-                    replace-regexp-lax-whitespace)
-                   (isearch-case-fold-search case-fold-search)
-                   (isearch-forward t))
-               (isearch-search-fun))))
          (search-string from-string)
          (real-match-data nil)       ; The match data for the current match.
          (next-replacement nil)
@@ -1894,39 +1881,62 @@
        ;; Loop finding occurrences that perhaps should be replaced.
        (while (and keep-going
                    (not (or (eobp) (and limit (>= (point) limit))))
-                   ;; Use the next match if it is already known;
-                   ;; otherwise, search for a match after moving forward
-                   ;; one char if progress is required.
-                   (setq real-match-data
-                         (cond ((consp match-again)
-                                (goto-char (nth 1 match-again))
-                                (replace-match-data
-                                 t real-match-data match-again))
-                               ;; MATCH-AGAIN non-nil means accept an
-                               ;; adjacent match.
-                               (match-again
-                                (and
-                                 (funcall search-function search-string
-                                          limit t)
-                                 ;; For speed, use only integers and
-                                 ;; reuse the list used last time.
-                                 (replace-match-data t real-match-data)))
-                               ((and (< (1+ (point)) (point-max))
-                                     (or (null limit)
-                                         (< (1+ (point)) limit)))
-                                ;; If not accepting adjacent matches,
-                                ;; move one char to the right before
-                                ;; searching again.  Undo the motion
-                                ;; if the search fails.
-                                (let ((opoint (point)))
-                                  (forward-char 1)
-                                  (if (funcall
-                                       search-function search-string
-                                       limit t)
-                                      (replace-match-data
-                                       t real-match-data)
-                                    (goto-char opoint)
-                                    nil))))))
+                   ;; Let-bind global isearch-* variables to values used
+                   ;; to search the next replacement.  These let-bindings
+                   ;; should be effective both at the time of calling
+                   ;; `isearch-search-fun-default' and also at the
+                   ;; time of funcalling `search-function'.
+                   ;; These isearch-* bindings can't be placed higher
+                   ;; outside of this loop because then another I-search
+                   ;; used after `recursive-edit' might override them.
+                   (let* ((isearch-regexp regexp-flag)
+                          (isearch-word delimited-flag)
+                          (isearch-lax-whitespace
+                           replace-lax-whitespace)
+                          (isearch-regexp-lax-whitespace
+                           replace-regexp-lax-whitespace)
+                          (isearch-case-fold-search case-fold-search)
+                          (isearch-adjusted nil)
+                          (isearch-nonincremental t) ; don't use lax word mode
+                          (isearch-forward t)
+                          (search-function
+                           (or (if regexp-flag
+                                   replace-re-search-function
+                                 replace-search-function)
+                               (isearch-search-fun-default))))
+                     ;; Use the next match if it is already known;
+                     ;; otherwise, search for a match after moving forward
+                     ;; one char if progress is required.
+                     (setq real-match-data
+                           (cond ((consp match-again)
+                                  (goto-char (nth 1 match-again))
+                                  (replace-match-data
+                                   t real-match-data match-again))
+                                 ;; MATCH-AGAIN non-nil means accept an
+                                 ;; adjacent match.
+                                 (match-again
+                                  (and
+                                   (funcall search-function search-string
+                                            limit t)
+                                   ;; For speed, use only integers and
+                                   ;; reuse the list used last time.
+                                   (replace-match-data t real-match-data)))
+                                 ((and (< (1+ (point)) (point-max))
+                                       (or (null limit)
+                                           (< (1+ (point)) limit)))
+                                  ;; If not accepting adjacent matches,
+                                  ;; move one char to the right before
+                                  ;; searching again.  Undo the motion
+                                  ;; if the search fails.
+                                  (let ((opoint (point)))
+                                    (forward-char 1)
+                                    (if (funcall
+                                         search-function search-string
+                                         limit t)
+                                        (replace-match-data
+                                         t real-match-data)
+                                      (goto-char opoint)
+                                      nil)))))))
 
          ;; Record whether the match is nonempty, to avoid an infinite loop
          ;; repeatedly matching the same empty string.

=== modified file 'lisp/textmodes/remember.el'
--- a/lisp/textmodes/remember.el        2013-01-01 09:11:05 +0000
+++ b/lisp/textmodes/remember.el        2013-01-31 17:03:53 +0000
@@ -432,8 +432,7 @@
 ;;;###autoload
 (defun remember-clipboard ()
   "Remember the contents of the current clipboard.
-Most useful for remembering things from Netscape or other X Windows
-application."
+Most useful for remembering things from other applications."
   (interactive)
   (remember (current-kill 0)))
 

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2013-02-01 20:51:12 +0000
+++ b/src/ChangeLog     2013-02-02 03:38:21 +0000
@@ -1,3 +1,13 @@
+2013-02-02  Eli Zaretskii  <address@hidden>
+
+       * callproc.c (Fcall_process): Make sure program name in PATH and
+       new_argv[0] is encoded, if needed.  Otherwise, un-encoded string
+       is passed to exec/spawnve, which fails unless the file-name
+       encoding is UTF-8.
+
+       * w32proc.c (sys_spawnve): Make sure escape_char is initialized,
+       even if w32-quote-process-args is nil.
+
 2013-02-01  Paul Eggert  <address@hidden>
 
        Fix timestamp bug when write-region appends nothing (Bug#13149).

=== modified file 'src/callproc.c'
--- a/src/callproc.c    2012-12-15 13:38:21 +0000
+++ b/src/callproc.c    2013-02-02 03:38:21 +0000
@@ -445,28 +445,34 @@
     path = Fsubstring (path, make_number (2), Qnil);
 
   new_argv = SAFE_ALLOCA ((nargs > 4 ? nargs - 2 : 2) * sizeof *new_argv);
-  if (nargs > 4)
-    {
-      ptrdiff_t i;
-      struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5;
-
-      GCPRO5 (infile, buffer, current_dir, path, error_file);
-      argument_coding.dst_multibyte = 0;
-      for (i = 4; i < nargs; i++)
-       {
-         argument_coding.src_multibyte = STRING_MULTIBYTE (args[i]);
-         if (CODING_REQUIRE_ENCODING (&argument_coding))
-           /* We must encode this argument.  */
-           args[i] = encode_coding_string (&argument_coding, args[i], 1);
-       }
-      UNGCPRO;
-      for (i = 4; i < nargs; i++)
-       new_argv[i - 3] = SSDATA (args[i]);
-      new_argv[i - 3] = 0;
-    }
-  else
-    new_argv[1] = 0;
-  new_argv[0] = SSDATA (path);
+
+  {
+    struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5;
+
+    GCPRO5 (infile, buffer, current_dir, path, error_file);
+    if (nargs > 4)
+      {
+       ptrdiff_t i;
+
+       argument_coding.dst_multibyte = 0;
+       for (i = 4; i < nargs; i++)
+         {
+           argument_coding.src_multibyte = STRING_MULTIBYTE (args[i]);
+           if (CODING_REQUIRE_ENCODING (&argument_coding))
+             /* We must encode this argument.  */
+             args[i] = encode_coding_string (&argument_coding, args[i], 1);
+         }
+       for (i = 4; i < nargs; i++)
+         new_argv[i - 3] = SSDATA (args[i]);
+       new_argv[i - 3] = 0;
+      }
+    else
+      new_argv[1] = 0;
+    if (STRING_MULTIBYTE (path))
+      path = ENCODE_FILE (path);
+    new_argv[0] = SSDATA (path);
+    UNGCPRO;
+  }
 
 #ifdef MSDOS /* MW, July 1993 */
 

=== modified file 'src/w32proc.c'
--- a/src/w32proc.c     2013-01-02 16:13:04 +0000
+++ b/src/w32proc.c     2013-02-02 03:38:21 +0000
@@ -1541,7 +1541,6 @@
   child_process *cp;
   int is_dos_app, is_cygnus_app, is_gui_app;
   int do_quoting = 0;
-  char escape_char;
   /* We pass our process ID to our children by setting up an environment
      variable in their environment.  */
   char ppid_env_var_buffer[64];
@@ -1554,6 +1553,8 @@
      Some extra whitespace characters need quoting in Cygwin programs,
      so this list is conditionally modified below.  */
   char *sepchars = " \t*?";
+  /* This is for native w32 apps; modified below for Cygwin apps.  */
+  char escape_char = '\\';
 
   /* We don't care about the other modes */
   if (mode != _P_NOWAIT)


reply via email to

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