[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r116884: Merge from emacs-24; up to r116871,
Juanma Barranquero <=