emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r116884: Merge from emacs-24; up to r116871


From: Juanma Barranquero
Subject: [Emacs-diffs] trunk r116884: Merge from emacs-24; up to r116871
Date: Thu, 27 Mar 2014 17:34:46 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 116884 [merge]
revision-id: address@hidden
parent: address@hidden
parent: address@hidden
committer: Juanma Barranquero <address@hidden>
branch nick: trunk
timestamp: Thu 2014-03-27 18:34:22 +0100
message:
  Merge from emacs-24; up to r116871
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/emacs-lisp/package-x.el   packagex.el-20100617020707-ybavz666awsxwin6-1
  lisp/frameset.el               frameset.el-20130802043218-tfwraxv1c2zlibpw-1
  lisp/progmodes/ruby-mode.el    
rubymode.el-20091113204419-o5vbwnq5f7feedwu-8804
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/editfns.c                  editfns.c-20091113204419-o5vbwnq5f7feedwu-255
  src/w32term.c                  w32term.c-20091113204419-o5vbwnq5f7feedwu-950
  test/indent/ruby.rb            ruby.rb-20120424165921-h044139hbrd7snvw-1
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-03-26 21:01:47 +0000
+++ b/lisp/ChangeLog    2014-03-27 17:34:22 +0000
@@ -1,3 +1,20 @@
+2014-03-27  Dmitry Gutov  <address@hidden>
+
+       * progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight
+       special globals with font-lock-builtin-face.  (Bug#17057)
+
+       * progmodes/ruby-mode.el (ruby-syntax-propertize-function):
+       Don't propertize `?' or `!' as symbol constituent when after
+       colon.  (Bug#17097)
+
+2014-03-27  Juanma Barranquero  <address@hidden>
+
+       * frameset.el (frameset--restore-frame): Remove workaround for bug#14795
+       which is no longer needed and causes trouble in GTK builds (bug#17046).
+
+       * emacs-lisp/package-x.el (package--archive-contents-from-url):
+       Use url-insert-file-contents; package-handle-response no longer exists.
+
 2014-03-26  Daniel Colascione  <address@hidden>
 
        * simple.el (process-menu-mode-map): New variable.

=== modified file 'lisp/emacs-lisp/package-x.el'
--- a/lisp/emacs-lisp/package-x.el      2014-01-01 07:43:34 +0000
+++ b/lisp/emacs-lisp/package-x.el      2014-03-27 00:20:50 +0000
@@ -114,18 +114,12 @@
 (defun package--archive-contents-from-url (archive-url)
   "Parse archive-contents file at ARCHIVE-URL.
 Return the file contents, as a string, or nil if unsuccessful."
-  (ignore-errors
-    (when archive-url
-      (let* ((buffer (url-retrieve-synchronously
-                     (concat archive-url "archive-contents"))))
-       (set-buffer buffer)
-       (package-handle-response)
-       (re-search-forward "^$" nil 'move)
-       (forward-char)
-       (delete-region (point-min) (point))
-       (prog1 (package-read-from-string
-               (buffer-substring-no-properties (point-min) (point-max)))
-         (kill-buffer buffer))))))
+  (when archive-url
+    (with-temp-buffer
+      (ignore-errors
+       (url-insert-file-contents (concat archive-url "archive-contents"))
+       (package-read-from-string
+        (buffer-substring-no-properties (point-min) (point-max)))))))
 
 (defun package--archive-contents-from-file ()
   "Parse the archive-contents at `package-archive-upload-base'"

=== modified file 'lisp/frameset.el'
--- a/lisp/frameset.el  2014-03-26 15:57:13 +0000
+++ b/lisp/frameset.el  2014-03-27 17:34:22 +0000
@@ -950,15 +950,10 @@
 For the meaning of FILTERS and FORCE-ONSCREEN, see `frameset-restore'.
 Internal use only."
   (let* ((fullscreen (cdr (assq 'fullscreen parameters)))
-        (lines (assq 'tool-bar-lines parameters))
         (filtered-cfg (frameset-filter-params parameters filters nil))
         (display (cdr (assq 'display filtered-cfg))) ;; post-filtering
         alt-cfg frame)
 
-    ;; This works around bug#14795 (or feature#14795, if not a bug :-)
-    (setq filtered-cfg (assq-delete-all 'tool-bar-lines filtered-cfg))
-    (push '(tool-bar-lines . 0) filtered-cfg)
-
     (when fullscreen
       ;; Currently Emacs has the limitation that it does not record the size
       ;; and position of a frame before maximizing it, so we cannot save &
@@ -1009,8 +1004,7 @@
               (not (eq (frame-parameter frame 'visibility) 'icon)))
       (frameset-move-onscreen frame force-onscreen))
 
-    ;; Let's give the finishing touches (visibility, tool-bar, maximization).
-    (when lines (push lines alt-cfg))
+    ;; Let's give the finishing touches (visibility, maximization).
     (when alt-cfg (modify-frame-parameters frame alt-cfg))
     ;; Now restore window state.
     (window-state-put window-state (frame-root-window frame) 'safe)

=== modified file 'lisp/progmodes/ruby-mode.el'
--- a/lisp/progmodes/ruby-mode.el       2014-03-24 08:53:56 +0000
+++ b/lisp/progmodes/ruby-mode.el       2014-03-27 08:21:15 +0000
@@ -1812,6 +1812,7 @@
       ("[!?]"
        (0 (unless (save-excursion
                     (or (nth 8 (syntax-ppss (match-beginning 0)))
+                        (eq (char-before) ?:)
                         (let (parse-sexp-lookup-properties)
                           (zerop (skip-syntax-backward "w_")))
                         (memq (preceding-char) '(?@ ?$))))
@@ -2108,13 +2109,28 @@
      1 font-lock-variable-name-face)
     ;; Keywords that evaluate to certain values.
     ("\\_<__\\(?:LINE\\|ENCODING\\|FILE\\)__\\_>"
-     (0 font-lock-variable-name-face))
+     (0 font-lock-builtin-face))
     ;; Symbols.
     
("\\(^\\|[^:]\\)\\(:\\(address@hidden|[/%&|^`]\\|\\*\\*?\\|<\\(<\\|=>?\\)?\\|>[>=]?\\|===?\\|=~\\|![~=]?\\|\\[\\]=?\\|@?\\(\\w\\|_\\)+\\([!?=]\\|\\b_*\\)\\|#{[^}\n\\\\]*\\(\\\\.[^}\n\\\\]*\\)*}\\)\\)"
      2 font-lock-constant-face)
