[PATCH 4/4] Bug #615168: N_ in the root module

* src/app-utils/app-utils.scm:
* src/app-utils/c-interface.scm: Make N_ available to all of Gnucash. A
  hack, but a correct hack that permits the Scheme code to be compiled.

Patch by Andy Wingo.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20438 57a11ea4-9604-0410-9ed3-97b8803252fd
pull/1/head
Geert Janssens 15 years ago
parent 86ccf6ed54
commit 2df3d3dee8

@ -273,6 +273,22 @@
(define gnc:*kvp-option-path* (list KVP-OPTION-PATH))
(export gnc:*kvp-option-path*)
;; gettext functions
(define gnc:gettext gnc-gettext-helper)
(define gnc:_ gnc:gettext)
(define _ gnc:gettext)
(define-syntax N_
(syntax-rules ()
((_ x) x)))
;; A lot of Gnucash's code uses procedural interfaces to load modules.
;; This normally works, for procedures -- but for values that need to be
;; known at expand time, like macros, it doesn't work (in Guile 2.0 at
;; least). So instead of auditing all the code, since N_ is really the
;; only Gnucash-defined macro in use, the surgical solution is just to
;; make N_ available everywhere.
(module-define! the-root-module 'N_ (module-ref (current-module) 'N_))
(load-from-path "c-interface.scm")
(load-from-path "config-var.scm")
(load-from-path "options.scm")

@ -37,15 +37,6 @@
(call-with-output-string write-error)))
;; gettext functions
(define gnc:gettext gnc-gettext-helper)
(define gnc:_ gnc:gettext)
(define _ gnc:gettext)
(define-syntax N_
(syntax-rules ()
((_ x) x)))
;; This database can be used to store and retrieve translatable
;; strings. Strings that are returned by the lookup function are
;; translated with gettext.

Loading…
Cancel
Save