Merge from emacs-23
This commit is contained in:
commit
7c82f3e23e
9 changed files with 79 additions and 43 deletions
|
@ -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
|
||||
|
|
|
@ -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^$*-]+\\)?")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
56
src/window.c
56
src/window.c
|
@ -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.
|
||||
|
|
Loading…
Add table
Reference in a new issue