Check-in [e92cdb8e54]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:more informative error when not invoking textdomain before gettext
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: e92cdb8e5445c1d74e8fd03ab1834ca18e50326c
User & Date: aldo 2016-12-13 23:43:54
Context
2016-12-14
00:08
some cleanup on free-gettext.sls check-in: f7b95bffe0 user: aldo tags: trunk
2016-12-13
23:43
more informative error when not invoking textdomain before gettext check-in: e92cdb8e54 user: aldo tags: trunk
23:28
free-gettext ported to chez scheme check-in: b884c64a3b user: aldo tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to free-gettext.sls.

309
310
311
312
313
314
315





316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; the default gettext lookup

(define domain-message-paths (make-hash-table))

(define default-gettext-lookup (make-parameter #f))






(define (gettext msgid)
  ((default-gettext-lookup) 'get msgid))
(define (dgettext domain msgid)
  ((make-gettext domain) 'get msgid))
(define (dcgettext domain msgid locale)
  ((make-gettext domain (list locale)) 'get msgid))

;; plural forms
(define (ngettext . opt)
  (apply (default-gettext-lookup) 'nget opt))
(define (dngettext domain . opt)
  (apply (make-gettext domain) 'nget opt))
(define (dcngettext domain msgid locale . opt)
  (apply (make-gettext domain (list locale)) 'nget msgid opt))

;; bind the default domain
(define (textdomain . opt)
  (if (pair? opt)
    (let ((accessor (apply make-gettext opt)))
      (default-gettext-lookup accessor)
      accessor)
    ((default-gettext-lookup) 'domain)))

(define (bindtextdomain domain dirs)
  (hash-table-set! domain-message-paths domain (listify dirs)))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; The gettext .po parser.
;;   We sequentially scan all the .po msgstr entries until the one







>
>
>
>
>

|







|











|







309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; the default gettext lookup

(define domain-message-paths (make-hash-table))

(define default-gettext-lookup (make-parameter #f))

(define (gettext-lookup)
  (if (default-gettext-lookup)
      (default-gettext-lookup)
      (errorf 'gettext-lookup "default-gettext-lookup undefined! you should call textdomain first!")))

(define (gettext msgid)
  ((gettext-lookup) 'get msgid))
(define (dgettext domain msgid)
  ((make-gettext domain) 'get msgid))
(define (dcgettext domain msgid locale)
  ((make-gettext domain (list locale)) 'get msgid))

;; plural forms
(define (ngettext . opt)
  (apply (gettext-lookup) 'nget opt))
(define (dngettext domain . opt)
  (apply (make-gettext domain) 'nget opt))
(define (dcngettext domain msgid locale . opt)
  (apply (make-gettext domain (list locale)) 'nget msgid opt))

;; bind the default domain
(define (textdomain . opt)
  (if (pair? opt)
    (let ((accessor (apply make-gettext opt)))
      (default-gettext-lookup accessor)
      accessor)
    ((gettext-lookup) 'domain)))

(define (bindtextdomain domain dirs)
  (hash-table-set! domain-message-paths domain (listify dirs)))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; The gettext .po parser.
;;   We sequentially scan all the .po msgstr entries until the one