diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 15 | ||||
-rw-r--r-- | lisp/international/mule-cmds.el | 8 | ||||
-rw-r--r-- | lisp/progmodes/perl-mode.el | 4 | ||||
-rw-r--r-- | lisp/wid-edit.el | 2 |
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 |