What's the purpose of 47 blank lines in X11 locale files?

Multi tool use
Multi tool use

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
3
down vote

favorite












I noticed there are 47 blanks lines on top of locale files:



xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.alias | head
00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
00000040 74 61 69 6e 73 20 61 6c 69 61 73 20 6e 61 6d 65 |tains alias name|
00000050 20 6f 66 20 6c 6f 63 61 6c 65 2e 0a 23 09 45 61 | of locale..#.Ea|
00000060 63 68 20 61 6c 69 61 73 20 6e 61 6d 65 20 69 73 |ch alias name is|
00000070 20 64 65 73 63 72 69 62 65 64 20 77 69 74 68 69 | described withi|
00000080 6e 20 6f 6e 65 20 6c 69 6e 65 2e 0a 23 09 54 68 |n one line..#.Th|
00000090 65 20 66 69 72 73 74 20 77 6f 72 64 20 69 73 20 |e first word is |
xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.dir | head
00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
00000040 74 61 69 6e 73 20 6c 6f 63 61 6c 65 20 64 61 74 |tains locale dat|
00000050 61 62 61 73 65 20 66 69 6c 65 20 6e 61 6d 65 73 |abase file names|
00000060 0a 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 |.#.The first wor|
00000070 64 20 69 73 20 74 68 65 20 6c 6f 63 61 6c 65 20 |d is the locale |
00000080 64 61 74 61 62 61 73 65 20 66 69 6c 65 20 6e 61 |database file na|
00000090 6d 65 20 61 6e 64 0a 23 09 74 68 65 20 73 65 63 |me and.#.the sec|
xb@dnxb:/usr/share/X11/locale$ hexdump -Cv compose.dir | head
00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
00000040 74 61 69 6e 73 20 63 6f 6d 70 6f 73 65 20 74 61 |tains compose ta|
00000050 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 73 2e 0a |ble file names..|
00000060 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 64 |#.The first word|
00000070 20 69 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 20 | is the compose |
00000080 74 61 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 0a |table file name.|
00000090 23 09 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 |#.and the second|
xb@dnxb:/usr/share/X11/locale$ hexdump -Cv C/XLC_LOCALE | head
00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
00000030 20 20 58 4c 6f 63 61 6c 65 20 44 61 74 61 62 61 | XLocale Databa|
00000040 73 65 20 53 61 6d 70 6c 65 20 66 6f 72 20 43 2e |se Sample for C.|
00000050 0a 23 20 0a 0a 23 20 0a 23 20 09 58 4c 43 5f 46 |.# ..# .# .XLC_F|
00000060 4f 4e 54 53 45 54 20 63 61 74 65 67 6f 72 79 0a |ONTSET category.|
00000070 23 20 0a 58 4c 43 5f 46 4f 4e 54 53 45 54 0a 23 |# .XLC_FONTSET.#|
00000080 20 09 66 73 30 20 63 6c 61 73 73 20 28 37 20 62 | .fs0 class (7 b|
00000090 69 74 20 41 53 43 49 49 29 0a 66 73 30 09 7b 0a |it ASCII).fs0.{.|
xb@dnxb:/usr/share/X11/locale$


I probably will not scroll down if I only vi the file and see blank page, I only noticed this if I cat it. I check this spec but seems not mention anything about 47 blank lines. What's the purpose of this 47 blank lines at the beginning of locale files ?







share|improve this question























    up vote
    3
    down vote

    favorite












    I noticed there are 47 blanks lines on top of locale files:



    xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.alias | head
    00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
    00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
    00000040 74 61 69 6e 73 20 61 6c 69 61 73 20 6e 61 6d 65 |tains alias name|
    00000050 20 6f 66 20 6c 6f 63 61 6c 65 2e 0a 23 09 45 61 | of locale..#.Ea|
    00000060 63 68 20 61 6c 69 61 73 20 6e 61 6d 65 20 69 73 |ch alias name is|
    00000070 20 64 65 73 63 72 69 62 65 64 20 77 69 74 68 69 | described withi|
    00000080 6e 20 6f 6e 65 20 6c 69 6e 65 2e 0a 23 09 54 68 |n one line..#.Th|
    00000090 65 20 66 69 72 73 74 20 77 6f 72 64 20 69 73 20 |e first word is |
    xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.dir | head
    00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
    00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
    00000040 74 61 69 6e 73 20 6c 6f 63 61 6c 65 20 64 61 74 |tains locale dat|
    00000050 61 62 61 73 65 20 66 69 6c 65 20 6e 61 6d 65 73 |abase file names|
    00000060 0a 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 |.#.The first wor|
    00000070 64 20 69 73 20 74 68 65 20 6c 6f 63 61 6c 65 20 |d is the locale |
    00000080 64 61 74 61 62 61 73 65 20 66 69 6c 65 20 6e 61 |database file na|
    00000090 6d 65 20 61 6e 64 0a 23 09 74 68 65 20 73 65 63 |me and.#.the sec|
    xb@dnxb:/usr/share/X11/locale$ hexdump -Cv compose.dir | head
    00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
    00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
    00000040 74 61 69 6e 73 20 63 6f 6d 70 6f 73 65 20 74 61 |tains compose ta|
    00000050 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 73 2e 0a |ble file names..|
    00000060 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 64 |#.The first word|
    00000070 20 69 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 20 | is the compose |
    00000080 74 61 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 0a |table file name.|
    00000090 23 09 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 |#.and the second|
    xb@dnxb:/usr/share/X11/locale$ hexdump -Cv C/XLC_LOCALE | head
    00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
    00000030 20 20 58 4c 6f 63 61 6c 65 20 44 61 74 61 62 61 | XLocale Databa|
    00000040 73 65 20 53 61 6d 70 6c 65 20 66 6f 72 20 43 2e |se Sample for C.|
    00000050 0a 23 20 0a 0a 23 20 0a 23 20 09 58 4c 43 5f 46 |.# ..# .# .XLC_F|
    00000060 4f 4e 54 53 45 54 20 63 61 74 65 67 6f 72 79 0a |ONTSET category.|
    00000070 23 20 0a 58 4c 43 5f 46 4f 4e 54 53 45 54 0a 23 |# .XLC_FONTSET.#|
    00000080 20 09 66 73 30 20 63 6c 61 73 73 20 28 37 20 62 | .fs0 class (7 b|
    00000090 69 74 20 41 53 43 49 49 29 0a 66 73 30 09 7b 0a |it ASCII).fs0.{.|
    xb@dnxb:/usr/share/X11/locale$


    I probably will not scroll down if I only vi the file and see blank page, I only noticed this if I cat it. I check this spec but seems not mention anything about 47 blank lines. What's the purpose of this 47 blank lines at the beginning of locale files ?







    share|improve this question





















      up vote
      3
      down vote

      favorite









      up vote
      3
      down vote

      favorite











      I noticed there are 47 blanks lines on top of locale files:



      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.alias | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
      00000040 74 61 69 6e 73 20 61 6c 69 61 73 20 6e 61 6d 65 |tains alias name|
      00000050 20 6f 66 20 6c 6f 63 61 6c 65 2e 0a 23 09 45 61 | of locale..#.Ea|
      00000060 63 68 20 61 6c 69 61 73 20 6e 61 6d 65 20 69 73 |ch alias name is|
      00000070 20 64 65 73 63 72 69 62 65 64 20 77 69 74 68 69 | described withi|
      00000080 6e 20 6f 6e 65 20 6c 69 6e 65 2e 0a 23 09 54 68 |n one line..#.Th|
      00000090 65 20 66 69 72 73 74 20 77 6f 72 64 20 69 73 20 |e first word is |
      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.dir | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
      00000040 74 61 69 6e 73 20 6c 6f 63 61 6c 65 20 64 61 74 |tains locale dat|
      00000050 61 62 61 73 65 20 66 69 6c 65 20 6e 61 6d 65 73 |abase file names|
      00000060 0a 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 |.#.The first wor|
      00000070 64 20 69 73 20 74 68 65 20 6c 6f 63 61 6c 65 20 |d is the locale |
      00000080 64 61 74 61 62 61 73 65 20 66 69 6c 65 20 6e 61 |database file na|
      00000090 6d 65 20 61 6e 64 0a 23 09 74 68 65 20 73 65 63 |me and.#.the sec|
      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv compose.dir | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
      00000040 74 61 69 6e 73 20 63 6f 6d 70 6f 73 65 20 74 61 |tains compose ta|
      00000050 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 73 2e 0a |ble file names..|
      00000060 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 64 |#.The first word|
      00000070 20 69 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 20 | is the compose |
      00000080 74 61 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 0a |table file name.|
      00000090 23 09 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 |#.and the second|
      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv C/XLC_LOCALE | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 20 20 58 4c 6f 63 61 6c 65 20 44 61 74 61 62 61 | XLocale Databa|
      00000040 73 65 20 53 61 6d 70 6c 65 20 66 6f 72 20 43 2e |se Sample for C.|
      00000050 0a 23 20 0a 0a 23 20 0a 23 20 09 58 4c 43 5f 46 |.# ..# .# .XLC_F|
      00000060 4f 4e 54 53 45 54 20 63 61 74 65 67 6f 72 79 0a |ONTSET category.|
      00000070 23 20 0a 58 4c 43 5f 46 4f 4e 54 53 45 54 0a 23 |# .XLC_FONTSET.#|
      00000080 20 09 66 73 30 20 63 6c 61 73 73 20 28 37 20 62 | .fs0 class (7 b|
      00000090 69 74 20 41 53 43 49 49 29 0a 66 73 30 09 7b 0a |it ASCII).fs0.{.|
      xb@dnxb:/usr/share/X11/locale$


      I probably will not scroll down if I only vi the file and see blank page, I only noticed this if I cat it. I check this spec but seems not mention anything about 47 blank lines. What's the purpose of this 47 blank lines at the beginning of locale files ?







      share|improve this question











      I noticed there are 47 blanks lines on top of locale files:



      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.alias | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
      00000040 74 61 69 6e 73 20 61 6c 69 61 73 20 6e 61 6d 65 |tains alias name|
      00000050 20 6f 66 20 6c 6f 63 61 6c 65 2e 0a 23 09 45 61 | of locale..#.Ea|
      00000060 63 68 20 61 6c 69 61 73 20 6e 61 6d 65 20 69 73 |ch alias name is|
      00000070 20 64 65 73 63 72 69 62 65 64 20 77 69 74 68 69 | described withi|
      00000080 6e 20 6f 6e 65 20 6c 69 6e 65 2e 0a 23 09 54 68 |n one line..#.Th|
      00000090 65 20 66 69 72 73 74 20 77 6f 72 64 20 69 73 20 |e first word is |
      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.dir | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
      00000040 74 61 69 6e 73 20 6c 6f 63 61 6c 65 20 64 61 74 |tains locale dat|
      00000050 61 62 61 73 65 20 66 69 6c 65 20 6e 61 6d 65 73 |abase file names|
      00000060 0a 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 |.#.The first wor|
      00000070 64 20 69 73 20 74 68 65 20 6c 6f 63 61 6c 65 20 |d is the locale |
      00000080 64 61 74 61 62 61 73 65 20 66 69 6c 65 20 6e 61 |database file na|
      00000090 6d 65 20 61 6e 64 0a 23 09 74 68 65 20 73 65 63 |me and.#.the sec|
      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv compose.dir | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
      00000040 74 61 69 6e 73 20 63 6f 6d 70 6f 73 65 20 74 61 |tains compose ta|
      00000050 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 73 2e 0a |ble file names..|
      00000060 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 64 |#.The first word|
      00000070 20 69 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 20 | is the compose |
      00000080 74 61 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 0a |table file name.|
      00000090 23 09 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 |#.and the second|
      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv C/XLC_LOCALE | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 20 20 58 4c 6f 63 61 6c 65 20 44 61 74 61 62 61 | XLocale Databa|
      00000040 73 65 20 53 61 6d 70 6c 65 20 66 6f 72 20 43 2e |se Sample for C.|
      00000050 0a 23 20 0a 0a 23 20 0a 23 20 09 58 4c 43 5f 46 |.# ..# .# .XLC_F|
      00000060 4f 4e 54 53 45 54 20 63 61 74 65 67 6f 72 79 0a |ONTSET category.|
      00000070 23 20 0a 58 4c 43 5f 46 4f 4e 54 53 45 54 0a 23 |# .XLC_FONTSET.#|
      00000080 20 09 66 73 30 20 63 6c 61 73 73 20 28 37 20 62 | .fs0 class (7 b|
      00000090 69 74 20 41 53 43 49 49 29 0a 66 73 30 09 7b 0a |it ASCII).fs0.{.|
      xb@dnxb:/usr/share/X11/locale$


      I probably will not scroll down if I only vi the file and see blank page, I only noticed this if I cat it. I check this spec but seems not mention anything about 47 blank lines. What's the purpose of this 47 blank lines at the beginning of locale files ?









      share|improve this question










      share|improve this question




      share|improve this question









      asked Apr 27 at 15:52









      林果皞

      2,1931227




      2,1931227




















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          2
          down vote



          accepted










          I'm pretty sure its not really there for any reason; it's a side-effect of how those files are built. If you take a look at the source for locale.alias, you'll see they're missing (note the numbers on the left are added line numbers, they're not actually present in the file):



          1 XCOMM
          2 XCOMM This file contains alias name of locale.
          3 XCOMM Each alias name is described within one line.
          4 XCOMM The first word is the alias name (simplified locale name)
          5 XCOMM the second word is full locale name.
          6 XCOMM
          7 XCOMM

          8 POSIX: C
          9 POSIX-UTF2: C


          If you look at the Makefile.am that is passed through a fair bit of C preprocessor and sed to generate the file:



          locale.alias: locale.alias.pre
          $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $(srcdir)/locale.alias.pre | $(CPP_SED_MAGIC) > locale.alias.l1
          $(SED) -e '/^[^#][^ ]*:/s/://' -e '/^[^#].*[ ].*:/d'
          < locale.alias.l1 > locale.alias.l2
          cat locale.alias.l2 locale.alias.l1 > locale.alias


          If you look at Makefile.in, CPP_SED_MAGIC is:



          CPP_SED_MAGIC = $(SED) -e '/^# *[0-9][0-9]* *.*$$/d' 
          -e '/^#line *[0-9][0-9]* *.*$$/d'
          -e '/^[ ]*XCOMM$$/s/XCOMM/#/'
          -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/'
          -e '/^[ ]*XHASH/s/XHASH/#/'
          -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g'
          -e '/@@$$/s/@@$$/\/'


          Which, among other things, replaces all the line-number comments the C preprocessor spits out with blank lines. So that's where they're coming from.






          share|improve this answer





















            Your Answer







            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "106"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: false,
            noModals: false,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );








             

            draft saved


            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f440463%2fwhats-the-purpose-of-47-blank-lines-in-x11-locale-files%23new-answer', 'question_page');

            );

            Post as a guest






























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            2
            down vote



            accepted










            I'm pretty sure its not really there for any reason; it's a side-effect of how those files are built. If you take a look at the source for locale.alias, you'll see they're missing (note the numbers on the left are added line numbers, they're not actually present in the file):



            1 XCOMM
            2 XCOMM This file contains alias name of locale.
            3 XCOMM Each alias name is described within one line.
            4 XCOMM The first word is the alias name (simplified locale name)
            5 XCOMM the second word is full locale name.
            6 XCOMM
            7 XCOMM

            8 POSIX: C
            9 POSIX-UTF2: C


            If you look at the Makefile.am that is passed through a fair bit of C preprocessor and sed to generate the file:



            locale.alias: locale.alias.pre
            $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $(srcdir)/locale.alias.pre | $(CPP_SED_MAGIC) > locale.alias.l1
            $(SED) -e '/^[^#][^ ]*:/s/://' -e '/^[^#].*[ ].*:/d'
            < locale.alias.l1 > locale.alias.l2
            cat locale.alias.l2 locale.alias.l1 > locale.alias


            If you look at Makefile.in, CPP_SED_MAGIC is:



            CPP_SED_MAGIC = $(SED) -e '/^# *[0-9][0-9]* *.*$$/d' 
            -e '/^#line *[0-9][0-9]* *.*$$/d'
            -e '/^[ ]*XCOMM$$/s/XCOMM/#/'
            -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/'
            -e '/^[ ]*XHASH/s/XHASH/#/'
            -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g'
            -e '/@@$$/s/@@$$/\/'


            Which, among other things, replaces all the line-number comments the C preprocessor spits out with blank lines. So that's where they're coming from.






            share|improve this answer

























              up vote
              2
              down vote



              accepted










              I'm pretty sure its not really there for any reason; it's a side-effect of how those files are built. If you take a look at the source for locale.alias, you'll see they're missing (note the numbers on the left are added line numbers, they're not actually present in the file):



              1 XCOMM
              2 XCOMM This file contains alias name of locale.
              3 XCOMM Each alias name is described within one line.
              4 XCOMM The first word is the alias name (simplified locale name)
              5 XCOMM the second word is full locale name.
              6 XCOMM
              7 XCOMM

              8 POSIX: C
              9 POSIX-UTF2: C


              If you look at the Makefile.am that is passed through a fair bit of C preprocessor and sed to generate the file:



              locale.alias: locale.alias.pre
              $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $(srcdir)/locale.alias.pre | $(CPP_SED_MAGIC) > locale.alias.l1
              $(SED) -e '/^[^#][^ ]*:/s/://' -e '/^[^#].*[ ].*:/d'
              < locale.alias.l1 > locale.alias.l2
              cat locale.alias.l2 locale.alias.l1 > locale.alias


              If you look at Makefile.in, CPP_SED_MAGIC is:



              CPP_SED_MAGIC = $(SED) -e '/^# *[0-9][0-9]* *.*$$/d' 
              -e '/^#line *[0-9][0-9]* *.*$$/d'
              -e '/^[ ]*XCOMM$$/s/XCOMM/#/'
              -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/'
              -e '/^[ ]*XHASH/s/XHASH/#/'
              -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g'
              -e '/@@$$/s/@@$$/\/'


              Which, among other things, replaces all the line-number comments the C preprocessor spits out with blank lines. So that's where they're coming from.






              share|improve this answer























                up vote
                2
                down vote



                accepted







                up vote
                2
                down vote



                accepted






                I'm pretty sure its not really there for any reason; it's a side-effect of how those files are built. If you take a look at the source for locale.alias, you'll see they're missing (note the numbers on the left are added line numbers, they're not actually present in the file):



                1 XCOMM
                2 XCOMM This file contains alias name of locale.
                3 XCOMM Each alias name is described within one line.
                4 XCOMM The first word is the alias name (simplified locale name)
                5 XCOMM the second word is full locale name.
                6 XCOMM
                7 XCOMM

                8 POSIX: C
                9 POSIX-UTF2: C


                If you look at the Makefile.am that is passed through a fair bit of C preprocessor and sed to generate the file:



                locale.alias: locale.alias.pre
                $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $(srcdir)/locale.alias.pre | $(CPP_SED_MAGIC) > locale.alias.l1
                $(SED) -e '/^[^#][^ ]*:/s/://' -e '/^[^#].*[ ].*:/d'
                < locale.alias.l1 > locale.alias.l2
                cat locale.alias.l2 locale.alias.l1 > locale.alias


                If you look at Makefile.in, CPP_SED_MAGIC is:



                CPP_SED_MAGIC = $(SED) -e '/^# *[0-9][0-9]* *.*$$/d' 
                -e '/^#line *[0-9][0-9]* *.*$$/d'
                -e '/^[ ]*XCOMM$$/s/XCOMM/#/'
                -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/'
                -e '/^[ ]*XHASH/s/XHASH/#/'
                -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g'
                -e '/@@$$/s/@@$$/\/'


                Which, among other things, replaces all the line-number comments the C preprocessor spits out with blank lines. So that's where they're coming from.






                share|improve this answer













                I'm pretty sure its not really there for any reason; it's a side-effect of how those files are built. If you take a look at the source for locale.alias, you'll see they're missing (note the numbers on the left are added line numbers, they're not actually present in the file):



                1 XCOMM
                2 XCOMM This file contains alias name of locale.
                3 XCOMM Each alias name is described within one line.
                4 XCOMM The first word is the alias name (simplified locale name)
                5 XCOMM the second word is full locale name.
                6 XCOMM
                7 XCOMM

                8 POSIX: C
                9 POSIX-UTF2: C


                If you look at the Makefile.am that is passed through a fair bit of C preprocessor and sed to generate the file:



                locale.alias: locale.alias.pre
                $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $(srcdir)/locale.alias.pre | $(CPP_SED_MAGIC) > locale.alias.l1
                $(SED) -e '/^[^#][^ ]*:/s/://' -e '/^[^#].*[ ].*:/d'
                < locale.alias.l1 > locale.alias.l2
                cat locale.alias.l2 locale.alias.l1 > locale.alias


                If you look at Makefile.in, CPP_SED_MAGIC is:



                CPP_SED_MAGIC = $(SED) -e '/^# *[0-9][0-9]* *.*$$/d' 
                -e '/^#line *[0-9][0-9]* *.*$$/d'
                -e '/^[ ]*XCOMM$$/s/XCOMM/#/'
                -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/'
                -e '/^[ ]*XHASH/s/XHASH/#/'
                -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g'
                -e '/@@$$/s/@@$$/\/'


                Which, among other things, replaces all the line-number comments the C preprocessor spits out with blank lines. So that's where they're coming from.







                share|improve this answer













                share|improve this answer



                share|improve this answer











                answered Apr 27 at 16:37









                derobert

                68.4k8147203




                68.4k8147203






















                     

                    draft saved


                    draft discarded


























                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f440463%2fwhats-the-purpose-of-47-blank-lines-in-x11-locale-files%23new-answer', 'question_page');

                    );

                    Post as a guest













































































                    1Ni1T3lsiDHokE2A4f,9aW VuUVrwXMr8EbwwhbC5l7vxEuq1ALN4FSv4x37AdoLHXDO 1Gz
                    ceaGR2No3GRrDNRje4xNV1rfTM2VzSAP WfbBn

                    Popular posts from this blog

                    How to check contact read email or not when send email to Individual?

                    How many registers does an x86_64 CPU actually have?

                    Displaying single band from multi-band raster using QGIS