-    ;; Variables.
-    ("\\$[^a-zA-Z \n]"
-     0 font-lock-variable-name-face)
+    ;; Special globals.
+    (,(concat "\\$\\(?:[:\"!@;,/\\._><\\$?~=*&`'+0-9]\\|-[0adFiIlpvw]\\|"
+              (regexp-opt '("LOAD_PATH" "LOADED_FEATURES" "PROGRAM_NAME"
+                            "ERROR_INFO" "ERROR_POSITION"
+                            "FS" "FIELD_SEPARATOR"
+                            "OFS" "OUTPUT_FIELD_SEPARATOR"
+                            "RS" "INPUT_RECORD_SEPARATOR"
+                            "ORS" "OUTPUT_RECORD_SEPARATOR"
+                            "NR" "INPUT_LINE_NUMBER"
+                            "LAST_READ_LINE" "DEFAULT_OUTPUT" "DEFAULT_INPUT"
+                            "PID" "PROCESS_ID" "CHILD_STATUS"
+                            "LAST_MATCH_INFO" "IGNORECASE"
+                            "ARGV" "MATCH" "PREMATCH" "POSTMATCH"
+                            "LAST_PAREN_MATCH" "stdin" "stdout" "stderr"
+                            "DEBUG" "FILENAME" "VERBOSE" "SAFE" "CLASSPATH"
+                            "JRUBY_VERSION" "JRUBY_REVISION" "ENV_JAVA"))
+              "\\_>\\)")
+     0 font-lock-builtin-face)
     ("\\(\\$\\|@\\|@@\\)\\(\\w\\|_\\)+"
      0 font-lock-variable-name-face)
     ;; Constants.

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-03-27 01:17:54 +0000
+++ b/src/ChangeLog     2014-03-27 17:34:22 +0000
@@ -1,3 +1,15 @@
+2014-03-27  YAMAMOTO Mitsuharu  <address@hidden>
+
+       * w32term.c (x_draw_image_glyph_string): Fix computation of height
+       and width of image background when it is displayed with a 'box'
+       face.  (Bug#17115)
+
+2014-03-27  Paul Eggert  <address@hidden>
+
+       More backward-compatible fix to char-equal core dump (Bug#17011).
+       * editfns.c (Fchar_equal): In unibyte buffers, assume values in
+       range 128-255 are raw bytes.  Suggested by Eli Zaretskii.
+
 2014-03-27  Juanma Barranquero  <address@hidden>
 
        * image.c (init_svg_functions): When loading SVG-related libraries,

=== modified file 'src/editfns.c'
--- a/src/editfns.c     2014-03-26 05:35:38 +0000
+++ b/src/editfns.c     2014-03-26 17:55:31 +0000
@@ -4377,13 +4377,23 @@
   if (NILP (BVAR (current_buffer, case_fold_search)))
     return Qnil;
 
-  /* FIXME: When enable-multibyte-characters is nil, it's still possible
-     to manipulate multibyte chars, which means there is a bug for chars
-     in the range 128-255 as we can't tell whether they are eight-bit
-     bytes or Latin-1 chars.  For now, assume the latter.  See Bug#17011.
-     Also see casefiddle.c's casify_object, which has a similar problem.  */
   i1 = XFASTINT (c1);
   i2 = XFASTINT (c2);
+
+  /* FIXME: It is possible to compare multibyte characters even when
+     the current buffer is unibyte.  Unfortunately this is ambiguous
+     for characters between 128 and 255, as they could be either
+     eight-bit raw bytes or Latin-1 characters.  Assume the former for
+     now.  See Bug#17011, and also see casefiddle.c's casify_object,
+     which has a similar problem.  */
+  if (NILP (BVAR (current_buffer, enable_multibyte_characters)))
+    {
+      if (SINGLE_BYTE_CHAR_P (i1))
+       i1 = UNIBYTE_TO_CHAR (i1);
+      if (SINGLE_BYTE_CHAR_P (i2))
+       i2 = UNIBYTE_TO_CHAR (i2);
+    }
+
   return (downcase (i1) == downcase (i2) ? Qt :  Qnil);
 }
 

=== modified file 'src/w32term.c'
--- a/src/w32term.c     2014-03-26 15:57:13 +0000
+++ b/src/w32term.c     2014-03-27 17:34:22 +0000
@@ -2085,10 +2085,14 @@
   int x, y;
   int box_line_hwidth = eabs (s->face->box_line_width);
   int box_line_vwidth = max (s->face->box_line_width, 0);
-  int height;
+  int height, width;
   HBITMAP pixmap = 0;
 
-  height = s->height - 2 * box_line_vwidth;
+  height = s->height;
+  if (s->slice.y == 0)
+    height -= box_line_vwidth;
+  if (s->slice.y + s->slice.height >= s->img->height)
+    height -= box_line_vwidth;
 
   /* Fill background with face under the image.  Do it only if row is
      taller than image or if image has a clip mask to reduce
@@ -2101,10 +2105,14 @@
       || s->img->pixmap == 0
       || s->width != s->background_width)
     {
+      width = s->background_width;
       x = s->x;
       if (s->first_glyph->left_box_line_p
          && s->slice.x == 0)
-       x += box_line_hwidth;
+       {
+         x += box_line_hwidth;
+         width -= box_line_hwidth;
+       }
 
       y = s->y;
       if (s->slice.y == 0)
@@ -2150,7 +2158,7 @@
        }
       else
 #endif
-       x_draw_glyph_string_bg_rect (s, x, y, s->background_width, height);
+       x_draw_glyph_string_bg_rect (s, x, y, width, height);
 
       s->background_filled_p = 1;
     }

=== modified file 'test/indent/ruby.rb'
--- a/test/indent/ruby.rb       2014-03-21 04:26:39 +0000
+++ b/test/indent/ruby.rb       2014-03-27 06:53:13 +0000
@@ -148,6 +148,11 @@
   )
 end
 
+# Bug#17097
+if x == :!=
+  something
+end
+
 # Example from http://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html
 d = 4 + 5 +      # no '\' needed
     6 + 7


reply via email to

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