Merge from emacs-23

This commit is contained in:
Glenn Morris 2011-01-22 11:36:45 -08:00
commit 7c82f3e23e
9 changed files with 79 additions and 43 deletions

View file

@ -1,3 +1,33 @@
2011-01-22 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/re-builder.el (reb-mode-map): Fix logic error in
"Case sensitive" menu item.
2011-01-22 Roland McGrath <roland@frob.com>
* comint.el (comint-replace-by-expanded-history-before-point): Fix
expansion of !$ and !!:N syntax to pick the indicated word (bug#7883).
2011-01-22 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/js.el (js--regexp-literal): Count backslashes (bug#7882).
2011-01-22 Jari Aalto <jari.aalto@cante.net>
* emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Assume foo(bar) is a manpage reference rather than some unquoted
symbol (bug#7705).
2011-01-22 Stefan Monnier <monnier@iro.umontreal.ca>
* subr.el (shell-quote-argument): Properly quote \n (bug#7687).
Suggested by Flo <sensorflo@gmail.com>.
2011-01-22 Glenn Morris <rgm@gnu.org>
* progmodes/compile.el (compilation-error-regexp-alist):
Fix custom type. (Bug#7812)
2011-01-22 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-prefixed-keybindings): Bind (prefixed) '#' to
@ -46,7 +76,6 @@
* international/mule.el (ctext-pre-write-conversion): Don't hardcode
point-min==1.
2011-01-20 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el: (allout-institute-keymap): Use fset instead of

View file

@ -1294,7 +1294,9 @@ than the logical beginning of line."
(message "Relative reference exceeds input history size"))))
((or (looking-at "!!?:?\\([0-9^$*-]+\\)") (looking-at "!!"))
;; Just a number of args from the previous input line.
(replace-match (comint-previous-input-string 0) t t)
(replace-match (comint-args (comint-previous-input-string 0)
(match-beginning 1) (match-end 1))
t t)
(message "History item: previous"))
((looking-at
"!\\??\\({\\(.+\\)}\\|\\(\\sw+\\)\\)\\(:?[0-9^$*-]+\\)?")

View file

@ -1798,7 +1798,9 @@ Replace with \"%s\"? " original replace)
(let ((found nil) (start (point)) (msg nil) (ms nil))
(while (and (not msg)
(re-search-forward
"[^-([`':a-zA-Z]\\(\\w+[:-]\\(\\w\\|\\s_\\)+\\)[^]']"
;; Ignore manual page refereces like
;; git-config(1).
"[^-([`':a-zA-Z]\\(\\w+[:-]\\(\\w\\|\\s_\\)+\\)[^](']"
e t))
(setq ms (match-string 1))
;; A . is a \s_ char, so we must remove periods from

View file

@ -243,7 +243,7 @@ Except for Lisp syntax this is the same as `reb-regexp'.")
:help "Quit the RE Builder mode"))
(define-key menu-map [rt]
'(menu-item "Case sensitive" reb-toggle-case
:button (:toggle . case-fold-search)
:button (:toggle . (null case-fold-search))
:help "Toggle case sensitivity of searches for RE Builder target buffer"))
(define-key menu-map [rb]
'(menu-item "Change target buffer..." reb-change-target-buffer

View file

@ -508,10 +508,8 @@ matched by the whole REGEXP becomes the hyperlink.
Additional HIGHLIGHTs as described under `font-lock-keywords' can
be added."
:type `(set :menu-tag "Pick"
,@(mapcar (lambda (elt)
(list 'const (car elt)))
compilation-error-regexp-alist-alist))
:type '(repeat (choice (symbol :tag "Predefined symbol")
(sexp :tag "Error specification")))
:link `(file-link :tag "example file"
,(expand-file-name "compilation.txt" data-directory))
:group 'compilation)

View file

@ -1659,12 +1659,11 @@ This performs fontification according to `js--class-styles'."
;; below.
(eval-and-compile
(defconst js--regexp-literal
"[=(,:]\\(?:\\s-\\|\n\\)*\\(/\\)\\(?:\\\\/\\|[^/*]\\)\\(?:\\\\/\\|[^/]\\)*\\(/\\)"
"[=(,:]\\(?:\\s-\\|\n\\)*\\(/\\)\\(?:\\\\.\\|[^/*\\]\\)\\(?:\\\\.\\|[^/\\]\\)*\\(/\\)"
"Regexp matching a JavaScript regular expression literal.
Match groups 1 and 2 are the characters forming the beginning and
end of the literal."))
(defconst js-syntax-propertize-function
(syntax-propertize-rules
;; We want to match regular expressions only at the beginning of

View file

@ -2461,13 +2461,8 @@ Note: :data and :device are currently not supported on Windows."
"''"
;; Quote everything except POSIX filename characters.
;; This should be safe enough even for really weird shells.
(let ((result "") (start 0) end)
(while (string-match "[^-0-9a-zA-Z_./]" argument start)
(setq end (match-beginning 0)
result (concat result (substring argument start end)
"\\" (substring argument end (1+ end)))
start (1+ end)))
(concat result (substring argument start))))))
(replace-regexp-in-string "\n" "'\n'"
(replace-regexp-in-string "[^-0-9a-zA-Z_./\n]" "\\\\\\&" argument)))))
(defun string-or-null-p (object)
"Return t if OBJECT is a string or nil.

View file

@ -1,3 +1,10 @@
2011-01-22 Martin Rudalics <rudalics@gmx.at>
* window.c (select_window): New function.
(Fselect_window): Call it.
(inhibit_point_swap): Variable deleted.
(Fset_window_configuration): Call select_window directly.
2011-01-22 Jan Djärv <jan.h.d@swipnet.se>
* nsterm.m (constrainFrameRect): Only constrain the first time called.

View file

@ -79,12 +79,13 @@ static Lisp_Object next_window (Lisp_Object, Lisp_Object,
static void decode_next_window_args (Lisp_Object *, Lisp_Object *,
Lisp_Object *);
static void foreach_window (struct frame *,
int (* fn) (struct window *, void *),
int (* fn) (struct window *, void *),
void *);
static int foreach_window_1 (struct window *,
int (* fn) (struct window *, void *),
void *);
static Lisp_Object window_list_1 (Lisp_Object, Lisp_Object, Lisp_Object);
static Lisp_Object select_window (Lisp_Object, Lisp_Object, int);
/* This is the window in which the terminal's cursor should
be left when nothing is being done with it. This must
@ -126,11 +127,6 @@ static int sequence_number;
static int window_initialized;
/* Set in `set-window-configuration' to prevent "swapping out point"
in the old selected window. */
static int inhibit_point_swap;
/* Hook to run when window config changes. */
static Lisp_Object Qwindow_configuration_change_hook;
@ -3497,20 +3493,14 @@ This function runs `window-scroll-functions' before running
return Qnil;
}
/* Note that selected_window can be nil when this is called from
Fset_window_configuration. */
/* If select_window is called with inhibit_point_swap non-zero it will
not store point of the old selected window's buffer back into that
window's pointm slot. This is needed by Fset_window_configuration to
avoid that the display routine is called with selected_window set to
Qnil causing a subsequent crash. */
DEFUN ("select-window", Fselect_window, Sselect_window, 1, 2, 0,
doc: /* Select WINDOW. Most editing will apply to WINDOW's buffer.
If WINDOW is not already selected, make WINDOW's buffer current
and make WINDOW the frame's selected window. Return WINDOW.
Optional second arg NORECORD non-nil means do not put this buffer
at the front of the list of recently selected ones and do not
make this window the most recently selected one.
Note that the main editor command loop selects the buffer of the
selected window before each command. */)
(register Lisp_Object window, Lisp_Object norecord)
static Lisp_Object
select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap)
{
register struct window *w;
register struct window *ow;
@ -3550,9 +3540,7 @@ selected window before each command. */)
/* Store the current buffer's actual point into the
old selected window. It belongs to that window,
and when the window is not selected, must be in the window. */
if (inhibit_point_swap)
inhibit_point_swap = 0;
else
if (!inhibit_point_swap)
{
ow = XWINDOW (selected_window);
if (! NILP (ow->buffer))
@ -3586,6 +3574,25 @@ selected window before each command. */)
return window;
}
/* Note that selected_window can be nil when this is called from
Fset_window_configuration. */
DEFUN ("select-window", Fselect_window, Sselect_window, 1, 2, 0,
doc: /* Select WINDOW. Most editing will apply to WINDOW's buffer.
If WINDOW is not already selected, make WINDOW's buffer current
and make WINDOW the frame's selected window. Return WINDOW.
Optional second arg NORECORD non-nil means do not put this buffer
at the front of the list of recently selected ones and do not
make this window the most recently selected one.
Note that the main editor command loop selects the buffer of the
selected window before each command. */)
(register Lisp_Object window, Lisp_Object norecord)
{
select_window (window, norecord, 0);
}
static Lisp_Object
select_window_norecord (Lisp_Object window)
{
@ -6114,8 +6121,7 @@ the return value is nil. Otherwise the value is t. */)
out point" in the old selected window using the buffer that
has been restored into it. We already swapped out that point
from that window's old buffer. */
inhibit_point_swap = 1;
Fselect_window (data->current_window, Qnil);
select_window (data->current_window, Qnil, 1);
XBUFFER (XWINDOW (selected_window)->buffer)->last_selected_window
= selected_window;
@ -7046,8 +7052,6 @@ syms_of_window (void)
window_scroll_preserve_hpos = -1;
window_scroll_preserve_vpos = -1;
inhibit_point_swap = 0;
DEFVAR_LISP ("temp-buffer-show-function", Vtemp_buffer_show_function,
doc: /* Non-nil means call as function to display a help buffer.
The function is called with one argument, the buffer to be displayed.