Many emacs macros are prefixed with 'with' keyword in elisp. In an imperative language like python, with
statement is used to create a temporary variable like this,
with controlled_execution() as tempVar:
some code
However, in macros like with-current-buffer, with-temp-buffer, with-temp-message
, i see with
is not used for similar purpose. Can someone explain, in elisp macro, when to prefix a macro name with prefix 'with'
? And because these macros are expected to clear their temp variables, do they have any side effect on the main program?