summaryrefslogtreecommitdiff
path: root/lisp/progmodes/hideif.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2016-01-16 09:40:12 +0200
committerEli Zaretskii <eliz@gnu.org>2016-01-16 09:40:12 +0200
commit05df6662ef229fdbaa2b6f4430f39f95eaa7a65a (patch)
tree015c20da70330b4b1c156b74a42e92ec3b360542 /lisp/progmodes/hideif.el
parentbb0cd3193912032ae11a27016271d4587f876f98 (diff)
downloademacs-05df6662ef229fdbaa2b6f4430f39f95eaa7a65a.tar.gz
Fix interactive specs in some hideif.el commands
* lisp/progmodes/hideif.el (hif-evaluate-macro) (hide-ifdef-undef, show-ifdef-block): Don't use '(interactive "r")' in commands that should only act on the region if it's active.
Diffstat (limited to 'lisp/progmodes/hideif.el')
-rw-r--r--lisp/progmodes/hideif.el23
1 files changed, 17 insertions, 6 deletions
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index cc7d1c368c5..a75a322b335 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -1581,11 +1581,14 @@ Refer to `hide-ifdef-expand-reinclusion-protection' for more details."
result))
(defun hif-evaluate-macro (rstart rend)
- "Evaluate the macro expansion result for a region.
+ "Evaluate the macro expansion result for the active region.
If no region active, find the current #ifdefs and evaluate the result.
Currently it supports only math calculations, strings or argumented macros can
not be expanded."
- (interactive "r")
+ (interactive
+ (if (use-region-p)
+ (list (region-beginning) (region-end))
+ '(nil nil)))
(let ((case-fold-search nil))
(save-excursion
(unless mark-active
@@ -1844,9 +1847,13 @@ This allows #ifdef VAR to be hidden."
(defun hide-ifdef-undef (start end)
"Undefine a VAR so that #ifdef VAR would not be included."
- (interactive "r")
+ (interactive
+ (if (use-region-p)
+ (list (region-beginning) (region-end))
+ '(nil nil)))
(let* ((symstr
- (or (and mark-active
+ (or (and (number-or-marker-p start)
+ (number-or-marker-p end)
(buffer-substring-no-properties start end))
(read-string "Undefine what? " (current-word))))
(sym (and symstr
@@ -1931,8 +1938,12 @@ With optional prefix argument ARG, also hide the #ifdefs themselves."
(defun show-ifdef-block (&optional start end)
"Show the ifdef block (true or false part) enclosing or before the cursor."
- (interactive "r")
- (if mark-active
+ (interactive
+ (if (use-region-p)
+ (list (region-beginning) (region-end))
+ '(nil nil)))
+ (if (and (number-or-marker-p start)
+ (number-or-marker-p end))
(progn
(dolist (o (overlays-in start end))
(if (overlay-get o 'hide-ifdef)