aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog33
-rw-r--r--lisp/hi-lock.el3
-rw-r--r--lisp/progmodes/ruby-mode.el4
-rw-r--r--nt/ChangeLog4
-rw-r--r--nt/inc/dirent.h2
-rw-r--r--src/ChangeLog14
-rw-r--r--src/dispnew.c78
-rw-r--r--src/w32.c2
-rw-r--r--test/ChangeLog4
-rw-r--r--test/automated/ruby-mode-tests.el7
10 files changed, 56 insertions, 95 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index cc30dc82341..01fb7223226 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,7 +1,16 @@
12013-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * hi-lock.el (hi-lock-unface-buffer): Don't assume `face' is a symbol
4 (bug#13297).
5
12013-01-27 Dmitry Gutov <dgutov@yandex.ru> 62013-01-27 Dmitry Gutov <dgutov@yandex.ru>
2 7
3 * progmodes/ruby-mode.el (ruby-font-lock-keywords): Remove some 8 * progmodes/ruby-mode.el (ruby-font-lock-keywords): Remove some
4 checks made superfluous by the \_< operator. 9 checks made superfluous by the \_< operator.
10 * progmodes/ruby-mode.el (ruby-move-to-block): Work with (maybe
11 temporarily) broken indentation.
12 * progmodes/ruby-mode.el (ruby-font-lock-keywords):
13 Highlight nested constants, too. \_< broke that.
5 14
62013-01-27 Nobuyoshi Nakada <nobu@ruby-lang.org> 152013-01-27 Nobuyoshi Nakada <nobu@ruby-lang.org>
7 16
@@ -113,8 +122,8 @@
113 122
1142013-01-22 Michael Albinus <michael.albinus@gmx.de> 1232013-01-22 Michael Albinus <michael.albinus@gmx.de>
115 124
116 * net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers): Mark 125 * net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
117 descriptive parts with `display' property. 126 Mark descriptive parts with `display' property.
118 127
1192013-01-21 Agustín Martín Domingo <agustin.martin@hispalinux.es> 1282013-01-21 Agustín Martín Domingo <agustin.martin@hispalinux.es>
120 129
@@ -143,13 +152,13 @@
143 152
144 * net/tramp-adb.el (top): Require `time-date'. 153 * net/tramp-adb.el (top): Require `time-date'.
145 (tramp-adb-ls-output-time-less-p): Use `tramp-time-less-p'. 154 (tramp-adb-ls-output-time-less-p): Use `tramp-time-less-p'.
146 (tramp-adb-handle-copy-file, tramp-adb-handle-rename-file): Use 155 (tramp-adb-handle-copy-file, tramp-adb-handle-rename-file):
147 `tramp-file-name-handler'. 156 Use `tramp-file-name-handler'.
148 (tramp-adb-maybe-open-connection): Use 157 (tramp-adb-maybe-open-connection):
149 `tramp-compat-set-process-query-on-exit-flag'. 158 Use `tramp-compat-set-process-query-on-exit-flag'.
150 159
151 * net/tramp-sh.el (tramp-sh-handle-file-acl): Use 160 * net/tramp-sh.el (tramp-sh-handle-file-acl):
152 `tramp-compat-funcall'. 161 Use `tramp-compat-funcall'.
153 162
154 * net/tramp-smb.el (tramp-smb-handle-file-acl): Use `looking-at' and 163 * net/tramp-smb.el (tramp-smb-handle-file-acl): Use `looking-at' and
155 `tramp-compat-funcall'. 164 `tramp-compat-funcall'.
@@ -189,8 +198,8 @@
1892013-01-19 Christian Wittern <cwittern@gmail.com> (tiny change) 1982013-01-19 Christian Wittern <cwittern@gmail.com> (tiny change)
190 Chong Yidong <cyd@gnu.org> 199 Chong Yidong <cyd@gnu.org>
191 200
192 * image-mode.el (image-next-file, image-previous-file): New 201 * image-mode.el (image-next-file, image-previous-file):
193 commands (Bug#8453). 202 New commands (Bug#8453).
194 (image-mode-map): Bind them to n and p. 203 (image-mode-map): Bind them to n and p.
195 (image-mode--images-in-directory): New helper function. 204 (image-mode--images-in-directory): New helper function.
196 205
@@ -218,8 +227,8 @@
218 227
219 * autorevert.el (auto-revert-use-notify): In the :set function, do 228 * autorevert.el (auto-revert-use-notify): In the :set function, do
220 not modify `kill-buffer-hook'. 229 not modify `kill-buffer-hook'.
221 (auto-revert-notify-rm-watch): Remove 230 (auto-revert-notify-rm-watch):
222 `auto-revert-notify-rm-watch' from `kill-buffer-hook'. 231 Remove `auto-revert-notify-rm-watch' from `kill-buffer-hook'.
223 (auto-revert-notify-add-watch): Do not call 232 (auto-revert-notify-add-watch): Do not call
224 `auto-revert-notify-rm-watch', but add it to a buffer local 233 `auto-revert-notify-rm-watch', but add it to a buffer local
225 `kill-buffer-hook'. 234 `kill-buffer-hook'.
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index e7948614241..cbd8ac5ebad 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -562,7 +562,8 @@ then remove all hi-lock highlighting."
562 (when keyword 562 (when keyword
563 (let ((face (hi-lock-keyword->face keyword))) 563 (let ((face (hi-lock-keyword->face keyword)))
564 ;; Make `face' the next one to use by default. 564 ;; Make `face' the next one to use by default.
565 (add-to-list 'hi-lock--unused-faces (face-name face))) 565 (when (symbolp face) ;Don't add it if it's a list (bug#13297).
566 (add-to-list 'hi-lock--unused-faces (face-name face))))
566 (font-lock-remove-keywords nil (list keyword)) 567 (font-lock-remove-keywords nil (list keyword))
567 (setq hi-lock-interactive-patterns 568 (setq hi-lock-interactive-patterns
568 (delq keyword hi-lock-interactive-patterns)) 569 (delq keyword hi-lock-interactive-patterns))
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index 989c00365a0..19d1ffe0a3b 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -905,7 +905,7 @@ current block, a sibling block, or an outer block. Do that (abs N) times."
905 ((and backward (looking-at "^=end\\>")) 905 ((and backward (looking-at "^=end\\>"))
906 (re-search-backward "^=begin\\>")) 906 (re-search-backward "^=begin\\>"))
907 (t 907 (t
908 (setq pos (current-indentation)) 908 (setq pos (ruby-calculate-indent))
909 (cond 909 (cond
910 ;; Deeper indentation, we found a block. 910 ;; Deeper indentation, we found a block.
911 ;; FIXME: We can't recognize empty blocks this way. 911 ;; FIXME: We can't recognize empty blocks this way.
@@ -1613,7 +1613,7 @@ See `font-lock-syntax-table'.")
1613 '("\\(\\$\\|@\\|@@\\)\\(\\w\\|_\\)+" 1613 '("\\(\\$\\|@\\|@@\\)\\(\\w\\|_\\)+"
1614 0 font-lock-variable-name-face) 1614 0 font-lock-variable-name-face)
1615 ;; constants 1615 ;; constants
1616 '("\\_<\\([A-Z]+\\(\\w\\|_\\)*\\)" 1616 '("\\(?:\\_<\\|::\\)\\([A-Z]+\\(\\w\\|_\\)*\\)"
1617 1 font-lock-type-face) 1617 1 font-lock-type-face)
1618 '("\\(^\\s *\\|[\[\{\(,]\\s *\\|\\sw\\s +\\)\\(\\(\\sw\\|_\\)+\\):[^:]" 2 font-lock-constant-face) 1618 '("\\(^\\s *\\|[\[\{\(,]\\s *\\|\\sw\\s +\\)\\(\\(\\sw\\|_\\)+\\):[^:]" 2 font-lock-constant-face)
1619 ;; expression expansion 1619 ;; expression expansion
diff --git a/nt/ChangeLog b/nt/ChangeLog
index aca1236657b..8b8628db1e2 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,7 @@
12013-01-28 Eli Zaretskii <eliz@gnu.org>
2
3 * inc/dirent.h (opendir): Update prototype.
4
12013-01-11 Eli Zaretskii <eliz@gnu.org> 52013-01-11 Eli Zaretskii <eliz@gnu.org>
2 6
3 * inc/unistd.h (O_IGNORE_CTTY): Define, as it is unconditionally 7 * inc/unistd.h (O_IGNORE_CTTY): Define, as it is unconditionally
diff --git a/nt/inc/dirent.h b/nt/inc/dirent.h
index 618f3beddf0..676b82d207b 100644
--- a/nt/inc/dirent.h
+++ b/nt/inc/dirent.h
@@ -30,7 +30,7 @@ typedef struct
30 char dd_buf[DIRBLKSIZ]; /* directory block */ 30 char dd_buf[DIRBLKSIZ]; /* directory block */
31 } DIR; /* stream data from opendir() */ 31 } DIR; /* stream data from opendir() */
32 32
33extern DIR *opendir (char *); 33extern DIR *opendir (const char *);
34extern struct dirent *readdir (DIR *); 34extern struct dirent *readdir (DIR *);
35extern void seekdir (DIR *, long); 35extern void seekdir (DIR *, long);
36extern void closedir (DIR *); 36extern void closedir (DIR *);
diff --git a/src/ChangeLog b/src/ChangeLog
index e147889f796..abbe4ed6dd4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,17 @@
12013-01-28 Eli Zaretskii <eliz@gnu.org>
2
3 * w32.c (opendir): Now accepts a 'const char *'.
4
52013-01-28 Dmitry Antipov <dmantipov@yandex.ru>
6
7 Remove obsolete redisplay code. See the discussion at
8 http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00576.html.
9 * dispnew.c (preemption_period, preemption_next_check): Remove.
10 (Vredisplay_preemption_period): Likewise.
11 (update_frame, update_single_window, update_window, update_frame_1):
12 Adjust users. Always assume that PERIODIC_PREEMPTION_CHECKING is not
13 used, following the 2012-06-22 change.
14
12013-01-25 Eli Zaretskii <eliz@gnu.org> 152013-01-25 Eli Zaretskii <eliz@gnu.org>
2 16
3 * w32notify.c (Fw32notify_add_watch): Doc fix. (Bug#13540) 17 * w32notify.c (Fw32notify_add_watch): Doc fix. (Bug#13540)
diff --git a/src/dispnew.c b/src/dispnew.c
index a680ca0e03a..0037c0269de 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -110,12 +110,6 @@ static void set_window_cursor_after_update (struct window *);
110static void adjust_frame_glyphs_for_window_redisplay (struct frame *); 110static void adjust_frame_glyphs_for_window_redisplay (struct frame *);
111static void adjust_frame_glyphs_for_frame_redisplay (struct frame *); 111static void adjust_frame_glyphs_for_frame_redisplay (struct frame *);
112 112
113
114/* Redisplay preemption timers. */
115
116static EMACS_TIME preemption_period;
117static EMACS_TIME preemption_next_check;
118
119/* True upon entry to redisplay means do not assume anything about 113/* True upon entry to redisplay means do not assume anything about
120 current contents of actual terminal frame; clear and redraw it. */ 114 current contents of actual terminal frame; clear and redraw it. */
121 115
@@ -3082,21 +3076,10 @@ update_frame (struct frame *f, bool force_p, bool inhibit_hairy_id_p)
3082 3076
3083 if (redisplay_dont_pause) 3077 if (redisplay_dont_pause)
3084 force_p = 1; 3078 force_p = 1;
3085 else if (NILP (Vredisplay_preemption_period)) 3079 else if (!force_p && detect_input_pending_ignore_squeezables ())
3086 force_p = 1;
3087 else if (!force_p && NUMBERP (Vredisplay_preemption_period))
3088 { 3080 {
3089 double p = XFLOATINT (Vredisplay_preemption_period); 3081 paused_p = 1;
3090 3082 goto do_pause;
3091 if (detect_input_pending_ignore_squeezables ())
3092 {
3093 paused_p = 1;
3094 goto do_pause;
3095 }
3096
3097 preemption_period = EMACS_TIME_FROM_DOUBLE (p);
3098 preemption_next_check = add_emacs_time (current_emacs_time (),
3099 preemption_period);
3100 } 3083 }
3101 3084
3102 if (FRAME_WINDOW_P (f)) 3085 if (FRAME_WINDOW_P (f))
@@ -3234,15 +3217,6 @@ update_single_window (struct window *w, bool force_p)
3234 3217
3235 if (redisplay_dont_pause) 3218 if (redisplay_dont_pause)
3236 force_p = 1; 3219 force_p = 1;
3237 else if (NILP (Vredisplay_preemption_period))
3238 force_p = 1;
3239 else if (!force_p && NUMBERP (Vredisplay_preemption_period))
3240 {
3241 double p = XFLOATINT (Vredisplay_preemption_period);
3242 preemption_period = EMACS_TIME_FROM_DOUBLE (p);
3243 preemption_next_check = add_emacs_time (current_emacs_time (),
3244 preemption_period);
3245 }
3246 3220
3247 /* Update W. */ 3221 /* Update W. */
3248 update_begin (f); 3222 update_begin (f);
@@ -3396,9 +3370,7 @@ update_window (struct window *w, bool force_p)
3396{ 3370{
3397 struct glyph_matrix *desired_matrix = w->desired_matrix; 3371 struct glyph_matrix *desired_matrix = w->desired_matrix;
3398 bool paused_p; 3372 bool paused_p;
3399#if !PERIODIC_PREEMPTION_CHECKING
3400 int preempt_count = baud_rate / 2400 + 1; 3373 int preempt_count = baud_rate / 2400 + 1;
3401#endif
3402 struct redisplay_interface *rif = FRAME_RIF (XFRAME (WINDOW_FRAME (w))); 3374 struct redisplay_interface *rif = FRAME_RIF (XFRAME (WINDOW_FRAME (w)));
3403#ifdef GLYPH_DEBUG 3375#ifdef GLYPH_DEBUG
3404 /* Check that W's frame doesn't have glyph matrices. */ 3376 /* Check that W's frame doesn't have glyph matrices. */
@@ -3406,10 +3378,8 @@ update_window (struct window *w, bool force_p)
3406#endif 3378#endif
3407 3379
3408 /* Check pending input the first time so that we can quickly return. */ 3380 /* Check pending input the first time so that we can quickly return. */
3409#if !PERIODIC_PREEMPTION_CHECKING
3410 if (!force_p) 3381 if (!force_p)
3411 detect_input_pending_ignore_squeezables (); 3382 detect_input_pending_ignore_squeezables ();
3412#endif
3413 3383
3414 /* If forced to complete the update, or if no input is pending, do 3384 /* If forced to complete the update, or if no input is pending, do
3415 the update. */ 3385 the update. */
@@ -3420,9 +3390,7 @@ update_window (struct window *w, bool force_p)
3420 struct glyph_row *header_line_row; 3390 struct glyph_row *header_line_row;
3421 int yb; 3391 int yb;
3422 bool changed_p = 0, mouse_face_overwritten_p = 0; 3392 bool changed_p = 0, mouse_face_overwritten_p = 0;
3423#if ! PERIODIC_PREEMPTION_CHECKING
3424 int n_updated = 0; 3393 int n_updated = 0;
3425#endif
3426 3394
3427 rif->update_window_begin_hook (w); 3395 rif->update_window_begin_hook (w);
3428 yb = window_text_bottom_y (w); 3396 yb = window_text_bottom_y (w);
@@ -3486,22 +3454,8 @@ update_window (struct window *w, bool force_p)
3486 detect_input_pending. If it's done too often, 3454 detect_input_pending. If it's done too often,
3487 scrolling large windows with repeated scroll-up 3455 scrolling large windows with repeated scroll-up
3488 commands will too quickly pause redisplay. */ 3456 commands will too quickly pause redisplay. */
3489#if PERIODIC_PREEMPTION_CHECKING
3490 if (!force_p)
3491 {
3492 EMACS_TIME tm = current_emacs_time ();
3493 if (EMACS_TIME_LT (preemption_next_check, tm))
3494 {
3495 preemption_next_check = add_emacs_time (tm,
3496 preemption_period);
3497 if (detect_input_pending_ignore_squeezables ())
3498 break;
3499 }
3500 }
3501#else
3502 if (!force_p && ++n_updated % preempt_count == 0) 3457 if (!force_p && ++n_updated % preempt_count == 0)
3503 detect_input_pending_ignore_squeezables (); 3458 detect_input_pending_ignore_squeezables ();
3504#endif
3505 changed_p |= update_window_line (w, vpos, 3459 changed_p |= update_window_line (w, vpos,
3506 &mouse_face_overwritten_p); 3460 &mouse_face_overwritten_p);
3507 3461
@@ -4542,13 +4496,11 @@ update_frame_1 (struct frame *f, bool force_p, bool inhibit_id_p)
4542 if (preempt_count <= 0) 4496 if (preempt_count <= 0)
4543 preempt_count = 1; 4497 preempt_count = 1;
4544 4498
4545#if !PERIODIC_PREEMPTION_CHECKING
4546 if (!force_p && detect_input_pending_ignore_squeezables ()) 4499 if (!force_p && detect_input_pending_ignore_squeezables ())
4547 { 4500 {
4548 pause_p = 1; 4501 pause_p = 1;
4549 goto do_pause; 4502 goto do_pause;
4550 } 4503 }
4551#endif
4552 4504
4553 /* If we cannot insert/delete lines, it's no use trying it. */ 4505 /* If we cannot insert/delete lines, it's no use trying it. */
4554 if (!FRAME_LINE_INS_DEL_OK (f)) 4506 if (!FRAME_LINE_INS_DEL_OK (f))
@@ -4589,21 +4541,8 @@ update_frame_1 (struct frame *f, bool force_p, bool inhibit_id_p)
4589 } 4541 }
4590 } 4542 }
4591 4543
4592#if PERIODIC_PREEMPTION_CHECKING
4593 if (!force_p)
4594 {
4595 EMACS_TIME tm = current_emacs_time ();
4596 if (EMACS_TIME_LT (preemption_next_check, tm))
4597 {
4598 preemption_next_check = add_emacs_time (tm, preemption_period);
4599 if (detect_input_pending_ignore_squeezables ())
4600 break;
4601 }
4602 }
4603#else
4604 if (!force_p && (i - 1) % preempt_count == 0) 4544 if (!force_p && (i - 1) % preempt_count == 0)
4605 detect_input_pending_ignore_squeezables (); 4545 detect_input_pending_ignore_squeezables ();
4606#endif
4607 4546
4608 update_frame_line (f, i); 4547 update_frame_line (f, i);
4609 } 4548 }
@@ -4709,9 +4648,7 @@ update_frame_1 (struct frame *f, bool force_p, bool inhibit_id_p)
4709 } 4648 }
4710 } 4649 }
4711 4650
4712#if !PERIODIC_PREEMPTION_CHECKING
4713 do_pause: 4651 do_pause:
4714#endif
4715 4652
4716 clear_desired_matrices (f); 4653 clear_desired_matrices (f);
4717 return pause_p; 4654 return pause_p;
@@ -6421,15 +6358,6 @@ See `buffer-display-table' for more information. */);
6421 doc: /* Non-nil means display update isn't paused when input is detected. */); 6358 doc: /* Non-nil means display update isn't paused when input is detected. */);
6422 redisplay_dont_pause = 1; 6359 redisplay_dont_pause = 1;
6423 6360
6424#if PERIODIC_PREEMPTION_CHECKING
6425 DEFVAR_LISP ("redisplay-preemption-period", Vredisplay_preemption_period,
6426 doc: /* Period in seconds between checking for input during redisplay.
6427This has an effect only if `redisplay-dont-pause' is nil; in that
6428case, arriving input preempts redisplay until the input is processed.
6429If the value is nil, redisplay is never preempted. */);
6430 Vredisplay_preemption_period = make_float (0.10);
6431#endif
6432
6433#ifdef CANNOT_DUMP 6361#ifdef CANNOT_DUMP
6434 if (noninteractive) 6362 if (noninteractive)
6435#endif 6363#endif
diff --git a/src/w32.c b/src/w32.c
index f722bc5f397..6bcc8e19278 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -2809,7 +2809,7 @@ static char *read_unc_volume (HANDLE, char *, int);
2809static void close_unc_volume (HANDLE); 2809static void close_unc_volume (HANDLE);
2810 2810
2811DIR * 2811DIR *
2812opendir (char *filename) 2812opendir (const char *filename)
2813{ 2813{
2814 DIR *dirp; 2814 DIR *dirp;
2815 2815
diff --git a/test/ChangeLog b/test/ChangeLog
index 505ac398e2f..7e893ba6768 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -2,6 +2,10 @@
2 2
3 * automated/ruby-mode-tests.el 3 * automated/ruby-mode-tests.el
4 (ruby-indent-spread-args-in-parens): New test. 4 (ruby-indent-spread-args-in-parens): New test.
5 * automated/ruby-mode-tests.el (ruby-block-test-example):
6 Break indentation of the do block opener and add a line inside it.
7 * automated/ruby-mode-tests.el (works-on-do, ok-with-three):
8 Adjust line numbers.
5 9
62013-01-15 Stefan Monnier <monnier@iro.umontreal.ca> 102013-01-15 Stefan Monnier <monnier@iro.umontreal.ca>
7 11
diff --git a/test/automated/ruby-mode-tests.el b/test/automated/ruby-mode-tests.el
index 42c59a1f3f0..2028c6fad00 100644
--- a/test/automated/ruby-mode-tests.el
+++ b/test/automated/ruby-mode-tests.el
@@ -408,7 +408,8 @@ VALUES-PLIST is a list with alternating index and value elements."
408 | end 408 | end
409 | 409 |
410 | def baz 410 | def baz
411 | some do 411 |some do
412 |3
412 | end 413 | end
413 | end 414 | end
414 |end")) 415 |end"))
@@ -425,7 +426,7 @@ VALUES-PLIST is a list with alternating index and value elements."
425(ruby-deftest-move-to-block works-on-do 426(ruby-deftest-move-to-block works-on-do
426 (goto-line 11) 427 (goto-line 11)
427 (ruby-end-of-block) 428 (ruby-end-of-block)
428 (should (= 12 (line-number-at-pos))) 429 (should (= 13 (line-number-at-pos)))
429 (ruby-beginning-of-block) 430 (ruby-beginning-of-block)
430 (should (= 11 (line-number-at-pos)))) 431 (should (= 11 (line-number-at-pos))))
431 432
@@ -437,7 +438,7 @@ VALUES-PLIST is a list with alternating index and value elements."
437(ruby-deftest-move-to-block ok-with-three 438(ruby-deftest-move-to-block ok-with-three
438 (goto-line 2) 439 (goto-line 2)
439 (ruby-move-to-block 3) 440 (ruby-move-to-block 3)
440 (should (= 13 (line-number-at-pos)))) 441 (should (= 14 (line-number-at-pos))))
441 442
442(ruby-deftest-move-to-block ok-with-minus-two 443(ruby-deftest-move-to-block ok-with-minus-two
443 (goto-line 10) 444 (goto-line 10)