[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Help setting nadvice for indent-region
From: |
Kaushal Modi |
Subject: |
Help setting nadvice for indent-region |
Date: |
Fri, 05 Feb 2016 23:49:08 +0000 |
Hi,
I'd like to advice indent-region so that if a region is not select, it
indents between (point-min) and (point-max).
So I have this:
=====
(defun adv/indent-region (args)
(when (not mark-active)
(setq args (list (point-min) (point-max))))
args)
(advice-add 'indent-region :filter-args #'adv/indent-region)
=====
This usually works, unless I have just launched a fresh buffer in which
there is no mark set.
If I do M-: (mark) in that buffer, I get nil.
In that case, if I call M-x indent-region (with no region selected), I get
this error backtrace:
Debugger entered--Lisp error: (error "The mark is not set now, so there is
no region")
call-interactively(indent-region nil nil)
command-execute(indent-region)
If it looks like the error is triggered by call-interactively even before
the advice gets to do its thing.
How can I resolve this using nadvice?
Thanks.
Kaushal Modi
- Help setting nadvice for indent-region,
Kaushal Modi <=