Commit 94fbc901 authored by Glenn Morris's avatar Glenn Morris

Merge from emacs-24; up to 2012-12-13T09:45:54Z!lekktu@gmail.com

parents 98da8c0f 13841bfc
2013-02-02 Stefan Monnier <monnier@iro.umontreal.ca>
* 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 <juri@jurta.org>
* 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 <andrew.w.nosenko@gmail.com> (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 <rgm@gnu.org>
* textmodes/remember.el (remember-clipboard): Doc fix.
2013-02-02 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/make-mode.el (makefile-fill-paragraph): Reset syntax-table
properties (bug#13179).
2013-02-02 Juri Linkov <juri@jurta.org>
* progmodes/grep.el (grep-regexp-alist): Use variable grep-match-face
......
......@@ -4,7 +4,7 @@
;; Author: David Ponce <david@dponce.com>
;; Maintainer: Eric M. Ludlam <zappo@gnu.org>
;; 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.")
......
......@@ -4,7 +4,7 @@
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; 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:
......
......@@ -4,7 +4,7 @@
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; 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")
......
......@@ -4,7 +4,7 @@
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; 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:
......
......@@ -4,7 +4,7 @@
;; Copyright (C) 1995-1996, 1998-2013 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; 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 ()
......
......@@ -2520,6 +2520,7 @@ Can be changed via `isearch-search-fun-function' for special needs."
;; 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))))))))
......
......@@ -880,9 +880,9 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should only be used by
(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)))
......
......@@ -3413,7 +3413,9 @@ Erase echoed commands if exists."
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
......
......@@ -1304,6 +1304,12 @@ Fill comments, backslashed lines, and variable definitions specially."
(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)))
......
......@@ -1819,19 +1819,6 @@ make, or the user didn't cancel the call."
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 @@ make, or the user didn't cancel the call."
;; 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.
......
......@@ -432,8 +432,7 @@ If you want to remember a region, supply a universal prefix to
;;;###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)))
......
2013-02-02 Eli Zaretskii <eliz@gnu.org>
* 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 <eggert@cs.ucla.edu>
Fix timestamp bug when write-region appends nothing (Bug#13149).
......
......@@ -445,28 +445,34 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
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 */
......
......@@ -1541,7 +1541,6 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
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 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment