From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tassilo Horn Newsgroups: gmane.emacs.help Subject: Re: reading compile.el, modifying settings Date: Thu, 05 May 2011 21:09:54 +0200 Message-ID: <87sjstufp9.fsf@member.fsf.org> References: <1933055643.48627.1304431423078.JavaMail.root@aksu.oays-ds.com> <87zkn1ui7y.fsf@member.fsf.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1304622627 5063 80.91.229.12 (5 May 2011 19:10:27 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 5 May 2011 19:10:27 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu May 05 21:10:23 2011 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QI3wM-000144-FY for geh-help-gnu-emacs@m.gmane.org; Thu, 05 May 2011 21:10:22 +0200 Original-Received: from localhost ([::1]:54812 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QI3wL-0004TB-U4 for geh-help-gnu-emacs@m.gmane.org; Thu, 05 May 2011 15:10:21 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:59207) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QI3wC-0004Sv-Mu for help-gnu-emacs@gnu.org; Thu, 05 May 2011 15:10:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QI3wB-0003ug-Gj for help-gnu-emacs@gnu.org; Thu, 05 May 2011 15:10:12 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:59240) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QI3wB-0003u9-5f for help-gnu-emacs@gnu.org; Thu, 05 May 2011 15:10:11 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1QI3w8-0000ug-Kf for help-gnu-emacs@gnu.org; Thu, 05 May 2011 21:10:08 +0200 Original-Received: from 178-27-29-99-dynip.superkabel.de ([178.27.29.99]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 05 May 2011 21:10:08 +0200 Original-Received: from tassilo by 178-27-29-99-dynip.superkabel.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 05 May 2011 21:10:08 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 66 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 178-27-29-99-dynip.superkabel.de User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:ZzVXvQhWXTStzfWwbzbWQBFUWik= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:80930 Archived-At: Sam Steingold writes: Hi Sam, >>> compilation-error-regexp-alist is defined with defcustom, so it should >>> be modified with custom-set-variables, not with setq. Don't ask. >> >> No, that's not true. You can setq any defcustom as if it was a defvar. > > Sure. You can setq any symbol. > However, the _effect_ of setq on a variable defined with defcustom is > different - it is not respected by emacs on the same level as > custom-set-variables. > At least it was not a few years ago, when I had the same problem - my > setting being ignored - as Paul is having now. If that really happens, I'd consider it a bug. > 1. some packages use symbol properties in addition to the symbol value, > these are modified by custom-set-variables automatically ,---- | ;; foo is not defined before | (setq foo 17) | ;; now load its defcustom | (defcustom foo 111 | "Bla bla") | ;; still has my value plus the props of the defcustom | (cons foo (symbol-plist 'foo)) | ==> (17 standard-value (111) custom-requests nil variable-documentation "Bla bla") `---- > 2. some custom variables have fancy setters which are called by > custom-set-variables but not by setq (like symbol macros in CL) Yeah, but that has to be stated in the docs: ,----[ (info "(elisp)Variable Definitions") ] | If you specify the `:set' keyword, to make the variable take other | special actions when set through the customization buffer, the | variable's documentation string should tell the user specifically | how to do the same job in hand-written Lisp code. `---- Good examples here are all those minor mode *variables*, which can be customized to enable a mode globally, but to enable them from lisp, you have to use the mode *function*: ;; Works (custom-set-variables '(hl-line-mode t)) ;; Does not work (i.e., doesn't enable that mode) (setq hl-line-mode t) ;; so you need to use the mode function from lisp (hl-line-mode 1) > In short, the rule of thumb is: do not use setq on custom variables, > use custom-set-variables instead. I really don't buy that. My emacs is highly customized in plain lisp only, so that I can comment what I do and structure it according to my likings. Bye, Tassilo