emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r102941: Merge from emacs-23


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r102941: Merge from emacs-23
Date: Sat, 22 Jan 2011 11:36:45 -0800
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 102941 [merge]
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Sat 2011-01-22 11:36:45 -0800
message:
  Merge from emacs-23
modified:
  lisp/ChangeLog
  lisp/comint.el
  lisp/emacs-lisp/checkdoc.el
  lisp/emacs-lisp/re-builder.el
  lisp/progmodes/compile.el
  lisp/progmodes/js.el
  lisp/subr.el
  src/ChangeLog
  src/window.c
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-01-22 04:41:57 +0000
+++ b/lisp/ChangeLog    2011-01-22 19:36:45 +0000
@@ -1,3 +1,33 @@
+2011-01-22  Chong Yidong  <address@hidden>
+
+       * emacs-lisp/re-builder.el (reb-mode-map): Fix logic error in
+       "Case sensitive" menu item.
+
+2011-01-22  Roland McGrath  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * progmodes/js.el (js--regexp-literal): Count backslashes (bug#7882).
+
+2011-01-22  Jari Aalto  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * subr.el (shell-quote-argument): Properly quote \n (bug#7687).
+       Suggested by Flo <address@hidden>.
+
+2011-01-22  Glenn Morris  <address@hidden>
+
+       * progmodes/compile.el (compilation-error-regexp-alist):
+       Fix custom type.  (Bug#7812)
+
 2011-01-22  Ken Manheimer  <address@hidden>
 
        * 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  <address@hidden>
 
        * allout.el: (allout-institute-keymap): Use fset instead of

=== modified file 'lisp/comint.el'
--- a/lisp/comint.el    2011-01-20 22:36:12 +0000
+++ b/lisp/comint.el    2011-01-22 19:36:45 +0000
@@ -1294,7 +1294,9 @@
                   (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^$*-]+\\)?")

=== modified file 'lisp/emacs-lisp/checkdoc.el'
--- a/lisp/emacs-lisp/checkdoc.el       2011-01-16 02:21:30 +0000
+++ b/lisp/emacs-lisp/checkdoc.el       2011-01-22 19:36:45 +0000
@@ -1798,7 +1798,9 @@
        (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

=== modified file 'lisp/emacs-lisp/re-builder.el'
--- a/lisp/emacs-lisp/re-builder.el     2011-01-15 23:16:57 +0000
+++ b/lisp/emacs-lisp/re-builder.el     2011-01-22 19:36:45 +0000
@@ -243,7 +243,7 @@
                  :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

=== modified file 'lisp/progmodes/compile.el'
--- a/lisp/progmodes/compile.el 2011-01-15 23:16:57 +0000
+++ b/lisp/progmodes/compile.el 2011-01-22 19:36:45 +0000
@@ -508,10 +508,8 @@
 
 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)

=== modified file 'lisp/progmodes/js.el'
--- a/lisp/progmodes/js.el      2011-01-14 17:18:41 +0000
+++ b/lisp/progmodes/js.el      2011-01-22 19:36:45 +0000
@@ -1659,12 +1659,11 @@
 ;; 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

=== modified file 'lisp/subr.el'
--- a/lisp/subr.el      2011-01-20 02:55:36 +0000
+++ b/lisp/subr.el      2011-01-22 19:36:45 +0000
@@ -2461,13 +2461,8 @@
         "''"
       ;; 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.

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-01-22 11:33:32 +0000
+++ b/src/ChangeLog     2011-01-22 19:36:45 +0000
@@ -1,3 +1,10 @@
+2011-01-22  Martin Rudalics  <address@hidden>
+
+       * 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  <address@hidden>
 
        * nsterm.m (constrainFrameRect): Only constrain the first time called.

=== modified file 'src/window.c'
--- a/src/window.c      2011-01-19 15:06:24 +0000
+++ b/src/window.c      2011-01-22 19:36:45 +0000
@@ -79,12 +79,13 @@
 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 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 @@
   return Qnil;
 }
 
-/* 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)
+/* 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.  */
+
+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 @@
   /* 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 @@
   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 @@
         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 @@
   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.


reply via email to

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