unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Nice Emacs Lisp
@ 2009-03-18 15:09 Sébastien Vauban
  2009-03-18 17:45 ` tyler
  2009-03-18 21:31 ` Mike Mattie
  0 siblings, 2 replies; 9+ messages in thread
From: Sébastien Vauban @ 2009-03-18 15:09 UTC (permalink / raw)
  To: help-gnu-emacs-mXXj517/zsQ

Hello,

I'd like to mix Linux and Windows settings in my .emacs file, so that I can
use GNU Emacs on both platforms with the same init file.

Currently, I've defined:

--8<---------------cut here---------------start------------->8---
(defmacro GNULinux (&rest body)
  (list 'if (string-match "linux" (prin1-to-string system-type)) (cons 'progn body)))

(defmacro Windows (&rest body)
  (list 'if (string-match "windows" (prin1-to-string system-type)) (cons 'progn body)))
--8<---------------cut here---------------end--------------->8---

and I write (for example):

--8<---------------cut here---------------start------------->8---
    (setq bcc-cache-directory
          (concat
           (Windows "~/.emacs.d/byte-cache-ms-windows")
           (GNULinux "~/.emacs.d/byte-cache-linux")))
--8<---------------cut here---------------end--------------->8---

But do you know some better way to write the above (the concat function is not
that clear there...), while avoiding such a construction:

--8<---------------cut here---------------start------------->8---
    (Windows
        (setq bcc-cache-directory "~/.emacs.d/byte-cache-ms-windows"))
    (GNULinux
        (setq bcc-cache-directory "~/.emacs.d/byte-cache-linux"))
--8<---------------cut here---------------end--------------->8---

as I hate duplicating things (error-prone when changing one and not the
other).

Best regards,
  Seb

-- 
Sébastien Vauban


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-03-20 13:31 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-18 15:09 Nice Emacs Lisp Sébastien Vauban
2009-03-18 17:45 ` tyler
2009-03-18 21:31 ` Mike Mattie
2009-03-18 22:13   ` Peter Dyballa
2009-03-18 22:42     ` Mike Mattie
2009-03-18 23:34       ` Peter Dyballa
2009-03-19 15:33         ` Drew Adams
     [not found]         ` <mailman.3579.1237478655.31690.help-gnu-emacs@gnu.org>
2009-03-20  9:11           ` rustom
2009-03-20 13:31             ` Mike Mattie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).