summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog15
-rw-r--r--lisp/international/mule-cmds.el8
-rw-r--r--lisp/progmodes/perl-mode.el4
-rw-r--r--lisp/wid-edit.el2
4 files changed, 26 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 1bcc372a619..f623747209f 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,18 @@
+2007-12-05 Richard Stallman <rms@gnu.org>
+
+ * wid-edit.el (widget-type): Doc fix.
+
+2007-12-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/perl-mode.el (perl-font-lock-syntactic-keywords):
+ Don't match "sub { (...) ... }".
+
+2007-12-05 Richard Stallman <rms@gnu.org>
+
+ * international/mule-cmds.el (toggle-input-method-active): New var.
+ (toggle-input-method): Bind toggle-input-method-active to t.
+ Error if it was already non-nil.
+
2007-12-05 Reiner Steib <Reiner.Steib@gmx.de>
* net/tls.el (tls-hostmismatch, open-tls-stream): Checkdoc cleanup.
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index ca76d4f5054..77ef1f9cd40 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -1492,6 +1492,9 @@ To deactivate it programmatically, use `inactivate-input-method'."
(customize-mark-as-set 'default-input-method))
default-input-method)
+(defvar toggle-input-method-active nil
+ "Non-nil inside `toggle-input-method'.")
+
(defun toggle-input-method (&optional arg interactive)
"Enable or disable multilingual text input method for the current buffer.
Only one input method can be enabled at any time in a given buffer.
@@ -1511,9 +1514,12 @@ When called interactively, the optional arg INTERACTIVE is non-nil,
which marks the variable `default-input-method' as set for Custom buffers."
(interactive "P\np")
+ (if toggle-input-method-active
+ (error "Recursive use of `toggle-input-method'"))
(if (and current-input-method (not arg))
(inactivate-input-method)
- (let ((default (or (car input-method-history) default-input-method)))
+ (let ((toggle-input-method-active t)
+ (default (or (car input-method-history) default-input-method)))
(if (and arg default (equal current-input-method default)
(> (length input-method-history) 1))
(setq default (nth 1 input-method-history)))
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index 809ed7a9f36..ee14100f56d 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -266,7 +266,9 @@ The expansion is entirely correct because it uses the C preprocessor."
;; format statements
("^[ \t]*format.*=[ \t]*\\(\n\\)" (1 '(7)))
;; Funny things in sub arg specifications like `sub myfunc ($$)'
- ("\\<sub\\s-+\\S-+\\s-*(\\([^)]+\\))" 1 '(1))
+ ;; Be careful not to match "sub { (...) ... }".
+ ("\\<sub[[:space:]]+[^{}[:punct:][:space:]]+[[:space:]]*(\\([^)]+\\))"
+ 1 '(1))
;; Regexp and funny quotes.
("\\(?:[?:.,;=!~({[]\\|\\(^\\)\\)[ \t\n]*\\(/\\)"
(2 (if (and (match-end 1)
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index 48d74b4fb25..1ce6deda89e 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -488,7 +488,7 @@ new value.")
;;; Widget Properties.
(defsubst widget-type (widget)
- "Return the type of WIDGET, a symbol."
+ "Return the type of WIDGET. The type is a symbol."
(car widget))
;;;###autoload