From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?Q?Aur=C3=A9lien_Aptel?= Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Mon, 9 Feb 2015 01:04:44 +0100 Message-ID: References: <87y4t9m76w.fsf@lifelogs.com> <85k31coixa.fsf@stephe-leake.org> <85oapy5kt6.fsf@stephe-leake.org> <83y4oiiw81.fsf@gnu.org> <838ugdf251.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1423440350 23004 80.91.229.3 (9 Feb 2015 00:05:50 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 9 Feb 2015 00:05:50 +0000 (UTC) Cc: Stephen Leake , Emacs development discussions To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 09 01:05:49 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YKbrJ-0001lV-AC for ged-emacs-devel@m.gmane.org; Mon, 09 Feb 2015 01:05:49 +0100 Original-Received: from localhost ([::1]:58154 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YKbrI-0006F6-Kk for ged-emacs-devel@m.gmane.org; Sun, 08 Feb 2015 19:05:48 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42232) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YKbqL-0005I1-U3 for emacs-devel@gnu.org; Sun, 08 Feb 2015 19:04:51 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YKbqK-0006m1-Qy for emacs-devel@gnu.org; Sun, 08 Feb 2015 19:04:49 -0500 Original-Received: from mail-ie0-f173.google.com ([209.85.223.173]:41850) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YKbqH-0006lP-71; Sun, 08 Feb 2015 19:04:45 -0500 Original-Received: by iecrd18 with SMTP id rd18so800494iec.8; Sun, 08 Feb 2015 16:04:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=Ost4lc+fdtWM8e629DIcYO3w0exXXO08UFzURU2HDxQ=; b=UHLbqNUAa9hfLqQo+Sxikev/OiQXFKw34ntY1UaDU1ArCR+4co163aS0NmsWOyH84p cIQnJ4M3xSOIrOcqj5nWczRK/0cZz92EDpzWfZbR1ohz5fuvtJpSK7KL5UfVeQ4hZqVK yuBG07cFbZxHj+brC/BC9a5jo/A1AxdGgL442QJ0BneF/Ygd76uZLVmXtOHyaYbkr8ZC VWZiQ81GFVu/7QxcgM4VkJkR0xUaBC4PlvXyNvXFNHPEGKbK7EfFaW7wJbNIizR63hJI pzpIYo8TkTExywfsuFwnvtvmJAaQjR+NqZPPSnfIWD9Be+Z/Xbp7p9TQ61AgGytlsZmp GNbQ== X-Received: by 10.50.67.100 with SMTP id m4mr14244712igt.22.1423440284160; Sun, 08 Feb 2015 16:04:44 -0800 (PST) Original-Received: by 10.36.19.71 with HTTP; Sun, 8 Feb 2015 16:04:44 -0800 (PST) In-Reply-To: <838ugdf251.fsf@gnu.org> X-Google-Sender-Auth: 6Xee5orsionYl-jzf0kCPxxBQKw X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.85.223.173 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:182646 Archived-At: Ok, what I've pushed on my branch is now working. For some reasons, DEFSYM was a no-op in module code so I've replaced DEFSYM calls with: MQfoo = intern ("foo") Are there any drawbacks? On Thu, Feb 5, 2015 at 4:50 AM, Eli Zaretskii wrote: > I thought figuring out how to solve this is part of the job. Modules > will not really be workable unless this issue is resolved in a way > that doesn't break them with every change in the core. I've settled for a M prefix on all global module variables. Well only symbols right now since that's all I'm using. The whole reason why I've put them global is because that's what the core does but as it turns out it's not needed here. The fact that globals are actually macros exanding to a global struct member is not desirable here as it prevents normal C lexical scoping. By the way, there are some conventions that I'd like to understand like prefixes: V is for lisp variables, F for functions, S for subr, Q is for symbols (Q as in Quote since S was taken?). Am I missing something? One last thing, I need a deep `equal' function that also works hash-tables (every key and values must be equal) in yaml/test.el to compare nested lisp objects. Do I need to hand roll this myself?