From mboxrd@z Thu Jan 1 00:00:00 1970 From: Achim Gratz Subject: Re: New exporter and defgroup Date: Sat, 20 Apr 2013 09:54:13 +0200 Message-ID: <87mwstab8a.fsf@Rainer.invalid> References: <87ppxqbs2p.fsf@sbs.ch> <20130419174341.GC3154@kuru.dyndns-at-home.com> <87ip3hzmqz.fsf@bzg.ath.cx> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:41264) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UTScy-0001Ez-8C for emacs-orgmode@gnu.org; Sat, 20 Apr 2013 03:54:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UTScx-0005NI-6w for emacs-orgmode@gnu.org; Sat, 20 Apr 2013 03:54:32 -0400 Received: from plane.gmane.org ([80.91.229.3]:39909) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UTScx-0005NE-04 for emacs-orgmode@gnu.org; Sat, 20 Apr 2013 03:54:31 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1UTScq-00076u-W4 for emacs-orgmode@gnu.org; Sat, 20 Apr 2013 09:54:24 +0200 Received: from pd9eb407c.dip0.t-ipconnect.de ([217.235.64.124]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 20 Apr 2013 09:54:24 +0200 Received: from Stromeko by pd9eb407c.dip0.t-ipconnect.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 20 Apr 2013 09:54:24 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Bastien writes: >> Can we have some sort of a check while loading Org that picks up these >> shadowed variables and "deletes" them? > > I think Achim has been thinking about some incantation for this > (at install time). Maybe if this can be done after installation, > we could document it somewhere... not really sure. It would have to be done each time Org is loaded. Unfortunately Emacs doesn't provide an interface for removing such definitions, so you'd have to traverse a number of not-too-well documented data structures to get rid of them. I'm still not sure I found all of these nor if there are adverse effects of doing that. Eric Frage (IIRC) was testing a rough version of what I was trying to do, he reported he was seeing problems that he wanted to investigate further. Now, with the dust from all the other changes settling, we might pick up where we left before: --8<---------------cut here---------------start------------->8--- ;; ;; Kill our ancestors ;; ;; clean load-path (setq load-path (delq nil (mapcar (function (lambda (p) (unless (string-match "lisp/org$" p) p)) load-path))) ;; remove property list to defeat cus-load and remove autoloads (mapatoms (function (lambda (s) (let ((sn (symbol-name s))) (when (string-match "^\\(org\\|ob\\|ox\\)-?" sn) (setplist s nil) (when (autoloadp s) (unintern s))))))) (add-to-list 'load-path "/path/to/org") (load "org-loaddefs.el" nil nil 'nosuffix) --8<---------------cut here---------------end--------------->8--- This assumes it is run before any Org functions have been used and makes no attempt to check if that's true. Another unverified assumption is that nothing has polluted the namespaces that Org uses. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Wavetables for the Terratec KOMPLEXER: http://Synth.Stromeko.net/Downloads.html#KomplexerWaves