unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* unload-feature and defcustom.
@ 2005-04-29 13:51 Lute Kamstra
  2005-04-29 19:02 ` HAVE_SYS_SELECT of sysselect.h Nozomu Ando
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Lute Kamstra @ 2005-04-29 13:51 UTC (permalink / raw)


unload-feature does not completely reverse the effects of defcustom.

Consider this file:

,----[ a.el ]
| (defcustom a-cus-var 'a-value 
|   "The documentation of `a-cus-var'.")
| (provide 'a)
`----

and do:

(require 'a)
(unload-feature 'a)

Now a-cus-var is not bound, but when I do M-x customize-option, I can
still select (with completion) a-cus-var and that gives me this
customization buffer:

,----[ *Customize Option: A Cus Var* ]
| This is a customization buffer.
| `Raised' buttons show active fields; type RET or click mouse-1
| on an active field to invoke its action.  Editing an option value
| changes only the text in the buffer.  Invoke the State button to set or
| save the option value.  Saving an option normally edits your init file.
| Invoke Custom file for information on how to save in a different file.
| Invoke Help for general information.
| 
| Operate on everything in this buffer:
|  Set for Current Session Save for Future Sessions
|  Reset Reset to Saved Erase Customization   Finish
| 
| A Cus Var: Hide Value "nil"
|    State: CHANGED outside Customize; operating on it here may be unreliable.
| 
| The documentation of `a-cus-var'.
| Parent groups: Nil
`----

I think this is undesirable.  Could this be easily fixed?  (Maybe by
letting customize ignore unbound vars.)  Or is better to put this on
the post-release todo list?

Lute.

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

* HAVE_SYS_SELECT of sysselect.h
  2005-04-29 13:51 unload-feature and defcustom Lute Kamstra
@ 2005-04-29 19:02 ` Nozomu Ando
  2005-05-01 22:43   ` Thien-Thi Nguyen
  2005-05-02  1:53   ` YAMAMOTO Mitsuharu
  2005-04-30  8:13 ` unload-feature and defcustom David Kastrup
  2005-05-01 12:06 ` Richard Stallman
  2 siblings, 2 replies; 11+ messages in thread
From: Nozomu Ando @ 2005-04-29 19:02 UTC (permalink / raw)



sysselect.h failes to include <sys/select.h>.

Is this a typo?
---
Nozomu Ando

---
Index: sysselect.h
===================================================================
RCS file: /cvsroot/emacs/emacs/src/sysselect.h,v
retrieving revision 1.3
diff -u -u -r1.3 sysselect.h
--- sysselect.h 1 Sep 2003 15:45:56 -0000       1.3
+++ sysselect.h 29 Apr 2005 18:55:39 -0000
@@ -18,7 +18,7 @@
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-#ifdef HAVE_SYS_SELECT
+#ifdef HAVE_SYS_SELECT_H
 #include <sys/select.h>
 #endif

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

* Re: unload-feature and defcustom.
  2005-04-29 13:51 unload-feature and defcustom Lute Kamstra
  2005-04-29 19:02 ` HAVE_SYS_SELECT of sysselect.h Nozomu Ando
@ 2005-04-30  8:13 ` David Kastrup
  2005-05-01 12:06 ` Richard Stallman
  2 siblings, 0 replies; 11+ messages in thread
From: David Kastrup @ 2005-04-30  8:13 UTC (permalink / raw)
  Cc: emacs-devel

Lute Kamstra <Lute.Kamstra.lists@xs4all.nl> writes:

> unload-feature does not completely reverse the effects of defcustom.
>
> Consider this file:
>
> ,----[ a.el ]
> | (defcustom a-cus-var 'a-value 
> |   "The documentation of `a-cus-var'.")
> | (provide 'a)
> `----
>
> and do:
>
> (require 'a)
> (unload-feature 'a)
>
> I think this is undesirable.  Could this be easily fixed?  (Maybe by
> letting customize ignore unbound vars.)  Or is better to put this on
> the post-release todo list?

post-release, I'd say.  It should be noted that files generated with
update-file-autoloads and its cousins actually only contain defvar,
not defcustom, but maybe those are not the most important ones to
unload in general.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

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

* Re: unload-feature and defcustom.
  2005-04-29 13:51 unload-feature and defcustom Lute Kamstra
  2005-04-29 19:02 ` HAVE_SYS_SELECT of sysselect.h Nozomu Ando
  2005-04-30  8:13 ` unload-feature and defcustom David Kastrup
@ 2005-05-01 12:06 ` Richard Stallman
  2 siblings, 0 replies; 11+ messages in thread
From: Richard Stallman @ 2005-05-01 12:06 UTC (permalink / raw)
  Cc: emacs-devel

    (require 'a)
    (unload-feature 'a)

    Now a-cus-var is not bound, but when I do M-x customize-option, I can
    still select (with completion) a-cus-var and that gives me this
    customization buffer:

I think the cleaner fix is to undo more of what the defcustom
did, so that the variable can't be customized.  That could be
fixed in unload-feature.  You just need to figure out which
properties ought to be removed and which should not be.

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

* Re: HAVE_SYS_SELECT of sysselect.h
  2005-04-29 19:02 ` HAVE_SYS_SELECT of sysselect.h Nozomu Ando
@ 2005-05-01 22:43   ` Thien-Thi Nguyen
  2005-05-01 23:15     ` Thien-Thi Nguyen
  2005-05-02  1:53   ` YAMAMOTO Mitsuharu
  1 sibling, 1 reply; 11+ messages in thread
From: Thien-Thi Nguyen @ 2005-05-01 22:43 UTC (permalink / raw)
  Cc: emacs-devel

Nozomu Ando <nand@mac.com> writes:

> sysselect.h failes to include <sys/select.h>.
> 
> Is this a typo?

yes, thanks for spotting it.  please install the fix.

thi

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

* Re: HAVE_SYS_SELECT of sysselect.h
  2005-05-01 22:43   ` Thien-Thi Nguyen
@ 2005-05-01 23:15     ` Thien-Thi Nguyen
  2005-05-02  0:21       ` Nozomu Ando
  0 siblings, 1 reply; 11+ messages in thread
From: Thien-Thi Nguyen @ 2005-05-01 23:15 UTC (permalink / raw)
  Cc: emacs-devel

Thien-Thi Nguyen <ttn@gnu.org> writes:

> yes, thanks for spotting it.  please install the fix.

never mind; i have just installed it myself.
(btw, do you have write privs to the cvs repo?)

thi

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

* Re: HAVE_SYS_SELECT of sysselect.h
  2005-05-01 23:15     ` Thien-Thi Nguyen
@ 2005-05-02  0:21       ` Nozomu Ando
  2005-05-02  1:47         ` Thien-Thi Nguyen
  0 siblings, 1 reply; 11+ messages in thread
From: Nozomu Ando @ 2005-05-02  0:21 UTC (permalink / raw)
  Cc: Nozomu Ando, emacs-devel

On May 2, 2005, at 8:15 AM, Thien-Thi Nguyen wrote:

> Thien-Thi Nguyen <ttn@gnu.org> writes:
>
>> yes, thanks for spotting it.  please install the fix.
>
> never mind; i have just installed it myself.

Thank you.

> (btw, do you have write privs to the cvs repo?)

No.
---
Nozomu Ando

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

* Re: HAVE_SYS_SELECT of sysselect.h
  2005-05-02  0:21       ` Nozomu Ando
@ 2005-05-02  1:47         ` Thien-Thi Nguyen
  0 siblings, 0 replies; 11+ messages in thread
From: Thien-Thi Nguyen @ 2005-05-02  1:47 UTC (permalink / raw)
  Cc: emacs-devel

Nozomu Ando <nand@mac.com> writes:

> > (btw, do you have write privs to the cvs repo?)
> 
> No.

ok, i will remember this for your future patches
(those that i feel confident about handling :-).

thi

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

* Re: HAVE_SYS_SELECT of sysselect.h
  2005-04-29 19:02 ` HAVE_SYS_SELECT of sysselect.h Nozomu Ando
  2005-05-01 22:43   ` Thien-Thi Nguyen
@ 2005-05-02  1:53   ` YAMAMOTO Mitsuharu
  2005-05-02  2:44     ` Nozomu Ando
  2005-05-04  5:45     ` Harald Maier
  1 sibling, 2 replies; 11+ messages in thread
From: YAMAMOTO Mitsuharu @ 2005-05-02  1:53 UTC (permalink / raw)
  Cc: emacs-devel

>>>>> On Sat, 30 Apr 2005 04:02:12 +0900, Nozomu Ando <nand@mac.com> said:

> -#ifdef HAVE_SYS_SELECT
> +#ifdef HAVE_SYS_SELECT_H

I can't test it with Mac OS X 10.4 Tiger now, but I think this is the
best way to solve the "Can't compile on Tiger" problem.

But with the above change, I could not compile xmenu.c (for X11 build)
or mac.c (for Carbon build) at least when compiling with the GCC
option "-g" on Mac OS X 10.3.9.

In file included from /usr/include/mach/mach_init.h:76,
                 from /usr/include/mach/mach.h:64,
                 from /usr/include/sys/event.h:154,
                 from /usr/include/sys/select.h:71,
                 from /SOME/WHERE/emacs/src/sysselect.h:22,
                 from /SOME/WHERE/emacs/src/mac.c:31:
/usr/include/mach/mach_traps.h:103: error: conflicting types for `emacs_init_process'
/SOME/WHERE/emacs/src/lisp.h:3031: error: previous declaration of `emacs_init_process'

In file included from /usr/include/mach/mach_init.h:76,
                 from /usr/include/mach/mach.h:64,
                 from /usr/include/sys/event.h:154,
                 from /usr/include/sys/select.h:71,
                 from /SOME/WHERE/emacs/src/sysselect.h:22,
                 from /SOME/WHERE/emacs/src/xmenu.c:51:
/usr/include/mach/mach_traps.h:103: error: conflicting types for `emacs_init_process'
/SOME/WHERE/emacs/src/lisp.h:3031: error: previous declaration of `emacs_init_process'

The following patch seems to fix it, but is there any more elegant
way?

				     YAMAMOTO Mitsuharu
				mituharu@math.s.chiba-u.ac.jp

*** sysselect.h.~1.4.~	Mon May  2 08:55:47 2005
--- sysselect.h	Mon May  2 10:48:14 2005
***************
*** 19,25 ****
--- 19,31 ----
  Boston, MA 02111-1307, USA.  */
  
  #ifdef HAVE_SYS_SELECT_H
+ #if defined (DARWIN) || defined (MAC_OSX)
+ #undef init_process
+ #endif
  #include <sys/select.h>
+ #if defined (DARWIN) || defined (MAC_OSX)
+ #define init_process emacs_init_process
+ #endif
  #endif
  
  #ifdef FD_SET

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

* Re: HAVE_SYS_SELECT of sysselect.h
  2005-05-02  1:53   ` YAMAMOTO Mitsuharu
@ 2005-05-02  2:44     ` Nozomu Ando
  2005-05-04  5:45     ` Harald Maier
  1 sibling, 0 replies; 11+ messages in thread
From: Nozomu Ando @ 2005-05-02  2:44 UTC (permalink / raw)
  Cc: Nozomu Ando, emacs-devel


On May 2, 2005, at 10:53 AM, YAMAMOTO Mitsuharu wrote:
> I can't test it with Mac OS X 10.4 Tiger now, but I think this is the
> best way to solve the "Can't compile on Tiger" problem.
>
> But with the above change, I could not compile xmenu.c (for X11 build)
> or mac.c (for Carbon build) at least when compiling with the GCC
> option "-g" on Mac OS X 10.3.9.

Oops, sorry.

How do you think about changing the function's name "init_process"
which conflicts system library of Mac OS X 10.3 (darwin 7)?
---
Nozomu Ando

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

* Re: HAVE_SYS_SELECT of sysselect.h
  2005-05-02  1:53   ` YAMAMOTO Mitsuharu
  2005-05-02  2:44     ` Nozomu Ando
@ 2005-05-04  5:45     ` Harald Maier
  1 sibling, 0 replies; 11+ messages in thread
From: Harald Maier @ 2005-05-04  5:45 UTC (permalink / raw)
  Cc: Nozomu Ando, emacs-devel

YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> writes:

> The following patch seems to fix it, but is there any more elegant
> way?

I don't think that the file sysselect.h changes very often so the fix
herein seems to me the best. The other suggestion to change the name
of 'init_process' would cause more trouble because the files emacs.c,
process.c, and lisp.h seems to change very often. 

Before I saw the patch I changed the return type of init_process from
VOID to INT. This worked too for me. But this means too to change the
files lisp.h and process.c.

Harald

>
> *** sysselect.h.~1.4.~        Mon May  2 08:55:47 2005
> --- sysselect.h       Mon May  2 10:48:14 2005
> ***************
> *** 19,25 ****
> --- 19,31 ----
>   Boston, MA 02111-1307, USA.  */
>   
>   #ifdef HAVE_SYS_SELECT_H
> + #if defined (DARWIN) || defined (MAC_OSX)
> + #undef init_process
> + #endif
>   #include <sys/select.h>
> + #if defined (DARWIN) || defined (MAC_OSX)
> + #define init_process emacs_init_process
> + #endif
>   #endif
>   
>   #ifdef FD_SET

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

end of thread, other threads:[~2005-05-04  5:45 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-29 13:51 unload-feature and defcustom Lute Kamstra
2005-04-29 19:02 ` HAVE_SYS_SELECT of sysselect.h Nozomu Ando
2005-05-01 22:43   ` Thien-Thi Nguyen
2005-05-01 23:15     ` Thien-Thi Nguyen
2005-05-02  0:21       ` Nozomu Ando
2005-05-02  1:47         ` Thien-Thi Nguyen
2005-05-02  1:53   ` YAMAMOTO Mitsuharu
2005-05-02  2:44     ` Nozomu Ando
2005-05-04  5:45     ` Harald Maier
2005-04-30  8:13 ` unload-feature and defcustom David Kastrup
2005-05-01 12:06 ` Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).