aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2013-05-14 20:52:07 -0400
committerStefan Monnier2013-05-14 20:52:07 -0400
commit5ac2eb344ff68720495d655bccd4c19ac92b04d9 (patch)
tree4e4030e53385f47ac8b324e95bd092d81c131282
parent180ed218429ec9c0ce8e3ee186a47c9565459eff (diff)
downloademacs-5ac2eb344ff68720495d655bccd4c19ac92b04d9.tar.gz
emacs-5ac2eb344ff68720495d655bccd4c19ac92b04d9.zip
* lisp/progmodes/f90.el (f90-blocks-re): Include the terminating \> in the
surrounding group. * src/regex.c (regex_compile) [\=, \>, \<]: Don't forget to set laststart. Fixes: debbugs:14402
-rw-r--r--lisp/ChangeLog19
-rw-r--r--lisp/progmodes/f90.el12
-rw-r--r--src/ChangeLog8
-rw-r--r--src/regex.c9
4 files changed, 30 insertions, 18 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5b2c28d97a1..a93b2868933 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * progmodes/f90.el (f90-blocks-re): Include the terminating \> in the
4 surrounding group (bug#14402).
5
12013-05-14 Juri Linkov <juri@jurta.org> 62013-05-14 Juri Linkov <juri@jurta.org>
2 7
3 * subr.el (find-tag-default-as-regexp): Return nil if `tag' is nil. 8 * subr.el (find-tag-default-as-regexp): Return nil if `tag' is nil.
@@ -10,8 +15,8 @@
10 15
112013-05-14 Jean-Philippe Gravel <jpgravel@gmail.com> 162013-05-14 Jean-Philippe Gravel <jpgravel@gmail.com>
12 17
13 * progmodes/gdb-mi.el (gdb-running, gdb-starting): Remove 18 * progmodes/gdb-mi.el (gdb-running, gdb-starting):
14 signals for which replies are never received. 19 Remove signals for which replies are never received.
15 20
162013-05-14 Jean-Philippe Gravel <jpgravel@gmail.com> 212013-05-14 Jean-Philippe Gravel <jpgravel@gmail.com>
17 22
@@ -120,8 +125,8 @@
120 125
121 * progmodes/octave.el (octave-indent-comment): Improve. 126 * progmodes/octave.el (octave-indent-comment): Improve.
122 (octave-eldoc-message-style, octave-eldoc-cache): New variables. 127 (octave-eldoc-message-style, octave-eldoc-cache): New variables.
123 (octave-eldoc-function-signatures, octave-eldoc-function): New 128 (octave-eldoc-function-signatures, octave-eldoc-function):
124 functions. 129 New functions.
125 (octave-mode, inferior-octave-mode): Add eldoc support. 130 (octave-mode, inferior-octave-mode): Add eldoc support.
126 131
1272013-05-11 Richard Stallman <rms@gnu.org> 1322013-05-11 Richard Stallman <rms@gnu.org>
@@ -166,8 +171,8 @@
166 171
1672013-05-10 Leo Liu <sdl.web@gmail.com> 1722013-05-10 Leo Liu <sdl.web@gmail.com>
168 173
169 * progmodes/octave.el (inferior-octave-completion-table): No 174 * progmodes/octave.el (inferior-octave-completion-table):
170 longer a function and all uses changed. Use cache to speed up 175 No longer a function and all uses changed. Use cache to speed up
171 completion due to bug#11906. 176 completion due to bug#11906.
172 (octave-beginning-of-defun): Re-write to be more general. 177 (octave-beginning-of-defun): Re-write to be more general.
173 178
@@ -357,7 +362,7 @@
357 * progmodes/octave.el (octave-syntax-propertize-function): Change 362 * progmodes/octave.el (octave-syntax-propertize-function): Change
358 \'s syntax to escape when inside double-quoted strings. (Bug#14332) 363 \'s syntax to escape when inside double-quoted strings. (Bug#14332)
359 (octave-font-lock-keywords): Use octave-operator-regexp. 364 (octave-font-lock-keywords): Use octave-operator-regexp.
360 (octave-completion-at-point): Renamed from 365 (octave-completion-at-point): Rename from
361 octave-completion-at-point-function. 366 octave-completion-at-point-function.
362 (inferior-octave-directory-tracker): Robustify. 367 (inferior-octave-directory-tracker): Robustify.
363 (octave-text-functions): Remove and fix its uses. No such things 368 (octave-text-functions): Remove and fix its uses. No such things
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el
index a8f53d397d6..d7d0c109452 100644
--- a/lisp/progmodes/f90.el
+++ b/lisp/progmodes/f90.el
@@ -249,8 +249,8 @@
249 "Qualification of END statements according to the matching block start. 249 "Qualification of END statements according to the matching block start.
250For example, change the END that closes an IF block to END IF. 250For example, change the END that closes an IF block to END IF.
251If the block has a label, add it as well (unless `f90-smart-end-names' 251If the block has a label, add it as well (unless `f90-smart-end-names'
252says not to). Allowed values are 'blink, 'no-blink, and nil. If nil, 252says not to). Allowed values are `blink', `no-blink', and nil. If nil,
253nothing is done. The other two settings have the same effect, but 'blink 253nothing is done. The other two settings have the same effect, but `blink'
254additionally blinks the cursor to the start of the block." 254additionally blinks the cursor to the start of the block."
255 :type '(choice (const blink) (const no-blink) (const nil)) 255 :type '(choice (const blink) (const no-blink) (const nil))
256 :safe (lambda (value) (memq value '(blink no-blink nil))) 256 :safe (lambda (value) (memq value '(blink no-blink nil)))
@@ -842,14 +842,14 @@ Can be overridden by the value of `font-lock-maximum-decoration'.")
842 842
843;; Regexps for finding program structures. 843;; Regexps for finding program structures.
844(defconst f90-blocks-re 844(defconst f90-blocks-re
845 (concat "\\(block[ \t]*data\\|" 845 (concat "\\(\\(?:block[ \t]*data\\|"
846 (regexp-opt '("do" "if" "interface" "function" "module" "program" 846 (regexp-opt '("do" "if" "interface" "function" "module" "program"
847 "select" "subroutine" "type" "where" "forall" 847 "select" "subroutine" "type" "where" "forall"
848 ;; F2003. 848 ;; F2003.
849 "enum" "associate" 849 "enum" "associate"
850 ;; F2008. 850 ;; F2008.
851 "submodule" "block" "critical")) 851 "submodule" "block" "critical"))
852 "\\)\\_>") 852 "\\)\\_>\\)")
853 "Regexp potentially indicating a \"block\" of F90 code.") 853 "Regexp potentially indicating a \"block\" of F90 code.")
854 854
855(defconst f90-program-block-re 855(defconst f90-program-block-re
@@ -1138,8 +1138,8 @@ Variables controlling indentation style and extra features:
1138 Automatic insertion of \& at beginning of continuation lines (default t). 1138 Automatic insertion of \& at beginning of continuation lines (default t).
1139`f90-smart-end' 1139`f90-smart-end'
1140 From an END statement, check and fill the end using matching block start. 1140 From an END statement, check and fill the end using matching block start.
1141 Allowed values are 'blink, 'no-blink, and nil, which determine 1141 Allowed values are `blink', `no-blink', and nil, which determine
1142 whether to blink the matching beginning (default 'blink). 1142 whether to blink the matching beginning (default `blink').
1143`f90-auto-keyword-case' 1143`f90-auto-keyword-case'
1144 Automatic change of case of keywords (default nil). 1144 Automatic change of case of keywords (default nil).
1145 The possibilities are `downcase-word', `upcase-word', `capitalize-word'. 1145 The possibilities are `downcase-word', `upcase-word', `capitalize-word'.
diff --git a/src/ChangeLog b/src/ChangeLog
index d7778e3a524..0b4ccb0708a 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,8 +1,12 @@
12013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * regex.c (regex_compile) [\=, \>, \<]: Don't forget to set laststart.
4
12013-05-14 Eli Zaretskii <eliz@gnu.org> 52013-05-14 Eli Zaretskii <eliz@gnu.org>
2 6
3 * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT 7 * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
4 unless we know that the window w is a leaf window. Another 8 unless we know that the window w is a leaf window.
5 attempt at solving bug#14062. 9 Another attempt at solving bug#14062.
6 10
72013-05-14 Jan Djärv <jan.h.d@swipnet.se> 112013-05-14 Jan Djärv <jan.h.d@swipnet.se>
8 12
diff --git a/src/regex.c b/src/regex.c
index 83d80b5aaa9..04429386f84 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -2622,7 +2622,7 @@ regex_compile (const re_char *pattern, size_t size, reg_syntax_t syntax, struct
2622 goto normal_char; 2622 goto normal_char;
2623 handle_plus: 2623 handle_plus:
2624 case '*': 2624 case '*':
2625 /* If there is no previous pattern... */ 2625 /* If there is no previous pattern... */
2626 if (!laststart) 2626 if (!laststart)
2627 { 2627 {
2628 if (syntax & RE_CONTEXT_INVALID_OPS) 2628 if (syntax & RE_CONTEXT_INVALID_OPS)
@@ -2730,7 +2730,7 @@ regex_compile (const re_char *pattern, size_t size, reg_syntax_t syntax, struct
2730 } 2730 }
2731 } 2731 }
2732 else /* not greedy */ 2732 else /* not greedy */
2733 { /* I wish the greedy and non-greedy cases could be merged. */ 2733 { /* I wish the greedy and non-greedy cases could be merged. */
2734 2734
2735 GET_BUFFER_SPACE (7); /* We might use less. */ 2735 GET_BUFFER_SPACE (7); /* We might use less. */
2736 if (many_times_ok) 2736 if (many_times_ok)
@@ -3034,7 +3034,7 @@ regex_compile (const re_char *pattern, size_t size, reg_syntax_t syntax, struct
3034 3034
3035 /* Allocate space for COUNT + RANGE_TABLE. Needs two 3035 /* Allocate space for COUNT + RANGE_TABLE. Needs two
3036 bytes for flags, two for COUNT, and three bytes for 3036 bytes for flags, two for COUNT, and three bytes for
3037 each character. */ 3037 each character. */
3038 GET_BUFFER_SPACE (4 + used * 3); 3038 GET_BUFFER_SPACE (4 + used * 3);
3039 3039
3040 /* Indicate the existence of range table. */ 3040 /* Indicate the existence of range table. */
@@ -3461,6 +3461,7 @@ regex_compile (const re_char *pattern, size_t size, reg_syntax_t syntax, struct
3461 /* There is no way to specify the before_dot and after_dot 3461 /* There is no way to specify the before_dot and after_dot
3462 operators. rms says this is ok. --karl */ 3462 operators. rms says this is ok. --karl */
3463 case '=': 3463 case '=':
3464 laststart = b;
3464 BUF_PUSH (at_dot); 3465 BUF_PUSH (at_dot);
3465 break; 3466 break;
3466 3467
@@ -3509,12 +3510,14 @@ regex_compile (const re_char *pattern, size_t size, reg_syntax_t syntax, struct
3509 case '<': 3510 case '<':
3510 if (syntax & RE_NO_GNU_OPS) 3511 if (syntax & RE_NO_GNU_OPS)
3511 goto normal_char; 3512 goto normal_char;
3513 laststart = b;
3512 BUF_PUSH (wordbeg); 3514 BUF_PUSH (wordbeg);
3513 break; 3515 break;
3514 3516
3515 case '>': 3517 case '>':
3516 if (syntax & RE_NO_GNU_OPS) 3518 if (syntax & RE_NO_GNU_OPS)
3517 goto normal_char; 3519 goto normal_char;
3520 laststart = b;
3518 BUF_PUSH (wordend); 3521 BUF_PUSH (wordend);
3519 break; 3522 break;
3520 3523